Pseudoscorpion¶
HardMode changes¶
HardMode being true does the following changes:
- In the pincer slash attack move, there's now a 6/10 chance for the enemy to do a fake slash animation before the real one. This will be will be indicated by jumping 2 times at the start of the move. If they do that, the DoDamage will have the sleep property as opposed to be poison
Move selection¶
3 moves are possible:
- A single target pincer slash attack
- Changes their position to
Undergroundby digging - A single target undergound strike attack
Move 3 is always (and only) used if position is Underground.
As for the other moves, the decision of which moves to use depends on the following odds:
| Move | Odds |
|---|---|
| 1 | 3/5 |
| 2 | 2/5 |
Move 1 - pincer slash attack¶
A single target pincer slash attack.
DoDamage calls¶
| # | Conditions | attacker | target | damageammount | property | overrides | block |
|---|---|---|---|---|---|---|---|
| 1 | Always happen | This enemy | playertargetID after GetSingleTarget |
2 | If hardmode is false, it's poison. If it's true, it has 6/10 chance to be sleep instead (4/10 chance to still be poison) | {BlockSoundOnly} | commandsuccess |
Logic sequence¶
- GetSingleTarget called
- This is where the 2 jumps may happen. It will if hardmode is true and a 6/10 RNG check passes (also makes the property of the Damage 1 call sleep). This is what happens 2 times if that is the case:
Jumpsound plays with 1.1 pitch and 0.8 volume- Jump called
- Yield for 0.33 seconds
- Yield all frames until
ongroundis true
- MoveTowards
playertargetentity+ (1.25, 0.0, -0.1). The camera moves towards this point too - Yield all frames until
forcemoveis done - animstate set to 100
Chewsound plays- Yield for 0.6 seconds
- If the 2 jumps happened earlier, a fake attack animation is done:
Select0sound plays at 0.6 volume- animstate set to 104
- Yield for 0.5 seconds
- animstate set to 100
- Yield for 0.6 seconds
- animstate set to 102
- DoDamage 1 call happens
Hit2sound plays- Yield for 0.75 seconds
Move 2 - Changes their position to Underground¶
Changes their position to Underground by digging. No damages are dealt.
Logic sequence¶
checkingdeadset to a new Dig call on this enemy- Yield all frames until
checkingdeadgoes to null (the Dig coroutine completed)
Move 3 - Undergound strike attack then change position to Ground¶
A single target undergound strike attack. position is set to Ground after.
DoDamage calls¶
| # | Conditions | attacker | target | damageammount | property | overrides | block |
|---|---|---|---|---|---|---|---|
| 1 | Always happen | This enemy | playertargetID after GetSingleTarget |
3 | Pierce1 | null | commandsuccess |
1: Enemy piercing damages are disabled so this property does nothing, see the CalculateBaseDamage documentation to learn more
Logic sequence¶
- GetSingleTarget called
checkingdeadis set to a new UndergroundStrike coroutine with 3 damage, this enemy, no properties without staying underground- Yield all frames until
checkingdeadgoes to null (the coroutine is done)
This is effectively what the coroutine does:
- Camera moves to look near
playerdata[playertargetID], but zoomed in Diggingsound plays on loop usingsounds[9]with 1.1 pitch and 0.75 volume- Over the course of 100.0 frames, this enemy moves to
playertargetentityposition + -0.25 in z - Yield for 0.25 seconds
sounds[9]stoppedDigPopsound plays- DoDamage 1 call happens
- y
spinset to 20.0 diggingset to false- scale reset to
startscale - animstate set to 103
DirtExplodeLightparticle plays at this enemy position- ShakeScreen with 0.15 ammount and 0.2 time
- Over the course of 50.0 frames, position moves to
playertargetentity+ 2.0 in x using a BeizierCurve3 with a ymax of 6.0 spinzeroed out- position set to
Ground - Yield for 0.25 seconds
checkingdeadset to null to signal DoAction that the coroutine completed