Printable Version of Topic

Click here to view this topic in its original format

SWR Productions Forum _ Rise of the Reds _ Make Pandora Protocol Replace All Tear Gas With Nerve Gas

Posted by: Jakato 7 Feb 2018, 17:49

I've gone through the .ini files and I can't work out how the Pandora Protocol swaps the Tear Gas strike with the Nerve Gas strike. I can't find the point in the .ini files where the abilities/commands are swapped.

I am also not 100% sure how the Nerve Gas weapon works. As far as I can work out, the bomber swoops in and rapidly fires a weapon that shoots out the bombs (which are set to randomly scatter), which explode as soon as they spawn and release nerve gas. The nerve gas bombs attack in several different ways at once. I think there is a "pilot kill" attack, a "anti-infantry" attack and a "surrender" attack (like the flashbang one).

What I don't get is where all these attacks are specified. I'd need to create a custom mortar pit tear-gas attack but I don't even understand how the existing tear gas attack works.

I'd appreciate help from the devs/testers/anyone who gets what is going on.

P.S. I realize this would hilariously break the game and cause a disaster if a stealth unit was detected near my units. Also the build up of dead units would make the game lag. Even so, I really want to see the mayhem.

Posted by: Hanfield 7 Feb 2018, 18:51

Pandora replaces Tear Gas with Nerve Gas via UpgradeOCL in the OCLSpecialPower in the RegionCommand INI file. The Nerve Gas itself fires two weapons: one kills infantry, the other fires two pilot cleaning weapons - one for either instantly killing bike logic units or making them spawn an unmanned version of themselves, the other spawns an object for actually clearing vehicles via KILL_PILOT.

Posted by: Jakato 7 Feb 2018, 20:54

I'm guessing this bit is the one that swaps the tear gas strike for the nerve gas strike:

CODE
Behavior           = OCLSpecialPower ModuleTag_GenPower04
    SpecialPowerTemplate = SuperweaponEuropeTearGasStrike
    UpgradeOCL           = SCIENCE_NerveGasStrike SUPERWEAPON_EUROPE_NERVEGAS_STRIKE
    OCL                  = SUPERWEAPON_EUROPE_TEARGAS_STRIKE
    ReferenceObject      = EuropeTearGasDecalPreviewObject
    CreateLocation       = CREATE_AT_LOCATION
  End


It seems that in the Research Facility ini it is set up to grant the "science" SCIENCE_NerveGasStrike when the Pandora protocol is complete. I'm guessing that SCIENCE_NerveGasStrike is a condition for the ability swap, based on the line: "UpgradeOCL = SCIENCE_NerveGasStrike SUPERWEAPON_EUROPE_NERVEGAS_STRIKE".

So in theory, I can define a nerve gas mortar attack and tell the mortar to switch to it if SCIENCE_NerveGasStrike is made available (once the Pandora Protocol is selected). However, I can't find the line that tells the mortar pit to enable tear gas rounds when the Tear Gas Rounds upgrade is purchased. Are the tear gas mortar rounds set up somewhere else?

Also I'm guessing I'll have to define a new weapon for nerve gas mortar rounds.

Posted by: Hanfield 7 Feb 2018, 22:23

There can only be 3 weapons, and all of the pits' weapons are occupied. The tear gas weapon is present by default, but the button to switch weapons is locked behind the upgrade. The tear gas is triggered by a weapon that is fired when the projectile dies (by collision). You'll need to make a new FireWeaponWhenDead module in the tear gas projectile weapon object which is triggered by Pandora, whilst editing the existing one to conflict with Pandora so that it's supplanted by the nerve gas, and make the weapon just fire OCL_NerveGasCloud - that should work :8

Posted by: ZunZero97 8 Feb 2018, 1:42

replace all means replace the output from mortar pits, pioneers?
could be OP, because to Russia could be unconteareable, spam pioneer with nerve gas against Sentinels is too much. And of course with some factions.

Posted by: Jakato 8 Feb 2018, 2:33

Thank you Hanfield! I got it to work by copying the code that makes the Han gunship use a different weapon when Black Napalm is unlocked. Now the Pandora upgrade replaces the mortar pit smoke shell with a tear gas shell.

Posted by: Hanfield 8 Feb 2018, 12:57

QUOTE (ZunZero97 @ 8 Feb 2018, 2:42) *
replace all means replace the output from mortar pits, pioneers?
could be OP, because to Russia could be unconteareable, spam pioneer with nerve gas against Sentinels is too much. And of course with some factions.

You should read instead of typing first, you know

Posted by: Jakato 8 Feb 2018, 15:18

I'm experimenting with giving Claymores a nerve gas attack (along with the normal shell damage) when the Pandora Protocol is researched. I figure Claymores will rarely be needed for a danger close barrage and they are fired manually so there's little risk of killing your own units.

Posted by: rey 8 Feb 2018, 15:54

interesting experiments, please continue to describe new variants, and maybe ini share would be interesting.

Posted by: RedDeadSmeg 8 Feb 2018, 17:45

QUOTE (Jakato @ 8 Feb 2018, 14:18) *
I'm experimenting with giving Claymores a nerve gas attack (along with the normal shell damage) when the Pandora Protocol is researched. I figure Claymores will rarely be needed for a danger close barrage and they are fired manually so there's little risk of killing your own units.


That's a pretty solid idea, it would certainly make the Claymore more appealing.

Posted by: ZunZero97 9 Feb 2018, 1:28

QUOTE (Hanfield @ 8 Feb 2018, 7:57) *
You should read instead of typing first, you know

yes ive missed all comments dry.gif

Posted by: Jakato 9 Feb 2018, 11:01

I tried two things for when Pandora Protocol is active:

1. Claymore shells release nerve gas when they hit
2. Claymore shells release a emp burst when they are hit (the shells have the same effect as the Han EMP Bomb)

(1) seems better. The nerve gas interferes with enemy attempts to fight back straight away. When you bombard a base perimeter you leave a wall of nerve gas that blocks enemy forces.

Even though the Claymores are more micro intensive than the nerve gas strike, you can split up the Claymore's fire to block off the gaps between buildings with nerve gas.

One thing with the nerve gas is it makes following up a Claymore barrage with a assault force way more dangerous. I've lost many tanks that charged too close to the buildings I'd just shelled.

All in all, the Claymore Nerve Gas shells are slightly helpful but don't seem like a massive game changer. Although since I'm a PvE player I'm not too worried about weapons that completely change the game.

If you wonder what was wrong with the EMP bursts: They weren't as good as the nerve gas at making it hard for the enemy to retaliate. Shutting down factories and defenses temporarily didn't slow down the enemy as much. And anyway, the EMP doesn't quite seem fitting for the Pandora protocol, if you ask me.

Since I'm stuck on 1.85 (since 1.86 doesn't work), there's no point in providing my .ini files. If someone with 1.87 wants to adapt my stuff, I can tell them what they need to change.

Posted by: Zeke 9 Feb 2018, 13:41

Next make the Grand Mortar fire Pandora shells

Posted by: Jakato 9 Feb 2018, 14:33

QUOTE (Zeke @ 9 Feb 2018, 14:41) *
Next make the Grand Mortar fire Pandora shells


AFAIK the Grand Mortar is a 1.87 unit and not a nickname for the Howitzer.

Since I just said I'm stuck on 1.85, I'm guessing you're being sarcastic.

If you think I'm making a community patch or some other thing to "override" the devs and tester's work, I'm not. At the end of the day this is just an experiment with the .ini files.

Posted by: Mizo 9 Feb 2018, 15:20

You're free to have fun experimenting all you want, but be warned that using older versions do have their own issues and bugs, and that any technical issue that can happen will be your responsibility to fix, not ours.

Posted by: Jakato 9 Feb 2018, 15:46

QUOTE (Mizo @ 9 Feb 2018, 16:20) *
You're free to have fun experimenting all you want, but be warned that using older versions do have their own issues and bugs, and that any technical issue that can happen will be your responsibility to fix, not ours.


I don't plan to ask the devs and testers to fix my issues with modded version. I figured it was safe to ask the original question of the post because AFAIK that "tear gas upgraded to nerve gas" feature is still in 1.87 so I'm not asking anyone to explain old, obsolete code. Also I do try as hard as I can to work out what is going on.

Hopefully, if there is a feature that is still in the latest version, I can ask how the .ini files make it happen (as long as I ask these kind of questions rarely).

Posted by: Mizo 9 Feb 2018, 20:17

Good luck...that's one of the ways to learn INI work tongue.gif

Posted by: Jakato 9 Feb 2018, 22:39

The component-based structure of the .ini files reminds me of the Unity Engine except the "components" in the SAGE engine seem less flexible.

Posted by: Zeke 10 Feb 2018, 7:01

QUOTE (Jakato @ 9 Feb 2018, 21:33) *
Since I just said I'm stuck on 1.85, I'm guessing you're being sarcastic.


Actually I was just offering a light hearted suggestion as a fellow PvE player. Didn't notice the bit about you being stuck on 1.85, guess I'll just leave you to it then.

Posted by: Jakato 10 Feb 2018, 11:30

QUOTE (Zeke @ 10 Feb 2018, 8:01) *
Actually I was just offering a light hearted suggestion as a fellow PvE player. Didn't notice the bit about you being stuck on 1.85, guess I'll just leave you to it then.


To be honest, I figured it was likely to have annoyed you by experimenting with the Claymore. On that "least used unit" topic the Claymore is the least used, and now I'm experimenting with it? Sounds like something that could annoy the devs who made the Claymore the way it is for a good reason.

Posted by: Jakato 10 Feb 2018, 11:54

In my last post, I just meant I don't want to look like I think I know better than the devs.

In a ideal world, I'd get to mess with 1.87. Messing with 1.85 only really benefits me. There's only so much what I find out can be transferred to 1.87.

I tried giving the Leopards a EMP effect on their shells when the Venom ("support") protocol is chosen. It's quite fun. The shells work like the EMP Han bullets (you need to land lots of shots to shut down the unit). One Leopard will not be able to shut down a enemy tank/defense. But when several Leopards open fire on a target it will get shut down if it survives the first few shells. This makes Leopards better against super tanks because they can shut down large tanks that survive a few barrages.

What is funny is how I made the Leopard's EMP shells work. A single Han EMP bullet does not do much EMP damage. So instead of making a special EMP shell, I made the Leopard shell set off 4-5 EMP explosions when it detonates.

I also gave the Claymores EMP shells because why not.

I kind of wish all the factions had something like the Protocol system so they can all get wacky upgrades.

Posted by: Zeke 10 Feb 2018, 11:59

QUOTE (Jakato @ 10 Feb 2018, 18:30) *
To be honest, I figured it was likely to have annoyed you by experimenting with the Claymore. On that "least used unit" topic the Claymore is the least used, and now I'm experimenting with it? Sounds like something that could annoy the devs who made the Claymore the way it is for a good reason.


I'm not an ROTR dev, at the very least I'm a PvE tester, and I also hate the Claymore. I actually have a lot of http://www.moddb.com/members/zeke-dlyoung/images/rise-of-the-rage#imagebox with ROTR, but that's another topic for another day.

Posted by: Jakato 10 Feb 2018, 12:33

QUOTE (Zeke @ 10 Feb 2018, 12:59) *
I'm not an ROTR dev, at the very least I'm a PvE tester, and I also hate the Claymore. I actually have a lot of http://www.moddb.com/members/zeke-dlyoung/images/rise-of-the-rage#imagebox with ROTR, but that's another topic for another day.


The Wotan Array comic was funny but painfully true. Just yesterday a Wotan array wandered ahead of the group it was protecting. It went so far ahead the AI sent it's base defense force to hunt down this lone crazy Wotan. And I also got my Wotans killed by pairs of Migs.

Posted by: jl319 11 Feb 2018, 6:18

QUOTE (Jakato @ 8 Feb 2018, 22:18) *
I'm experimenting with giving Claymores a nerve gas attack (along with the normal shell damage) when the Pandora Protocol is researched. I figure Claymores will rarely be needed for a danger close barrage and they are fired manually so there's little risk of killing your own units.


I absolutely love that idea. laugh.gif

Posted by: rey 11 Feb 2018, 15:03

QUOTE (Jakato @ 9 Feb 2018, 12:01) *
Since I'm stuck on 1.85 (since 1.86 doesn't work), there's no point in providing my .ini files. If someone with 1.87 wants to adapt my stuff, I can tell them what they need to change.

yes please, i'd wish to know what are the changes. i'm not sure if it should be done as replacing default shells or an another firing mode, but such new "2 GP to get it working" idea seems quite interesting, especially with those examples about pre-attack bombardment.
i see no problems with experimenting, as i mostly i play quite modded version myself.

Posted by: Jakato 11 Feb 2018, 16:52

Something even more fun than Nerve Gas is to have the shells be replaced with smaller, weak smart bombs. The nice thing about the smart bombs is no shot is wasted. The proximity detonation of smart bombs means bad luck with shell scattering is less likely. Also any shots that outright miss can be used as a trap. Unlike the nerve gas, smart bombs are less of a danger to your own units.

QUOTE (rey @ 11 Feb 2018, 16:03) *
yes please, i'd wish to know what are the changes. i'm not sure if it should be done as replacing default shells or an another firing mode, but such new "2 GP to get it working" idea seems quite interesting, especially with those examples about pre-attack bombardment.
i see no problems with experimenting, as i mostly i play quite modded version myself.


As I see it the Claymore is a expensive, slow, weak unit that needs too much micro for the damage it does. That's why I was experimenting with things to make the Claymore's attack more powerful/useful. I think the Claymore has enough disadvantages already without having to spend extra GPs to get a powerful Claymore attack.

In EuropeWeaponObjects.ini I define the Claymore's shell like this:

CODE

;------------------------------------------------------------------------------
Object ClaymoreArtilleryShell

; *** ART Parameters ***
Draw = W3DModelDraw ModuleTag_01
OkToChangeModelColor = Yes
ConditionState = NONE
Model = EXECAShell
ParticleSysBone = None ArtilleryBarrageTrail
End
End

; ***DESIGN parameters ***
DisplayName = OBJECT:TankShell
EditorSorting = SYSTEM
ArmorSet
Armor = ProjectileArmor
End
VisionRange = 0.0


; *** AUDIO Parameters ***
SoundAmbient = ArtilleryBatteryShellIncomingWhistle

; *** ENGINEERING Parameters ***
KindOf = PROJECTILE ALWAYS_VISIBLE
Body = ActiveBody ModuleTag_02
MaxHealth = 100.0
InitialHealth = 100.0
End

Behavior = DestroyDie ModuleTag_03
;nothing
End

Behavior = DumbProjectileBehavior ModuleTag_04
DetonateCallsKill = Yes
FirstHeight = 390 ; Height of Bezier control points above highest intervening terrain
SecondHeight = 480
FirstPercentIndent = 40% ; Percentage of shot distance control points are placed
SecondPercentIndent = 60%
FlightPathAdjustDistPerSecond = 0 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag.
End


Behavior = PhysicsBehavior ModuleTag_05
Mass = 0.01 ; we can't have a zero mass, but we want it pretty tiny...
End

;Behavior = FireWeaponWhenDeadBehavior ModuleTag_08
; DeathWeapon = EuropeHowitzerPositionExplosionDamage
; StartsActive = Yes
;End

;Behavior = FireWeaponWhenDeadBehavior ModuleTag_09
; DeathWeapon = EuropeHowitzerPositionGattlingDamage
; StartsActive = Yes
;End

;Behavior = FireWeaponWhenDeadBehavior ModuleTag_10
; DeathWeapon = EuropeHowitzerPositionMeleeDamage
; StartsActive = Yes
;End

;Behavior = FireWeaponWhenDeadBehavior ModuleTag_ClusterDetonation01
; DeathWeapon = EuropeClaymoreHowitzerClusterMunitionDetonationEffect
; StartsActive = No
; TriggeredBy = Upgrade_EuropeClusterMunitions
;End

;Behavior = FireWeaponWhenDeadBehavior ModuleTag_ClusterDetonation02
; DeathWeapon = EuropeClaymoreHowitzerClusterMunitionDetonationEffect
; StartsActive = No
; TriggeredBy = Upgrade_EuropeClusterMunitions
;End

;Behavior = FireWeaponWhenDeadBehavior ModuleTag_ClusterDetonation03
; DeathWeapon = EuropeClaymoreHowitzerClusterMunitionDetonationEffect
; StartsActive = No
; TriggeredBy = Upgrade_EuropeClusterMunitions
;End

;Behavior = FireWeaponWhenDeadBehavior ModuleTag_ClusterDetonation04
; DeathWeapon = EuropeClaymoreHowitzerClusterMunitionDetonationEffect
; StartsActive = No
; TriggeredBy = Upgrade_EuropeClusterMunitions
;End

;Behavior = FireWeaponWhenDeadBehavior ModuleTag_PandoraNerveGasDetonation
; DeathWeapon = NerveGasCannisterDetonationWeapon
; StartsActive = No
; TriggeredBy = Upgrade_EuropePandora
;End

;Behavior = FireWeaponWhenDeadBehavior ModuleTag_EmpArtilleryBomb1
; DeathWeapon = ClaymoreEmpDissableWeapon
; StartsActive = No
; TriggeredBy = Upgrade_EuropeVenom
;End


Behavior = FireWeaponWhenDeadBehavior ModuleTag_SmartBombInit
DeathWeapon = SmartBombShellDetonation
StartsActive = Yes
End


Geometry = Sphere
GeometryIsSmall = Yes
GeometryMajorRadius = 1.0
Scale = 1.2

End


The red (commented out) code is for the version of the Claymore shell that gets Nerve Gas damage with the Pandora Protocol and EMP damage with the Venom Protocol. To use the code highlighted in red you will need to put this in Weapon.ini:

CODE

Weapon ClaymoreEmpDissableWeapon
PrimaryDamage = 600.0
PrimaryDamageRadius = 50.0
DamageType = SUBDUAL_UNRESISTABLE
FireFX = WeaponFX_Han100mmEmpCannonExplosion
RadiusDamageAffects = ALLIES ENEMIES NEUTRALS
End


The blue code is for the smart bomb version.

In Weapon.ini I defined a special Smart Bomb weapon:

CODE

Weapon SmartBombShellDetonation
PrimaryDamage = 0.0
PrimaryDamageRadius = 0.0
ScatterRadius = 0.0
WeaponSpeed = 0.0
DamageType = EXPLOSION
DeathType = EXPLODED
ProjectileObject = SmartBombLightMine
ProjectileDetonationFX = FX_MoleBombEnterOrExitGround
End


Then in EuropeWeaponObjects.ini I defined a modified Smart Bomb Mine for the shells to spawn:

CODE

Object SmartBombLightMine

; *** ART Parameters ***
SelectPortrait = SESmartBomb_L
ButtonImage = SSVulcanSmartBomb

Draw = W3DModelDraw ModuleTag_01
OkToChangeModelColor = Yes
ConditionState = NONE
Model = EXSmrtBmb
Animation = EXSmrtBmb.EXSmrtBmb
AnimationMode = LOOP
HideSubObject = PANDORA
End
End

Draw = W3DModelDraw ModuleTag_PickBox01

DefaultConditionState
Model = UBDmTrpPB
End

End

; ***DESIGN parameters ***
DisplayName = SCIENCE:SmartBomb
Side = Europe
EditorSorting = SYSTEM
TransportSlotCount = 0

WeaponSet
Conditions = None
Weapon = PRIMARY DummyWeapon ;Used for mode matching only (when to detonate)
Weapon = SECONDARY DummyWeapon ;Used for mode matching only (when to detonate)
Weapon = TERTIARY DummyWeapon ;Used for mode matching only (when to detonate)
AutoChooseSources = PRIMARY NONE
AutoChooseSources = SECONDARY NONE
AutoChooseSources = TERTIARY NONE
End

ArmorSet
Conditions = None
Armor = DemoTrackTrapStructureArmor
DamageFX = DefaultDamageFX ; Too small for normal building FX, but if we do make dedicated one it should be silent
End

VisionRange = 10.0
ShroudClearingRange = 10.0
CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles

; *** AUDIO Parameters ***
VoiceSelect = DemolitionChargeSelect

SoundStealthOn = NoSound
SoundStealthOff = NoSound

; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS IMMOBILE DEMOTRAP SCORE

Body = ActiveBody ModuleTag_02
MaxHealth = 100.0
InitialHealth = 100.0
End

ExperienceValue = 20 20 20 20 ; Experience point value at each level

CommandSet = EuropeSmartBombMineCommandSet

Behavior = AIUpdateInterface ModuleTag_03
AutoAcquireEnemiesWhenIdle = No
End

Behavior = StealthUpdate ModuleTag_043
StealthDelay = 0 ; msec
StealthForbiddenConditions = NONE
FriendlyOpacityMin = 60.0%
OrderIdleEnemiesToAttackMeUponReveal = Yes
End

Behavior = DemoTrapUpdate ModuleTag_044
DefaultProximityMode = Yes ;If yes, defaults to proximity mode, otherwise defaults to manual.
DetonationWeaponSlot = PRIMARY ;The slot the weapon is in when it detonates.
ProximityModeWeaponSlot = SECONDARY ;The slot proximity mode is determined by (bogus weapon)
ManualModeWeaponSlot = TERTIARY ;The slot manual mode is determined by (bogus weapon)
TriggerDetonationRange = 70.0 ;Detonation range when in proximity mode (and must be on ground)
IgnoreTargetTypes = PROJECTILE UNATTACKABLE NO_COLLIDE
AutoDetonationWithFriendsInvolved = Yes
End

Behavior = SlowDeathBehavior ModuleTag_045
DeathTypes = ALL
DestructionDelay = 1
Weapon = FINAL SmartBombLightDetonationWeapon
OCL = FINAL OCL_SmartBombExplosion
End

Behavior = FlammableUpdate ModuleTag_047
AflameDuration = 5000 ; If I catch fire, I'll burn for this long...
AflameDamageAmount = 5 ; taking this much damage...
AflameDamageDelay = 500 ; this often.
End

Shadow = SHADOW_VOLUME
Geometry = CYLINDER
GeometryMajorRadius = 4.0
GeometryHeight = 4.0
GeometryIsSmall = Yes

End



And finally in Weapon.ini I defined the explosion of the "light" smart bomb which has has half the damage and blast range of a regular smart bomb:

CODE

Weapon SmartBombLightDetonationWeapon
PrimaryDamage = 250.0
PrimaryDamageRadius = 25.0
SecondaryDamage = 150.0
SecondaryDamageRadius = 50.0
DamageType = AURORA_BOMB
DeathType = EXTRA_5
RadiusDamageAffects = ALLIES ENEMIES NEUTRALS NOT_AIRBORNE SELF
End



A big problem with this code is that smart bombs don't spawn facing into the ground. I'm not sure what code allows the smart bomb to face the direction the shell does.

Posted by: X1Destroy 13 Feb 2018, 4:26

Hey, that smartbomb load out idea for Claymore is interesting. I might include it into my 1.87 addon in the future when I get back to ROTR. Need to experiment further.

Posted by: Jakato 15 Feb 2018, 14:34

QUOTE (X1Destroy @ 13 Feb 2018, 5:26) *
Hey, that smartbomb load out idea for Claymore is interesting. I might include it into my 1.87 addon in the future when I get back to ROTR. Need to experiment further.


Since I last posted, I made the Claymore Smart Bomb do one quarter of the GP Smart Bomb damage. The radius of the Claymore Smart Bomb is still half the radius of the GP smart bomb. This seems to work best (at least in PvE).

Remember to tweak the Claymore Smart Bomb's detection radius so that enemy units don't set it off while too far away to be decently damaged.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)