Newlife 0.7.7
Added 2021-12-31 22:13:00 +0000 UTCHello everyone, and let me wish you a happy new year! It's still a few hours away from midnight here, but I know that some of you will already be in 2022 so I'll say it now and not worry too much about getting the exact time!
Here's Newlife 0.7.7, primarily containing the hypnosis content chosen in the last PMW vote. You'll get a random event sometime after week 4 where you'll find out about a couple of hypnotists and you can then hire them as a weekend activity.
As requested by Stochastic, the new scenes are in the yml/vm format, which should make them easily modifiable by people familiar with custom scene creation.
The changelog is below. However, I'm missing notes about some bugfixes I made near the start of the month so there may be missing entries.
Major changes & additions:
Added hypnosis scenes, in yml/vm format.
Minor changes:
Various minor updates to sex scenes to support sex under hypnosis.
Changes for user-submitted content:
Added isLesbianVirgin to player object in custom scenes.
Added setStat method to gamedata object
Added getAgeDesc method to NPC objects
Added setOnPill method to player object
GOOD_HYPNOTIST and EVIL_HYPNOTIST traits can be added to custom NPCs: these are the special NPCs used in the new scenes.
Short and long action descriptions are now generated when an action is shown to the player instead of just once at the start of the scene. This means that variables which change mid-scene (such as arousal) can now be used in these sections.
Bugfixes:
Fixes to text issues. Thanks to Zab for reporting some of these.
Fixed an issue reported by Sync where the lesbian town date could choose the wrong route when the PC takes the lead.
Fixed a bug where the PC is fantasizing about having sex with a different men but her fantasy was incorrectly using the body-type of the man she was actually being fucked by.
ixed an omission reported by Albert44 where office-party sex with your rival was not increasing the "oral pleasure" stat.
Fixed a bug where the value for "small" enjoy modifiers was only half what it should have been.
It's been a while since I've done extensive work in the yml/vm format and I found quite a lot of bugs in testing. Please let me know if you find any that slipped through the cracks. Have fun, and be a good girl for your hypnotic master!
Comments
One more: When a PC who likes big dicks reacts to a hypnotist with a small cock, the PC gets commanded to worship his dick. The "pray to his cock" option has the following description: "Worship his cock, like the divine entitiy it is." => entity
BRobort
2022-01-01 16:05:41 +0000 UTCI can confirm the bug I reported is fixed in the new version - but I did find a couple more (sorry!): 1) As the session ends, the evil hypnotist can end it with this command: He tells you that when you leave the trance you'll remember yourself as having happily submitted to him and welcomed him into your body. But then after the "proceed," in the next scene, your character thinks the following: You can't really remember what happened, but you seem strangely damp 'down below'. There seems to be a lot of wetness down there. Does hynposis make you sweat a lot? You were ordered to remember willingly having sex with him, so it makes no sense that you don't remember the sex. 2) "hynposis" instead of "hypnosis" in the line above. 3) "Your thoughts fogged by hypnosis, you vaugely realise that Lee is behind you" => vaguely
BRobort
2022-01-01 15:33:09 +0000 UTCThanks for letting me know! That should be fixed in the bugfix version now.
Splendid Ostrich
2022-01-01 13:35:28 +0000 UTCAli tells you to lift up your skirt and give him a look at what's underneath. ERROR in scene D.b when using action "Comply". Please report this to the developer as a bug including the text of the message below. The scene will now finish. Exception was: org.apache.velocity.exception.MethodInvocationException: Object 'uk.co.blogspot.splendidostrich.newlifegame.scene.custom.contextobject.ContextPlayer' does not contain property 'legwearStatus' at peekUnderSkirtComply[line 3, column 16] org.apache.velocity.runtime.parser.node.ASTIdentifier.execute(ASTIdentifier.java:182) org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280) org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:567) org.apache.velocity.runtime.parser.node.ASTEQNode.evaluate(ASTEQNode.java:84) org.apache.velocity.runtime.parser.node.ASTExpression.evaluate(ASTExpression.java:62) org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:85) org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72) org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:87) org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342) org.apache.velocity.runtime.RuntimeInstance.render(RuntimeInstance.java:1378) org.apache.velocity.runtime.RuntimeInstance.evaluate(RuntimeInstance.java:1314) org.apache.velocity.runtime.RuntimeInstance.evaluate(RuntimeInstance.java:1265) org.apache.velocity.app.VelocityEngine.evaluate(VelocityEngine.java:199) D.b.a(CustomScene.java:562) D.b.a(CustomScene.java:499) l.l.actionPerformed(ScenePanel.java:373) javax.swing.AbstractButton.fireActionPerformed(Unknown Source) javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) javax.swing.DefaultButtonModel.setPressed(Unknown Source) javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) java.awt.Component.processMouseEvent(Unknown Source) javax.swing.JComponent.processMouseEvent(Unknown Source) java.awt.Component.processEvent(Unknown Source) java.awt.Container.processEvent(Unknown Source) java.awt.Component.dispatchEventImpl(Unknown Source) java.awt.Container.dispatchEventImpl(Unknown Source) java.awt.Component.dispatchEvent(Unknown Source) java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) java.awt.Container.dispatchEventImpl(Unknown Source) java.awt.Window.dispatchEventImpl(Unknown Source) java.awt.Component.dispatchEvent(Unknown Source) java.awt.EventQueue.dispatchEventImpl(Unknown Source) java.awt.EventQueue.access$500(Unknown Source) java.awt.EventQueue$3.run(Unknown Source) java.awt.EventQueue$3.run(Unknown Source) java.security.AccessController.doPrivileged(Native Method) java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) java.awt.EventQueue$4.run(Unknown Source) java.awt.EventQueue$4.run(Unknown Source) java.security.AccessController.doPrivileged(Native Method) java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) java.awt.EventQueue.dispatchEvent(Unknown Source) java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) java.awt.EventDispatchThread.pumpEvents(Unknown Source) java.awt.EventDispatchThread.pumpEvents(Unknown Source) java.awt.EventDispatchThread.run(Unknown Source)
JulianR.Amazing
2022-01-01 13:01:08 +0000 UTC