One-Hit Obliterator
Jump to navigation
Jump to search
Infinite Attack Power
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.