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
 Flysound played on loop usingsounds[8]with 0.5 pitch- Camera moves to look near 
playerdata[playertargetID] - position changes to 
Flying heightset to 0.125Idlefanimation clip plays onanimflyinganimset 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, theIdlefanimation clip plays onanim - x and z angles of 
spriteset to 0.0 - animstate set to 101
 Woosh2sound 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 
spinset to 25.0 Spinsound 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]stopsheightset to 2.0- Yield for 0.1 seconds
 spriteangles 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 
heightbecomes 0.1 or below. On each frame:- animstate set to 3 (
Fall) heightdecreases 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
 heightset to 0.0- animstate set to 102
 Chargesound plays with 0.8 pitch- Yield for 1.25 seconds
 - animstate set to 104
 Prefabs/Objects/PoisonBubbleinstantiated at this enemy position + 2.0 in y- SeDefaultCamera called
 Bloshsound playsWubsound plays on loop usingsounds[9]with 0.7 pitch- Over the course of 60.0 frames the 
Prefabs/Objects/PoisonBubblemoves toplayerdata[playertargetID]position + 1.0 in y via a BeizierCurve3 with a ymax of 5.0 sounds[9]stoppedBubbleBurstsound playsPoisonEffectparticles plays at theplayertargetentityposition- DoDamage 1 call happens
 Prefabs/Objects/PoisonBubbledestroyed- Yield for 0.75 seconds
 - Yield for 0.1 seconds
 spriteangles reset to Vector3.zero