One-Hit Obliterator: Difference between revisions
Jump to navigation
Jump to search
imported>Leoetlino (Created page with "== Infinite Attack Power == [https://gist.github.com/leoetlino/dc4148024537eec3008f0140b544fb8e Source] === Finite damage value === The One-Hit Obliterator doesn't actually...") |
imported>Leoetlino No edit summary |
||
Line 40: | Line 40: | ||
* '''or''' the player's Y coordinate is strictly lower than 150.0. | * '''or''' the player's Y coordinate is strictly lower than 150.0. | ||
<references/> | |||
[[Category:Game mechanics]] | [[Category:Game mechanics]] |
Revision as of 14:17, 7 April 2019
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.