AAMP and One-Hit Obliterator: Difference between pages
(Difference between pages)
Jump to navigation
Jump to search
no edit summary
imported>BravelyPeculiar |
imported>Leoetlino No edit summary |
||
Line 1: | Line 1: | ||
== Infinite Attack Power == | |||
[https://gist.github.com/leoetlino/dc4148024537eec3008f0140b544fb8e Source] | |||
== | === Finite damage value === | ||
The One-Hit Obliterator doesn't actually deal "infinite" damage; its attack power is merely boosted to 99999 points: | |||
== | <source lang="cpp"> | ||
void Weapon::x() | |||
{ | |||
... | |||
float attackPower = this->getEffectiveAttackPower(nullptr); | |||
if ( dlc::isOneHitObliteratorActor(this, true) ) | |||
{ | |||
attackPower = 99999.0; | |||
... | |||
} | |||
... | |||
} | |||
</source> | |||
=== | === Checks === | ||
The game '''overrides the damage value''' if and only if<ref>0x7100736510</ref>: | |||
The | * 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'''<ref>0x7100736778</ref>: | |||
*[ | * The actor's profile must be "Weapon". | ||
*[https:// | * 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. | |||
[[File:PlateauFieldMapAreas.png|thumb|right]] | |||
The player is considered to have '''escaped the One-Hit Obliterator trial''' iff<ref>0x71006889D0</ref>: | |||
* ("Is on ground" checks that are irrelevant for the damage override check.) | |||
* The player's position is in none of the Plateau [[FieldMapArea.beco|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: [https://static.zeldamods.org/botw_150_AI_AI_PlayerNormal__calc.html 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 == | |||
{{empty section}} | |||
<references/> | |||
[[Category:Game mechanics]] |