Skip to content

Commit 6d942cd

Browse files
committed
Implement terror drone jumping into vehicles.
1 parent 396e1b6 commit 6d942cd

File tree

3 files changed

+76
-6
lines changed

3 files changed

+76
-6
lines changed

mods/ra2/rules/defaults.yaml

+42
Original file line numberDiff line numberDiff line change
@@ -564,6 +564,7 @@
564564
Inherits@4: ^ChronoDisable
565565
Inherits@5: ^CrateStatModifiers
566566
Inherits@6: ^DamagedByRadiation
567+
Inherits@7: ^AffectedByTerrorDrone
567568
Health:
568569
OwnerLostAction:
569570
Action: Kill
@@ -649,6 +650,7 @@
649650
Categories: Infantry
650651

651652
^Parachutable:
653+
Inherits: ^ParachutableAffectedByTerrorDrone
652654
WithSpriteBody@Parachute:
653655
Name: parachute
654656
Sequence: paradrop
@@ -682,6 +684,7 @@
682684
Condition: parachute
683685

684686
^ParachutableVehicle:
687+
Inherits: ^ParachutableAffectedByTerrorDrone
685688
Parachutable:
686689
FallRate: 26
687690
KilledOnImpassableTerrain: true
@@ -701,6 +704,15 @@
701704
Targetable@airborne:
702705
TargetTypes: Air
703706
RequiresCondition: parachute
707+
Targetable@Parasiteable:
708+
TargetTypes: DroneParasiteable
709+
RequiresCondition: !parachute && !infected
710+
Targetable@byTerrorDrone:
711+
TargetTypes: ValidForTerrorDrone
712+
RequiresCondition: !parachute
713+
Targetable@InfectedByTerrorDrone:
714+
TargetTypes: TerrorDroned
715+
RequiresCondition: !parachute && infected
704716
ExternalCondition@PARACHUTE:
705717
Condition: parachute
706718

@@ -821,6 +833,7 @@
821833
Inherits@4: ^ChronoDisable
822834
Inherits@5: ^CrateStatModifiers
823835
Inherits@6: ^ParachutableVehicle
836+
Inherits@7: ^AffectedByTerrorDrone
824837
OwnerLostAction:
825838
Action: Kill
826839
DeathTypes: BulletDeath
@@ -1230,3 +1243,32 @@
12301243
MapEditorData:
12311244
Categories: System
12321245
Interactable:
1246+
1247+
^AffectedByTerrorDrone:
1248+
Targetable@Parasiteable:
1249+
TargetTypes: DroneParasiteable
1250+
RequiresCondition: !infected
1251+
Targetable@byTerrorDrone:
1252+
TargetTypes: ValidForTerrorDrone
1253+
Targetable@InfectedByTerrorDrone:
1254+
TargetTypes: TerrorDroned
1255+
RequiresCondition: infected
1256+
Infectable:
1257+
RemoveInfectorDamageTypes: DropTerrorDrone
1258+
KillInfectorDamageTypes: KillTerrorDrone
1259+
BeingInfectedCondition: being-infected
1260+
InfectedCondition: infected
1261+
SpeedMultiplier@Infected:
1262+
Modifier: 0
1263+
RequiresCondition: being-infected
1264+
1265+
^ParachutableAffectedByTerrorDrone:
1266+
Targetable@Parasiteable:
1267+
TargetTypes: DroneParasiteable
1268+
RequiresCondition: !parachute && !infected
1269+
Targetable@byTerrorDrone:
1270+
TargetTypes: ValidForTerrorDrone
1271+
RequiresCondition: !parachute
1272+
Targetable@InfectedByTerrorDrone:
1273+
TargetTypes: TerrorDroned
1274+
RequiresCondition: !parachute && infected

mods/ra2/rules/soviet-vehicles.yaml

+12-5
Original file line numberDiff line numberDiff line change
@@ -132,17 +132,24 @@ dron:
132132
-RenderVoxels:
133133
WithInfantryBody:
134134
StandSequences: stand
135-
DefaultAttackSequence: shoot
135+
DefaultAttackSequence: jump
136+
RequiresCondition: !jumping
137+
WithFacingSpriteBody:
138+
Sequence: shoot
139+
RequiresCondition: jumping
136140
Armament:
137141
Weapon: DroneJump
138-
ReloadingCondition: attack-cooldown
139-
AttackLeap:
142+
AttackInfect:
140143
Voice: Attack
141-
PauseOnCondition: attacking || attack-cooldown
144+
Damage: 25
145+
DamageInterval: 20
146+
DamageTypes: DefaultDeath, BulletDeath, DroneSurvive
147+
SurviveHostDamageTypes: DroneSurvive
148+
JumpRange: 1c768
142149
AutoTarget:
143150
InitialStance: AttackAnything
144151
AutoTargetPriority@DEFAULT:
145-
ValidTargets: Infantry
152+
ValidTargets: DroneParasiteable
146153
Voiced:
147154
VoiceSet: TerrorDroneVoice
148155
HitShape:

mods/ra2/weapons/melee.yaml

+22-1
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,29 @@ DogJaw:
2323
DamageTypes: BulletDeath
2424

2525
DroneJump:
26-
Inherits: DogJaw
26+
ValidTargets: DroneParasiteable
27+
ReloadDelay: 10
28+
Range: 3c0
2729
Report: vteratta.wav
30+
Projectile: InstantHit
31+
Warhead@1Dam: SpreadDamage
32+
Spread: 64
33+
Falloff: 100, 0
34+
Damage: 10000
35+
ValidTargets: ValidForTerrorDrone
36+
Versus:
37+
None: 100
38+
Flak: 100
39+
Plate: 100
40+
Light: 0
41+
Medium: 0
42+
Heavy: 0
43+
Wood: 0
44+
Steel: 0
45+
Concrete: 0
46+
Drone: 0
47+
Rocket: 0
48+
DamageTypes: AltBulletDeath, DefaultDeath, DroneSurvive
2849

2950
AlligatorBite:
3051
ReloadDelay: 30

0 commit comments

Comments
 (0)