Description
---MOVES---
Dragon Rend Edge:
Changed power from 90 to 100
Eclipse Bloom Cutter:
Was missing Protect flag (would ignore protect/detect) - added it, seemed oversight rather than intention.
json code included that the move is super effective against Normal - not mentioned in the descriptions json (*\lang\en_us.json) - added it for accuracy rather than changing/balancing the move as designed.
Turbine Surge:
Wasn't working fully. Seemed to take a template from Defog - removing terrain/hazards/screens and dropping foe evasion by 1 stage. Description json didn't mention the evasion drop, so might've been a copy paste oversight. Didn't feel like it fit the move's identity.
Contained "return success;" line which meant that if there was nothing to 'defog', the entire move would fail, consequently denying the other components from ever happening. Changed to "return true;".
Borrowed Defog battle log attribution so it would actually print a message if it cleaned anything on the field. Before it did everything silently.
In exchange for removing original's -1 evasion (Defog copy), opted for "next hit is a crit" as it felt more in line with the pokémon and move's identity. Used "laserfocus" volatile to implement the addition to ensure working as intended based on existing move.
---ABILITIES---
Heart Aflame
Replaced invalid volatile which was causing anything referencing it to do nothing with a flag. (source.addVolatile("heartaflame1"); -> source.heartAflame = true;)
Disabled the ability spamming its activation after every KO. 1) it wasn't actually doing anything. 2) the buff it gives is a 1 time boost, not a repeated snowball event, based on the description json. Now only shows activation if the buff isn't already active.
Disabled the ability from activating if opponent has no more pokémon left. Before it would activate and then end the encounter.
Missing, as per description json:
1.3x SpA multiplier while ability is active. Implemented it.
Fire resistance while ability is active. Implemented it.
+1 to fire-type priority while ability is active. Implemented it.
-10% max HP / turn while ability is active. Implemented it.
Removed Mold Breaker-style ability ignore - wasn't mentioned in the description json as a component.
Switch-out tried to toggle a non-existing volatile. Changed to custom flag reset.
Changed displayed name from heartaflame to Heart Aflame.
Netherplate / Netherblazeedge
Original boosts Fire-type moves. Assume it was a placeholder. The fusions aren't fire-type nor have any noteworthy fire-type moves or affiliation. Changed boost to Ghost-type as per the fusion donor - better theme fit.
Changed "onModifyAtk(...)" to "onBasePower(...)". As coded it would only boost physical moves. Not intended as per description json.
Original had an awkward dmg calc interaction where it would ignore 25% of a defensive stat. Changed to an Intimidate-style stat drop on switch in, lowering opponent's sp.def for netherplate and def for netherblazeedge respectively.
Initially that's all the abilities did, but felt incomplete and underwhelming compared to other abilities for legendary fusions. Added:
Infiltrator behaviour
Ghost moves can hit Normal-type
Increase crit ratio when opponent gains a positive defensive stage boost
Felt on theme for the fusion and gives it a clear role and identity.
Replaced "ruined stat" logic code with direct stat drops and simpler move hooks.
! Original used identical num ID. Likely a copy/paste oversight as the two abilities are identical apart from the SpD and Def focus.
! Netherplate specifically used "onAnyModifySpd" which references speed, not special defense (SpD). No longer an issue with new switch in behaviour and code.
Spacetime Envoy
Original had Mold Breaker-style ability ignore only applied to Dragon-type moves. Changed to global as per description json.
Altered how it checks for move immunities by accounting for outside sources affecting move immunities as well. Original coding might've caused conflicts in such a scenario.
Fixed code where Dragon absorbtion would trigger on any target rather than solely the ability holder as intended. Now only the fusion absorbs dragon-type moves.
Fixed unspecified target boost. "this.boost({ spa: 1 })" -> this.boost({ spa: 1 }, target);
Removed "onAllyTryHitSide" block. Description json doesn't mention ally interactions, and new "onTryHit" block handles incoming Dragon absorbtion now.
Changed display name from Spacetimeenvoy to Spacetime Envoy.
---DESCRIPTIONS---
Updated en_us.json where needed to reflect all the above accurately.
