News:

Please request registration email again and then check your "Spam" folder

Former www.henthighschool.com

[Mod][1.10.6] Bathroom Expansion 1.2.3

Started by neme, Sep 03, 2022, 06:44 AM

Previous topic - Next topic

nemeTopic starter

1.10.6
The Ultimate Depravity

Updated at last for latest version.

This is a mod that aims to expand bathroom content, barely any events can trigger in any of the available bathrooms throughout the game i set out to fix that and so I've also expanded bathroom related fetishes.

main additions from this mod.
  • Scat club and introduction of scat fetish in HH+
  • Male bathroom gloryhole events
  • Public urination and expanded watersports content
  • Annette pee storyline
  • More bathroom sex events
  • All content uses content filter

The content filter
This mod adds and expands a lot of content and a lot of it might not be some peoples cup of tea I get that I'm the same I'm just not bothered by it, however if you are bothered by it all events are content filtered so if you like pee but don't like scat blocklist the scat tag and all scat events should not trigger but pee events still will.

if you have done that and still get an event that involves scat for example please post a comment saying where you were ingame when that event triggered as that means I forgot an event. 

The Scat club
The main addition this mod brings is a whole club and a remodel of the Female bathroom in the school, the scat club triggers similar to the panties selling club in woman's bathroom an event will trigger once the school stat for corruption reaches 15 and a female student is capable of low level sex events (60 inhib + 20 lust), once you go through the event a option for the scat club will appear on the computer with the other clubs you can start it and after main school hours the club will take place in the woman's bathrooms.

The corruption requirement is subject to change as i am aware of the main games desire to use this stat as a would do crime stat.

latest updates and changes.

Update 1.2.3
added several new pee events after having a creative burst of energy for some reason
2 new classroom events
1 new street event
1 staircase event
1 cheerleading event

Shilo

#1
I assume these have been written across a longer period of time, at different levels of skill when using the editor? I just glanced over the events without actually playing, but here's some of the stuff I noticed (without specifying the exact locations where I found it, since that would take too long).

- Some events use very old ways of filtering for event candidates, checking conditions, etc. while others use the normalized functions from GenSexHandling. The effects of events are all over the place this way and don't record the interaction between the player and the student (and while GenSexHandling probably has no specific handling for these kinds of fetishes, you could still have it count as "voyeurism" interaction).
- You sometimes pull the event candidates from the list of all students (not even just your own students) instead of just the students in the location.
- One of the peeing events also requires the event candidate to have high lust and low/medium intelligence. Not sure how easy it is to actually achieve that combination, since I'd assume that both stats slowly rise from low to high throughout the playthrough. So there may only be a narrow window of opportunity for the event to trigger.
- (Honestly though, I am not even sure what kind of stats would be proper to check for with these kind of events. Do Lust and Arousal really play a role, or should it also be about Inhibition and Corruption?)
- Some events also use the "Event Is Scheduled" condition while others use the Fast Schedule Check flag. Some actual use both, which seems like an oversight.
- Not all events that assign detention actually use "Set Detention" on the person.
- Quite a few events only use "Voyeurism" in Add Arousal by Fetish, even though there is a new fetish in the mod that obviously fits the bill much better.
- It stands to reason that the club members slowly get more and more into the respective fetishes of the club as they perform these actions, so it might be a good idea to add to the values with the "Person Fetish" operation in the respective club events.
- Perhaps a check whether the person has that fetish could be used as additional criteria when selecting event candidates, at least for the events where they deliberately perform the action for the joy of it, rather than just not being able to keep things in.
- One of the events had a Random Chance in the Try-phase with a chance value of 100%, so only one of those branches can trigger in the first place.
- "Is School Time" already takes weekday and holiday into account, so it's not necessary to check those with extra operations.
- For the club events, you can actually define a dedicated folder in "Events\ClubEvents\" for your club chain and enter it in the club level definition of your club. The events from that folder will then only be checked for execution when you are at the club room during the defined club hours - which means you wouldn't need to check for the club time in the actual events and there is less overhead for checking events in the Bathroom location when its not club time.
- One of the events had a "Show Random Image" op with 6 images and individual outputs, but only the first output was linked up to the rest of the event. This means that in 5 out of 6 times, the event will trigger but not actually show anything happening.
- In the Annette event where she can have someone over, you assign the object variable "Annette" from a List Filter Person operation, but there doesn't seem to be anything that actually ensures that the person in that variable will be Annette.
- At least one event did not have the image content properly tagged. (Probably doesn't matter in the long run, since most of the events have a content filter in the event itself)
- There are still some orphaned .meta files for images of Anette that are not actually in your mod.
- You included an additional image folder with unused images in the download. If you want to provide more resources for other creators, it might be better to split that out into a separate download, so people who just want the mod contents can have a smaller download.
- There are quite a few grammar issues here and there, where a word seems left out or a sentence just continues on into the next one.
- There are also quite a few places where the start of the sentence is lower-cased. But you already said that you've been typing it quickly.

nemeTopic starter

Yeah, you would be right about some of the earlier stuff I just kind of winged it lol kind of learned as I went for most of it the earlier events I made I would like to go through and clean up a bit.

That is a testing phase thing that I hadn't switched back will look and switch them back to location!

Oh, the low intelligence one is defo an error I'll have a look.

Yeah I was unsure what stats would go into it also so I just settled for usually lust arousal and inhibition as a base.

Ah, the fast check flag is the same as the event scheduled condition. That's good to know thank you.

Set detentions I will need to look in I no doubt said I add it later than forgot lol.

The 100% chance one I knew I missed! I put 100% just to get it to trigger for me without messing around too much I was meant to change it back but forgot (probably a side effect of doing this at like 3 AM lol)

I would also like to add fetish checks too for the more deliberate acts this will be something I add in as well as increasing fetishes for those who participate in the acts.

The voyeurism fetish was a placeholder that I will change thanks for mentioning it otherwise I would have completely forgotten.

Nice thanks for letting me know I used holiday, weekday and school time as I was unsure if school time took it all into account that's good to know for when I go through and clean up.

Thanks for letting me know about the club events dedicated folder that help streamline the try phase for club events.

Will look for that 6-image event the 6th one is not meant to be blank.

Yeah that Annette one was likely because I used a different event as a preset for the Annette one I will have to change that to insure Annette is the one chosen.

The unused images are something I could have removed from the download that was just a collection of images I may have used in the future I probably will remove them from future versions.

The orphaned meta's need to be cleaned up I will do it along with some other fixes.

Yes the downside to being fast is my fingers just skip words now and then will do my best to retroactively fix these.


nemeTopic starter

0.2:
Added gloryhole content to the men's bathroom mostly straight content but did also add a crossdresser/Futa event and a single gay event the gay event is content filtered.

nuetron

#4
Getting these errors ever since I added your mod.  Seems to be referencing paths from your dev that I do not have?

-----------------------------
[General Info]

Application: HHS+
Version:     v1.10.2.2, Release
Region:      English (United Kingdom)
Date: 11/09/2022
Time: 12:27

User Explanation:

User said ""
-----------------------------

[Exception Info 1]

Top-level Exception
Type:        System.ApplicationException
Message:     Location\School\Principal Office\ParkerLateToClass [EXEC] caused an exception at operation SeqAct_PassTime (ID: 60).
Source:      hhs+.exe

Inner Exception 1
Type:        System.ArgumentNullException
Message:     Value cannot be null.
Parameter name: key
Source:      mscorlib
Stack Trace: at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at hhs_.Person.GetStat(String statName, Boolean baseValueOnly) in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\Person\Person.cs:line 1924
   at hhs_.StatChange.AdjustStat(Person Per) in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\Person\StatChange.cs:line 37
   at hhs_.ClubLevel.ApplyClubMeetingAdjustments(Person Per) in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\School\Club.cs:line 823
   at hhs_.Clubs.ClubMeeting() in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\School\Club.cs:line 428
   at hhs_.Time.CheckClubMeeting() in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\Gameplay\Time.cs:line 693
   at hhs_.Time.<TimerefreshFromEvent>d__67.MoveNext() in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\Gameplay\Time.cs:line 660
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at hhs_.Time.<PassTime>d__90.MoveNext() in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\Gameplay\Time.cs:line 1139
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at hhs_.SeqAct_PassTime.<ActivatedAsync>d__18.MoveNext() in D:\Torrents\DONE\dun\hhs-source\hhs+\_Editor\_EventModules\_EventActions\_EventActions_Time\SeqAct_PassTime.cs:line 99
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at hhs_.EventRunner.<ExecuteAsync>d__108.MoveNext() in D:\Torrents\DONE\dun\hhs-source\hhs+\_Editor\_EventModules\EventRunner.cs:line 1220

-----------------------------
[General Info]

Application: HHS+
Version:     v1.10.2.2, Release
Region:      English (United Kingdom)
Date: 11/09/2022
Time: 12:53

User Explanation:

User said ""
-----------------------------

[Exception Info 1]

Top-level Exception
Type:        System.ApplicationException
Message:     Error while moving to location 'Your Home'
Source:      hhs+.exe

Inner Exception 1
Type:        System.ArgumentNullException
Message:     Value cannot be null.
Parameter name: key
Source:      mscorlib
Stack Trace: at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at hhs_.Person.GetStat(String statName, Boolean baseValueOnly) in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\Person\Person.cs:line 1924
   at hhs_.StatChange.AdjustStat(Person Per) in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\Person\StatChange.cs:line 37
   at hhs_.ClubLevel.ApplyClubMeetingAdjustments(Person Per) in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\School\Club.cs:line 823
   at hhs_.Clubs.ClubMeeting() in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\School\Club.cs:line 428
   at hhs_.Time.CheckClubMeeting() in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\Gameplay\Time.cs:line 693
   at hhs_.Time.<Timerefresh>d__66.MoveNext() in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\Gameplay\Time.cs:line 593
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at hhs_._GameWindow.<MoveToLocation>d__14.MoveNext() in D:\Torrents\DONE\dun\hhs-source\hhs+\_View\GameWindow\_GameWindow.xaml.cs:line 117
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at hhs_._GameWindow.<LocationChange_Click>d__65.MoveNext() in D:\Torrents\DONE\dun\hhs-source\hhs+\_View\GameWindow\_GameWindow.xaml.cs:line 1605

ixtheinterloper

i know that this isn't going to go anywhere productive, but do you think you can find a replacement picture for gloryholeschool2/.2? the character depicted is from a yuri light novel series and is, consequentially, a lesbian (and canonically a minor)

nemeTopic starter

Quote from: nuetron on Sep 11, 2022, 12:35 PMGetting these errors ever since I added your mod.  Seems to be referencing paths from your dev that I do not have?

-----------------------------
[General Info]

Application: HHS+
Version:    v1.10.2.2, Release
Region:      English (United Kingdom)
Date: 11/09/2022
Time: 12:27

User Explanation:

User said ""
-----------------------------

[Exception Info 1]

Top-level Exception
Type:        System.ApplicationException
Message:    Location\School\Principal Office\ParkerLateToClass [EXEC] caused an exception at operation SeqAct_PassTime (ID: 60).
Source:      hhs+.exe

Inner Exception 1
Type:        System.ArgumentNullException
Message:    Value cannot be null.
Parameter name: key
Source:      mscorlib
Stack Trace: at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
  at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
  at hhs_.Person.GetStat(String statName, Boolean baseValueOnly) in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\Person\Person.cs:line 1924
  at hhs_.StatChange.AdjustStat(Person Per) in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\Person\StatChange.cs:line 37
  at hhs_.ClubLevel.ApplyClubMeetingAdjustments(Person Per) in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\School\Club.cs:line 823
  at hhs_.Clubs.ClubMeeting() in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\School\Club.cs:line 428
  at hhs_.Time.CheckClubMeeting() in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\Gameplay\Time.cs:line 693
  at hhs_.Time.<TimerefreshFromEvent>d__67.MoveNext() in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\Gameplay\Time.cs:line 660
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at hhs_.Time.<PassTime>d__90.MoveNext() in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\Gameplay\Time.cs:line 1139
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at hhs_.SeqAct_PassTime.<ActivatedAsync>d__18.MoveNext() in D:\Torrents\DONE\dun\hhs-source\hhs+\_Editor\_EventModules\_EventActions\_EventActions_Time\SeqAct_PassTime.cs:line 99
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
  at hhs_.EventRunner.<ExecuteAsync>d__108.MoveNext() in D:\Torrents\DONE\dun\hhs-source\hhs+\_Editor\_EventModules\EventRunner.cs:line 1220

-----------------------------
[General Info]

Application: HHS+
Version:    v1.10.2.2, Release
Region:      English (United Kingdom)
Date: 11/09/2022
Time: 12:53

User Explanation:

User said ""
-----------------------------

[Exception Info 1]

Top-level Exception
Type:        System.ApplicationException
Message:    Error while moving to location 'Your Home'
Source:      hhs+.exe

Inner Exception 1
Type:        System.ArgumentNullException
Message:    Value cannot be null.
Parameter name: key
Source:      mscorlib
Stack Trace: at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
  at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
  at hhs_.Person.GetStat(String statName, Boolean baseValueOnly) in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\Person\Person.cs:line 1924
  at hhs_.StatChange.AdjustStat(Person Per) in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\Person\StatChange.cs:line 37
  at hhs_.ClubLevel.ApplyClubMeetingAdjustments(Person Per) in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\School\Club.cs:line 823
  at hhs_.Clubs.ClubMeeting() in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\School\Club.cs:line 428
  at hhs_.Time.CheckClubMeeting() in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\Gameplay\Time.cs:line 693
  at hhs_.Time.<Timerefresh>d__66.MoveNext() in D:\Torrents\DONE\dun\hhs-source\hhs+\_Modules\Gameplay\Time.cs:line 593
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at hhs_._GameWindow.<MoveToLocation>d__14.MoveNext() in D:\Torrents\DONE\dun\hhs-source\hhs+\_View\GameWindow\_GameWindow.xaml.cs:line 117
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at hhs_._GameWindow.<LocationChange_Click>d__65.MoveNext() in D:\Torrents\DONE\dun\hhs-source\hhs+\_View\GameWindow\_GameWindow.xaml.cs:line 1605

Hmm that is odd as the mod doesn't change parker late to class events i did also have a look in the event to see if anything links to the woman's bathroom which may have been effected by the mod which it didn't seem too.

Also do you have any other mods active which maybe be conflicting, also is the save a new one or a preexisting save.

with that it would be helpful if you could upload your save so i can take a deeper look into what maybe causing it.

nemeTopic starter

Quote from: ixtheinterloper on Sep 12, 2022, 04:19 AMi know that this isn't going to go anywhere productive, but do you think you can find a replacement picture for gloryholeschool2/.2? the character depicted is from a yuri light novel series and is, consequentially, a lesbian (and canonically a minor)

Sure i can have a look at replacing them probably be awhile but i can add it to a todo list

nuetron

Here is my save.  https://file.io/U3rl8s6ksDbZ

Click on the principle's office to trigger Nina's event which will error before completion.  The only mods I have installed other than the bathroom mod is the following.

Bathroom Expansion
Home Relax
Wait1Minute

Thanks

nemeTopic starter

Quote from: nuetron on Sep 12, 2022, 11:10 AMHere is my save.  https://file.io/U3rl8s6ksDbZ

Click on the principle's office to trigger Nina's event which will error before completion.  The only mods I have installed other than the bathroom mod is the following.

Bathroom Expansion
Home Relax
Wait1Minute

Thanks

It says the file was deleted is the link correct?

nuetron


nemeTopic starter

Quote from: nuetron on Sep 13, 2022, 03:52 AMNot sure what happened, try this one.  https://anonfiles.com/gf30P572y4/save_sav

https://mega.nz/file/vkQUCYRb#DNnwiuuTI0CF2knvkVyqdpykjntDFAjeSQFT_L9oIHE

Okay so i looked into the parker event itself basically the error says that the thing which causes time to pass had no value attached to it but after looking it did have a value so i disabled the pass time entirely which allowed the event to finish properly

i made a new save after the event was completed so you can get past that part of the quest you can check the journal to see that the late to class event is finished and you have to wait and see for the next stage of the quest

i am presuming that the next stage of the event will work fine as im guessing that was the first time you got that error im unsure if it has something to do with the mod all i could guess is it may be to do with the 1 minute wait mod but im not to sure about that let me know how the rest of the parker event goes if it happens again i will ask Barteke in the discord as he may know better


nuetron

It not only errors at parker's event.  It also errors exactly at 18:00 when a PTA event is scheduled, also when the swim club weekly tournament happens as well.

IEI Esports X

Am I doing something wrong?You cannot view this attachment.
An exception occurred during startup.
There is an error in XML document (179, 32).
Instance validation error: 'Scat' is not a valid value for Fetish.

Shilo

Quote from: IEI Esports X on Sep 14, 2022, 11:55 AMAm I doing something wrong?You cannot view this attachment.
An exception occurred during startup.
There is an error in XML document (179, 32).
Instance validation error: 'Scat' is not a valid value for Fetish.

Sounds like your game version is too old. You are likely using one where fetishes were still hardcoded and not dynamic, as required by this mod.