One-Hit Obliterator: Difference between revisions
imported>Leoetlino No edit summary |
imported>Leoetlino m (title consistency) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Infinite | == Infinite attack power == | ||
[https://gist.github.com/leoetlino/dc4148024537eec3008f0140b544fb8e Source] | [https://gist.github.com/leoetlino/dc4148024537eec3008f0140b544fb8e Source] | ||
Line 32: | Line 32: | ||
* The player must be in a shrine '''or''' must not have escaped the trial. | * 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 weapon must not have run out of "chemical" power. | ||
[[File:PlateauFieldMapAreas.png|thumb|right]] | |||
The player is considered to have '''escaped the One-Hit Obliterator trial''' iff<ref>0x71006889D0</ref>: | The player is considered to have '''escaped the One-Hit Obliterator trial''' iff<ref>0x71006889D0</ref>: | ||
Line 39: | Line 41: | ||
**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) | **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. | * '''or''' the player's Y coordinate is strictly lower than 150.0. | ||
== "A voice calls to you" trigger == | |||
Source: [https://static.zeldamods.org/botw_150_AI_AI_PlayerNormal__calc.html ai::PlayerNormal::calc] | |||
[[File:PlateauOneHitObliteratorCoordsCheck.png|thumb|right]] | |||
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 == | |||
{{empty section}} | |||
<references/> | <references/> | ||
[[Category:Game mechanics]] | [[Category:Game mechanics]] |
Latest revision as of 14:49, 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.
"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
This section is empty. You can help by adding to it. |