Neutral Creeper Structures

Started by TDplay, May 28, 2018, 05:56:57 PM

Previous topic - Next topic

TDplay

So, I've coded 3 neutral creeper structures that do nothing at game start. If there is Creeper or Digitalis under them, they work like normal structures. If you connect them to a network with AC and give them a set amount, they work for you instead. Also, if the Creeper or Digitalis is under them you cannot connect them and all the AC empties out. So in a way they are biased toward the Creeper.

Play custom map #5922 "Neutrals" for a proof of concept map.
http://knucklecracker.com/forums/index.php?topic=29259.msg172600#msg172600

Functions when working for player:
Emitter: Will create AC (duhh)
Spore Tower: Will launch AC spore to deepest creeper cell
Runner Nest: Will spawn CRPLCores with a specified texture that will head toward a random cell. Once there, or if they hit Creeper, they will turn into Anti-creeper.
AntiRunner is just the script attached to the CRPLCores made by an AC Runner Nest.

What all the things in the editor mean:
Emitter:
Spoiler
CrInt: Interval in frames when acting as a Creeper emitter.
CrAmt: Amount of creeper to emit.
AcRqd: Amount of AC required to turn to Abraxis' side
AcInt: Interval in frames when acting as an AC emitter.
AcAmt: Amount of AC to emit. Note this is *-1 so setting a negative value will cause Creeper to be made.
InfluenceVictory: Setting this to 0 means the script will not control the CRPLCore's "counts for victory" option.
[close]
Spore Tower:
Spoiler
CrInt: The interval in frames between Creeper spore launches.
CrPld: The payload of each Creeper spore.
CrAmt: Amount of Creeper spores to emit
AcRqd: Amount of AC needed for tower to convert to Abraxis' side.
AcInt: Interval in frames between AC spore launches.
AcPld: Payload of AC spores. Setting negative will make them carry Creeper.
AcAmt: Amount of AC spores to launch.
InfluenceVictory: Setting this to 0 means the script will not control the CRPLCore's "counts for victory" option.
[close]
Runner Nest:
Spoiler
CrInt: Interval in frames between spawning runners.
CrPld: Payload of runners
CrMaxRunners: Maximum runners
CrHP: Runner health
CrSpd: Runner speed
AcRqd: Amount of AC needed for nest to convert to Abraxis' side.
AcInt: Interval in frames between spawning AC runners.
AcPld: Amount of AC to carry.
AcSpd: Speed of AC runners.
AcTexture: The texture to give AC runners.
InfluenceVictory: Setting this to 0 means the script will not control the CRPLCore's "counts for victory" option.
[close]
Defaults are set to mimic standard structures.

Known issues:
Minor:
Spoiler
Spore tower does not play spore 1 min warning
Spore tower does not show time in HUD during last minute
Spore tower does not play spore alarm
[close]
Major:
None!   ;D
Fixed:
Spoiler
The scripts set CONST_COUNTSFORVICTORY as 0 (false) but the game acts as though it is 1 (true) so until I fix this they cannot be added to levels.  Fixed in Version 2 of NeutralRunnerNest. Turns out I didn't set the game to ignore them for victory.
Antirunners can be nullified Fixed in Version 3 of NeutralRunnerNest. Once again forgot to set a unit attribute.
[close]

Current versions:
AntiRunner: 1
NeutralEmitter: 1
NeutralRunnerNest: 3
NeutralSpore: 1
Check comment at top of script for version. If it cannot be found, assume it's 1.