HentHighSchool Development Forum

Game Development => HHS+ => HHS+ Mods => Topic started by: Masked on Sep 04, 2023, 11:58 PM

Title: Temp Update Mods
Post by: Masked on Sep 04, 2023, 11:58 PM
Hello, you've probably seen the events I've added or updated to the base game. From Carl, April, Sherilyn, and Jermiah's new chains, to the update to Karin and Sierra's chains. To the variety of updates that made your game gayer(assuming you didn't have Yaoi blacklisted).

However, with Barteke's life taking up most of his time, and his goal to update the Paperdoll system I've decided to temporarily post these as mods until a proper update adds them into the base game(aka I don't have access to add the main game download file and I am not about to compress the entire game.

So without further ado, here are the updates/mods. Warning they've not been beta-tested so if glitches are found, I apologize.

Since I'm not good with giving a rundown of what's been added, here is a quick bullet list for each one.

Club Competitions

Spoiler
  • Switch from club level to season(aka month range) based for competing, along with all sports except Kendo getting a competition.
  • Martial Arts now takes the place of Wrestling due to a lack of image variety that suited it
  • Track Club, new club that is primarily/only female focused.
  • Rework of the Swim Club's chain, simplified it down somewhat(can now be both lifeguard and competition if I remember right/adjusted right, been a few months)
[close]

Non Competition Clubs
Spoiler
  • Religious Studies Club now actually has something besides stat impacts, a new event that scales with student's stats and the club itself getting an image
  • Cooking Club now has a serving event along with the expanded menu now having more male images that can fire
  • The Theater Club now has the Stripping level along with an event (both female and male)
  • The Maid Club now has a serving event as well
[close]

There is a Police and Coppers update that are 95% done, but currently running into an issue with handling the Police's patrols. That'll likely be out either once actual updates start again, or (hopefully) once me and the others can work out the best way to implement patrols.

Mega (https://mega.nz/folder/tXQEWDxL#SznO6IdufX_affCe_6qQMA)

For the Set Competition file, I was having a hard time getting it to register in the mod file with VEE. To ensure it should register properly I would suggest putting it in Events/FunctionLibrary/Club

Overall I would suggest starting a new game as Club Comp will most definitely overwrite what is already there.

If using an old savefile: Open the Debug window (bottom right), go to the "Reload Game Objects" tab, and press "Add Changed Objects" and "Refresh Files". Proceed to the "Reload Events" tab and do the same ("Add Changed Events" -> "Refresh Files").
Title: Re: Temp Update Mods
Post by: Masked on Sep 05, 2023, 12:06 AM
Apologies for forgetting to give a link, immediately fixed.
Title: Re: Temp Update Mods
Post by: Masked on Sep 06, 2023, 02:38 AM
Turned out I was a dummy and didn't finish the scheduling event, a new(finished) one is up now. Sorry if it was buggy before.

Also, for SetClubComp I've currently only been able to get it properly firing in the Event/FunctionLibrary/Clubs for base game not the mod folder. IDK why it is/was messing up in mods folder, but until Barteke is back I can't exactly help.
Title: Re: Temp Update Mods
Post by: Masked on Sep 06, 2023, 11:19 PM
Okay, I'm like 99% sure Club Comps issues should be working properly now...

and 100% sure that I need Barteke to check me so misspells and missing Bits are.

Spoiler
  • Fixed Libarary to Library, no longer need to go directly into the actual game files
  • Added missing Int Bits so Club Coach can fire
[close]
Title: Re: Temp Update Mods
Post by: RedRedReady on Sep 11, 2023, 02:12 PM
It looks like the images folder for the martial arts club has been restructured but the changing room events are still looking for images in their old locations. There also seem to be 4 missing booleans in SportsClubCompetition_Off but I can't tell if they're needed for the event to work properly (VEE does my head in).

If image variety is a problem then maybe a self-defense club would be the answer, that way you could use images from any combat sports and justify it by saying that's what they're practising today. It'd also let you keep some of the wrestling specific content (not that there was that much) and potentially even roll the Kendo club into it too.

Whether you go that route or not there's also potential to expand the club into providing security around town, either at the cabaret or elsewhere.
Title: Re: Temp Update Mods
Post by: Masked on Sep 11, 2023, 04:07 PM
Quote from: RedRedReady on Sep 11, 2023, 02:12 PMIt looks like the images folder for the martial arts club has been restructured but the changing room events are still looking for images in their old locations. There also seem to be 4 missing booleans in SportsClubCompetition_Off but I can't tell if they're needed for the event to work properly (VEE does my head in).

If image variety is a problem then maybe a self-defense club would be the answer, that way you could use images from any combat sports and justify it by saying that's what they're practising today. It'd also let you keep some of the wrestling specific content (not that there was that much) and potentially even roll the Kendo club into it too.

Whether you go that route or not there's also potential to expand the club into providing security around town, either at the cabaret or elsewhere.


Thank you for notifying me of this, the images were likely just forgotten during the mass Webp switchover. The missing bools have also been fixed.
Title: Re: Temp Update Mods
Post by: Masked on Sep 12, 2023, 04:35 PM
New update(again), turns out there was an event for Parker that checked for Swim Club scheduled, which was now been fixed.
Title: Re: Temp Update Mods
Post by: Zaiaku on Sep 12, 2023, 06:00 PM
Okay so I know the Martial Arts Club is set up by Walker, but how do you get the track team to fire?
Title: Re: Temp Update Mods
Post by: Masked on Sep 12, 2023, 08:07 PM
Quote from: Zaiaku on Sep 12, 2023, 06:00 PMOkay so I know the Martial Arts Club is set up by Walker, but how do you get the track team to fire?
That's been fixed, I think I either forgot or had plans that fell through.
Title: Re: Temp Update Mods
Post by: Zaiaku on Sep 12, 2023, 10:20 PM
Quote from: Masked on Sep 12, 2023, 08:07 PM
Quote from: Zaiaku on Sep 12, 2023, 06:00 PMOkay so I know the Martial Arts Club is set up by Walker, but how do you get the track team to fire?
That's been fixed, I think I either forgot or had plans that fell through.
? Sorry, my brain's half asleep, can you elaborate please.
Title: Re: Temp Update Mods
Post by: Masked on Sep 13, 2023, 07:26 PM
Basically I think I had plans for it to have an event to start it, but it didn't have one so I just made it available from the start.
Title: Re: Temp Update Mods
Post by: RedRedReady on Sep 16, 2023, 07:44 PM
I downloaded the updated version of the club competitions mod and now the game throws this exception when accessing the management screen. It happens on both my existing save (after reloading events and game objects) and on starting a new game; disabling the mod fixes the issue. I'm guessing something is wrong with the track club because AFAIK that's the only relevant change between my last post and this one.


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

Inner Exception 1
Type:        System.Reflection.TargetInvocationException
Message:     Exception has been thrown by the target of an invocation.
Source:      mscorlib
Stack Trace: at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
   at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
   at System.Activator.CreateInstance(Type type, Boolean nonPublic)
   at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, StackCrawlMark& stackMark)
   at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
   at System.Activator.CreateInstance(Type type, Object[] args)
   at System.Xaml.Schema.SafeReflectionInvoker.CreateInstanceCritical(Type type, Object[] arguments)
   at System.Xaml.Schema.XamlTypeInvoker.CreateInstance(Object[] arguments)
   at MS.Internal.Xaml.Runtime.ClrObjectRuntime.CreateInstance(XamlType xamlType, Object[] args)
   at MS.Internal.Xaml.Runtime.PartialTrustTolerantRuntime.CreateInstance(XamlType xamlType, Object[] args)
   at System.Xaml.XamlObjectWriter.Logic_CreateAndAssignToParentStart(ObjectWriterContext ctx)
   at System.Xaml.XamlObjectWriter.WriteEndObject()
   at System.Windows.Markup.WpfXamlLoader.TransformNodes(XamlReader xamlReader, XamlObjectWriter xamlWriter, Boolean onlyLoadOneNode, Boolean skipJournaledProperties, Boolean shouldPassLineNumberInfo, IXamlLineInfo xamlLineInfo, IXamlLineInfoConsumer xamlLineInfoConsumer, XamlContextStack`1 stack, IStyleConnector styleConnector)
   at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
   at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
   at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
   at hhs_.SeqActLat_ManagementForm.<ActivatedAsync>d__5.MoveNext() in hhs+\_Editor\_EventModules\_EventActions\_EventActions_UI\_EventActions_UISpecialForms\SeqActLat_ManagementForm.cs:line 52
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at hhs_.EventRunner.<ExecuteAsync>d__126.MoveNext() in hhs+\_Editor\_EventModules\EventRunner.cs:line 1221

Inner Exception 2
Type:        System.NullReferenceException
Message:     Object reference not set to an instance of an object.
Source:      hhs+
Stack Trace: at hhs_.PanelClubs.UpdateSelection(Clubs NewSelection) in hhs+\_View\ManagementWindow\PanelClubs.xaml.cs:line 127
   at hhs_.PanelClubs.lbClubsAvailable_SelectionChanged(Object sender, SelectionChangedEventArgs e) in hhs+\_View\ManagementWindow\PanelClubs.xaml.cs:line 96
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.Controls.ListBox.OnSelectionChanged(SelectionChangedEventArgs e)
   at System.Windows.Controls.Primitives.Selector.SelectionChanger.End()
   at System.Windows.Controls.Primitives.Selector.SelectionChanger.SelectJustThisItem(ItemInfo info, Boolean assumeInItemsCollection)
   at System.Windows.Controls.Primitives.Selector.SetSelectedToCurrent()
   at System.Windows.Controls.Primitives.Selector.SetSynchronizationWithCurrentItem()
   at System.Windows.Controls.ItemsControl.OnItemsSourceChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
   at System.Windows.Controls.ItemsControl.set_ItemsSource(IEnumerable value)
   at hhs_.PanelClubs..ctor() in hhs+\_View\ManagementWindow\PanelClubs.xaml.cs:line 30
Title: Re: Temp Update Mods
Post by: iAnimeDeath on Sep 16, 2023, 11:12 PM
Quote from: RedRedReady on Sep 16, 2023, 07:44 PMI downloaded the updated version of the club competitions mod and now the game throws this exception when accessing the management screen. It happens on both my existing save (after reloading events and game objects) and on starting a new game; disabling the mod fixes the issue. I'm guessing something is wrong with the track club because AFAIK that's the only relevant change between my last post and this one.


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

Inner Exception 1
Type:        System.Reflection.TargetInvocationException
Message:    Exception has been thrown by the target of an invocation.
Source:      mscorlib
Stack Trace: at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
  at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
  at System.Activator.CreateInstance(Type type, Boolean nonPublic)
  at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, StackCrawlMark& stackMark)
  at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
  at System.Activator.CreateInstance(Type type, Object[] args)
  at System.Xaml.Schema.SafeReflectionInvoker.CreateInstanceCritical(Type type, Object[] arguments)
  at System.Xaml.Schema.XamlTypeInvoker.CreateInstance(Object[] arguments)
  at MS.Internal.Xaml.Runtime.ClrObjectRuntime.CreateInstance(XamlType xamlType, Object[] args)
  at MS.Internal.Xaml.Runtime.PartialTrustTolerantRuntime.CreateInstance(XamlType xamlType, Object[] args)
  at System.Xaml.XamlObjectWriter.Logic_CreateAndAssignToParentStart(ObjectWriterContext ctx)
  at System.Xaml.XamlObjectWriter.WriteEndObject()
  at System.Windows.Markup.WpfXamlLoader.TransformNodes(XamlReader xamlReader, XamlObjectWriter xamlWriter, Boolean onlyLoadOneNode, Boolean skipJournaledProperties, Boolean shouldPassLineNumberInfo, IXamlLineInfo xamlLineInfo, IXamlLineInfoConsumer xamlLineInfoConsumer, XamlContextStack`1 stack, IStyleConnector styleConnector)
  at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
  at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
  at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
  at hhs_.SeqActLat_ManagementForm.<ActivatedAsync>d__5.MoveNext() in hhs+\_Editor\_EventModules\_EventActions\_EventActions_UI\_EventActions_UISpecialForms\SeqActLat_ManagementForm.cs:line 52
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
  at hhs_.EventRunner.<ExecuteAsync>d__126.MoveNext() in hhs+\_Editor\_EventModules\EventRunner.cs:line 1221

Inner Exception 2
Type:        System.NullReferenceException
Message:    Object reference not set to an instance of an object.
Source:      hhs+
Stack Trace: at hhs_.PanelClubs.UpdateSelection(Clubs NewSelection) in hhs+\_View\ManagementWindow\PanelClubs.xaml.cs:line 127
  at hhs_.PanelClubs.lbClubsAvailable_SelectionChanged(Object sender, SelectionChangedEventArgs e) in hhs+\_View\ManagementWindow\PanelClubs.xaml.cs:line 96
  at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
  at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
  at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
  at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
  at System.Windows.Controls.ListBox.OnSelectionChanged(SelectionChangedEventArgs e)
  at System.Windows.Controls.Primitives.Selector.SelectionChanger.End()
  at System.Windows.Controls.Primitives.Selector.SelectionChanger.SelectJustThisItem(ItemInfo info, Boolean assumeInItemsCollection)
  at System.Windows.Controls.Primitives.Selector.SetSelectedToCurrent()
  at System.Windows.Controls.Primitives.Selector.SetSynchronizationWithCurrentItem()
  at System.Windows.Controls.ItemsControl.OnItemsSourceChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
  at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
  at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
  at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
  at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
  at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
  at System.Windows.Controls.ItemsControl.set_ItemsSource(IEnumerable value)
  at hhs_.PanelClubs..ctor() in hhs+\_View\ManagementWindow\PanelClubs.xaml.cs:line 30

There is two folders. I noticed this and brought to mod author attention. But delete the second Upgraded Competition Club folder. The first set of subfolders are right. I think. The 2nd one in the folder needs to be removed.(https://i.imgur.com/ve0RBte.png)
Title: Re: Temp Update Mods
Post by: Masked on Oct 09, 2023, 06:55 PM
Thanks for pointing it out, apologies for how late the fix is coming. Got burned out of working on the game, joined a little project(Not related to the game at all) and now am having my Papa (Paternal Grandfather) passing soon so IDK when I'm actually gonna work on stuff again but just to make sure these issues don't occur I'm fixing this.
Title: Re: Temp Update Mods
Post by: Masked on Oct 21, 2023, 08:20 PM
Heyo, could anyone who plays with the Sports Comp update let me know if it's working or not? Me and another person trying to test stuff have noticed an issue with that one preventing you entering the management screen. If that's happening with anyone else let me know, if not... could you perhaps share your version on Discord? That way I can figure out the exact problem.
Title: Re: Temp Update Mods
Post by: Masked on Oct 21, 2023, 09:37 PM
Ignore previous one, issue was found.
Title: Re: Temp Update Mods
Post by: Dagoth on Mar 18, 2024, 11:10 AM
Playing with these, I was getting an error when a track club event ran in the Sports Area, very early game.
Tracked it down to:  Events\Location\School\Sports Area\TrackClub_PoleVaultTraining.ve.xml
The very bottom row in the VEE, where it shows a picture and text indicating the member failed, right after that where it updates the person's stats, that person object isn't properly linked to the person it chose in the Try phase. It's just an unset object, which triggers an error.
I confirmed that replacing that with a properly linked person object fixed it for me.