Hentai High School+
by HHS+
2DCG
Anal Sex
BDSM
Big Tits
Character Creation
Corruption
Creampie
Dating Sim
Drugs
Exhibitionism
Female Protagonist
Futa/Trans
Futa/Trans Protagonist
Gay
Graphic Violence
Group Sex
Incest
Lesbian
Male Protagonist
Management
Masturbation
MILF
Mind Control
Oral Sex
Pregnancy
Rape
Sandbox
School Setting
Sex Toys
Sexual Harassment
Slave
Spanking
Teasing
Transformation
Trap
Urination
Vaginal Sex
You are a new headmaster in a school. Your main task is to try to bring students up to a maximum stage of depravity. To do this you will have to convince the PTA to agree on changes that through time will help you achieve this goal. Several quests exist to help you achieve your goal.
Screenshots
Emergency patch 1.11.1.1.
- Fixed GetKeywordOverrides operation getting a reference instead of a copy.
- Fixed Person Location being nullable when most logic doesn't support that.
v1.11.1.0
Events/Misc:
- Classroom Shared\Drawing: Added non-penis variant & support for any gender since the event isn't really gender specific.
- Kendo club event rework, fooling around into overheating. Expanded.
- CosplayCostume redone by Neme, heavily expanded and now fully up to date.
- Added a Fullscreen setting.
- Recalculating travel durations when entering the map.
- ImmodestyCheck:
-- Made Arousal a modifier to Immodesty instead of being a pure boner check.
-- So it's possible to fully disguise boner by dressing more conservatively, in exchange for missing out on the possitive effects.
-- Changed boner penalty to OnObservers. Same rep hit at low stats, but other stats in return & less hit at higher stats.
-- Attached on Init_ instead of Wardrobe access.
Modules:
- Sorting & trimming ShowFileOverrides paths.
- Added :version & :soft Dependency support to ModInfo.
VEE:
- Item images: Changed to use same metadata logic as regular images (blacklist). Added animation & frame index support.
-- Set Item Image: Added 'from String' variant link & changed to metadata menu.
-- Show Item Image: Added Overlay input link.
- Updated VEE Image commands to ignore overrides & support Debugger.
- Added Debugger command to open physical event in VEE.
- Added operation to Get/Set item events.
- Allowing setting container items as active.
- Get Shortest Location Path: Added link variant to calculate travel time.
VEE Functions:
- Updated ShowActionImageFilter to support .webp overlays & new (future) overlay tags.
- Moved futa drug player name choice into a reusable function.
Fixes:
Lots and lots of fixes.
- Fixed various GetCandidates inconsistencies. And some logic errors in a few events.
- Pregnancy:
-- Pregenerating name lists on init & reload to avoid issues with multithreading.
-- Removed SetEffects from backgrond births since it doesn't support multithreading.
-- Age drugs: Replaced midnight energy reset with a StatusEffect penalty to gain/loss for the duration of effect.
- QuestStats: Fixed Autority index & added new stats.
- PutPersonInLocation*: Virtualized just in case.
Engine commits 587e3faa - 623878d5:
- Added a warning in CheckForErrors for "Person Stats" without stats.
- AssetBrowser: Added nullchecks to IDisposable variables.
- Replaced Clipboard.SetText() with WinForms alternative because it works better. Also fixed VEE copying/pasting tooltip not appearing.
- Changed ContentFilter (Blacklisted) > SetNextSchedule (9999) to (30). WeatherCheck (0) to (0.02). Via makeshift AutoFix.
- 02_TheaterClubStripping: Added missing event delay.
- GetContentFiltered: Updated description.
- Btn_ConvertDrugs: Added choice to convert all of same type.
- Pregnancy:
-- Fixed father not being cleared on birth (when not known/together).
-- Some tweaks in Chat interaction.
Engine commits aaad95fb - 08f9dc97:
- Made SeqVar_Regex always return UserFacing:False & made it non-serializable.
- Fixed typo in properties in a backwards compatible way.
- Made a few more properties optional in the XML output.
- More typo fixes.
- Hides ID of girls in BGC.
- Primary Adjustment to school trigger chance, should prevent 'event waiting' from being as frequent.
- Typo Correction. Typos and logic updates on misc events.
- Forest Run in Underwear only event refreshed, less interesting images swapped out.
- Several typo corrections and minor dialog changes to BellsStrip.
- MadScience:
-- Fixed division by 0 due to old calculation using hardcoded drug count.
-- Fixed not adding 5x drug due to AddItem not being in Stack mode.
-- Fixed BodyDesigner using wrong key & category name (being merged with Breast Reducers).
- NudeAdjustment: Fixed missing link to Accept.
- GetAddSetDDTag:
-- Fixed Consent enum name being saved instead of numeric value.
-- Changed default GET Mode to be 0 instead of 1, since that's what events use.
- Hooter chain: Made discussing plan with Peter remove OutLateTonight flag from Susan. Typo.
- Shimakaze: Moved all Interactions from Chat to Special. Changed some textboxes from full to regular.
- BellsDrugs: Fixed wrong ShowPD input being used.
- CheerleaderUniformChange: Added 2 days to initial ask delay. Halved rep hit if bought but not checked.
- Fixed some typos & formatting errors in various events. Fixed some meta.
- Fixed typos in some events.
Engine commits ad21b383 - a2b6ce2f:
- VEE:
-- Added Text & Variable Search command.
-- Made Operation Search command work in Debugger (loaded events instead of physical files).
--- Same for UpdateAllEvents command (for testing purposes).
-- Expanded FindExternalReferences command checks.
-- Converted TODO list command to CFE list for Jump support.
-- Tweaked some VEE commands to support overrides & debugger.
- Fixed exception when reloading GenderOverrides.
- Made some properties that usually have the default value optional in XML.
- Sorted some Management panel collections.
- Fix typo and missing [/color] tag.
- Check the item event instead of the one with the default name.
Engine commits 000842 - 0f86df
- Make comment of Get List of Items in Inventory more readable.
- Bugfix to nude adjustment.
- Pool adjust to nudity event.
- Images corrections.
- Logic updates for some events.
- Typos fixes to roofbully
- Text fixes to askstudent.
- Fix BGC for white hair.
- Various events: Fixed syntax errors & typos.
- Added a retry button to GenSexImageProvider test & fixed some image tags.
- OnGenderChange: Fixed events not being triggered for more than one NPC at once due to CheckEventExecution not supporting multi-trigger.
- Futa transform ingested_ItemEvent: Removed old redundant logic.
- Misc Events: Fixed missing SetEffects variables.
- Fuck_Effects: Fixed anal counting as vaginal.
- InfoPanel\MainTab: Fixed virginity check fix. Fixed extra data not appearing in cheat mode.
- Condom: Moved condom visual to Special layers, since Item layer logic doesn't play well anymore.
- Condom: Changed usage tracking from Counter to Use/MaxUses. Which allowed removal of DisplayName checks.
- Added metadata to some Item images.
- Hypno: Added Expression Resigned change when succeeded.
- NextCompetition: Fixed exception when updating Guardian for current competition.
- TakeMeHome: Tweaked to check NPC home for PC's home, instead of hardcoded Annette/Andy.
- MissingGirlSearch_DriveLounge: Gave higher priority to prevent passing out.
- Fixed events showing Name instead of DisplayName & typos.
Engine commits 5f23859 - 46f7ccf:
- Fixed 'to SeqVar_Int' replacement not working.
- Moved null to empty conversion directly into SeqVar_String's setter.
- Added another NotificationManager null check in case of discarding a large queue.
- Fixed index offset when ShowObjectSelection is in ShowDecisions mode + has both Cancel buttons enabled.
- Ignoring Uses & sale locations on Item Reload.
- Reload fixes:
-- Fixed Debugger loading file version if event was loaded in Debugger prior to reload.
-- Fixed Item reload not keeping stack count.
-- Fixed code that was disabled for testing.
v1.11.0.7
- Fixed ItemEvents unequiping NPC items.
v1.11.0.6
- Init_StandardCalendar: Gave very high priority since it creates calendar DB.
- UndressState: Made School setting also apply to staff.
- PregnancyReputation: Tweaked calculation to use precentage of impregnable instead of all.
- BadGirlsClubVlowPlot: Added no fetish fallback for girl B.
- MadScience: Fixed concentraces not being added to ConcMade list.
- 00_Pregnancy_Main: Fixed hypno choice order.
- InfoPanel\MainTab: Fixed anal virgin & futanari check.
- SwimmingTease: Fixed exception due to cloned var.
- Tests\GenSexOverhaul: Changed away from UID, since sorting no longer supports non IPerson properties.
- UI_MapStreetsButton: Added ResetLayout trait to force update layout.
- TradeItems:
-- Fixed base game trade extensions after 'Transfer List' was renamed to 'Items'.
-- Moved Give trait & special application into GiveItemToNPCHandling function, so events that handle giving internally can reuse it.
-- Fix to IsEquipped state when NPC rejects taking/giving equipped item.
Engine commits 1cedd7f2 - be20202b:
- VEE: Fixed GridMode backward hover drag exception & optimised logic a bit.
- FileEditor: Fixed GameObjects not being loaded.
- WorldEditor:
-- Multithreading image load.
-- Fixed images not updating when path changed.
-- Fixed image dialogue not opening the correct path.
- Added a LayoutFrequency setting.
v1.11.0.5
- Removed Events\ExtensionLibrary\DailyEvents\RefreshOutfitLevels daily event since it has an equivalent NativeEvent.
Existing saves
: It's harmless to leave it, but you can delete it.
Engine ffeb2f57 - 9d7ddb98:
- NotificationManager: Added nullcheck to avoid exception when it's disposed on the finishing tick.
- Themes: Skipping preloading of invalid assemblies.
- Removed Skill commands from Debug input.
- Typos.
- Added FindEventOverrides command for finding events overridden by or overriding current event.
- Changed UpdateAllEvents result window to CFE for jump support.
- VEE: Added Input > Outputs yellow highlight (inverse of Output > Inputs).
- LuaEditor:
-- Added unsaved progress exit confirmation.
-- Auto selecting first script.
-- Fixed Save button not updating.
v1.11.0.4
Engine commits 2db839e - 76ba94e:
- Fixed Btn_Event Try being triggered on event TimePass due to earlier LocationConstructor change. Also cleaned up some redundant calls.
- Fixed FindEventsWithOperation VariableValue exception when Object var is null & added ability to find null with NULL.
- Replaced some more WinForms file dialogs with Microsoft.Win32 variants for WPF.
- Added debug occupant counter to location label.
- Save Loading:
-- Fixed UINotification's TimeQueueManagers not being disposed and slowing down consecutive loading.
-- Fixed some static data not being reset.
-- Cleaned up some redundant calls.
-- Fixed stat bar not being reset in some cases.
Engine commits e1f86ec - a22a8c0: Code modernization without functional changes.
Events:
- Btn_InterviewStudents: Fixed Name being used instead of DisplayName & misc tweaks.
- ToRealNPC\RemoveDBKeys: Fixed jsonb query exception.
- RandomizeDetentionAndRogue: Added IsRogue reset.
- Typos.
- Added FixFutanariOverride to OnGenderChange.
- Fixed MadScience EpicFail adding a day to hallucinate instead of subtracting.
- Tweaked Hallucinate events to use FastSchedule.
- Added uniform delegate for TrackClub.
- Complete rewrite of bells storyline. Ends at strip for now, more to come. Hugely expanded content. (new game only if progressed past already).
v1.11.0.3
- SwimTeamCoach: Fixed exception when off-season & TimeJump instead of TimePass issue.
- Club_Competitions: Fixed exception when no club is available on season change.
- PD_Nun: Fixed breasts missing on certain levels.
- Carl_Chain: Fixed missing text & only half of the required gender drugs being removed from inventory.
- Town Council Chain: Fixed various timing issues.
- Added LOC_ events to Library & Church Hall.
- Added missing NativeEvents to Template.
- Fixed Upgrade operations using UpgradeLevelName instead of UpgradeName.
Engine commits f94aa344 - 66497fcb:
- Removed rounding from SetPaperDoll to ensure equal distribution between whole numbers.
- Tweaked some code to ensure debug data refresh on save load.
- Made EventReload reload current debugger tabs instead of fully clearing them.
- Fixed Frontend not resetting data properly for CheckForErrors & VEE when changing enabled mods.
- Fixed GlobalVariables not keeping old value on reload (when reloaded from existing Global instead of non-Global).
- Fixed Constants not loading status flags.
- Fixed Debug > Modules > CheckForErrors damaging save state.
- School Upgrade operations:
-- Fixed operations using UpgradeLevel lists when checking base Upgrade Name.
-- Added Upgrade Name requirement to UpgradeLevel operations to avoid ambiguity.
- UpgradeCost: Added Set input & Specific + Maintenance variant links.
- Perform Upgrade: Fixed exiting the event if a NativeEvent was triggered. Added Downgrade input.
- Fixed DistributeStudentToClass not removing students from old class.
- Fixed SubjectIsTaught link variant logic.
- Fix to BadGirlsClubVlowPlot.ve.xml to prevent changes in try phase.
v1.11.0.2
- Fixed a Cron exception in Pregnancy\Children.
1.11.0.1
- Fix for a rare bug that you'd probably only run into with specific mods.
PersonStatusEffect with link variant not being able to handle VirtualPerson.
- Fixed nun initialisation.
Changelog 1.10.6.0
New_PD_System_V0.3+
Installation (important)
Standard mod installation instructions apply.
Should have higher priority than all my other mods (move it below) and any conflicting mods. Other PD mods are not recommended.
It's recommended to set the GFX mode to non-GPU to avoid blur and high GPU usage.
Important:
If you don't like skin colour inaccuracies on old PDs, remove all (non-genital) skin colours (except #FFF9DCC3) from the skin colour Color List and [ Regenerate Database ]. Accurate shadering requires all outfits to be converted.
Existing saves:
If you had a previous version, it's recommended to be at the Map. Do the mod update steps (reload Obj, Glob, Ev...).
Then: Top left > Mod Options > PD System New > Color Lists > Reset All > [ Regenerate Database ] > Preserve or Reset.
Features
Head:
- Gives the PC / NPCs heads consisting of multiple layers.
- Hair, expression, glasses, piercings, aging, etc.
- Ability to customise said layers & their colours via Bathroom mirror (PC) or interaction (NPC).
Body:
- Expands on above with body layers. Currently only applies to Nude PD & School uniforms.
- Arm emotes. Body piercings. Skin colours.
- Uniform designer (Clothing Store) for modifying your school uniforms (and whatever else might use it in the future).
Changelog
0.3+:
- Optimized Hair init for future change.
- Fixed weather & season checks.
- Fixed adult umbrellas.
- Tweaked age overlays to kick in later.
- Improved shader fallback skin colour accuracy by reducing non-skin accuracy a bit.
0.3:
- Removed hair & skin colour change on gender change, using current always.
- Made layout timer reset on database regeneration & improved preservation.
- Finished Casual placeholder - terrible as expected.
- Made ShowActionImageProvider use ShowImageOverlaid.
- Added head overrides to special NPCs.
- Added option to reset all color DBs.
- Added OutfitDebug interaction.
- _Tucked & _OnePiece support.
- Added a Club emote dir.
- Added a generic GetExposureStates function.
- Finished Piercing logic. Moved half to heads so head piercings show without body.
- Improved some Initialize & Regenerate logic.
- Improved & bugfixed DB init/regeneration logic, so that NPCs keep more of the valid data.
- Made SuggestLook system switch logic require Debug Events flag.
-- Added choice to regenerate an individual + ignore requirements.
- Improved some logic using new Layer Op variant.
- Added leg variation shader test, likely to be scrapped because it's not great.
- Added pregnancy child dummies to refresh list.
- Added some age checks to limit options not useful for children.
- Added EventEmote support.
- Removed principal asset hardcoding, now treated as a regular Special NPC via dummy.
- Allowed specifying which Shared Expression set to use for a Special NPC, since those are a lot of effort to make.
- Tweaked Glasses to support gendering.
- Tweaked Hats to support shpungout's indoor accessory & rebel logic. And not apply if already applied via other means.
- Tweaked LooksMenu to support Head, Body, Foot view offsets, and outfits.
-- Added skin tone (for PC, DebugEventsEnabled for NPCs) & PubicHair menus.
- Added PubicHair logic, with growth / shaving.
- Improved Beard assets & added growth / shaving logic if PC is CleanShaven.
- Added HeadAge logic test. Older NPCs get wrinkles and white hair if the colour is genetic.
- ShowImageOverlaid: Added Skin, Eye, Pubic, Futa overlay support.
- Sorted paths so gendered assets come after unisex.
- Hopefully supported Lexville's vulvas.
- Colour picker tweaks.
-- Implemented custom color entry. Swapped other alpha control from blue channel to green.
-- Tweaked ColorMenu to use OR logic for whitelist.
-- Added option to apply other colour in ShowColorMenu where applicable.
--- Also fixed extra options not showing if no category selection.
- Added shader fallback for old PDs.
- Hat fix.
Changes:
- Minor balance tweaks to GetWillingness, Pornography, Swimming class.
- Added variable link variant to SetPaperDoll Op - hova
- Added byName link variant to CreateItem.
- Added DebugCommand dropdown as a workaround for those that can't see the regular one + a way to see the whole list.
- Added a Name from UID debug command to aid with database reading.
- Added location from person & UID from name debug commands.
- Added link variant to GetPaperDollLayer(s) for getting layer directly by Name.
- Added a Clear option to the layer transform Op.
- Added a PaperDollLayerRank Op.
- Tweaked Gen Home street exit to use real location buttons & fixed AskForSex not updating location.
Bugfixes:
- Fixed club enlistment not working when ImportantStat is maxed.
- Fixed event-opening Edit buttons not working in Debugger.
-- Made Edit focus on referenced ID for SeqVar_Ref.
- Fixed LayerTransform dynamic + variables exception.
- Fixed PaperDollLayerCustomShader clone dynamics issue.
- Tweaked list Ops to support true modulo instead of the c# version.
- Tweaked @FullReload to respect variable persistance.
- Made relevant April events trigger if called to office outside of breaks.
- Fixed missing time passes in SierraHardmanSex.
- Fixed some menstruation issues: Broken check & swap on gender change.
- Use the bedroom location of Annette instead of the hardcoded Guest Room in SH.
- Specifying assembly in Themes allows local: to be loaded.
- Tweaked SusanCorruption to mark its images as non special on completion.
- Added Imazen support to VEE.
- Fixed FindExternalReferences exception in debugger.
- Miniquest_AearosolDrug drug strenght check fix.
- Btn_OrderProstitute discount state fix.
- JuneTalk intro tweak (knocking).
- Futa drug GenderOverride tweak.
- Fixed GetWillingness inveting friendship bonus.
- Tweaked GetAttraction Grunge to reduce Charisma to 0 instead of into the negatives.
- Btn_peeFem-Futa exception.
- Reduced some SierraHardmanSex checks, since they were excessively high.
- Sherilyn_Encounters scheduling failsafe.
- Tweaked onsen change room layout to have lights on.
- Added ShowImageOverlayed & applied it to POO.
- Tweaked lactation regex.
- Misc tweaks and typos.
Changelog 1.10.5.7
Bugfixes:
- Added virginity removal failsafe to missing girl.
- Redirected POOActivities to lower branch instead of popup if no matching NPCs found.
- ForestRunUnderwear missing link.
- Sierra double panties fix.
- LoveAsk missing link fix.
- Moved the Pass time operation to the end of the event.
- Grouped the notifications of a couple of events affecting multiple NPCs.
- Fixed bad weighted logic in POOActivities & DetentionFingering.
- Tweaked Wardrobe to use item stacks instead of instances, as failsafe for people with 1M+ items...
- Carl_Chain & BeachGirlsMix missing links.
- Typos.
Changelog 1.10.5.5
Bugfixes:
- Fixed chain wierdness due to typos & tweaked things.
- Undid setting tools as special in xml, must be in VEE instead.
- Changed capacity uncapping to update daily instead of weekly.
- Typos.
Changelog 1.10.5.4
Changes:
- Redid portions of Sierra's chain based on MaskedPanda's contributions.
-- Mostly some textual changes & logic updates.
-- Moved tracking to globals.
-- Added post chain sex interaction & encounter (very limited currently).
-- Made logic of cure and futa route a bit more uniform, fixed some checks.
-- Made it possible to get her panties on cure route.
Bugfixes:
- Removed Blocked Status from Teachers B&D.
- Marked some items as special by default, since bought are.
- Fixed Sherilyn_Encounters having a chance to schedule next chain part too quickly.
- Lowered Hypno resistance check on Sherilyn Red Corner receptionist a bit.
- Fixed Knocking always triggering CarlTraining.
- Added futa GenderStatusKnown to some events.
- Fixed FoodDruggingAdministration using same person as P1 & P2.
- Fixed QuestStats not adding Friendship.
- Fixed some errors in GetAttraction & GetWillingness.
- Added missing gating to Miniquest_SexySwimsuit.
- Added nullchecks to Rule IsPassed().
- Added Imazen.Webp library (using libwebp) as a fallback for missing WIC Webp codecs.
- Redirected user settings save exceptions to log to avoid WineHQ issues.
- Typos.
Changelog 1.10.5.3
Changes:
- Expanded and finished the main Carl Walker chain by MaskedPanda.
-- Tweaked and expanded some parts based on suggestions.
-- Added an ending and the Carla alternative.
- Replaced Smith BoobyGrab image with Alum's.
Bugfixes:
- Added link for setting NextRuleChoice to SetRuleChoiceActive & fixed it not clearing Next on default set.
- Fixed SetPropertyByName enum set (again).
- Fixed some ObjectReloading issues.
- Fixed QuestStats Friendship check.
- Fixed Sherilyn_Toy futa PC check.
- Fixed KarinLabAssistant putting her there too early + extended to all breaks.
- Fixed various sex issues in ChangingRoom cam & Hospital HypnoPractice.
- Added pitch choice to BoyPissing.
- Fixed inverted checks in CheerleaderGangbang & ExhibitionClubAllowSex.
- Misc tweaks & Typos.
Changelog 1.10.5.2
Bugfixes:
- Feb 29 birthday fix fix.
- CoppersStart exception fix.
- Typos.
- Removed ShedulingFrequency 1 skip, since it became necessary again after removing another part...
Changelog 1.10.5.1
Bugfixes
- HooterSex typo.
- Fixed RuleChoice statistics daily exception.
- Added time checks to rooftop events.
- Temp tweak to GetSocialProfile so new archetype flirts defaults to old equivalents.
- Tweaked ScheduleHandler to make FollowIndicator bypass frequency setting.
Changelog 1.10.5.0
Existing & new saves note
New Game: The Update mod still allows you to revert to old traits like before.
Existing:
- Update mod is required (install like any other mod after updating). See notes on every other patch since your last update.
- When reloading Game Objects (rules - can do that step separately from All), it's recommended to select 'New' for any 'UpdateFrequency' changes.
- A lot of stuff has been changed, but the update mod should cover the most dangerous stuff.
Notable Changes and New Stuff
Finished off MaskedPanda's Sherilyn Ambrose chain.
Redid the logic as PersonAttached for more flexibility & added previously missing steps.
Added some very basic Management Panel timetable events.
Mass setting / replacement of subjects.
Timetable rotation / swapping / shift.
Saving / loading / exporting of presets.
Can be expanded further via ExtensionEvents\ManagementPanel.
Added 'Karin Masturbation' chain with a new one by MaskedPanda.
Replaces the ancient non-functional Karmin Masturbation chain.
The mandatory masturbation PTA proposals are once again tied into it.
They were separated out when it was noted that the old chain never actually functioned.
Merges the two machine proposals into one, part of the main rule.
It's an alternative to the Sierra 'Revenge' route (longer, mutually exclusive).
Added HasQuest & proposal support to Karin.
Made Karin help out with some things at the lab (after a specific point in one of her chains).
MadScience Epic/Fail & Research explosion avoidance via a 'Chemistry Fail Minigame' and skill check.
Has difficulty types, scaling, and time sensitivity.
Expanded to Research & gave low chance for solo trigger (skill based up to 20%).
Karin (100% trigger chance) will always show up during lunch (for either).
Otherwise relationship percentage chance while working, for MadScience only.
Chance to make a free drug daily.
alkalash's numerous performance improvements throughout the codebase - cleaning up gameplay bottlenecks.
Fixed GetRandomLocationWeighted(Person): Stat and gender preference filtering wasn't working correctly.
Optimized multithreaded scheduling: Precalculations, avoiding thread locks, limiting number of tasks.
Implemented memory caching of certain debug-related game settings - much faster access times.
Switched to ConcurrentDictionary for Location occupants - more efficient multithreaded updating.
Made console logging slightly more lenient w.r.t. buffer size, reducing cleanup overhead.
Further optimization: Implemented better algorithm for WeightedRandomizer.
Optimized PaperDollUserControl for faster rendering.
Instead of building UI element hierarchy with Image components, use a single component that draws all layers
Saves a lot of UI layout computation work
Small drawback: Layer Effects (Shaders) and Transforms cannot be updated without a full PD update
Implemented caches for directory file listings and custom shaders (PixelShader objects).
Should avoid excessive disk I/O when using these, e.g. for paperdolls.
Debugger and performance improvements.
Reworked save system.
Now: Save file is SQL database file.
Also features savefile CRC64 checksum.
Made saving more robust and space-efficient.
Old systems still in place, can be re-enabled using app setting, and old saves should be loadable either way.
Other Tweaks
Tweaked SetEffectsOnObservers to treat casual/accident Actions where PC does something as PC's fault.
Tweaked AskFavorsNeeded to provide an ending like it used to.
Ending still checks for new favours being available (Try) just in case of new events.
Added button to visit generic NPCs from the streets they're assigned to.
Replaced 'Smallville' button with a Btn_ event to exist at the right street.
Added a jog button in sports area.
Added vague inhibition indicators to outfit descriptions.
Added check for awake occupants to LocationLayout LightingMode 4 & 6, and LightsOn/Off traits to force it.
Reduced the requirement for the best cabaret deal to 90 relationship with Stacy to bring it in line with the love indicator.
Added option to postpone some repeatable events.
Removed HasQuest from end of unfinished chains.
Added temp HasQuest removal for Sarah & Eric.
Tweaked HallwaySex event based on Neme & MaskedPanda's tweaks.
Merged & updated some some rules due to chain tweaks & new built-in daily change functionality.
Made loan decline hint at max amount.
Added photoshop button to Smallville Times.
Merged, updated and expanded a few Bathroom F events.
When fucking increase like for gender instead of instantly converting bisexual.
Added PTA proposal for 'Physical Exams'.
Merges the Measurement events into it & allows non-female genders.
Added a regular DVD miniquest.
Replaced EnergyDrink miniquest with general Drink one for a bit more variation.
Added proper Inhibition calculation to player Info Panel.
Tweaked CarlStart to check if he's teaching Sport in general, instead of right now (further tweaks pending).
Now showing the status of the rule choice on School Policy panel.
Made Weather generation more realistic & optionally configurable via the weather app.
Developer/API changes (only relevant for mod authors)
Added Regex support to PersonTraits(Remove).
Tweaked HasTrait description to mention that it supports Regex and StringList.
Added Regex Group Match operation. For matching a string against a regex, and outputing any capture groups onto optional variables.
Added a simple hover to RegexGroupMatch preview to show individual captures.
Debuger:
Improved VirtualizedEvent debugging:
Hovering over the top half of a currently virtualized variable will show its in-memory value. Double-clicking will edit it.
Hovering over its bottom half will show the original value (copied at each event run). Double-clicking will edit it.
Added a button for jumping between or deleting set breakpoints.
Added breakpoint step focus button with auto-focus.
Added Step Over/Out buttons to the Debugger, for RemoteEvent handling.
Debugger should now also successfully return to parent even if Remote doesn't output into anything.
Added support for custom String Constant and Enum definitions. Updated relevant UI forms for support them.
Custom Enums have their own dropdown to avoid mixups & due to differing internal logic.
Added validation for Enum values (for notifying of relevant changes or invalid values).
Added Enum Description support to IntEnum UI & CustomConstants.
Added CustomEnums for basic GenSex values and attached them to the commonly used functions.
Added CustomConstants for some common Traits & GetCandidates.
Added an Op for getting and setting school Timetable slots.
Added an Op for getting and setting a teacher's subjects.
Added support for a custom button to Management Panel's Timetable.
Added operation to check if a subject is available to teach.
Added ability to create rules that are updated at midnight or Monday.
Added traits to rule choices and an operation to check them.
Added operation to check if a rule choice is available or not.
Added requirements to the rules.
Added a few operations to handle School Upgrades through VEE.
Changed SetEffectsOnObservers to take the location from the first person.
Added special handling for middle clicking RemoteEvent's IntBitField & IntEnum inputs.
Tweaked CheckForErrors error quick-jumping to work outside of current event and VEE.
Added SizeDescriptions to BodyParts, for defining CharacterCreator and text replacements.
Some places still use the enum based logic, due to their hardcoded nature.
Enabled mod assets in AssetBrowser view & removed expanders from last items.
Added some more options to CheckEventExection list variant:
Execute All (ordered by priority).
Try Only & Remove failed from List (+ priority).
Moved progress tracking of some of the chains to Global variables & changed display mode of Chains_* global variables to Integer_BitField.
Added simple filter to Debug Console log.
Added comment about @SuppressWarnings to Comment Box.
Added WineHQ Gfx setting for slightly improved visual compatibility on WineHQ.
Recompiled all compatible shaders as PS2. The remaining 12 required PS3 and will not work anywhere that pre-renders the bitmap.
Bugfixes
PhoneContact sorting fix.
Added back expelling of Missing Girl, to lower the likelyhood of events & school mechanics interacting with her.
At least until all engine mechanics & events check for ScheduleHandlerNoneIndicator status.
Fixed various issues in Voyeurism_Effects & added support for solo exposure (GiveReceive 4). Updated Doc accordingly.
Reverted WPF Extended Toolkit to 4.2, to prevent collection reset bug.
Tweaked Object Reloading to do less complex objects first.
Fixed GlobalVar SurvivesReload.
HaveSex Op missing InitializeComponent() fix.
CheckAndyRoom exception fix.
Renamed category from "Chains" to "Chains (Person)"
Fixed AskOverMain time conversions.
Tweaked MissingGirl head to check if exists before applying.
Fixed inconsistencies in some events.
Fixed some datetime stuff in some PTA & Smartphone events.
Fixed missing Survive state & tweaked date checks to use Cron in TownCouncil.
Added assembly preloading so themes can access custom controls at exe start. Unfortunately it doesn't work with our assembly, so local: controls still can't be styled directly.
Also made it so the exe doesn't hang if a theme crashes.
Fixed ListFilterProperty checking wrong count.
Fixed SetEffectsOnObservers giving loyalty hit when player not involved.
Fixed invalid mode in CoppersStart.
Made it possible for NPCs with General Home to be there when you knock.
Updated Train Ticket checks in remaining Parker events.
Various fixes to GenSex:
Brought back separation between Consent values for more explicit specification & future proofing.
They still do the same thing under the hood, but properly track their tags now, because a lot of older events also didn't use the new merged meaning.
Fixed tag GiveReceive being all over the place.
Fixed missing Modifier bit compensation, causing non-general scenes to always give max lust.
Fixed WeatherCheck being inverted.
Made Tanning Oil use check for rain.
Fixed Cloistered & Restrictive Undress State settings being inverted.
Fixed some offset issues in the High Street layout.
Fixed CheckForErrors quick jump not working properly in the debugger.
Fixed -f argument for pointing to a specific event with the -editor hhs+.exe argument. Used for making shortcuts that open the editor with/out a specific file.
Fixed bad crons in TownHallCommitee.
Fixed instill loyalty check in try phase.
Fixed B&D outfit logic & corrected inhibition indicator.
Fixed inconsistency in UI notification popup positions.
Fixed UILayer breaking debugger render.
Removed redundant arrange call & improved height compensation in PDUC.
Tweaked ParsedStringPreview to be accessible while debugging.
Added a simple dependency priority check to Modules.
Fixed club reloading not updating selected index.
Added FontAwesome preview to Event Properties.
Fixed PlayerStringInput being constrained to 1 line if no MaxLenght was specified.
Fixes to Btn_GloryHole context & CarlAdjust cast.
Fixed incorrent replacement tags.
Fixed probability of suggesting nude jogging.
Removed corruption from outfit level calculation.
Fixed SetPropertyByName not supporting enums.
Tweaked FindMissingImages to handle .webp and LocationLayout assets.
NudeRuleAcceptance filter fix.
Image path fixes.
Removing reloaded event from VEEStreamingCache.
Fixed IntBitField GlobalVars not being editable in Debug.
Fixed IntBitFields and IntEnums not working in math conditionals.
Fixed bad Mode in Btn_GloryHole.
Fixed "Rule Choice is Available" returning available for unavailable rules.
Mass CheckForErrors cleanup.
Added missing Numeric check in ReturnArgument, causing Int callback to fail Double conversion.
Fixed BitmapFromColor Op.
Fixed BitmapImage Var rendering errors while debugging due to lack of freezing.
Added BitmapImage var link to ShowImage Op.
Fixed StringList Clone failing to recognise serialised line endings, causing SingleLine mode to kick in.
Fixed some invalid GenSex values.
Fixed missing link in one of the MovieEvents & tweaked them to be a bit more re-usable.
Fixed file manager caching bug when loading a save with a different mod config from what's selected in the frontend.
Added a scrollbar to interactions.
Fixed Classroom 9 layout.
Fixed exception in 00_SpecialDesert.
Fixed wrong context in FoodDruggingAdministration.
Typos.
Changelog 1.10.4.2
Bugfixes:
- Fixed layout cleanup null instead of clear.
- Fixed replacing MultiCompareBool with CompareBool.
- Made AttemptToDial check for ScheduleHandlerNone instead of slave.
- Tweaked Sports Area button to only show Cheerleader practice if they bother showing up.
- Undid accidental US locale in .exe.config from testing.
- Typo.
Changelog 1.10.4.1
Other Tweaks:
- Switched Birthday related interactions to use Friendship.
- Made LayoutBed require all NPCs (instead of any) in scene to love PC for them to get in & removed sleeping mask for PC.
- Improved NotAlwaysSunny App accuracy.
- Disabled 'Prefer 32bit' to allow more ram usage in 64bit.
Bugfixes:
- Fixes to ReplaceString24h Function.
- Hopefully got the GFX settings under control by freezing & providing more cleanup routines.
-- Make sure to read the description when hovering over Settings > Gfx.
- Added BreakIn caught check to Hypno.
- Fixed shader lighting getting darker in events.
- BackgroundEvents not being saved fix.
- Carl knock exception fix.
- Moved PD cleanup from PD_Default to subs.
- Fixed GetCompletedMiniquestIDs returning the results of the previous NPC if no entries are found for the current one.
- AskFavorsNeeded delay fix.
- Typos & misc tweaks.
Developer/API changes (only relevant for mod authors):
- Switched Weather caching to DB.
- Added a CheckWeather function for checking at a specific time.
Changelog 1.10.4.0
A background event will now manage the weather state in the game, with chances to switch between "Clear", "Cloudy", "Windy", "Rainy", "Stormy" and "Snowy" throughout the day.
Not all weather conditions are visually represented at this point in time. The engine has built-in support for snow and rain.
There is a new option in Debug menu under "Global Variables" -> "Disable_Weather_Effects" that you can use to turn off the visual part of the weather, if you don't want to see it or it causes performance issues for you.
When being in an outdoor area, you may now hear rain, storm and wind sounds based on the current weather.
The volume of these effects is controlled via the separate "Ambient" volume slider, so you can disable them that way if you don't like them.
Greatly improved upon the personality archetypes in the game:
Extended the previous 5 NPC archetypes (Jock/Athlete, Artist/Creative, Nerd/Intellectual, Rebel, Royal) with 7 additional overarching archetypes (Advocate, Caregiver, Explorer, Performer, Spiritual, Trendsetter, Visionary).
For each of the now 12 overarching archetypes, added 5-8 new subarchetypes that are assigned based on the overarching archetype and one of the 8 possible personalities that an NPC can have. This results in ~150 different archetype specializations.
Asking NPCs for their hobbies will now give you a different response for each of the ~150 subarchetypes, adding a lot more variety and personality to the NPCs.
Reworked favor miniquests so you don't do the exact same 3 favors for each particular NPC archetype in the same order. Instead, a miniquest is now chosen randomly from all available quests that are suitable for a specific archetype.
Also relaxed some of the archetype restrictions for more generic favors, so e.g. everyone could now ask you for an energy drink and not just "Rebels".
Added more miniquests for some of the new archetypes. (However, it's still not enough to get at least 3 unique miniquests for each archetype, so some may have more than others.)
Denying a miniquest now prevents obtaining a new one for 2 days.
Reworked train ticket handling.
Normal tickets are now one ride per item instance. They can stack in the inventory, though.
Also added flatrate tickets with daily, weekly and monthly duration. They grant unlimited access to the train from the moment of purchase on.
No regular ticket will be consumed by the respective events while a flatrate ticket is active.
Limited train rides to the time between 5:00 and 23:15. Not enough passengers to warrant operating at night time. Daily tickets are only valid until the end of business hours on that day.
LocationLayout GFX overhaul (what you see when navigating):
Added 4 Graphic settings.
Sad GPU: Old real-time shader rendering.
High (new default): Pre-renders shaders the PD shaders.
Mid: Same + removes a few extra shader effects.
Low: Pre-renders the whole layout + disables all other shader effects.
Layout Animation Settings:
GIF + Adorner vs Adorner vs none.
Location Button settings:
Image vs static color (+optional shadows).
Added shader based lighting setting, looks a bit better than regular.
Rebalanced max loan logic to be less exploitable.
Added UI notifications to AjustMind.
SkippingClass added, a mini event chain with quite a few branches.
Other Tweaks:
Clipped old cold shoulder interaction.
Added a lazy tweak to SpycamClue to allow futas.
Moved JerimiahHelp to chat since that seems to be where all quest interactions go.
Changed several weather-specific events so that they now check for specific weather conditions by using a new FunctionLibrary event.
To make up for the stricter conditions, the Random Chance in their Try phases has been increased.
Updated the weather app to actually weather.
Moved "Wish happy birthday" from general "Chat" category to "Personal information".
Added filter to event tree in debug menu to make it easier to find known events.
Added some simpler info to the Population Parameters Doc.
Added hobby dialogue to the chat interaction for each of the new sub-archetypes.
Made AfterglowEffect more effective at preventing arousal.
Replaced some images because of reasons. Slightly altered event text in cases where the new image no longer fits the described scenario in the event.
Bugfixes:
Fixed SeqEvent_EventReloaded not having been triggered up till now. This operation is intended to allow events to add init/cleanup steps for cases where the events are added/reloaded to an already started game.
Fixed bug causing sounds played via the MediaPlayer device implementation to always use the volume setting for background music instead of the actual sound type.
Fixed some bugs where some of the "Random Split" replacements were creating the wrong operation to replace with, and the operations also did not link up all original output links in the replacement process.
Fixed wrong interaction category selection due to sorting + improved selection accuracy.
Fixed all the broken image metadata from a faulty replacement (whoops).
Fixed AprilClass & AprilOffice exception & scheduling.
GetAdjucentLocations function: No longer returns locked locations without a key.
Fixed bug causing sounds played via the MediaPlayer device implementation to always use the volume setting for background music instead of the actual sound type.
February 29 birthday wish fix.
MaleChangingRoom Spycam fixes.
PTA meeting tracker fix.
Typos, journal improvements, misc tweaks & fixes.
Fixed Debug > add/set time not rendering layout.
Upskirt fix, tweaks to CarlStart & PhoneNumberAsk.
Made layout hijack autosaving since event driven UI Button Waits don't trigger it, also allows rendering the scene before saving.
Tweaked switching from frontend mod tab to properly reload relevant files.
Swimmingpool layer fix & extra layer optimisations.
Fixes in MadScience, AprilPhone, BreakInMain.
Added back chat interaction with Susan Hooter where you can ask her about Peter. Was missing from previous migration of generic chat event to individual interactions.
Fixed missing link in Init_FertilityCycles (previously missing in Init_SocialProfile).
Added OOM failsafe attempt on saving.
Fixed bad caret indexes in ShowDecisionsNumeric insert.
Fixed inverted link in ShowActionImageFilter & relaxed 'no tag' to be treated as the same priority as 'Student/Adult' tags.
Fixed missing link in SetHonorificDict & missed MadScience survive state.
Updated Template scenario to a 'working' order (maybe).
Made game generate default folders for each scenario.
Fixed quirks with scenario change while in char creation.
Fixed "HSVColorComponent" Op passing bad Hue.
Fixed "LayerTransforms" Op using wrong keys + fixed offsets.
Improved age adjustments to take days and siblings into account.
Tweaked Annette & Andy's birthdays to be 9 months apart.
Fixed AssetBrowser filter not actually working and letting everything pass.
Fixed Dev Tool "Find Image References in Events" being broken at least since the conversion to C#.
Developer/API changes (only relevant for mod authors):
Implemented Background Events. They also come with a new "Events\BackgroundEvents\" directory to keep things tidy.
These events are scheduled via Cron expressions using the new "Add Background Event Schedule" and "Remove Background Event Schedule" operations instead of the regular event scheduling operations.
It's perfectly good practice to use the new "Game Initialized" event entry points to let these events schedule their own execution.
They are executed by the engine at all points in time described by the Cron expression, and without any Try-phase checks. No latent operations are allowed in background events.
Their execution does not count as part of the regular event execution, so a regular event can still be encountered in the same slot when passing time and a background event was executed.
Unlike regular events, background events will trigger exactly at the point in time they were scheduled for.
Regular events would wait for the full specified amount of waiting time (e.g. 30 minutes, 60 minutes, etc.) to have passed first and then check the event execution.
The purpose of background events is to perform operations and tasks in the background without interfering with the player's actions.
For example gathering data, updating certain NPCs, precalculating stuff. But the more frequently your background event is being run, the more lightweight it should be in terms of performance.
Added new "Random Split (Weighted)" operation.
The old one has been visually renamed to "Random Split (Weighted Vars)", but still has the same internal name for serialization purposes.
The new operation holds its weights internally and allows to set them via property window, rather than linking up variables.
This makes it more compact and easy to use in all cases where the random weights are static and don't not intended to be changed at runtime.
For ease of migration, the "Replace Object" menu option can initialize the internal weights of the operation from the values of the linked Double variables of the old "Random Split (Weighted)" operation.
For this to work, the containing VisualEvent is now passed to the method signature of the ReplaceObject function.
The engine now supports rendering of built-in snow and rain effects, which can be controlled via events using the new "Weather Effect" operation.
The previous GIF-based overlay has been removed, since it could lead to high CPU and GPU usage in places with many paperdolls and shaders.
Increased the arbitrarily chosen maximum possible connectors for some operations like "Show Decisions", "Set Int/Double Directly", "Constant Split".
Also improved the property windows of these operations, so things don't become unusable with high connector numbers.
Added "Set String To" operation, which works the same way as "Set Int To" and "Set Double To", but for strings.
Intended usage is only for short one-liners that don't require spellchecking, text preview or line break support. More sophisticated stuff should just use the regular "Set String" with a variable.
Added support for multithreaded debugging & improved a few things:
Debugger will no longer jump between events unless it has to.
Pause Icon on currently debugged tab.
Debugger title now shows runner chain.
On Next Step breakpoint hangs onto its Op instead of vanishing, to indicate need for user input if there is one.
Person Relationship Database operation should now be able to handle other data types than Integer via link variations.
Internally, the DB functions now accept and return object instead of int. The VEE operation will attempt to convert the result based on the type of the linked variables.
UI notifications are still supported for changes to numeric values. The operations will attempt to interpret the current value as numeric and fallback to 0.0 if it cannot be parsed as a number.
Added tags to status effects and VEE operations to go along with them.
It's possible to check whether a person has effects with a specific tag or combination of tag.
It's possible to remove one or all effects with a specific tag or combination of tags.
Updated archetype and personality effects to have matching tags.
Added GetContentFiltered function for getting candidate combos adhearing to gender filters.
Added the new ModInfo fields to Modules, with a simple missing dependency indicator.
Added "Add Custom UI Notification" operation for... adding custom UI Notifications.
Added FontAwesome support in event text.
Added search filter to "Get/Set Property by Name".
Added missing ScheduleHandlerAwakeIndicator StatusEffect to go along with the Asleep ones.
Added new "Split String" operation, which splits a string into a string list. This can be more straight-forward in certain cases than using a "Split String Iterator".
Tweaked "StringReplace" Op to use Regex Groups if both Replacement and Replace are regex vars.
Fully deprecated LocationLayout floor layers, in favour of VEE applied leg removal shader (less RAM use).
Moved PD Layer cleanup into a Function for easier future adjustment.
Added an experimental "Get All Paper Doll Layers" Op to aid PD automation tests. Subject to change.
Added relative ranking to PaperdollLayers.
Changelog 1.10.3.5
Other:
- Overhauled working at the restaurant to give an oppurtunity to drug customers.
- Added a rep hit to monthly RSD report if in negative money, in exchange for emergency funds.
- Another attempt at state funding balance based on some feedback.
- Updated the Map's futa removal option to remove gender override & apply gendered forename.
- Added 'Enforce numeric' setting to time converter options.
- Made the 'knock' button expandable with custom events.
- Made AskForSex less arousal exploitable by adding a tiny friendship requirement at lower arousal.
- Replaced Loyalty with Friendship in GetWillingness + lowered arousal bonus.
- Tweaked Info Panel Fetishes to show No even if there's developing ones.
- Made Andy's SH similar to Annette's.
- Add an index for documentation.
- Made Interaction Panel sort its categories/interactions.
- Added skill based modifier to rescheduling of MadScience.
- Made Debug NPC list use DisplayName.
- Added better support for DisplayName vs Name for debug commands.
- Added the ability to add additional execution entry points to events.
-- Currently supports three handlers that can react to lifecycle events of the engine: Game Initialized, Game Loaded (from saved file) and Event Reloaded (via debug).
-- Moved some initialization logic around to ensure that most of the other initialization is complete by the time these new event handlers are triggered.
Bugfixes:
- Fixed PD Overlay Previewer using wrong cast.
- Updated FoodDruggingAdministration + fixed its many bugs.
- Fixed SlutMaker stat checks.
- Menu sorting fixes.
- Fixed UI buttons being able to break the CheckEventExecution Op when spammed very fast.
- Changeroom F Spycam bugs.
- Fixed ShowActionImageProvider adding underscore to lastnameless NPCs.
- Tweaked MissingGirl to properly change virgin flag + tweaked reset.
- SwimTeam count fix + lowered gender mix requirements.
- Fixed Reloading & Debugger not implementing TriggerType changes. Closes issue #24
- Fixed UI buttons being able to break the CheckEventExecution Op when spammed very fast.
- Fixed multithreading being inverted on event execution check.
- Made the .pdb hide user path in release mode exceptions.
- Fixed iff conditions only working for first and final condition due to capture group limitations.
- Fixes in GetCandidates & TryForSchoolEvents.
- Tweaks to Raymund Chains:
-- Hint event. Moved one office event to classroom.
-- Btn_Call hints at next stage, reduced from 12 to 10.
-- Sherilyn fixes & tweaks.
- Lydia's phone is now available 24/7 like she claims to be.
- Fixed exception in Rooftop_Telescope & BoardDildo.
- Tweaked HypnoTraining to not end at 100 Hypno + inconsistency.
- Fixed Hypno not applying HasQuest protection, with bypass for Secondaries.
- Added missing removal of HasQuest on a few quest branches.
- Raymund chain fixes.
- Some limiting to a few events that call upon student list.
- Minor fixes in Daisy events.
- InstillLoyalty fix.
- Added Walker story knock entry & fixed traning bits.
- Fixed job slots being re-filled on location reload.
- Fixed minigames sometimes being unresponsive and VEE rendering slowing down (especially with attached debugger).
- Typos & meta tweaks.
Changelog 1.10.3.4
Other:
- Moved futanari colour setting to Map's Help & Options > Advanced, instead of relying on futa fetish. Review your setting there.
- Overhauled office spycam list to be dynamic.
- Tweaked computer wallpapers to be unlockable via website hacking & expandable via Images\EventPictures\Custom\Computer\Wallpapers\
Bugfixes:
- Fixed Show Decisions & String input not accepting tabs.
- Fixed a bunch of rules using wrong min-max.
- Fixed GetCandidates not filtering properly.
- Tweaked Goth panties to show her PD instead of bugcatcher when sniffing.
Changelog 1.10.3.3
Other:
- Added Math event by MaskedPanda.
- InstorePorn tweak + text by Neme
- Tweaked club journals to show president if exists.
- Show Random Image in round-robin mode now chooses a random start index for each game, resulting in more variety.
- Made GetCandidates use In + Out instead of overwrite.
Bugfixes:
- Religious Studies president fix + journal.
- Fixed Class Clown event using the teacher as the boy who is misbehaving.
- Fixed missing gender replacement in SkippingClass.
- Religious studies club fix & temporary nerf.
- Fixed ExhibitionistMaleStudent event not showing images because they came after the text.
- Park Soccer fix.
- Nina Parker is now into "Risky Places" by default.
- Fixed bug where not all links may have been deleted when removing a link by using "delete" on an input link of an operation.
- Carl & April fix.
- Photoshop Chain wasn't actually doing its final adjustments, thank
@UmhRshJt
.
- Fixed incidental peeking in clothing store having a positive relationship impact.
- Fixed several issues with badly migrated code and internal data structure of "List Filter: Person List" and improved the autofixing to clean up existing operations.
- AprilOffice fix.
- Fixed calendar not circling dates with specified time.
- Fixed Student panel refreshing on favourite toggle when not in favourite view.
- Typos.
Changelog 1.10.3.1
Bugfixes:
- Fixed photoshop assignment button not appearing at home computer.
- Fixed Sherilyn auto-enlisting due to old property.
Changelog 1.10.3.0
Notable Changes and New Stuff
Start of the Raymunds chain & generic events by MaskedPanda.
Fixed most of the generic Yaoi events + added a few.
Start of April's chain.
Start of Max's chain.
Start of Sherilyn's chain.
Start of rewriting of Walker chain.
Jerimiah Sanderson chain.
Made Smartphone Contact Notes (RelNotes) read Info Panel data.
Added alternative sorting to student Management Panel.
Added GenSex, Fetish & Global Info Panel tabs.
Added chat event where you can ask people about their fetishes.
If they like/trust you enough or are uninhibited/lusty enough, they will tell you about their most significant likes/dislikes (above a threshold of 50).
The game will remember for each NPC which fetish you already talked about. You also cannot ask more than one fetish per day.
If the NPC's opinion about a fetish changes significantly enough from what they previously told you, they can give you an update on their new view.
All extension library events for the individual fetishes currently use a generic placeholder event.
Each should at some point be fully fleshed out, with different branches based on gender, sexual orientation, dominance/submissiveness and past activities and perhaps even player decisions.
Each event should give insight into what the NPC thinks the fetish is about and why they like/dislike it. But that's a lot of work, so it might come gradually over time.
Other tweaks
Made CreatePerson obey its template's clamping.
Smartphone:
Calling now shows a visual for the contact like some of the other menus.
Unified contact categories a bit more, and added class/other student categories.
Improved the Wallpaper App, is now easily expandable (just add images + meta).
Tweaked info panel to use a ScrollViewer.
Made GlobalVariables keep their value on reload.
OneAmongMany's subject tweaks.
Tweaked starting funds & made bigger schools a lot more viable.
Starting funding will be a bit tighter until 150 students.
Developer/API changes (only relevant for mod authors)
Added additional operations utilizing
Cron expressions
.
Find Next Cron Occurrence.
Date Satisfies Cron.
Added separate documentation to outline how Cron expressions work.
Added link variations to "Set Next Schedule" and "Set Remote Schedule" to pick different types of variable links.
Regular "Days offset" like usual.
A "Cron expression", which is a string variable that specifies eligible points in time and the next valid time is used by the event.
A "Calendar datetime", that simply uses a Date variable to provide the point in time when the event is supposed to run.
Text Tags:
Event variables and global variables can now be inserted via tags in text replacement processing.
Text replacement processing now also has a new {if=...;then=...;else=...} tag for conditional text passages.
Text replacement now supports nested tags in {Gender:...} and {if=...} by repeating the replacement process up to 10 times. Closing brackets of nested tags should be escaped via \}.
Added additional text replacement tag {iff:condition=(MathExpression1);result=Hello World|condition=(MathExpression2);result=Hello New World|...} to allow the checking of arbitrary numbers of conditions with individual replacements.
The text of the first fulfilled condition will be used.
Added new
Math Expression
operation that uses the mXparser library to allow event creators to write complex mathematical expressions that follow established rules and use built-in functions of the library.
Math expressions now support the custom constants "True" (1.0) and "False" (0.0). This makes it possible to insert string representation of boolean variables into the math expressions and have them work without a hitch.
Smartphone overhaul:
Main menus can now be added without editing the UI_Button (events in ExtensionLibrary\Smartphone).
Mostly uses a tweaked version of the category function.
Each menu is responsible for its own structure (can make use of helper functions).
Phone Contact menu:
Its sub-menus are also dynamic now (events in ExtensionLibrary\Smartphone\PhoneCall).
Computer Overhaul:
Menu now dynamically pull events from ExtensionLibrary\Computer instead of using a hardcoded list.
Was likely intended to happen at some point, as the structure was pretty streamlined already.
OnlineDelivery allows custom deliveries so long as they stick to its logic.
Hack a Website is expandable.
SearchPorn can optionally pull images from Images\EventPictures\Computer\SearchPorn\
Added
String Preview
default replacements to VEE. Allows seeing the results of default person keyword replacements.
Added keyword replacement info to string inputs.
Added Ordinal sort to SortStringList.
Replaced SetBirthdayState with a variant that can Set Get and Wish, as part of gendered name fix.
Added value injection to existing Info Panel tabs via ExtensionLibrary.
Additional events in the panel's respective folder can add/edit existing values.
Bugfixes
Around 200 typo fixes.
Improved location reload.
Fixed AsyncNativeEvents rarely hanging UI on Object Reload.
Fixed GlobalString draw fail on default value.
Fixed ShowDecisions tag insert buttons always inserting at start.
Fixed image provider tag sorting & wrong image tags.
Clipped an event that was meant to be clipped + added a missing image path.
Fixed EventProperties returning null strings, causing regex compare to throw exception.
Made strings remember UserFacing on clone, Variables remember SurvivesReload.
Fixed some visual issues in Student Management Panel.
GetSubjectOfPerson break exception fix.
Fixed PantyMagic errors.
Fixed FirstCouncil.
Fixed Interaction_KeepGoing + added a simple function for it & added it where it made sense.
Misc logic & missing link fixes.
OnsenStudentMed missing link fix.
CosplayClaire clone wars fix.
Voyeurism 4 & Onsen fixes/tweaks.
Ward Measurement & Exhibition Meeting fixes.
InfoPanel rounding fix & SPE GenSex fix.
OnlineDelivery failsafe & typos.
Computer & Laundry exception fix.
Changelog 1.10.2.2
Bugfixes:
- Nerd Miniquest fix.
- Fixed statistics PTA proposal ChoiceName (won't fix old ones).
- Fixed wrong Lf replacement, causing [pagebreak] to appear.
- FindExternalReferences wrong dialogue fix.
- Added Shilo's devblog on population gen to Docs.
- Typo fixes.
Changelog 1.10.2.1
Bugfixes:
- NPCs not remembering they stripped.
- PTA meeting missed after passing proposal.
- PhoneAsk sometimes giving loyalty on fail.
- Preprocessor condition fixes.
- Statistic icons fix.
- Special age clamp fix.
- Info Panel rel reset fix.
Changelog 1.10.2.0
With this release, we have migrated our internal code base from VB.NET to C#.
It still compiles down to the same intermediary language for the .NET Framework, but it's an entirely different programming language with some minor semantic differences in behaviour.
We tried to make sure that everything works the same, but it's possible that we've missed a spot or two somewhere, so please report any stuff (especially UI elements) that you believe used to work in the previous version and now no longer do.
Notable Changes and New Stuff
-----------------------------
- The included FontAwesome has been updated to version 6, giving us a lot of new icons to use and slightly different icon designs.
- Fetishes of Persons are now a numeric range between -100 and +100 and may gradually rise.
-- Events that were increasing arousal based on the specific fetishes of a person will now take into account how much that person is into the respective fetish. It can give up to double the arousal amount if the person is 100% into the fetish.
-- Negative fetish values indicate that the person dislikes/is turned off by the fetish, so they may also lose arousal when encountering it.
-- By default, 'has fetish' is defined as at least 50% into a fetish.
- Info Panel has been overhauled to support multiple tabs (following same formula as main tab). Also tweaked to include more details.
- AskForSex now uses an expandable image pool, supporting changing/adding images and special character packs without touching VEE (see API changes for details).
Other tweaks
------------
- The Statistics graphs in the Management Panel can now display special ingame events (like the pass of a PTA proposal) as vertical line in the graph, giving you a bit more context when certain things happened in your playthrough.
- There is a new Smartphone app that lets you do a completely pointless (no ingame benefits whatsoever) personality test that is based on a real test.
- OneAmongMany's cheerleader uniform change tweak (was available as a mod).
- Made Primer & Newspaper shelfable + tweaked events to account for it.
- Added debug commands for relationshipdatabase.
- Added player choice to pick a 2nd name on using futa drugs.
- Lydia Swan has a new paperdoll, in preparation for her quest-chain.
Developer/API changes (only relevant for mod authors)
-----------------------------------------------------
- Statistics for the management panel are no longer recorded hardcoded by the engine. Instead, they are now opened up to event authors via new operations, which run once per day in a new Daily event. So it's possible to customize what is recorded for the statistics screen. Make sure to keep the amount of data reasonable, though.
-- There is a new operation to record a statistic value for a specific category, which creates the data points for the graph as it was in the past.
-- There is also a new operation that creates a vertical line as an "annotation" to the graph. Try to limit usage of them to major events, since they can quickly clog up the graph if too many happen very close to each other.
- When editing String List variables, there is now a new editing mode that shows all values in a single text area for convenience (with one line per list entry). This is only available if the text of the individual list elements does not contain any line breaks.
- Added a new heuristic to the VEE error check where it attempts to guess the type of Object variables based on the names of the variable links that link to it. If it finds a conflict (for example one operation that works with "Person" and one that works with "Club" both linking to the same Object variable), it will report a warning about type safety.
- Added new "Person Fetish" operation to Get/Set/Add the numeric value. "Add/Remove Person Fetish" has been marked as deprecated.
- Added new Status Effect Modifiers for the numeric fetish value.
- Existing operations have been overhauled to use 50 as threshold for "having" a fetish.
- "Add Arousal by Fetish" now increases arousal based on the numeric value of the fetish (up to 200% of the specified operation amount if the fetish is at 100%). However, the operation no longer scales with Corruption.
- "Has Fetish" now has a link variation to explicitly specify the threshold value, so it can be used to conveniently check other values than 50.
- The "Fetish" property of Persons has been renamed to "Fetishes". It was no longer compatible with the new data structure anyway.
- GenSex Image Provider Overhaul (AskForSex/Hypno Image & Girl Pack expansion), see Docs\ or Guides for details:
-- Allows expanding/tweaking the GenSex image pool without touching VEE.
-- Allows adding images targetting special characters (PC included).
-- FunctionLibrary\PCGeneralSex\ShowActionImageProvider can be used outside of AskForSex/Hypno with a similar set of features.
--- Does not have to be PC-NPC sex (image-wise).
-- Optional auto-coloured hair overlays, futa overlays, .txt file text per image.
- Added Ops for Getting/Modifying a person's KeywordOverrides.
- Generic NPCs now also grab a name from the other gender's name list (if specified in template) and apply both names as a KeywordOverride, key {GenderedForename}.
-- Not overriding {First} directly to prevent clashing with potential nicknames, and allow custom VEE handling.
- Added opposite gender name to all SpecialCharacter.xmls as a GenderedForename KeywordOverride.
-- GenderReasgnment drugs now refer to that on gender change and apply the name as display if one doesn't already exist.
- Info Panel overhaul:
-- Got rid of hardcoded version, since it's not needed anymore.
-- Panel can now be expanded with custom tabs, previous panel is now the default tab.
-- Mode is now stored only in the tab events.
-- See notes in the main tab event (NativeEvents) for details.
- Added "Single Line Mode" to String List property form. If the list only contains single lines per entry without line breaks, this mode can be used to show and edit all entries of the list at once, in a single text area.
-- It is automatically enabled if the list supports this format and disabled if any entry contains a line break.
BREAKING CHANGES (only relevant for mod authors)
--------------------
- Fetishes are now defined in XMLs instead of being hardcoded. Unfortunately, that makes them incompatible with some of the operations from older versions.
-- To make sure your events are properly migrated to the new data structure, you should open the XML of your events in a text editor and do a full text search for "<Fetishes>".
Then, for each line in this list of fetishes, replace e.g. "<Fetish>Bondage</Fetish>" with "<string>Bondage</string>".
-- This concerns "SeqCond_HasFetish", "SeqAct_AddPersonFetish" and "SeqAct_ListFilterPerson" (if it makes use of fetishes for the filtering). "SeqAct_AddArousalByFetish" is safe because it uses a separate data structure to encapsulate single fetishes and not a full list.
-- A new VEE error check will warn you if you have a "SeqCond_HasFetish" or "SeqAct_AddPersonFetish" with an empty fetish list (which may indicate a missing migration). Such a check is not possible for ListFilterPerson because not every filter uses fetishes.
- The Fetish data structure for Persons has also changed. If you have Special Characters with custom fetishes, you need to migrate the XML structure or reassign the fetishes in the File Editor.
-- The old structure was basically "<Fetish><Fetish>Bondage</Fetish><Fetish>Masochism</Fetish></Fetish>", with the outer "<Fetish>" being the list element of fetishes and the inner "<Fetish>Bondage</Fetish>" being a concrete list item.
-- The new structure is now "<Fetishes><Item Key="Bondage" Value="50" /><Item Key="Masochism" Value="50" /></Fetishes>", with the outer "<Fetishes>" being the list element of fetishes and the inner "<Item Key="Bondage" Value="50" />" being the concrete list item.
-- Feel free to make your fetish assignments more nuanced than the default value of 50. You may even add some disliked fetishes.
- Some of the FontAwesome icon names have changed in the new version. Be sure to check if your used icons are still working.
-- There is a new VEE error check that should report a warning if it finds something that looks like an unknown FontAwesome icon declaration (starting with "fa-") in Event Properties and "Show Decisions" operations.
Bugfixes
--------
- Tweaked lactation checks to check if current outfit has lactation breasts, and default to generic for specials only when nude.
- Fixed Interaction_KeepGoing not working on time pass.
- Fixed bugs in all SQL in VirginAsk.
- MissingGirl Head fix, LoadRepayment fix.
- malorn's battle with GenSex & SetIntDirectly.
- Fixed inverted checks in object reloading. Added more conditions for better accuracy.
- SetEffectsOnObservers Voyeurism issues.
- Fixed interaction category click loop on category size change.
- Made trade categories not collapse on refresh during event execution.
- Fixed all cases where the new typesafety heuristic reported findings.
- Info Panel flirted math.
- Interaction category click loop on category size change.
- Trade form collapse state not surviving current execution.
- ChatWithSomeone wrong gender check.
- HypnoTraining park lacking conditions + filtering all people instead of occupants.
- Age being clamped wrong when loading a save from the exe. Changed starting age to be a standalone property to prevent it.
- Hypno not passing time on failed group + behaviour mod.
- Onsen event broken links.
Changelog 1.10.1.2
Bugfixes:
- Hooters Journal.
- Lowered exhibition club event female requirements.
- Another issue in SetEffectOnObservers.
- SexCheck issue (found in AnnetteCasual).
- Tweaked UI not being suppressed for AddSkillWithLimits' set. Making it look like you're losing skill levels sometimes.
- Special template age fix.
- MissingGirlStart fix.
- Added updated InfoPanel override file + GenSex fixes to template.
- Issue with Age context replacement.
- Typos.
VEE:
- Added heuristic to determine the probable type of a SeqVar_Object based on the variable links of connected operations and flag potential cases where a variable is used in multiple operations with incompatible types.
- VEE's ErrorCheck output can be double-clicked to jump to ID.
Changelog 1.10.1.1
Emergency fix for previous update, which was meant to be named 1.10.1.0 (fixed that too). It's just a few files, harmless to reload from previous patch on existing saves.
Edit: Now also contains the emergency fix to AM/PM converter.
Changelog 1.10.1.0
Changes:
- Some new events by malorn, shilo, OneAmongMany (the 2 mods), plus some reworks by malorn, me, Ame.
- Slight chemistry rebalance. GenSex rep hits are potentially fixed.
- Game start 'end goal' selection (new game only), only the choice is implemented.
- Object and Event Reloading now potentially won't massively break existing saves (I give it a solid 50-50).
API:
- GenSex support for after sex events (CustomPostSexEvents folder).
- Show Random Image - Round Robin mode.
- Op to obtain the number of times a subjects has been taught.
- Layer Transform Op for simple PD layer transforms (resize, offset, rotate).
- Int++/-- on a Double/Integer in random mode sets it to a random value first and disables random mode (old mantis request).
- Person Age has a Set option (respecting MinAge).
- SpecialCharacters:
-- Now use their Template for Min/Max clamping of Age, BodySize, Height. No template defined default to special gender+type template.
-- Age field defines their birth year relative to scenario (if specified) start.
-- CustomForename supports {Random}, CustomLastname supports {Random} and {PrincipalLast}. {Random} will pick from their template's name list, not guaranteed unique.
-- Can be reloaded.
- FunctionLibrary events for converting 24h time to cultured (used only by journal and calendar notes atm).
-- To change ingame clock to 12h edit hhs+.exe.config CultureInfo field to en-US or en-AU.
-- If done before new game function will auto-select settings, otherwise they can be further adjusted in the Map settings.
Event Reloading + VEE
All old events will be put in Legacy mode. In which, variables meeting the following conditions will attempt to keep their value on event reloading:
- Non-@FullReload, Non-constant, non-Object, non-Object List, non-userfacing + (has comment OR attached to non-readonly Op OR is referenced in same/external event OR is global var (see further down)).
Manually changing the variable's persistance state in VEE, or making a new event, will disable Legacy mode.
- In regular events, only variables marked as 'Survives Reload' will attempt to keep their value on reloading events. Done same way as setting an Op breakpoint.
In either case:
- Variables attempting to survive will use matching by ID to find their old values.
-- There's now a way to fix IDs if mistakes are made (variable deleted etc).
- Casting between same types (exact, or compatible types like numeric) is allowed (at own risk).
- Global variables can also attempt to 'survive' if the old event had a regular variable for that ID (must be exact matching type, like Int > Int).
-- Intended for backward compatibility when switching over to globals.
- Ctrl+Shift+Click resets the reloaded events to file state (scheduling included), like in old days.
Bugfixes (messy notes cause there's much more, but bleh):
- Extra layers for nighttime in PC's house to layouts.
- Hopefully tracked down remaining hardcoded dates in the scenario.
- Removed a weird check that prevented the Hooter chain if Susan's HasQuest got removed.
- Info Panel not updating 'Told to seek love', 'Address', VEE override issue with dupes, etc fixes.
- Make mod Paperdoll Layers refresh on loading a save, current workaround: Enable the mod before loading a save in main menu.
- Extra layers (furniture) sometimes sticking on loc transitions. Maybe fixed, not sure because for some reason things started performing so well I can't see it anymore...
- Sierra sex events had inverted GiveReceive logic on most branches.
- Fixed slave outfits.
- Fixed 'Are you single?'
- Saving the Database breaking if a table is dropped.
- GetFamilyHome exception fix (though it shouldn't happen to begin with, unless an NPC got renamed).
- TBBle's reports.
- More panel tag fixes.
- Age clamping broken for grandparents & in general.
- Music Classroom & Sleepy Estate layout fix.
- PJ breast colours.
- Miniquest delays.
- Chemistry intros not having/clearing notes.
- Bunch of Template fixes.
- BeachMEFuta & AskAboutSchoolDressCode fixes.
Changelog 1.10.0.3
Changes:
- Some new events by malorn, shilo, OneAmongMany (the 2 mods), plus some reworks by malorn, me, Ame.
- Slight chemistry rebalance. GenSex rep hits are potentially fixed.
- Game start 'end goal' selection (new game only), only the choice is implemented. Currently has no effects, but showcases future plans for different playstyles.
- Object and Event Reloading now potentially won't massively break existing saves (I give it a solid 50-50).
API:
- GenSex support for after sex events (CustomPostSexEvents folder).
- Show Random Image - Round Robin mode (currently always starts at first index, but will likely use a random start index in the future).
- Op to obtain the number of times a subjects has been taught.
- Layer Transform Op for simple PD layer transforms (resize, offset, rotate).
- Int++/-- on a Double/Integer in random mode sets it to a random value first and disables random mode (old mantis request).
- Person Age has a Set option (respecting MinAge).
- SpecialCharacters:
-- Now use their Template for Min/Max clamping of Age, BodySize, Height. No template defined default to special gender+type template.
-- Age field defines their birth year relative to scenario (if specified) start.
-- CustomForename supports {Random}, CustomLastname supports {Random} and {PrincipalLast}. {Random} will pick from their template's name list, not guaranteed unique.
-- Can be reloaded.
- FunctionLibrary events for converting 24h time to cultured (used only by journal and calendar notes atm).
-- To change ingame clock to 12h edit hhs+.exe.config CultureInfo field to en-US or en-AU.
-- If done before new game function will auto-select settings, otherwise they can be further adjusted in the Map settings.
Event Reloading + VEE
Bugfixes (messy notes cause there's much more, but bleh):
- Extra layers for nighttime in PC's house to layouts.
- Hopefully tracked down remaining hardcoded dates in the scenario.
- Removed a weird check that prevented the Hooter chain if Susan's HasQuest got removed.
- Info Panel not updating 'Told to seek love', 'Address', VEE override issue with dupes, etc fixes.
- Make mod Paperdoll Layers refresh on loading a save, current workaround: Enable the mod before loading a save in main menu.
- Extra layers (furniture) sometimes sticking on loc transitions. Maybe fixed, not sure because for some reason things started performing so well I can't see it anymore...
- Sierra sex events had inverted GiveReceive logic on most branches.
- Fixed slave outfits.
- Fixed 'Are you single?'
- Saving the Database breaking if a table is dropped.
- GetFamilyHome exception fix (though it shouldn't happen to begin with, unless an NPC got renamed).
- TBBle's reports.
- More panel tag fixes.
- Age clamping broken for grandparents & in general.
- Music Classroom & Sleepy Estate layout fix.
- PJ breast colors.
- Miniquest delays.
- Chemistry intros not having/clearing notes.
- Bunch of Template fixes.
- BeachMEFuta & AskAboutSchoolDressCode fixes.
Changelog 1.10.0.2
Small bugfix package since I'm away a few days:
- Info Panel button + offset improvement.
- Info Panel now shows actual stats instead of debug ones. Also fixed some Database tags.
- Old Player Info hover removed in favour of Info Panel (due to customisability).
- Reloading locations and clubs keeps event IDs, but all other data is currently still reset.
- Fixed rare bug with Error Check exception/hang-up.
- Made Error Check lock buttons to prevent collection change.
- Fixed Wardrobe sending you to the void (removing Map buttons) when it detects an error.
-- However this one is optional (if you've never experienced that then you're unlikely to), as it will reset your wardrobe settings.
-- Delete FunctionLibrary\PCAppearance\ wardrobe file if you don't want it.
Changelog 1.10.0.1
Umgah's Hypno fix.
Info Panel wrong flirt fix.
Breakin 'knock' fix.
Left side of shopping panel being empty fix. Means you can now sell special items if they're tagged wrong, so careful just in case.
Changelog 1.10.0.0
This is the full 1.10 release, no longer a beta. That doesn't mean it's bug free, in fact, there's a lot of new features that need testing.
However, we're leaving 'beta' in hope of stabilizing this build with bug fixes as the final 1.10 version. So no more massive changes any time soon.
Due to a move from SVN to Git, the versioning format changed - we will no longer use the Revision (commit) number.
1.10.0.0 is the first public release version of 1.10.
1.10.1.0 would be the first minor update that may change some features.
1.10.1.1 would be the first patch release for that minor update, because we noticed some bug that required immediate fixing.
If you're hoping to see new story progression since the 1.10 beta... I'm sorry, but this update is mainly big engine changes and new features, aimed at easier expansion of content/mechanics and at mod/event authors.
We've lost contact with the people working on the event side (plus a few on engine side) when the site went down.
And since no new writers have expressed interest in assisting, the progress on that end will be very slow at best. This doesn't mean there won't be updates and fixes, just no 'content'.
Lots of events have been reworked, code cleaned and/or typos fixed, etc.
Stand out items (i.e. things to specifically look for) are noted below
For the complete list of all changes and fixes see the game's Docs\Changelog folder.
Notable Changes and New Stuff:
UI notifications for stat changes
Official modding framework
Global variables
New population generation system. Gives more control over how/what kind of NPCs are generated.
Custom Paper Doll Layers - the PD system is now less hardcoded and easier to automate/expand.
The game only uses it for small things currently, this is mainly something for modders to play with.
Pixel Shaders - allow manipulation (like recoloring) of PD layers and images. Has predefined shaders and also allows use of custom shaders.
Location Layouts (aka LookAround V3) - allows showing PDs on location, and conditional backgrounds by providing simple Layout.xml definitions.
Info Panel - when enabled provides some info about the NPC you're interacting with, like relationship.
More details are available in the
official release thread
.
HHS 1.11 Review This is *NOT* a VN, this is a sim & management game. Player = Principal, may refer to either in review; MC = Mind Control; PROs: --LOTS of content, in fact so much, likely take several play-throughs if you aim to do everything; --NOT boring lol! --If you are HARDCORE, you'll enjoy this game. --still gets updates --Possible to use DEBUG, [helps! if nothing else, can check other NPC stats] --moddable--so great if you love to MOD [XML file type] --Has many interesting features (MC: Mind Control, [hint hint!]etc) and many Fetishes CONs: --IN-game help mostly worthless; --a steep learning curve --GRIND can be very, VERY high [NOT good game for "quick fap"--or quick anything] --no "easy" or "normal" mode --This game is OLD--in fact, ~ 9+ YEARS, very very old for an adult game ! Downside to that, is so *MUCH* is outdated, inaccurate, or doesn't work with current version. For example, guides, mods, [a PICs ONLY mod should still work] etc SOMEONE SHOULD REALLY GO THROUGH & UPDATE at least 1 FULL GUIDE to 1.11; Same thing w most existing mods---or put up sign/warning NOT COMPATIBLE w newest version; Beware to anyone trying to use mods 5+ years old---may not work, &/or may crash game! --PTA: Many features not only difficult, but unrealistic; For examples, even 1 (ONE) single Veto (NO/reject) will cause PTA Vote to FAIL! (& you need PTA approval for many many things!) (no normal "majority vote rules") --PTA 1: you can spend a GREAT DEAL of time $ & effort, (includes Mind Control [MC]) on a PTA member, & then they *STILL* "ABSTAIN" [game says better than "no" vote, but not true; See above, ALL MUST VOTE YES; (I've had -0- Vetos, but too many "Abstain" & VOTE FAILs; So YES, an "ABSTAIN" = NO SUPPORT; [if a a member of government is "counting on your support" that means a YES VOTE!!!] --PTA 2: Principal (player) can pass "rules" but if PTA does not approve, they can't be enforced, meaningless; --PTA 3: PTA (dev) Frequently FORCES (if disagree hurts stats!) Prin to do ""FUNDRAISERS"" (UGH) but REALLY just throwing money away---COST way higher than any profit; (ie, FUND LOOSERS!) --PTA 4: EXACTLY WHO is on PTA, seems to vary some from game to game, & BOTH PHONE, & DEBUG, have inaccurate lists! [bugs, bugs..] --Salary: PRINCIPAL makes *LESS* than any teacher!! (WTF!?) --(I'm no expert w debug mode, some might do better than me with it, & of course, if you know how to do it, [& are willing to take the TIME!] most of game is moddable--XML file type) Even w "DEBUG" can't cheat on most stats; [no good built-in cheats] --Saves: NOT compatible w most common save editors (can't "cheat" that way either!} --Many random events hurt stats that are very difficult to raise; (example, REP [Reputation] ---which hurts many things) --There are (school) games out there which have stats like "behavior" that you can grind up, which affect & help many other things (REALISTIC TOO!) No such thing here; [has "detention" but effect is very little/none; ] [Example, RENPY "Ashord Academy"] --Having to use MC can be fun, *BUT* ONLY if effective, [cap/limits on use?] Some appear to be resistant/immune to it; Example, PTA support (after many many uses) but they *STILL* ABSTAIN! --There is some BAD BEHAVIOR (again, that stat! --NOT PRESENT HERE, but some other games had) that Principal finds, but is NOT ALLOWED to do ANYTHING about! [Correcting EXTREME bad behavior, should 1) HELP REPUTATION, 2) Increase Student/staff happiness/Loyalty (we don't want people getting away with that!) & 3) Help Player in some way (Loyalty? etc) (Example: Public Urination on SCHOOL GROUNDS; (assumes Corruption is low))] Anything that is a CRIME or might result in student being EXPELLED IRL, should allow player (Prin) to do something "SERIOUS" about [no, DETENTION IS NOT SERIOUS, often not effective AT ALL!] --has almost -0- tolerance for "mistakes": Example, ASKING FOR PHONE # (REALISTIC!) often REJECTED, *AND* HURTS STATS!) True for other things too; -->> IN FACT, this is SO BAD, found w many NPCs only way to get anywhere (even PHONE #!) was MC; -- No "rollback" (NOT RENPY!) so SAVE OFTEN! (part of that "not forgiving" thing) Likely forgetting something, made notes, but game is VERY complex; Would have given it 2*, but some things that have problems NOW, (as mentioned, game is OLD) likely didn't exist or were not problems years ago; [note that most reviews don't put a ver #, all you have is a date]
This game is excellent, really good. I really like the tags in it and how we apply them to the NPCs, such as corruption, pregnancy, management, slave, mind control, among others. I have many hours of this game and I continue playing. In terms of improvement, I would like to see more images of hentai images, because our male and female characters have standard appearances. I would like to see more images of our character as they really are in interactions with the NPCs. For me, the more interactions and possibilities for interaction, the better.
Review of version 1.11.1.1 Great management game with many years of development and an active community. The base game is decent but I would highly recommend installing mods and editing the config files. Pros: Many hours of gameplay, lots of customization options, able to interact to every single NPC and seduce them, non-linear gameplay that lets you finish storylines mostly in the order you want, able to save-scum to get desired outcome of minigames and skill checks, completely able to curate the content you wish to see. Cons: Most sex scenes are ripped from other media and are mostly 2D pictures which leads to a lack of continuity, game has little direction and having some sort of guide is almost mandatory, despite the long dev time and large community game is unfinished and official content updates are sparse outside of bug fixes, maxing skills can be grindy and is required for some parts. TLDR above avg game high school management game that is improved by mods and a guide. Edit: added line breaks for visibility.
An interesting sandbox game with some good strengths, and some insane flaws. Overall, the skeleton of the game is good, but for some reason the devs seem to have no idea how to make NPC interactions actually fun. There’s the illusion of interaction, but most actions are one-time use. After that, you’re stuck following a very tedious sequence of "safe" options to get anywhere. Grinding character stats is very time-consuming and usually has negligible effects. The game has a lot of skills, but most are useless or have barely any meaningful use. It has a decent paperdoll system that's completely disrespected by an unhinged selection of untagged images. For example, you engage a feminine- or trap-looking character in an action, only for an image of Guts from Berserk to suddenly pop up. There's no real casual chitchat (it's oddly reserved only for the phone), and no simple character interactions like hugs, pats, or basic physical contact—besides kissing or lewd actions. No real night crawling unless you're basically married to the NPC—despite the game being perfectly set up for it. I'm not sure about the drug side of things, but it seems you can't really use them unless the subject is already consenting (could be wrong about this one). The hypnosis system, supposedly a core mechanic, is insanely limited and restricted. It mostly just serves to slowly lower inhibitions, rather than offering anything you'd see in a competently made game. All the interesting possibilities you'd expect, like detention, interviews, sexual favors for grades or money, blackmail, or anything even remotely daring simply don't exist. This game already has most of the systems it would need to be good. The real question is whether someone competent can eventually take the project over and make it actually work .
Just too much sandbox. So many empty locations, so much to click, every girl must be individually corrupted and the cherry on top is, from the first minute you still dont know what exactly is the goal in this game. I suggest you play the older HHS games which offers just a big school management and a lot scenes.
Best long form game hentai game out there. Hours and hours, days upon days worth of gameplay time. It's easy to manipulate the just about every event and action in the entire game, turning it into exactly what you want with little programming knowledge.
A lot of work was put into this which is admirable but its just kinda meh, the h content is really simple and lacking, the management seems super surface level and the gameplay itself is just tedious and awkward. Its a really fun idea but its just very crusty.
The game is good with massive issues that can be fixed easily. I have to appreciate how much work went in to making this world feel big. [V1.10.6] Pros- Lots of scenes to find World does feel like its a small city with the number of people They try to incorporate a lot of fetishes Modding community- Great mod options which are simple enough to understand how to use Cons- Super grindy- takes hours to get some good scenes. Maybe include brothels or something to get some poeple invested right away and also tune the progression to be a bit faster The random npcs have very limited interation options. To raise their relationship level has very few options and adds to the long grind which should be reduced Theres no easy clear goals to follow- you dont know which quests you are on and their next steps easily enough Some locations do need an extra level of interactivity. For example the beach- you just stand there but theres no option to swim, you just have to hope you get a good cutscene when you arrive. Biggest con is this - after the hours of grinding to get a scene, its usually just a still image that looks like they got from a fan website and its never consistent with your character and the one you are supposed to be having the scene with. While the technical aspects of building a big town is great, I think it is hard to recommend this game to someone new to make them waste hours of their life for so little in return
One of the best simulation game I saw. Another one is free city, full of roguelike. And yes, all the game are open-source and keep developing for nearly 12 years, thanks for the dev team. We trust you for giving such a promising game.
Excellent game for turbo-autists who love highly customizable simulators and have no problem reading the manual. Terrible game for retard zoomers who expect to be taught every single game mechanic seamlessly and will ragequit if they see so much as a single tooltip.
It's a great management game with some life sim mechanics. It isn't exactly the most horny game by itself, but the base mechanics can be really fun after you figure them out. The only real negative is how little content gets added. If it was updated more often I'd say it's a perfect game, given it's niche.
It's supposedly a sandbox, yet it is unplayable without constantly referring to the walkthrough. Every single thing is bound to very specific steps combined with RNG rolls. Merely starting to interact with a generic NPC requires some 12-step protocol which is identical across all of them, but has to be repeated with the exact same tedium and without any guarantees. Storylines or custom scenes need to be triggered by pretty much aligning the stars, and that is just to trigger the roll for them to be *maybe* triggered. And even after unlocking one part of some storyline, there is no way to tell what is supposed to come next. And what is supposed to come next is usually very specific, usually locked behind some cooldown but sometimes there is a time limit to it on top of the cooldown and often some of the most ridiculous gotchas that have you fail it altogether. And of course, subject to RNG when you align your next set of stars if you somehow manage one step. And your reward from all this -- some generic image from the top image search results for some generic hentai scene. Again, you need to constantly refer to the walkthrough or you have no idea what is going on. And honestly, the game does not have nearly enough meat to demand the time and effort it does.
TL;DR: Don't. Just don't. If you really want a game with this exact premise but a million times more enjoyable, there's another game who's name starts with "Hentai" followed by a place of education that I'd recommend a thousand times over. Jesus, where do I start with this one? First and foremost, the idea is a solid one. You are the principal of a moderately sized school, with a pretty hefty amount of students for you to influence in any way you want. Whether that's actually doing your job properly and being a decent human being or, more realistically, corrupting as many as you feel like, it's all up to you. Add that with the fairly large roster of NPCs in the surrounding town for you to also play with and there's definitely some strong ideas in here. Unfortunately, that's where they end — as ideas. In practice, though, the game is, to put it bluntly, more akin to working a genuine office job than anything resembling a 'game', especially one meant presumably for any sort of pleasure for the player. Let's start with the (in my opinion), most important part: the h-content itself. Or in this game's case, the lack thereof. Don't get me wrong, there's actually a pretty large amount of things in this game, but VERY little of it will actually do anything for most people, unless you're turned on by early 2000's style nondescript hentai, or models from a game I played back in middle school that I don't even remember the name of anymore. Again, I can't fault the developer for that, as actually commissioning or producing art for the sheer amount of characters there are would be both unreasonably expensive and impossible considering the randomly generated aspect, but that doesn't change the fact that it's not going to do anything for most people. There's an extreme amount of disappointment to be had in spending all your time on a certain character you've become fond of just for their "sex scene" to be a single still image of "anime girl #347" and some text talking about how great the sex is. On that note, the grind. This is, without exaggeration, the single grindiest game I've ever played, and that's including gachas, MMO's, and even EVE Online for fucks sake. To put it in perspective, most stats, as far as I can tell anyways, cap out somewhere around 100. This applies to both the player character and NPCs. In order to access most content, NPCs have multiple stats (Corruption, Lust, Inhibition, their Friendliness towards the player, their Relationship with the player, etc.) that have to be raised before any real content for them can be experienced. For most NPCs this isn't a problem, as each scene with them can raise or lower their stats by a pretty moderate amount (5 - 10 in most cases) and it comes down to a time investment. That's already one thing, but the kicker is that for important NPCs, like the members of the PTA who you have to corrupt in order to access ANY of the major content for the school, raise their stats in DECIMALS AT A TIME. And I mean numbers such as 0.23, 0.5, 0.12, etc.. How anyone could see that and think it was anything short of a disgrace is beyond me. For the sake of honesty, I will say that I used the game's built in debug menu to simply cheat my own stats as high as I could and play from there, and multiple HOURS in I'm still no more closer to actually corrupting my school as I started. This is because, and I swear this isn't exaggeration, the game does everything in it's power to fuck you at any point it can. You thought the important NPCs having 1% the stat gain of everyone else was bad? Try some of them just being outright immune to hypnosis or drugs. Or, even better, try your own hypnosis having a chance to fail no matter what (unless you cheat it not to) and raising your own stats at a quarter of a percent per interaction. It's agonizing and feels more like the world's most drawn out CBT session than something a person made for the enjoyment of other people. Lastly, as the blinding rage I that compelled me to write all this is finally wearing off, it's just. . . boring. Even once I found a few NPCs I liked enough to spend time corrupting (which took AGES even with a maxed out hypnosis skill, which you wouldn't have until late game and was only as effective as it was because I had the "Hypnosis never fails" and "No hypnosis cooldown" [oh yeah, it has a multi-day cooldown lol]), the best you ever got was them just showing up around town in less and less clothes, occasionally wearing fetish wear, and, if you actually spent time building a relationship with you, being open to fucking wherever/whenever, which would've been genuinely hot if not for the aforementioned static royalty free stock images used for h-scenes. There is not a hint of malice in my voice when I say that there is not a single redeeming trait about this 'game', and I'm more capable of using my own imagination to jerk off than this. Play HU instead :]
[v1.10.5.7] Cool game, but little h-stuff. -Story, Originality You are in school and do what you want. -Renders Simple 2D "paper dolls". And for h-scenes there are hentai pictures. -Sound Don't remember any sounds. -Playability Played it 3 times, cheat every time and liked to see the mechanics. -Performance Works okay. -Bugs Didn't see any. -Animations Remember only still images. -Voice Acting No voices. -Grammar Didn't see any mistakes. -Amount of content A lot to do, a lot to see, but you have to spend too much time. I like the mechanics of this game, but it needs some more pictures for h-events.
i enjoyed this game so much for a lot of reason. Fisrt of all you really have the feeling you can gradually change theentire setting by getting slowly but steadily the entire town horny. Yourcharacter can also evolve and progress and all of your students too ! there are some good story quest for some of your student and council member. I would love to see more future update
Original review June 7th 2023-good idea, could be fun. however, seems regardless of ages between characters, you could interact with someone thats 18. and someones that 30. and the images would be indentical during scenes. i feel image organisation is important to portray the scene accurately. theres forced stuff here? i dont see that other than hypnosis. the foundation of this game is good, but the execution is just bad 01 November 2025 edit: gave it a try again, downloaded mods. same issue. image variety is just down right terrible. and i honestly would say its the reason i dont like the game. i interact with a younger guy, and get images of a 40 year old hairy dude. i fuck a girl in the ass, i get three different images for it, ONLY. its just terribly executed. theres no quality control with the images by race, age or what not. if they chunked out the images and added a range between ages, i reckon it could be great. but the lack of image variety ruins the experience. THE FACT THAT 2 YEARS LATER THE IMAGE VARIETY IS EXACTLY THE SAME. man. this game sucks ass lmao. my two star has gone to 1
Disclaimer : I didn't went very far in the game. In a few words : Too confusing. Even with the explanations, i have a hard time following what i have to do. Is this a skill issue ? Yeah, most likely.
Donwloaded this game three times in order to give it a try. And ended up deleting it three times in annoyed frustration after an hour or so of 'gameplay'. Don't know if I'm the one doing something wrong, but for me the game was not enjoyable.
I really like the idea of steadily practicing and improving mind control ability in a densely populated world, but I hate that the sex scenes are just random hentai pictures with no connection to the person you're fucking. I don't see why those "paper doll" style procedurally generated characters couldn't be expanded to include sexual positions (not that even really like how the paper dolls look all that much, but it's better than something that's completely unrelated).
Good sandbox with bunch of fetishes, But, there always a but. Small one, nonconsistent exsist only in story quests. There no game mechanics for it. And a big one, 90% of game locked behind the story quests, and they need too much grind and ingame time to complete.
You might also like
Secretary
Deedee
v1.1.2.6
Sengoku Rance
AliceSoft
v1.07
Taffy Tales
UberPie
S2 Redux v1.0.36
Corruption of Champions II
Savin/Salamander Studios
v0.8.32
Tales of Androgyny
Majalis
v0.3.69.0
The Hellfire Club
Scarlet Letters
v0.28f
Hentai University
NoodleJacuzzi
v33
The Masculine Mystique
barabbas
TF Games Site
0.9.7a
Saint Dorei Gakuen 3
Liquid
Final
Degrees of Lewdity
Vrelnir
v0.5.9.6