DeadLanderG¶
BattleControl.GetEXP special logic¶
This enemy is part of the set of the enemies that yields a different clamping on the rewarded amount of exp given their scaled exp field when they die (processed by CheckDead).
If all of these conditions are fufilled, the rewarded amount of exp is clamped to 20 instead of 15 like most other enemies:
- flags 613 is false (RUIGEE is inactive)
partylevelis less than 27 (not yet at max rank)- Flags 166 is false (not during an EX mode B.O.S.S session)
HardMode changes¶
HardMode being true does the following changes:
- In the projectiles throw move, the amount of hits changes to 4 from 3
- In the projectiles throw move, the speed of each Projectile calls changes to be random between 29.0 and 37.0 instead of being random between 34.0 and 42.0
- In the laser attack move, the second to last yield time before the DoDamage call changes to 0.75 seconds from 0.85 seconds (also changes the frametimer of the ShakeSprite call at the start of the move to be 45.0 instead of 51.0). Note that there is still a 0.1 seconds yield after that is right before the DoDamage call
Move selection¶
3 moves are possible:
- A single target claw slash attack
- A multiple targets projectiles throw that may inflict Sleep
- A single target laser attack that may inflict Sleep
The decision of which moves to use is based on the following odds:
| Move | Odds |
|---|---|
| 1 | 3/7 |
| 2 | 2/7 |
| 3 | 2/7 |
Move 1 - Claw slash attack¶
A single target claw slash attack.
DoDamage calls¶
| # | Conditions | attacker | target | damageammount | property | overrides | block |
|---|---|---|---|---|---|---|---|
| 1 | Always happen | This enemy | playertargetID after GetSingleTarget |
4 | Pierce1 | null | commandsuccess |
1: Enemy piercing damages are disabled so this property does nothing, see the CalculateBaseDamage documentation to learn more
Logic sequence¶
DLGammaStepsound plays on loop usingsounds[9]- GetSingleTarget called
- Camera moves to look near
playerdata[playertargetID] - MoveTowards
playertargetentityposition + (3.75, 0.0, -0.15) with a 2.0 multiplier using 1 (Walk) as walkstate and 100 as stopstate - Yield until
forcemoveis done flipset to falsesounds[9]stoppedDLGammaClaw1sound plays- Yield for a random interval between 0.65 and 0.85 seconds
- x position decreased by -0.25
DLGammaClaw2sound plays- animstate set to 101
- DoDamage 1 call happens
- Yield for 0.5 seconds
Move 2 - Projectiles throw¶
A multiple targets projectiles throw that may inflict Sleep.
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 3 times (4 instead if hardmode is true), but each call requires that at least 1 player party member alive (hp above 0 and not eatenby) |
2 | Sleep | This enemy | playertargetID |
A new sprite object rooted using the projectilepsrites[5] sprite (gray spiky projectile) positioned at this enemy + (0.25, 1.25, -0.1) + a random vector from (-2.0, -0.5, 0.0) to (2.0, 0.5, 0.0) with a color of FFF8A7 (light yellow) |
Random between 34.0 and 42.0 (between 29.0 and 37.0 instead if hardmode is true) | Random between 4.0 and 6.0 | keepcolor |
null | null | null | (0.0, 0.0, 15.0) | false |
Logic sequence¶
DLGammaChargesound plays- animstate set to 104
- The amount of hits is determined. It's 3 (4 instead if hardmode is true). A new SpriteRenderer array is created with this amount as the length to hold the projectiles objects
- Camera moved to look near the midpoint between this enemy and
partymiddle - ShakeSprite called with 0.1 intensity and 30.0 frametimer
- Yield for 0.5 seconds
- For each hit to do:
- If there's at least 1 player party member alive (
hpabove 0 and not eatenby):DLGammaSporesound plays- A random number between 0.45 and 0.75 is generated
- GetSingleTarget called
- The projectile element is set to a new sprite object rooted using the
projectilepsrites[5]sprite (gray spiky projectile) positioned at this enemy + (0.25, 1.25, -0.1) + a random vector from (-2.0, -0.5, 0.0) to (2.0, 0.5, 0.0) - DeathSmoke particles plays at the projectile element with 0.5x size
- The projectile element's color is set to FFF8A7 (light yellow)
- Projectile 1 call happens
rotaterscale set to (1.2, 0.8, 1.0)- GradualScale called on
rotaterto change the scale to the value it had before this action with a frametime of 45.0 * the random number generated earlier without destroy - Yield for ammount of seconds equal to the random number generated earlier
- If there's at least 1 player party member alive (
- animstate set to 0 (
Idle) - Yield all frames until all projectiles object are null (all Projectile 1 calls completed)
Move 3 - Laser attack¶
A single target laser attack that may inflict Sleep.
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 | Sleep | null | commandsuccess |
Logic sequence¶
DLGammaCharge2sound plays- ShakeSprite called with 0.1 intensity and 51.0 frametimer (45.0 instead if hardmode is true)
- GetSingleTarget called
- Camera moves to look near the midpoint between this enemy and
playertargetentity - animstate set to 102
- A new
Prefabs/Particles/ChargingGameObject is instantiated rooted atspriteposition + (-0.8, 1.45, -0.1) - Yield for 0.85 seconds (0.75 seconds instead if hardmode is true)
DLGammaLasersound plays- The
Prefabs/Particles/Chargingmoves offscreen at 999.0 in y then destroyed in 5.0 seconds - animstate set to 103
- A new LightingBolt coroutine starts which will use a
Prefabs/Particles/LightingBoltto animate a lighting using its TrailRenderer. The coroutine only contains visual logic that doesn't affect the timing of the block so its logic will be omitted - Yield for 0.1 seconds
- DoDamage 1 call happens
- Yield for 0.5 seconds