* Monds weapon mats domain: Fix time between kill not refreshing
* Inaz husk domain: Fix broken domain challenge
* `EVENT_ANY_MONSTER_LIVE` is likely sent on tick, not on create. See scene40801_group240801001.lua:
1. `condition_EVENT_ANY_MONSTER_LIVE_1023` checks for mob 1008 to spawn AND for variable `challenge` to be 1
2. Mob 1008 spawns during `action_EVENT_SELECT_OPTION_1003`, at `ScriptLib.AddExtraGroupSuite(context, 240801001, 2)`
3. This spawn triggers `EVENT_ANY_MONSTER_LIVE` for mob 1008 but still fails the condition because `challenge` is still 0.
4. `challenge` is set to 1 at the end of `action_EVENT_SELECT_OPTION_1003`. By now, `EVENT_ANY_MONSTER_LIVE` for mob 1008 no longer fires, causing the domain challenge to fail to start.
Mob summon: Something like Monster_Apparatus_Perpetual can summon helper mobs. Ensure these helpers actually get summoned and, on their defeat, possibly change the summoner's mob state. Like, temporarily enter weak state.
* Take summon tags from BinOutput/Monster/ConfigMonster_*.json and put them in SceneMonsterInfo
* Handle Summon action in ability modifiers from BinOutput/Ability/Temp/MonsterAbilities/ConfigAbility_Monster_*.json
* On summoner's kill, also kill the summoned mobs
Limbo state: Something like Monster_Invoker_Herald_Water should be invulnerable at a certain HP threshold. Like, shouldn't die when creating their elemental shield. Or, Monster_Apparatus_Perpetual's helper mobs shouldn't die before their summoner.
* Look through ConfigAbility (AbilityData in GC) like Invoker_Herald_Water_StateControl. If any AbilityModifier within specifies state Limbo and properties.Actor_HpThresholdRatio, account for this threshold in GameEntity::damage.
* Don't let the entity die while in limbo. They will be killed by other events.
* enableRandomEncryptSeed
* update config version
* Merge branch 'Grasscutters:development' into random-seed
* make the codes more beautiful
* move KahnsSort to algorithms
* rename variables
* Merge branch 'development' into random-seed
* Make platforms able to reset
platforms apparently are able to run again once reaching the last point. As well, canceling a timer seems to return a 0, not a 1
* Fix Seelies
Added HandlerClientScriptEventNotify (shoutouts to Hartie!) and cleaned up the platform stuff in ScriptLib.
There is a problem with HandlerClientScriptEventNotify where the client seems to only pass 0 into param1 instead of the configId. I coded in a workaround, but someone with greater access to things should check up on what is going on
* Little update to HandlerItemGivingReq.java
GIVING_METHOD_GROUP is used in cooking girl's quest
* Send the giving packet at the start of relogs, even if encountered before.
* Make item checking not exact
You can have more items in your inventory than what you are submitting.
* Add drops for gadgets
Gadgets only have drop_id when they are not chests (chest_drop_id). When drop_id is not set (0), handleChestDrop quickly exits
* Implement QUEST_COND_ITEM_GIVING_FINISHED
Took the oppertunity to Rename ContentFinishGivingItem to ItemGiving
* Store accept conditions like fail and finish content are
Took the oppertunity to clean up some old code as well
conditions are stored in QuestManager
* Update src/main/java/emu/grasscutter/game/quest/QuestManager.java
Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>
* Update ConditionItemGivingFinished.java
---------
Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>
* fix: arrangement of main house is duplicated even if player change module
* removeIf
* Update src/main/java/emu/grasscutter/game/home/GameHome.java
Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>
---------
Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>
* SerializedName MonsterSpecialName
* uh add space back
* remove space
---------
Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>