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

dndw

Well-Known Member
Aug 27, 2015
456
20
There's not much I can say about that bit of code other than that I'm interested to see where it goes. Please try to use the regular Java naming conventions, though. And be consistent: I count three different naming schemes just in those snippets.

About stances and effects, do you mean you want to make stances into a sort of status effects? I suppose that would be possible, but I don't really see the benefit. There is always a stance, so you might as well keep a seperate reference to it. (While you're at it, maybe you can see if you can add in support for multiple simultaneous positions for use with pets?)
 

DarkSinfulMage

Well-Known Member
Nov 18, 2016
253
44
41
There's not much I can say about that bit of code other than that I'm interested to see where it goes. Please try to use the regular Java naming conventions, though. And be consistent: I count three different naming schemes just in those snippets.

About stances and effects, do you mean you want to make stances into a sort of status effects? I suppose that would be possible, but I don't really see the benefit. There is always a stance, so you might as well keep a seperate reference to it. (While you're at it, maybe you can see if you can add in support for multiple simultaneous positions for use with pets?)

I guess we all have our little messes! hah! You're right about styles - I'll get rid of the underscored methods. I really don't need to that with the thisThat convention. Most of those are easy to rename via refactor.

I was thinking about it- there's always a currentStance as far as the game's concerned, but it's strange - how does CowGirlReverse relate or stack with Fire Stance? If you allow multiple stances you have to create a method of rooting out and starting, continuing, and ending stances WHILE making sure the options to the play make sense. That's a lot of work and not much added gameplay.

What would be nice with pets right now would be if they better understood the options available to them and their summoner. The problem is that they act somewhat randomly and without any coordination from the summoner. Either you make pets that are to be ordered around using an action (which is really bad for action economy) or not.

That's a game design decision, and I'd say that Pets should act randomly but with fairly predicable actions given the state of the enemy.

In my game - I can support pets in the scheme of they may go at some point during a combatant's turn, but if the pets were to be part of combat as they are in NGMod, I'd need to support multiple combatants for each side, each going at different points in the turn order and capable of interrupting each other's actions when everyone chooses what to do at the round start. It's a big mess and really fucks with the action economy of the game.

Right now in NGMod, you basically take up to 6 turns during a round by choosing one choice and rely on random things to happen. Pets don't always sense what you wish to do or avoid doing in combat. As well, they are too simple to kill (NG) or they are extra characters in a team fight in their own right (NGMod)/ In the meantime, you have both autonomous parts as well as extra benefits from Traits like Raw Sexuality, Addictions from combatants not even present in the fight, Fetishes that have developed that night, and many sources of arousal and damage.

Honestly, I think we should do some some strawpolls about how some things should work and where the biggest gameplay and mechanical problems/priorities are. There's been a lot of discussion but time and resources are clearly thin. We just want a good mod of the game, but ambitious goals of a REALLY good game mean a rewrite or a TC, which we are certainly capable of but not 100% agreed about.

By the way; I'm finally on github - is it better to fork from dndw or nergantre?
 
Last edited:

Milkman

Well-Known Member
Aug 28, 2015
730
324
to "facefuck" you need
15 points or more in fetish
you need a dick or strapon
you need to be naked (bottom)
not inserted, not behind, need to stand in a stance that is flagged as in front, also in a dominant stance. Also not bound/winded/stunned or whatever

public FaceFuck(Character self) {
super("Face Fuck", self);
}

@Override
public boolean requirements(Combat c, Character user, Character target) {
return user.get(Attribute.Fetish) >= 15;
}

@Override
public boolean usable(Combat c, Character target) {
return getSelf().canAct() && c.getStance().dom(getSelf()) && c.getStance().prone(target)
&& (getSelf().crotchAvailable() && getSelf().hasDick() || getSelf().has(Trait.strapped))
&& !c.getStance().inserted(getSelf()) && c.getStance().front(getSelf())
&& !c.getStance().behind(target);


Ah hey thanks hehe I sorta figured it out shortly after posting hence why I deleted the original comment but the details you've provided about the specifics have been quite insightful actually.
 

DarkSinfulMage

Well-Known Member
Nov 18, 2016
253
44
41
Began Commentary and Javadoc work on Character.
What a headache.
Targets for me are Character, Global, Combat, Trait, and whatever else I find time for.

Did a test commit and push - added my own alternate descriptions from before. Hope that matching the way it's done for Angel works.

Check me at:
https://github.com/DarkSinfulMage/nightgamesmod
 
Last edited:

DarkSinfulMage

Well-Known Member
Nov 18, 2016
253
44
41
I discovered this one while playing with Reyka's double hard choices. It's a nullpointerexception that happens when you exit a battle, walk around and map and other combats are resolving. Took a LOT of loops through tick() for it to happen - presumably Rekya must have gotten Jewel addicted...

Marked it on my branch but tracing it is hard since my brain is very soupy today due to RL.

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at nightgames.status.addiction.Addiction.tick(Addiction.java:56)
at nightgames.characters.Character.lambda$9(Character.java:1368)
at java.util.ArrayList.forEach(Unknown Source)
at nightgames.characters.Character.tick(Character.java:1368)
at nightgames.characters.Character.upkeep(Character.java:2781)
at nightgames.characters.NPC.upkeep(NPC.java:936)
at nightgames.match.Match.round(Match.java:219)
at nightgames.match.Match.resume(Match.java:443)
at nightgames.gui.ActionButton.lambda$0(ActionButton.java:18)
at nightgames.gui.RunnableButton.lambda$0(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)

BTW: No leveldrain messages for Maya, Kat, Samantha, Eve, or Rosea. Any guidance on these characters? Want me to try to add their messages?
 

nox bellua

Well-Known Member
May 23, 2016
104
75
I really like this mod but I am barely able to make it through a match as the mod ends up locking up throughout the match. Is there a specific reason my game might be locking up? Other than that I find the game enjoyable albeit quite buggy but I guess I can start listing the bugs as they arise.
 

DarkSinfulMage

Well-Known Member
Nov 18, 2016
253
44
41
I really like this mod but I am barely able to make it through a match as the mod ends up locking up throughout the match. Is there a specific reason my game might be locking up? Other than that I find the game enjoyable albeit quite buggy but I guess I can start listing the bugs as they arise.

@nox bellua
It's likely that one of the girls' addictions are causing your error. It can happen as any fight on the map is occurring. I flagged it on my fork but haven't had time to hunt it down.

In other news, I'm working on my own combat loop but discovered that controlling the flow in combat requires something special. NGMod uses listeners as part of the Next Button system, but after pouring over the options tonight I'm wondering if reverse engineering this is a good idea.

Currently, my own combat loop lacks controls because there's no simple "wait for input" as I make buttons and place them on the screen.

If I can somehow implement these listeners to "wait" for input before continuing down the code by myself, I'd have solved something I was trying to find for years and I'd have a super powerful tool.

I'd need something akin to a linear or loop condition version of :

displaytextline();
displaytextline();
displaytextline();
listenforinput();
displaytextline();
displaytextline();
displaytextline();
 
Last edited:
  • Like
Reactions: nox bellua

nox bellua

Well-Known Member
May 23, 2016
104
75
@DarkSinfulMage That makes sense because it seems like the game freezes as I am making a choice to move rooms. I have also had the game slow down from moving so it seems possible that me moving while the addiction is triggered is causing some sort of conflict. I wonder what could cause the error to arise in the coding.
 

dndw

Well-Known Member
Aug 27, 2015
456
20
@DarkSinfulMage
As you've found, you can't really wait for input in-line as your pseudocode said. When you press a key, an event gets fired on the UI thread. If you use that event to run the combat loop, and then want to wait for input, the UI thread will be waiting for the UI thread to fire a new event. That doesn't work, so the program freezes. There are two solutions: Either run the combat loop on a different thread, or structure it in a way it doesn't block the UI thread. The former option introduces a gazillion new bugs, so don't.

That means structuring your code in a non-blocking way, like so:
Code:
// In Combat
public void doCombatStage1() {
    // Do stuff
    gui.addButton("Go To Stage 2", this::doCombatStage2);
}

public void doCombatStage2(ActionEvent evt) {
    // Do more stuff
   gui.addButton("Go To Stage 3, Option 1", this::doCombatStage3Opt1);
   gui.addButton("Go To Stage 3, Option 2", this::doCombatStage3Opt2);
}

public void doCombatStage3Opt1(ActionEvent evt) { 
   // Yet more stuff
   this.endOfTurn(); // calls doCombatStage1
}

// ^ Same for doCombatStage3Opt2

// In GUI
public void addButton(String text, ActionListener listener) {
    // We don't want plain grey buttons...
    // FancyColoredButton extends javax.swing.JButton

    FancyColoredButton btn = new FancyColoredButton(text);
    btn.addActionListener(listener);
    this.buttonContainer.add(btn);
}

So now, at some point doCombatStage1 gets called, starting the combat loop. It does some stuff, then it adds a button to the GUI. It tells the GUI what text should appear on the button, and what it should do when it is pressed. The button gets added, doCombatStage1 is done, so the UI thread can finish doing what it needs to do (handling events, painting components, etc.). That means the user will now see the button and be able to click it. Once the button is clicked, its handler, doCombatStage2, will execute. It has two branches, so two buttons are added. Repeat as often as you like, making sure you eventually end up back at doCombatStage1. Ignore the ActionEvent parameters, you probably won't use them.
 

DarkSinfulMage

Well-Known Member
Nov 18, 2016
253
44
41
@dndw

because of the way the game is structured (in scenes via playscene() executing a bunch of lines) This might work if I structure each phase of combat with a scene. I hit upon this last night but was too tired to wonder if it would work.

so I'd probably have to do as so:

Code:
Encounter.playScene();   //This is the encounter scene, which only happens in the map - this can be bypassed if you wish to fight someone directly.
introduce.playScene();   //This currently says the opponent's challenge line and sets up the battle. Might stand for some improvement. Continues into phase1();
phase1.playScene();   //This is the round start, which displays enemy information and currently situation. This silently and without input starts phase2().playscene()
phase2.playScene();   //This is the "Select your skills" phase, gathering possible skills that can be used displaying. The buttons here start phase3.playscene().
phase3.playScene();  //This executes the skills selected in both turns by both combatants in the determined sequence, displaying results. It moves onto phase4();
phase4.playScene();   //This resolves the round and checks for win conditions. if they aren't met, it plays phase1.playScene().
finish.playScene();      //This finishes combat, cleaning up and setting both characters to the correct state.

I think another interesting move is if I can start a SceneCollection to act in the place of a structure like this which requires several scenes. I haven't had coffee, yet, so I'm not sure I want to do that without knowing how many files I'm making unless I can make scenes on the fly.

The thing is I might need a better way of creating buttons. This is currently how I get a character's usable skills and make a button for each one:

Code:
    for (int i=0; i < A.getM_Skills().size(); i++) {

                   if (A.getM_Skills().get(i).checkIfUsable(A, B)) {
                       if (GUI.MainWindow.DATA.isM_isDebugEnabled() == true) { System.out.println("A can use " + A.getM_Skills().get(i) + " this round.");}
                       JButton addMe = new JButton(A.getM_Skills().get(i).getM_Name());
                       final Skill s = A.getM_Skills().get(i);               //FIXME: Is there any way to do this without a final in a loop?
                       addMe.addActionListener(new ActionListener() {
                           public void actionPerformed(ActionEvent arg0) {
                               GUI.MainWindow.clearButtons();
                               A_SkillChosen = s;
                               GUI.MainWindow.MAINBUTTONPANEL.updateUI();
                           }
                       });       
                       GUI.MainWindow.MAINBUTTONPANEL.add(addMe);
                    }
     }
 
Last edited:

DarkSinfulMage

Well-Known Member
Nov 18, 2016
253
44
41
Tracking down this NPE is hard.

EDIT:

The answer was :

C. The combat provided to tick is null at the time of the NPE.

The Addiction should be access and processed differently outside of combat.

More weird bugs I found:

- While testing at low stats, I would surrender and end up not being able to use anything but Nothing or "worship blah". May have something to do with Surrender or Fetishes, but I think it has more to do with getting drained and not having Struggle, Escape, or Wait.
- Encounters still may double up in terms of decision then getting to a fight. You can get double jeopardized this way after dealing with someone in any given kind of encounter.
 
Last edited:

dndw

Well-Known Member
Aug 27, 2015
456
20
@DarkSinfulMage
I'm not sure if those problems are specific to your version or if they've carried over from mine. Surrender shouldn't limit your choice of skills, so that would be weird. I am aware that there is still something off with the encounters. I've only seen it with threesomes, though.

A suggestion for that code you posted:
Code:
// Instead of your loop:
A.getM_Skills().stream().filter(s -> s.checkIfUsable(A, B))
                                       .map(this::buildButton)
                                       .forEach(GUI.MainWindow.MAINBUTTONPANEL::add);
  

// Somewhere in the same class:
private JButton buildButton(Skill s) {
   JButton btn = new JButton(s.getM_Name());
   btn.addActionListener(e -> {
       GUI.MainWindow.clearButtons();
       A_SkillChosen = s;
       GUI.MainWindow.MAINBUTTONPANEL.updateUI();
   });
}
(Add
Code:
.peek(s -> if (GUI.MainWindow.DATA.isM_isDebugEnabled()) System.out.println(...))
between the .filter and .map if you want the same prints)

Or even better:
Code:
// Instead of your loop:
charA.getSkills().stream().filter(s -> s.checkIfUsable(charA, charB))
                                       .map(this::buildButton)
                                       .forEach(GUI.MainWindow.mainButtonPanel::add);
  

// Somewhere in the same class:
private JButton buildButton(Skill s) {
   JButton btn = new JButton(s.getName());
   btn.addActionListener(e -> {
       GUI.MainWindow.clearButtons();
       lastChosenSkill = s;
       GUI.MainWindow.mainButtonPanel.updateUI();
   });
}
 

DarkSinfulMage

Well-Known Member
Nov 18, 2016
253
44
41
@dndw

I am pretty sure the skills loss thing was due to low stats and being drained. Nevermind that one.

I got a lot of progress today regardless (works perfectly now!), but that's my thing and for NGMod I'd like to focus in on fixing existing bugs and planning improvements and cleanup. For the time being I'd like to identify bugs and do pull requests so they get fixed a bit faster and easier.

As for my fork - It's not for any drastic improvements or changes, yet. I'd rather get the lay of the land before deciding what to try to fix.
I forgot how to do this, but I made a pull request for you. Nothing drastic.
 
Last edited:

DarkSinfulMage

Well-Known Member
Nov 18, 2016
253
44
41
It's been pretty quiet, and I assume it's because of real life circumstances.

Keeping the conversation going, I'm taking requests for dealing with some reported issues but I'd like to get a good list of them before proceeding. If anyone has anything that got lost or is long-standing, let me know and I'll see if it can be fixed or adjusted.

Dealing with the Addiction NPE may require rebuilding it (Not something I wanna touch, as I consider it impolite to just change things on people), as it seems to happen once a combat c has garbage collected and tick() is called to update the addiction. Restructuring that requires some redesign of the system, so I'd like to report what I have on my end as a suggestion.

It seems that the maps' areas and objects and its characters and combats are currently linked in ways that makes them hard to search, process and control. I would recommend that we think of the map as a game board and use tokens to represent logical entities that need to be processed. There are different types (Treasure, traps, characters, and encounters that are running), and every tick of our choosing we should be processing all of the tokens on the board. This also cleans up all the implementation for alternate game types and areas that they use.
 

Sacredferro

Well-Known Member
Aug 26, 2015
510
45
Well, I don't know if it was ever fixed, or was just a problem only I ever experienced, but last time I played the team fights were still causing my appearance to default to what it would be at the beginning of the game assuming a vanilla start (not one of the advanced starts). What I mean is I would be described as male with male body parts and be wearing the default starting clothing regardless of whether or not that much is true. I don't recall it ever affecting what actions I could make during a fight, but the status panel and such would still say I was wearing t-shirt, jeans, and pair of sneakers for instance. Just FYI.

Sadly, I've recently done a reinstall of my system on a new HDD and forgot to back-up some things...all my flash game saves being one of those things. Sad panda. Doesn't help that Windows 10 is a bit of a dummy dumb and likes to do weird shit without letting you know. Anyways, that's the last issue I remember running into a lot since last I played.
 

DarkSinfulMage

Well-Known Member
Nov 18, 2016
253
44
41
From the sound of it, it's possible that the player's character data might be lost because of circumstances between Global and how the game loads information from save into that team fight. I can investigate later.
 

atar

Active Member
Oct 16, 2015
33
6
Airi I think is the bugged character. I pulled her out of fight rotations and the lockups stopped happening for me.
 

hiiamaguest

New Member
May 23, 2017
1
0
39
Playing first RC2 in Sacredferro's post at start of this page. My addictions are not degrading, and the option to treat them has dissappeared. Specifically, dominance and magic milk addiction. I had the option once, but didnt have the money. Info broker doesnt have anything to say either.

Tried fast-forwarding through 4 nights, hoping that the 25% daily decay would kick in. They never go away. How do I fix this? How does the 'reenformcement' mechanic work?
 

pepe

Member
Feb 22, 2017
7
0
33
There's a release candidate for 2.6 out (two RC's actually).

https://mega.nz/#!BR5ETIpC!OV8-iDelbC9Osjn6sAvQzs7dhsfJBcEZfv6y8X9cWfw is RC1
https://mega.nz/#!BMRUSS5Y!Wp_F5NsTiLcg7r9qxnxP9g-0E9UcyGkcQk20nAALkjc is RC2
https://mega.nz/#!xFIRgRAS!EBovAmFL0-5Zn_H6u7JAwW7axAEEwPvuNbRFeQ1mdC8 is RC2 with a couple test starts that may or may not be that stable according to dndw.

Hi,

I´m playing RC1 version.. And everytime after teammatch its tilt.. Theres come empty blank... What i can do?
 

Sacredferro

Well-Known Member
Aug 26, 2015
510
45
Asking again: how to initiate the buttslutt quest?

Not quite sure, but I think you have to manually add the flag to your save game to actually force it to work. The game won't normally trigger it like it should, though hopefully that will be fixed in a later build. So, that means saving your game at some point, opening your save with a text editor (regular notepad works just fine), and adding the flag at the bottom of the file. Beyond that, I don't know, but it was just talked about a page or two back I think. I'll try to find any earlier posts with further instructions from others, but no promises.

Edit: Nvm, you actually have to add the flag to one of the Start files, if I read one of the posts correctly. So, open one of the advanced save files and look towards the bottom of the file where it says

"flags":[]

...and insert the flag "ButtslutQuesting" with the quotation marks included in between the brakets. Should end up looking like this...

"flags":["ButtslutQuesting"]

Then you need to start a new game using that start type.

Hi,

I´m playing RC1 version.. And everytime after teammatch its tilt.. Theres come empty blank... What i can do?

Yeah, team fights are pretty buggy right now. My advice to you, unless you want to help bug test it, is to avoid team fight nights until it's more stable. When the night sequence starts, you should have the ability to save your game before proceeding. Save your game and reload the save. Since team fight nights are not a guaranteed event and whether it's a normal fight night or not is random and you are technically still saving before starting the fight, it should shuffle up the fight type and give you a normal fight night when you reload your game. If it doesn't, keep reloading until it does.
 
Last edited:

BobTheBuilder

New Member
May 26, 2017
2
0
49
I've seen one of the original copies of this game (without the mods) and there was a lot more artwork, including figures for most of the girls and outfits, etc. Did those have to be removed when it became the new modded version? Or should I be seeing those and am just doing something wrong when I play? Sorry if this is an old question, but tried to search this thread.
 

dndw

Well-Known Member
Aug 27, 2015
456
20
I've been quiet for a while, sorry about that.

@zufield The quests don't really work yet, so you're probably better off waiting for now.
@hiiamaguest There's something a little wonky with addictions in RC2. This has been partially fixed since, but it still needs some work.
@pepe As Sacredferro said team matches were very broken in RC1, and still slightly broken in RC2.

Considering the above, I would advise people to just play the 2.5.1.2 release in the first post unless it's specifically for testing purposes; it's much more stable.

@BobTheBuilder The images were added after the two versions 'split'. The code has diverged to such an extent that copying any feature from one to the other would basically mean rebuilding it from scratch using the original as a guide. The images could be added more easily, but since they were funded by The Silver Bard's Patreon campaign, I wouldn't count on those ever making it into the mod. Besides, with the amount of transformations going on, we'd need many more sprite components and even then it would probably look like shit. Remember the CoC character viewer?
 

Pazz

Active Member
May 27, 2016
36
6
Hi. A few bugs and typo's:

1# In the reverse (futa) drain challenge; "Angel gives you an intense kiss as the familiar feeling of your strength flowing into her rips through your body..."
You mean "lips"?

2# "Angel uses Reverse Threesome. While Angel is holding you down with her ass, Mei mounts you and pierces herself with your cock. As soon as you penetrate Angel, you realize it was a bad idea."

3# In reverse (futa) drain challenge; When Angel summons one of her pets and you are in a reverse threesome with Angel on your face, as soon as you lose the fight, Angel wants to use level drain in cowgirl position. However, the pet is still there. This results in a crash.

" With you defeated, Angel doesn't stop her greedy hips, she is determined to extract all the power she can get! Something very weird happened, please make a bug report with the logs."
Does the log change after each new game? I have a log, but I don't know if it contains this bug. But you can test it out for yourself, just make sure Angel can use pets.

4# "You're sitting on top of Jewel with your ass squeezing her cock.
You use Pull Out.
You try to pull out of Jewel's lustrous ass, but she squeezes her asscheeks tightly around your phallus, preventing your extraction..."

Jewel had an effect that caused her to be dominated/mindcontrolled by Mara, while Mara wasn't participating in the fight. This causes Jewel to change position while also maintaining her original position. Sorry if this sounds confusing. :p


Is there a way to increase team match probability from 20 to 100%? So I can test more team battles.
When I add the ButtSluttQuest flag to reverse (futa) drain challenge, al my saves from that game won't load. When I add that flag to a save of mine, that save won't load. What am I doing wrong or should I just leave it at that?
What do I need to edit that all NPC's start as futa? So far the only start with all futa's is Futa++ 20, but that has a premade character which I don't like. And it's a bit tedious to save edit this all the time.

Thanks for al the updates.
 

witchlook

Member
Mar 4, 2017
12
4
44
I have a Quest system implemented, with tests. The ButtSlutQuest has been implemented, but I need to do a test / bugfix cycle before making it public. If I get too busy I'll leave it on my repo and others can polish it up.
 

DarkSinfulMage

Well-Known Member
Nov 18, 2016
253
44
41
I have a Quest system implemented, with tests. The ButtSlutQuest has been implemented, but I need to do a test / bugfix cycle before making it public. If I get too busy I'll leave it on my repo and others can polish it up.

I'd like to clean up Global, so if that's something you can keep in mind, that'd probably go a ways towards organizing the data of the game into manageable, self-contained parts.
 

Sariel876

New Member
Sep 5, 2016
3
0
I have a Quest system implemented, with tests. The ButtSlutQuest has been implemented, but I need to do a test / bugfix cycle before making it public. If I get too busy I'll leave it on my repo and others can polish it up.

Does the quest give you some type of flavor text after you have been trained by one of the contestants? From what I've noticed you just see it in your stats menu, but some type of flavor text would help the player know what happened a bit better imo.
 

BobTheBuilder

New Member
May 26, 2017
2
0
49
I tried a number of different searches before asking, but don't see much discussion of walkthrough or hints. I found the wiki online, but it tends to be more high level info. Specifically curious if the next Benefactor step is in the game (I basically got the call saying the next time we talked I would meet them in person by figuring it out). Haven't found a way to advance the story past that. But in addition to my specific question, would be interested if there are any walkthrough type things out there besides the wiki.
 

The Silver Bard

Well-Known Member
Sep 2, 2015
207
23
I tried a number of different searches before asking, but don't see much discussion of walkthrough or hints. I found the wiki online, but it tends to be more high level info. Specifically curious if the next Benefactor step is in the game (I basically got the call saying the next time we talked I would meet them in person by figuring it out). Haven't found a way to advance the story past that. But in addition to my specific question, would be interested if there are any walkthrough type things out there besides the wiki.

I can answer this one. I've planned a bunch of content around gathering clues to find out more about the Benefactor and confront him, but most of that hasn't been implemented yet. I'm holding off on that content since it leads to the neutral ending, which I have no idea if anyone cares about. Is this just self-indulgent on my part, basing the most obvious ending on a lore dump on a shadowy mastermind? I think it might be, so I'm going to try to focus on the character specific endings first.