One-Hit Obliterator

Revision as of 14:49, 7 April 2019 by imported>Leoetlino (title consistency)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Infinite attack power

Source

Finite damage value

The One-Hit Obliterator doesn't actually deal "infinite" damage; its attack power is merely boosted to 99999 points:

void Weapon::x()
{
  ...
  float attackPower = this->getEffectiveAttackPower(nullptr);
  if ( dlc::isOneHitObliteratorActor(this, true) )
  {
    attackPower = 99999.0;
    ...
  }
  ...
}

Checks

The game overrides the damage value if and only if[1]:

  • The weapon actor name is Weapon_Sword_502 (One-Hit Obliterator).
  • The One-Hit Obliterator is in an "active" state.

For the weapon to be considered active[2]:

  • The actor's profile must be "Weapon".
  • The player must be currently playing the One-Hit Obliterator quest (BalladOfHeroes_Step02 must be set and BalladOfHeroes_Step03 must be unset).
  • The player must be in a shrine or must not have escaped the trial.
  • The weapon must not have run out of "chemical" power.

The player is considered to have escaped the One-Hit Obliterator trial iff[3]:

  • ("Is on ground" checks that are irrelevant for the damage override check.)
  • The player's position is in none of the Plateau field map areas (areas 46, 47, 50)
    • The check fails if all of the following coordinates are invalid: (x, z), (x+5.0, z), (x-5.0, z), (x, z+5.0), (x, z-5.0)
  • or the player's Y coordinate is strictly lower than 150.0.

"A voice calls to you" trigger

Source: ai::PlayerNormal::calc

Every frame, the game checks whether:

  • add-on content is enabled and version >= 0x300
  • and the player is playing the One-Hit Obliterator quest
  • and there is no active event
  • and the player is not in a shrine

If so, PlayerNormal then checks whether Link has escaped the One-Hit Obliterator quest (see above).

If he has, and if he is in a grounded state, the Demo605_0<Demo605_0> event is called.

If his X coordinate is < -1900.0 or > 0.0, or his Z coordinate is < 1100.0 or > 3000.0, the player is considered to have escaped the quest and the Demo605_0<Demo605_1> event is called to rectify the situation.

Champion powers and blood moons

Additionally, in that state, HeroSoulProhibition and BloodyMoonProhibition are forcefully set every frame.

Fairy/Mipha's Grace

Fairies and Mipha's Grace will not work as long as Weapon_Sword_502 is equipped.

LumberjackTree

  1. 0x7100736510
  2. 0x7100736778
  3. 0x71006889D0