Nightgames Mod (v2.5.1.2) updated 2/11/17

DarkSinfulMage

Well-Known Member
Nov 18, 2016
253
44
40
I haven't done this before, but how do I update the current in Eclipse when I already imported the master branch?

Also - If I am starting over I guess it's about time I made a new github account and properly forked. I can all this without VIM and stuff ,right? I don't know Eclipse procedure to request or commit.

If so - I'd like to start implementing JavaDoc across the project. What would be the most critical areas to begin?
 

dndw

Well-Known Member
Aug 27, 2015
456
20
@DarkSinfulMage
if you have the project in Eclipse already: right-click the project, then go to Team>Pull. If you are working from your own fork and want to pull in someone else's changes, use merge instead.

If not, start by downloading git: https://git-scm.com/download/win (you don't absolutely have to, but I persoalnally hate Eclipse's interface for git) On github, create an account and fork nergantre's (or my) repo with the appropriate button. Now open up a command prompt/shell and navigate to the folder you want the code to live in. 'git clone https://github.com/<username>/nightgamesmod' In Eclipse's menu bar: File > Import > Projects from git > Existing local repository > fill out the form. It should show you three projects, you'll probably be able to guess what each is. Congratulations, you are ready to go.

For JavaDoc, or any other process where you need to come to understand code, I always prefer to start with the simpler components, and work my way up. Do base classes first, though. Other people like to start with the most central components (Character, Global, Match, Combat), but if you start simple you will have a good understanding of the peripherals when the time comes to tackle the more complex parts. Still, it's completely up to you. It's not like the Star Wars movies where there is obviously only one proper order superior to all the heretical others. *cough*.
 

DarkSinfulMage

Well-Known Member
Nov 18, 2016
253
44
40
@dndw
Thanks - I just wanna hit the more important areas first - so I would like to get the central stuff first. This will, of course, introduce a lot of "STUFF" to look at when anyone works but the cool thing is that once you do it both Eclipse and JavaDoc become more powerful. It might help take the heat off, as well. I'll probably do it this week depending on how bored I get.
 

nergantre

Well-Known Member
Aug 28, 2015
293
22
2.5.1

https://mega.nz/#!Nt4m3TZA!VhG3CVifpkx7473uMDU2BUPL0QDPQ8uoR-g8K3C5Otk

Code:
QoL/GUI:
- Made the body part sort order stable
- Made the body part description non-random in the status window
- Added new messages for drained and converted attributes (they work the same way though as before)

New:
- Added Reyka's focus traits, courtesy of dndw 
- At level 12, choose between disabling and seduction
- At level 22, choose between draining and corruption
    - Word of warning, if you choose corruption, she will not necessarily corrupt only the player.
- Rebalanced her trait gains to work with her new focus traits

Balance:
- Seduction/beauty bonus has been cut in half for pleasure attacks (remains the same for temptation)
- Tighten now costs 15 mojo
- Powerful hips now only allow grind/bounce from below.
- Dominate can no longer be used while you are already in a dominant stance
- Tempt, Charm, Facesit and Smother temptation scaling with charisma has been nerfed

Other:
- "Wild Ride" is now called "Wild Grind" when used from below (effects unchanged)

Bug fixes:
- Fixed a bug where level ups were being displayed even though the player isn't leveling up in combat.
- Fixed a bug where drained messages would use the wrong person's name when being drained by multiple characters
- Fixed some typos with Cassie's scenes
- Fixed a bug where the wrong body part would be used for the orgasm message in a threesome.
 

Truepower

Member
Dec 27, 2016
14
0
33
Old saves aren't compatible with the new version. Any workaround for that? Posting logs.
Looking at the source code, it seems Bottomless Pit isn't actually implemented.
 

Attachments

  • nightgames_log.txt
    6.4 KB · Views: 4

dndw

Well-Known Member
Aug 27, 2015
456
20
@Truepower
You're right about Bottomless Pit. Oops. I have no issues with the saves, though. The error suggests a syntax problem in your file, right on the first line. I suggest you check it for any weirdness, and upload it if you don't see the problem.
 

Anent

New Member
Dec 15, 2016
4
0
28
Are there any plans to incorporate the new update from the base game into this mod? Or would it be a total pain in the ass?
 

dndw

Well-Known Member
Aug 27, 2015
456
20
@Anent
A pain? Probably. The bigger issue, to me at least, is that the new update was supported by the Patreon campaign. Obviously, we are not about to make content from the patron-only version publicly available, but I feel that even afterwards we should wait. Maybe in a few months or something, maybe not at all. The base and the mod have completely diverged to the point where they really only bear a passing resemblance, and perhaps trying to mend that gap is pointless. That said, since The Silver Bard used the hotkeys from the mod, perhaps we can 'be inspired by' the new sweet color scheme and look-and-feel. The mod giveth, and the mod taketh away, so to speak.
 
  • Like
Reactions: Anent

dndw

Well-Known Member
Aug 27, 2015
456
20
Turns out there actualy is a problem. The game now checks for saved addictions for everyone, but old saves don't have that section.

A temporary fix would be to add '"status": []' to every character, keeping the commas in mind. It's a bit of a pain, but it will work until the problem is fixed. (or the version number is bumped to indicate the incompatibility)
 

Truepower

Member
Dec 27, 2016
14
0
33
After some annoying dissecting, I managed to pinpoint the problem. There was an insterted "status": [] line at the and of each character descriptor. So if you find similar code to this snippet in your save file:
"bodyParts": {},
"bodyPartMods": {},
"clothing": {}
}
}

Then you need to change it like this:
"bodyParts": {},
"bodyPartMods": {},
"clothing": {}
},
"status": []
}

for each character. Also note the added comma before "status" !


Edit: ninja'd
 

DarkSinfulMage

Well-Known Member
Nov 18, 2016
253
44
40
- It doesn't seem like anyone's addictions get removed by addiction removal.Big problem!
- Cassie and Kat's defeat scene sometimes plays 3 times on levelup.
- Increasing text size does not persist in between loading saves.
- Channel can be countered by counter.
- There's a bad body part text reference someplace...
- upon taking Desensitized 2, game hard locks and no buttons appear- it may be because of the following:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at nightgames.status.addiction.ZealAddiction.tick(ZealAddiction.java:73)
at nightgames.characters.Character.lambda$tick$8(Character.java:1127)
at java.util.ArrayList.forEach(Unknown Source)
at nightgames.characters.Character.tick(Character.java:1127)
at nightgames.characters.Character.upkeep(Character.java:2382)
at nightgames.global.Match.round(Match.java:104)
at nightgames.global.Match.resume(Match.java:127)
at nightgames.gui.GUI.endCombat(GUI.java:1295)

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at nightgames.skills.Skill.skillIsUsable(Skill.java:102)
at nightgames.skills.Skill.skillIsUsable(Skill.java:92)
at nightgames.skills.strategy.AbstractStrategy.lambda$getAllowedSkills$924(AbstractStrategy.java:15)
at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.util.HashMap$KeySpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.collect(Unknown Source)
at nightgames.skills.strategy.AbstractStrategy.getAllowedSkills(AbstractStrategy.java:15)
at nightgames.skills.strategy.AbstractStrategy.nextSkills(AbstractStrategy.java:22)
at nightgames.characters.NPC.act(NPC.java:282)
at nightgames.characters.NPC.act(NPC.java:269)
at nightgames.combat.Combat.pickSkills(Combat.java:853)
at nightgames.combat.Combat.turn(Combat.java:802)
at nightgames.combat.Combat.resumeNoClearFlag(Combat.java:255)
at nightgames.combat.Combat.resume(Combat.java:265)
at nightgames.gui.GUI.ding(GUI.java:1275)
at nightgames.gui.GUI.lambda$attributeButton$286(GUI.java:1543)
at nightgames.gui.RunnableButton.lambda$new$783(RunnableButton.java:15)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Hard lock also occured when fucking kat, for some reason still affected my masochistic tendancies and then no buttons:

Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at nightgames.characters.Character.regen(Character.java:1300)
at nightgames.characters.Character.regen(Character.java:1296)
at nightgames.combat.Combat.doEndOfTurnUpkeep(Combat.java:506)
at nightgames.combat.Combat.turn(Combat.java:832)
at nightgames.combat.Combat.resumeNoClearFlag(Combat.java:255)
at nightgames.combat.Combat.resume(Combat.java:265)
at nightgames.gui.GUI.lambda$nextButton$283(GUI.java:1515)
at nightgames.gui.RunnableButton.lambda$new$783(RunnableButton.java:15)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Cumming from threesome bug, repeats several times before stabilizing:
Something very odd happened during Grind, stance is nightgames.stance.MFFMissionaryThreesome@3698b6bc
{"name":"Synn","type":"Player","level":1,"rank":0,"xp":0,"money":0,"resources":{"stamina":80.0,"arousal":80.0,"mojo":100.0,"willpower":42.0},"affections":{},"attractions":{"Jewel":2,"Angel":2},"attributes":{"Power":9,"Submissive":5,"Perception":5,"Speed":5,"Dark":15,"Seduction":3,"Cunning":3},"outfit":["bra","panties","Tshirt","jeans","socks","sneakers"],"closet":[],"traits":["succubus","leveldrainer","energydrain","spiritphage","powerfulhips","darkpromises"],"body":{"hotness":1.0,"femininity":2.0,"parts":[{"type":"pussy","desc":"pussy","prefix":"a ","hotness":0.0,"sensitivity":1.0,"pleasure":1.2,"descLong":"","notable":true,"mods":[{"_type":"nightgames.characters.body.mods.DemonicMod"}],"class":"nightgames.characters.body.PussyPart"},{"enum":"demonic","class":"nightgames.characters.body.WingsPart"},{"enum":"demonic","class":"nightgames.characters.body.TailPart"},{"enum":"pointed","class":"nightgames.characters.body.EarPart"},{"femininity":2.0,"type":"face","desc":"","prefix":"a ","hotness":0.0,"sensitivity":0.0,"pleasure":0.0,"descLong":"","notable":true,"mods":[],"class":"nightgames.characters.body.FacePart"},{"type":"breasts","desc":"breasts","prefix":"","hotness":0.0,"sensitivity":1.0,"pleasure":1.0,"descLong":"","notable":true,"mods":[{"value":2,"_type":"nightgames.characters.body.mods.SizeMod"}],"class":"nightgames.characters.body.BreastsPart"},{"type":"ass","desc":"ass","prefix":"a ","hotness":0.0,"sensitivity":1.0,"pleasure":1.2,"descLong":"","notable":false,"mods":[{"value":2,"_type":"nightgames.characters.body.mods.SizeMod"}],"class":"nightgames.characters.body.AssPart"},{"type":"hands","desc":"hands","prefix":"","hotness":0.0,"sensitivity":1.0,"pleasure":1.0,"descLong":"","notable":false,"mods":[],"class":"nightgames.characters.body.GenericBodyPart"},{"type":"feet","desc":"feet","prefix":"","hotness":0.0,"sensitivity":1.0,"pleasure":1.0,"descLong":"","notable":false,"mods":[],"class":"nightgames.characters.body.GenericBodyPart"},{"type":"skin","desc":"skin","prefix":"","hotness":0.0,"sensitivity":1.0,"pleasure":1.0,"descLong":"","notable":false,"mods":[],"class":"nightgames.characters.body.GenericBodyPart"},{"type":"mouth","desc":"mouth","prefix":"a ","hotness":0.0,"sensitivity":1.0,"pleasure":1.0,"descLong":"","notable":false,"mods":[],"class":"nightgames.characters.body.MouthPart"}]},"inventory":{},"human":true,"flags":{},"levelUps":{"1":{"traitsAdded":["darkpromises"],"traitsRemoved":[],"attributes":{}}},"growth":{"arousal":6.0,"stamina":2.0,"bonusArousal":2.0,"bonusStamina":1.0,"attributes":[2,3,3,3],"bonusAttributes":1,"extraAttributes":0,"willpower":0.4,"bonusWillpower":0.25,"traits":{"0":["succubus","leveldrainer","energydrain","spiritphage","powerfulhips"]},"traitPoints":{},"bodyParts":{},"bodyPartMods":{},"clothing":{}},"status":[]}
{"name":"Angel","type":"Angel","level":6,"rank":0,"xp":68,"money":0,"resources":{"stamina":80.0,"arousal":200.0,"mojo":100.0,"willpower":50.0},"affections":{},"attractions":{"Player":2,"Cassie":1},"attributes":{"Power":16,"Perception":5,"Speed":5,"Seduction":21,"Cunning":14},"outfit":["Tshirt","bra","thong","miniskirt","sandals"],"closet":[],"traits":["limbTraining1","dickhandler","frenzyingjuices","nymphomania","undisciplined","lickable","responsive","tongueTraining1"],"body":{"hotness":1.0,"femininity":2.0,"parts":[{"type":"breasts","desc":"breasts","prefix":"","hotness":0.0,"sensitivity":1.0,"pleasure":1.0,"descLong":"","notable":true,"mods":[{"value":4,"_type":"nightgames.characters.body.mods.SizeMod"}],"class":"nightgames.characters.body.BreastsPart"},{"femininity":4.2,"type":"face","desc":"","prefix":"a ","hotness":0.3,"sensitivity":0.0,"pleasure":0.0,"descLong":"","notable":true,"mods":[],"class":"nightgames.characters.body.FacePart"},{"type":"pussy","desc":"pussy","prefix":"a ","hotness":0.0,"sensitivity":1.0,"pleasure":1.2,"descLong":"","notable":true,"mods":[],"class":"nightgames.characters.body.PussyPart"},{"type":"ass","desc":"ass","prefix":"a ","hotness":0.0,"sensitivity":1.0,"pleasure":1.2,"descLong":"","notable":false,"mods":[{"value":2,"_type":"nightgames.characters.body.mods.SizeMod"}],"class":"nightgames.characters.body.AssPart"},{"type":"hands","desc":"hands","prefix":"","hotness":0.0,"sensitivity":1.0,"pleasure":1.0,"descLong":"","notable":false,"mods":[],"class":"nightgames.characters.body.GenericBodyPart"},{"type":"feet","desc":"feet","prefix":"","hotness":0.0,"sensitivity":1.0,"pleasure":1.0,"descLong":"","notable":false,"mods":[],"class":"nightgames.characters.body.GenericBodyPart"},{"type":"skin","desc":"skin","prefix":"","hotness":0.0,"sensitivity":1.0,"pleasure":1.0,"descLong":"","notable":false,"mods":[],"class":"nightgames.characters.body.GenericBodyPart"},{"type":"mouth","desc":"mouth","prefix":"a ","hotness":0.0,"sensitivity":1.0,"pleasure":1.0,"descLong":"","notable":false,"mods":[],"class":"nightgames.characters.body.MouthPart"},{"enum":"normal","class":"nightgames.characters.body.EarPart"}]},"inventory":{"CassieTrophy":1},"human":false,"flags":{},"levelUps":{"2":{"traitsAdded":["lickable","undisciplined"],"traitsRemoved":[],"attributes":{"Seduction":1,"Cunning":2}},"3":{"traitsAdded":["responsive"],"traitsRemoved":[],"attributes":{"Power":1,"Seduction":1,"Cunning":1}},"4":{"traitsAdded":[],"traitsRemoved":[],"attributes":{"Power":1,"Seduction":1,"Cunning":2}},"5":{"traitsAdded":[],"traitsRemoved":[],"attributes":{"Power":1,"Seduction":3}},"6":{"traitsAdded":[],"traitsRemoved":[],"attributes":{"Power":8,"Seduction":7,"Cunning":4}}},"growth":{"arousal":9.0,"stamina":2.0,"bonusArousal":4.0,"bonusStamina":1.0,"attributes":[3,4,4,4,4,4,4,4,4,4],"bonusAttributes":1,"extraAttributes":0,"willpower":1.0,"bonusWillpower":0.25,"traits":{"0":["undisciplined","lickable","limbTraining1","tongueTraining1","dickhandler","frenzyingjuices","nymphomania"],"33":["sexTraining2"],"18":["experienced"],"3":["responsive"],"51":["desensitized"],"20":["skeptical"],"36":["tongueTraining2"],"24":["tongueTraining1"],"9":["sexTraining1"],"57":["desensitized2"],"15":["expertGoogler"]},"traitPoints":{},"bodyParts":{},"bodyPartMods":{},"clothing":{}},"status":[]}

Shouldn't this be referring to the player? :
"How wise of you, Reyka..."

 
Last edited:

nergantre

Well-Known Member
Aug 28, 2015
293
22
Man and I thought I tested this one for a while now.

I probably should have mentioned the new addictions status saving though, or made it backwards compatible. That one's definitely my bad.

I'll fix what I can find and upload a new version tonight.

Also @Anent, I pretty much agree with what dndw said. I don't really want to steal anything from the patreon supported features. Plus, there are some stuff that probably wouldn't work too well in the modded version of the game anyways (like the character sprites), with how much more flexible bodies can be.

I don't think any of the new traits should be merged in either since either they are renamed versions of the current ___ Training traits. (I know this isn't exactly correct, but it would work similarly in the mod), or doesn't quite fit into the modded version. If anyone can make an argument for one, I'd be happy to put in something similar though.

There's a few balance related changes that seem like very good ideas, but once again I think balance needs a more fundamental look than a few interspersed tweaks. The original game is much better balanced than the mod, and we can't really just copy and paste the changes over.

If you want to see some of the changes in the mod, please make a case for them, and I'm sure either I, dndw, or some other contributor can whip something up.

Also, @The Silver Bard, nice work looks awesome

Edit: @TheDarkMaster, no idea what happened there for the grind case. Were you in a threesome stance? Who was on top? Did either of you temporarily get a cock?

Fairly certain counter cannot counter channeling. What exactly happened? Any logs?

Edit 2:
So I tried to see how much effort it would take to actually do character standing art. Unfortunately I'm not great at it, and this is what I came up with after messing around with it for 40 minutes. Sooo... probably not :D

ksOxNTq.jpg


Edit 3:

Okay here's the bug fixed version.

2.5.1.1
https://mega.nz/#!MsRlkQJC!OXz3Z4c9SAZ2LPacGNM_hsSj98ALrLXZ0zAyjYDJhvQ
Code:
Balance:
- Nerfed attribute based increases to pheromones, certain toys, and draining

Bug fixes:
- Actually implemented Bottomless Pit (thanks Truepower)
- Fixed various bugs with addictions (Thanks DarkSinfulMage)
- Fixed some text issues
- Made old 2.5.0.x saves compatible with the new build
    - (warning: this will make Reyka's traits growths weird, and she'll gain extra traits she is not supposed to have any more, so do so at your own risk)
- Fixed some draining issues
 
Last edited:
  • Like
Reactions: Anent and jskil5

Truepower

Member
Dec 27, 2016
14
0
33
Got into an infinite Nullpointerexception loop when Mara tried to escape from me.
Edit: Also the Nullpointer crash which can happen when combat ends with Airi is still present.
 

Attachments

  • nightgames_log.txt
    435.4 KB · Views: 2
Last edited:

DarkSinfulMage

Well-Known Member
Nov 18, 2016
253
44
40
@nergantre

I like it - it looks good. Anything helps, although I don't understand the blue streaks. Keep at it.

EDIT:

Just a small issue, but naming conventions among traits should be standardized. some are thisTrait, while others BigFatTrait, and some are just like Trait or trait.
 
Last edited:

CappyAnon

New Member
Dec 27, 2016
4
0
32
It would be nice to get a starting scenario with all the characters set to be Futa, without forcing the character to be one as well. Closest is the one that has the four starting girls start as futa, but the rest stay the way they were originally intended, and seemed to stay so even if you put the gender slider to the center. (Because, you know, boobs.)
 

dndw

Well-Known Member
Aug 27, 2015
456
20
Got into an infinite Nullpointerexception loop when Mara tried to escape from me.
Edit: Also the Nullpointer crash which can happen when combat ends with Airi is still present.

Did you give non-Maya characters the Cursed trait? Because that's the only way I see that error happening. It won't work, as you've discovered.

It would be nice to get a starting scenario with all the characters set to be Futa, without forcing the character to be one as well. Closest is the one that has the four starting girls start as futa, but the rest stay the way they were originally intended, and seemed to stay so even if you put the gender slider to the center. (Because, you know, boobs.)

I do recall something about start configurations not applying to unlocked characters, so I'll look into that tomorrow. I just want to add that the gender preference slider does not affect the start. It only influences how likely the characters are to perform certain transformative actions (Priapus Draft, Fem Draft, etc, or visiting the body shop and trading in their naughty bits). This preference holds for the player as well. If it's fully male, for example, and the player is female, she'll get bombarded with Priapus Drafts until that situation is 'remedied'.

Almost forgot:
@nergantre: That portrait looks pretty great to me. Then again, I have the artistic talent of a particularly uninspired potato, so my reference frame isn't the best. She does need a better facial expression, though. And I'd make an educated guess and say @DarkSinfulMage's 'blue streaks' are the Translucent Shawl divine Angel likes to wear.
 

Sacredferro

Well-Known Member
Aug 26, 2015
510
45
Seems like from what I've seen in the starting files, the two main differences between the basic Futa start and the Futa++ Lvl20 one is that everyone starts at lvl20 and are all herms (the basic futa start only lists the starting girls, while the lvl20 one actually includes start data for all of them individually; maybe "all_npcs" doesn't include the unlockable ones?). So, in theory, you could take the Futa Lvl20 file and use that instead of the basic one. You'd have to make several changes to make things work the way you want, like removing the "gender":"herm", line from the player data block which should permit choosing genders at the start, then if you wanted everyone to not start at lvl20, change the start level, traits, and attributes for each character. I would recommend using Default-Verbos.json as a point of reference in that case. I could try to whip up a custom start file and see if it will work like I think it will.

Edit: Alright...nevermind: Default-Verbose doesn't include the unlockable girls' starting stats. Maybe I could mod the NewGame+ file? It would mean starting everyone at 10, so it's not 1 but it's not 20 either.
 
Last edited:

Truepower

Member
Dec 27, 2016
14
0
33
Did you give non-Maya characters the Cursed trait? Because that's the only way I see that error happening. It won't work, as you've discovered.

No, my save file contains Cursed only among Maya's traits, in fact I've never meddled with the NPC trait lists.
 

DarkSinfulMage

Well-Known Member
Nov 18, 2016
253
44
40
Was training early game during daytime and got this error on levelup:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at nightgames.skills.Skill.skillIsUsable(Skill.java:102)
at nightgames.skills.Skill.skillIsUsable(Skill.java:92)
at nightgames.skills.strategy.AbstractStrategy.lambda$getAllowedSkills$926(AbstractStrategy.java:15)
at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.util.HashMap$KeySpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.collect(Unknown Source)
at nightgames.skills.strategy.AbstractStrategy.getAllowedSkills(AbstractStrategy.java:15)
at nightgames.skills.strategy.AbstractStrategy.nextSkills(AbstractStrategy.java:22)
at nightgames.characters.NPC.act(NPC.java:282)
at nightgames.characters.NPC.act(NPC.java:269)
at nightgames.combat.Combat.pickSkills(Combat.java:853)
at nightgames.combat.Combat.turn(Combat.java:802)
at nightgames.combat.Combat.resumeNoClearFlag(Combat.java:255)
at nightgames.combat.Combat.resume(Combat.java:265)
at nightgames.gui.GUI.ding(GUI.java:1275)
at nightgames.gui.GUI.lambda$attributeButton$286(GUI.java:1543)
at nightgames.gui.RunnableButton.lambda$new$785(RunnableButton.java:15)

While I'm here - it seems like demonic cock mod doesn't do level draining. Do we need an "Incubus" trait to even this out?

Here's what I have so far for Ultimate Drain Challenge - can't get draining for both player and NPCs to work properly. Everyone should be draining when they make the other cum.

{
"name":"Ultimate Drain Challenge",
"summary":"Well, it seems you've been put into a pool of demonic players. A combination of Drain and Hard Reverse Drain Challenges.",
"enabled":true,
"player": {
"gender":"male",
"attributes": {
"Power":10,
"Seduction":10,
"Cunning":10,
"Dark":15,
"Perception":5,
"Speed":5
},
"attribute_points":6,
"body":{
"archetype":"DEMON"
},
"traits": ["succubus", "leveldrainer", "energydrain", "spiritphage", "powerfulhips", "limbTraining1", "tongueTraining1", "ExpertLevelDrainer", "stronghold", "tight", "holecontrol", "Unsatisfied", "sexTraining1" ],
"trait_choice":false,
"clothing": [],
"level": 6
},
"npcs": [
{
"type":"Cassie",
"traits":["softheart", "imagination", "romantic"]
},
{
"type":"Jewel",
"traits":["wrassler", "direct", "insatiable"]
},
{
"type":"Angel",
"traits": ["undisciplined", "lickable"]
},
{
"type":"Mara",
"traits":["petite", "dexterous", "ticklish"]
}
],
"all_npcs" : {
"attributes": { "Dark":15 },
"traits":["leveldrainer", "ExpertLevelDrainer", "stronghold", "tight", "holecontrol", "Unsatisfied"],
"body": { "genitals": {"pussy":{"_type": "nightgames.characters.body.mods.DemonicMod"}}},
"level":6
},
"flags": []
}

Should I change archetype DEMON to a cock with a demonic mod on it? There's different ways to do this and I think there might be some nuance to it.
 
Last edited:

nergantre

Well-Known Member
Aug 28, 2015
293
22
@DelrealPuck, no need to double post in just two minutes. The "app" is the NightgamesMod.jar. You'll need to install the java run time. Somehow that got removed from the front page, woops. You can get it here: https://java.com/en/download/

@DarkSinfulMage, found the bug, thanks. As to why you can't drain anything, two players with the level drainer perk can't drain from each other. I'll add another trait that in the coming build that allows them to drain from each other. Let's call it... IndiscriminateThief.

Also, the reason why the traits are differently named is that this has been worked on by a lot of different people, and if I changed them now it'll break saves. I could make it case insensitive, but since these trait names aren't really seen in the game itself I'm not going to bother unless there's a clear reason for it.

@Truepower, I don't have the proof to back it up, but I bet it was Airi disguised as Maya. Woops.

About the portrait thing, if it takes me 40 minutes to get a sketch out, it'll take way too long to have figures for each girl, AND different versions for each set of clothing, AND different versions for the possible transformations they can have. If I stopped letting people dress the girls up how they wanted to, it may work. As it is though, I can't really spend that much time on it :(

I'll have another build up in a bit to fix the issues reported so far.
 

DelrealPuck

Member
Feb 11, 2017
9
0
34
@DelrealPuck, no need to double post in just two minutes. The "app" is the NightgamesMod.jar. You'll need to install the java run time. Somehow that got removed from the front page, woops. You can get it here: https://java.com/en/download/

@DarkSinfulMage, found the bug, thanks. As to why you can't drain anything, two players with the level drainer perk can't drain from each other. I'll add another trait that in the coming build that allows them to drain from each other. Let's call it... IndiscriminateThief.

Also, the reason why the traits are differently named is that this has been worked on by a lot of different people, and if I changed them now it'll break saves. I could make it case insensitive, but since these trait names aren't really seen in the game itself I'm not going to bother unless there's a clear reason for it.

@Truepower, I don't have the proof to back it up, but I bet it was Airi disguised as Maya. Woops.

About the portrait thing, if it takes me 40 minutes to get a sketch out, it'll take way too long to have figures for each girl, AND different versions for each set of clothing, AND different versions for the possible transformations they can have. If I stopped letting people dress the girls up how they wanted to, it may work. As it is though, I can't really spend that much time on it :(

I'll have another build up in a bit to fix the issues reported so far.
Just installed it, but still cant find the jar file?
 

DarkSinfulMage

Well-Known Member
Nov 18, 2016
253
44
40
You're on top of Angel.
You use Oral Pin.
You bow Angel over, and settle your head between her legs.
As soon as you penetrate Angel, you realize it was a bad idea. While it looks innocuous enough, her pussy feels like pure ecstasy. You're not sure why you thought fucking a bonafide sex goddess was a good idea. Angel isn't even moving yet, but warm walls of flesh knead your cock ceaselessly while her perfectly trained anal muscles constrict and relax around your dick, bringing you waves of pleasure.
Angel tempted you for 16 (base:5, charisma:3.2)
You run your tongue over Angel's dry vulva, lubricating it with your saliva.
Angel shudders when licked by you.
Angel's drug-laced juices leaves your entire body tingling with arousal.
You were aroused for 5
Angel continues feeding on her own pleasure to charge up her divine energy.
Angel's slippery oiled form makes her all the more sensitive.
Angel's divine vagina was pleasured by your mouth for 67 base:26.8 (17.0 + 9.8) x multiplier: 2.51 (1 + sen:1.3 + ple:0.0 + per:0.3 + stage:0.00 )
You spent 5 mojo.


When fighting Jewel, Angel's addiction triggers. Might need rewrite?
Jewel was aroused for 25 (imp cum)
Overcome by your desire to serve Angel, you get on the ground and prostrate yourself in front of her.
Angel tells you to roll over, and once you have done so she sets herself down on your stomach.

Zeal and other addictions still around after doing Safe Removal. Do I just not understand how it works now? I think maybe it's just not removing the Addiction traits that get processed every turn.
 
Last edited:

Draonir

Member
Jan 16, 2016
20
0
I guess this negativ stats (lightly purple marked) by corruption shouldn't happen
 

Attachments

  • 2_5_1_1 negative stats.jpg
    2_5_1_1 negative stats.jpg
    318 KB · Views: 20
  • nightgames_log.txt
    49.7 KB · Views: 3