Zombeetle¶
HardMode changes¶
HardMode being true does the following changes:
- The move usage odds changes to favor more the party wide dash move
- In the dash move, the amount of frames the entire dash takes changes to 25.0 from 33.0
- In the boulder throw move, the amount of frames the boulder takes to reach its targer changes to 41.0 from 54.0
Move selection¶
2 moves are possible:
- A party wide dash attack
- A single target boulder throw that has a secondary hit that targets the other player party members
The decision of which move to use are based on the following odds which changes based on if hardmode is true or not:
| Move | Odds when hardmode is false | Odds when hardmode is true |
|---|---|---|
| 1 | 69% | 59% |
| 2 | 31% | 41% |
Move 1 - Party wide dash¶
A party wide dash attack.
PartyDamage¶
| # | Conditions | caller | damage | property | block | jumpheight | spinammount | jumpevenonblock | overrides |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Always happen | This enemy | 4 | Flip1 | commandsuccess |
0.0 | Vector3.zero | false | null |
1: This property gets overriden to null in CalculateBaseDamage as the target is a player party member so it does nothing.
Logic sequence¶
- GetSingleTarget called (but it will have no impact on this move)
checkingdeadis set to a new BeetleDash coroutine with the following parameters (checkingdeadis set to null when completed):- enemyid: This enemy
- damage: 4
- animprepare: 100
- animdash: 23 (
Chase) - startp: startp
- speed: 33 (25 instead if hardmode is true)
- Yield all frames until
checkingdeadis null
This is what the coroutine effectively ends up doing:
playertargetIDset to -1- Camera moves slightly to the left
- MoveTowards (-0.5, 0.0, 0.0) at 2.0 multiplier
- Yield all frames until
forcemoveis done Charge3sound plays usingsounds[9]with 1.2 pitch- animstate set to 100
- ShakeSprite called with (0.25, 0.0, 0.0) intensity and 60.0 frametimer
- Over the course of 41.0 frames, this enemy moves 2.0 to the left via a lerp
- ShakeSprite called with 0.1 intensity and 40.0 frametimer
- Yield for 41.0 frames counted by framestep
sounds[9]stopped- animstate set to 23 (
Chase) trailset to trueFastWooshsound plays- Over the course of 34 frames (26 frames instead if hardmode is true), this enemy moves to (-15.0, 0.0, 0.0) via a lerp. On the first frame that the x position is less than -4.5, the following happens only once:
- ShakeScreen called with an ammount of (0.25, 0.0, 0.0) for 0.65 time with dontreset
HugeHitsound plays- PartyDamage 1 call happens
- position set to (15.0, 0.0, 0.0)
trailset to false- SetDefaultCamera called
- animstate set to 1 (
Walk) - Over the course of 61.0 frames, this enemy moves to startp via a lerp while having its animstate set to 1 (
Walk) spritelocal position reset to Vector3.zerocheckingdeadset to null which signals the caller that this coroutine completed
Move 2 - Boulder throw¶
A single target boulder throw that has a secondary hit that targets the other player party members.
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 |
4 | null | null | commandsuccess |
| 2 | Always happen for each other player party members than DoDamage 1's target whose hp is above 0 |
This enemy | The player party member | 2 | null | null | commandsuccess |
Logic sequence¶
- GetSingleTarget called (but it will have no impact on this move)
- MoveTowards (1.5, 0.0, -0.5) with a 2.0 multiplier using 1 (
Walk) as the walkstate and 101 as the stopstate - Camera moves to look near
forcetarget - Yield all frames until
forcemoveis done - ShakeSprite called with intensity 0.05 and 30.0 frametimer
Dig2sound plays- Yield for 0.5 seconds
- A new
Prefabs/Objects/CrackedRockGameObject is created without its MeshCollider and Fader at this enemy position + (-1.0, -2.0, -0.1) a scale of 0.5x and a z angle of 35.0 - animstate set to 102
DirtExplodeparticles played at thePrefabs/Objects/CrackedRockposition except for the y component which is 0.0DigPopsound plays with a pitch of 0.9- ShakeScreen called with an ammount of 0.1 and a time of 0.5
Toss9sound plays- Over the course of 21.0 frames, the
Prefabs/Objects/CrackedRockmoves to + 20.0 in y via a lerp and this enemy moves to + 1.5 in x via a lerp - animstate set to 23 (
Chase) - Over the course of 31.0 frames, the
Prefabs/Objects/CrackedRockmoves to 1.0 in y via a lerp. On the first frame after 22.5 frames:Toss7sound plays- ForceMove called to move this enemy to the
Prefabs/Objects/CrackedRockposition except for the y component where it's 0.0 with a framtime of 7.0 without changeanim
Damage0sound playsSpin10sound plays- Camera moves to look near
playertargetentity+ 1.0 in y - Over the course of 54.0 frames (41.0 frames instead if hardmode is true), the
Prefabs/Objects/CrackedRockmoves to + 1.0 in y via a BeizierCurve3 with a ymax of 7.0 and this enemy moves to + 2.0 in x via a BeizierCurve3 with a ymax of 3.0 - If there are more than 1 player party members, the ones other than
playertargetIDwill be slated for getting the secondary hit. For each of them, a copy of thePrefabs/Objects/CrackedRockis intstantiated with halved scale - A
Prefabs/Objects/CrackRockBreakis instantiated with same position and scale as thePrefabs/Objects/CrackedRock(this gets destroyed in 60.0 seconds via the CrackRockBreak component attached to it) Prefabs/Objects/CrackedRockis destroyedRockBreaksound plays- DoDamage 1 call happens
- animstate set to 0 (
Idle) - If the secondary hit was slated to occur to the other player party members:
playertargetIDset to -1- Over the course of ~47.95652174 frames (~36.65217391 frames instead if hardmode is true), each
Prefabs/Objects/CrackedRockmoves to their matching player party memeber position + 1.0 in y via a BeizierCurve3 with a ymax of 5.0 RockBreaksound plays with 1.1 pitch and 0.75 volume- For each player party members slated to receive the secondary hit:
- Their matching
Prefabs/Objects/CrackedRockgets destroyed - If their
hpis above 0, DoDamage 2 call happens with them
- Their matching
- Yield for 0.5 seconds