Mushroom
¶
randomposafter set to true¶
This enemy action always sets the randomposafter local to true. This means that in post-action when no enemy fled, this enemy's position will be randomly determined between Ground
and Flying
.
HardMode changes¶
HardMode being true does the following changes:
- The move selection odds changes to be uniform odds to use any moves instead of being biased towards the aerial spin attack
Move selection¶
2 moves are possible:
- A single target aerial spin attack
- A single target poison bubble throw
The decision of which move to use depends on odds, but the odds changes if hardmode is true. Here are the odds in either situations:
Move | Odds when hardmode is false | Odds when hardmode is true |
---|---|---|
1 | 67% | 33% |
2 | 50% | 50% |
Move 1 - Aerial spin¶
A single target aerial spin attack
DoDamage calls¶
# | Conditions | attacker | target | damageammount | property | overrides | block |
---|---|---|---|---|---|---|---|
1 | Always happen | This enemy | playertargetID after GetSingleTarget |
2 | null | null | commandsuccess |
Logic sequence¶
- GetSingleTarget called
Fly
sound played on loop usingsounds[8]
with 0.5 pitch- Camera moves to look near
playerdata[playertargetID]
- position changes to
Flying
height
set to 0.125Idlef
animation clip plays onanim
flyinganim
set to true- SetAnimForce called
- Over the course of a maximum of 60.0 frames, this enemy moves to
playerdata[playertargetID]
position + (3.0, 3.25, 0.3333334) via lerp with a factor of 0.05 the game's frametime. This stops on the first frame this enemy is at a distance of 0.3 or below from the target position. Before each frame yield, theIdlef
animation clip plays onanim
- x and z angles of
sprite
set to 0.0 - animstate set to 101
Woosh2
sound playssounds[8]
stopped- Yield all frames until this enemy y position reaches
playerdata[playertargetID]
's y position + 2.15 or below. On each frame, this enemy y position decreases by 0.05 the game's frametime - animstate set to 100
- y
spin
set to 25.0 Spin
sound plays on loop usingsounds[9]
at 0.8 pitch and 0.6 volume- Yield all frames until this enemy x position reaches
playerdata[playertargetID]
's x position - 2.3 or below. On each frame, this enemy moves toplayerdata[playertargetID]
position + (2.0, 0.4, 0.0) via a lerp with a factor of 0.05 of the game's frametime. On the first frame this enemy x position becomes lower thanplayerdata[playertargetID]
x position - 0.1, DoDamage 1 call happens sounds[9]
stopsheight
set to 2.0- Yield for 0.1 seconds
sprite
angles reset to Vector3.zero
Move 2 - Poison bubble throw¶
A single target poison bubble throw
nonphyscal
set to true¶
This move always sets nonphyscal
to true which affects the effects of the FrostBite
, SpikeBod
and PoisonTouch
medal if equipped on the target.
DoDamage calls¶
# | Conditions | attacker | target | damageammount | property | overrides | block |
---|---|---|---|---|---|---|---|
1 | Always happen | This enemy | playertargetID after GetSingleTarget |
2 | Poison | null | commandsuccess |
Logic sequence¶
- GetSingleTarget called
- Yield all frames until
height
becomes 0.1 or below. On each frame:- animstate set to 3 (
Fall
) height
decreases by 0.07 * the game's frametime
- animstate set to 3 (
- position changed to
Ground
- Camera moves to look at this enemy, but zoomed in
height
set to 0.0- animstate set to 102
Charge
sound plays with 0.8 pitch- Yield for 1.25 seconds
- animstate set to 104
Prefabs/Objects/PoisonBubble
instantiated at this enemy position + 2.0 in y- SeDefaultCamera called
Blosh
sound playsWub
sound plays on loop usingsounds[9]
with 0.7 pitch- Over the course of 60.0 frames the
Prefabs/Objects/PoisonBubble
moves toplayerdata[playertargetID]
position + 1.0 in y via a BeizierCurve3 with a ymax of 5.0 sounds[9]
stoppedBubbleBurst
sound playsPoisonEffect
particles plays at theplayertargetentity
position- DoDamage 1 call happens
Prefabs/Objects/PoisonBubble
destroyed- Yield for 0.75 seconds
- Yield for 0.1 seconds
sprite
angles reset to Vector3.zero