Skip to content

Commit c6397e6

Browse files
committed
Implement terror drone jumping into vehicles.
1 parent 6693af0 commit c6397e6

3 files changed

Lines changed: 76 additions & 6 deletions

File tree

mods/ra2/rules/defaults.yaml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -563,6 +563,7 @@
563563
Inherits@4: ^ChronoDisable
564564
Inherits@5: ^CrateStatModifiers
565565
Inherits@6: ^DamagedByRadiation
566+
Inherits@7: ^AffectedByTerrorDrone
566567
Health:
567568
OwnerLostAction:
568569
Action: Kill
@@ -648,6 +649,7 @@
648649
Categories: Infantry
649650

650651
^Parachutable:
652+
Inherits: ^ParachutableAffectedByTerrorDrone
651653
WithSpriteBody@Parachute:
652654
Name: parachute
653655
Sequence: paradrop
@@ -681,6 +683,7 @@
681683
Condition: parachute
682684

683685
^ParachutableVehicle:
686+
Inherits: ^ParachutableAffectedByTerrorDrone
684687
Parachutable:
685688
FallRate: 26
686689
KilledOnImpassableTerrain: true
@@ -700,6 +703,15 @@
700703
Targetable@airborne:
701704
TargetTypes: Air
702705
RequiresCondition: parachute
706+
Targetable@Parasiteable:
707+
TargetTypes: DroneParasiteable
708+
RequiresCondition: !parachute && !infected
709+
Targetable@byTerrorDrone:
710+
TargetTypes: ValidForTerrorDrone
711+
RequiresCondition: !parachute
712+
Targetable@InfectedByTerrorDrone:
713+
TargetTypes: TerrorDroned
714+
RequiresCondition: !parachute && infected
703715
ExternalCondition@PARACHUTE:
704716
Condition: parachute
705717

@@ -820,6 +832,7 @@
820832
Inherits@4: ^ChronoDisable
821833
Inherits@5: ^CrateStatModifiers
822834
Inherits@6: ^ParachutableVehicle
835+
Inherits@7: ^AffectedByTerrorDrone
823836
OwnerLostAction:
824837
Action: Kill
825838
DeathTypes: BulletDeath
@@ -1225,3 +1238,32 @@
12251238
MapEditorData:
12261239
Categories: System
12271240
Interactable:
1241+
1242+
^AffectedByTerrorDrone:
1243+
Targetable@Parasiteable:
1244+
TargetTypes: DroneParasiteable
1245+
RequiresCondition: !infected
1246+
Targetable@byTerrorDrone:
1247+
TargetTypes: ValidForTerrorDrone
1248+
Targetable@InfectedByTerrorDrone:
1249+
TargetTypes: TerrorDroned
1250+
RequiresCondition: infected
1251+
Infectable:
1252+
RemoveInfectorDamageTypes: DropTerrorDrone
1253+
KillInfectorDamageTypes: KillTerrorDrone
1254+
BeingInfectedCondition: being-infected
1255+
InfectedCondition: infected
1256+
SpeedMultiplier@Infected:
1257+
Modifier: 0
1258+
RequiresCondition: being-infected
1259+
1260+
^ParachutableAffectedByTerrorDrone:
1261+
Targetable@Parasiteable:
1262+
TargetTypes: DroneParasiteable
1263+
RequiresCondition: !parachute && !infected
1264+
Targetable@byTerrorDrone:
1265+
TargetTypes: ValidForTerrorDrone
1266+
RequiresCondition: !parachute
1267+
Targetable@InfectedByTerrorDrone:
1268+
TargetTypes: TerrorDroned
1269+
RequiresCondition: !parachute && infected

mods/ra2/rules/soviet-vehicles.yaml

Lines changed: 12 additions & 5 deletions
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: !jousting
137+
WithFacingSpriteBody:
138+
Sequence: shoot
139+
RequiresCondition: jousting
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+
JoustRange: 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

Lines changed: 22 additions & 1 deletion
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)