Bandit
¶
HardMode changes¶
HardMode being true does the following changes:
- In the projectile throw, the projectile takes 1 / 0.045 frames (~22.22222223 frames) for the projectile to move to its target instead of 1 / 0.025 frames (40.0 frames)
Move selection¶
3 moves are possible:
- A single target tackle attack that may steal an item
- A single target projectile throw
- Flees the battle
Move 3 is only used if this enemy has an holditem
and it is the only one that will be used under this condition.
As for the other moves, the decision of which moves to use is based on the following odds:
Move | Odds |
---|---|
1 | 4/10 |
2 | 6/10 |
Move 1 - Tackle attack with potential item steal¶
A single target tackle attack that may steal an item.
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
- animstate set to 101
- Yield for 0.1 seconds
Gleam
particles played withGleam
sound at this enemy position + (0.25, 2.0, -0.1) with an alivetime of 0.5- Yield for 0.5 seconds
trail
set to true- animstate set to 1 (
Walk
) Scuttle
sound plays on loop usingsounds[9]
- Over the course of 25.0 frames this enemy moves to
playertargetentity
position via a BeizierCurve3 with a ymax of the midpoint between startp andplayertargetentity
+ -3.0 in z - Once the 25.0 frames are done:
- Over the course of 25.0 frames this enemy moves to startp via a BeizierCurve3 with a ymax of the midpoint between startp and
playertargetentity
+ 3.0 in z sounds[9]
is stopped- position set to startp
flip
set to falsetrail
set to false
Move 2 - Projectile throw¶
A single target projectile 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
Projectile calls¶
# | Conditions | damage | property | attacker | playertarget | obj | speed | height | extraargs | destroyparticle | audioonhit | audiomoving | spin | nosound |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Always happen | 2 | null | This enemy | playertargetID after GetSingleTarget |
A new GameObject named proj rooted with a SpriteRenderer using the projectilepsrites[3] sprite (a triwing projectile) |
0.025 (40.0 frames of movement) if hardmode is false, 0.045 if it's true (~22.222223 frames of movement) | 0.0 | null | null | null | null | (0.0, 0.0, 20.0) | false |
Logic sequence¶
- GetSingleTarget called
- Camera moves to look near the midpoint between this enemy and
playertargetentity
- A new GameObject named
proj
is created rooted with a SpriteRenderer - animstate set to 100
- Yield for 0.5 seconds
proj
position set to this enemy + (0.75, 2.0, -0.1)proj
sprite set toprojectilepsrites[3]
sprite (a triwing projectile)spin3
sound plays on loop usingsounds[9]
Toss
sound plays- Projectile 1 call happens
- Yield all frames until
proj
is null (it was destroyed meaning Projectile is done) sounds[9]
stopped- Yield for 0.6 seconds
Move 3 - Flee¶
Flees the battle, no damages are dealt.
Logic sequence¶
tryenemyheal
set to a new EnemyFlee coroutine with walkstate 27 (ItemWalk
) with afterimage on this enemy- Yield all frames until
tryenemyheal
goes to null (the coroutine completed) - The local fled is set to true indicating a different post action will be done