Merge cyborg bodies into two classes, light and heavy. This conforms to how

the guide explains it, and eliminates a number of ugly hacks in the code. It
should not change anything for the player.
master
per 2013-05-19 21:06:24 +02:00
parent b5fa742274
commit 9ac0e6ae4c
9 changed files with 66 additions and 376 deletions

View File

@ -50,27 +50,6 @@ function eventGameInit()
enableStructure("A0PowerGenerator", playnum);
enableStructure("A0ResearchFacility", playnum);
// We need to enable these in order for scripts to be able to generate their templates.
makeComponentAvailable("CyborgLegs", playnum);
makeComponentAvailable("Cyb-Wpn-Atmiss", playnum);
makeComponentAvailable("CyborgCannon", playnum);
makeComponentAvailable("CyborgChaingun", playnum);
makeComponentAvailable("CyborgFlamer01", playnum);
makeComponentAvailable("Cyb-Wpn-Grenade", playnum);
makeComponentAvailable("Cyb-Hvywpn-A-T", playnum);
makeComponentAvailable("Cyb-Hvywpn-Acannon", playnum);
makeComponentAvailable("Cyb-Hvywpn-HPV", playnum);
makeComponentAvailable("Cyb-Hvywpn-Mcannon", playnum);
makeComponentAvailable("Cyb-Hvywpn-PulseLsr", playnum);
makeComponentAvailable("Cyb-Hvywpn-RailGunner", playnum);
makeComponentAvailable("Cyb-Hvywpn-TK", playnum);
makeComponentAvailable("Cyb-Wpn-Laser", playnum);
makeComponentAvailable("Cyb-Wpn-Rail1", playnum);
makeComponentAvailable("CyborgRocket", playnum);
makeComponentAvailable("CyborgRotMG", playnum);
makeComponentAvailable("Cyb-Wpn-Thermite", playnum);
makeComponentAvailable("CyborgFlamer01", playnum);
setStructureLimits("A0LightFactory", 5, playnum); // set structure limits
setStructureLimits("A0PowerGenerator", 8, playnum);
setStructureLimits("A0ResearchFacility", 5, playnum);

View File

@ -55,23 +55,8 @@ powerOutput = 4000
armourKinetic = 4
armourHeat = 1
[CybRotMgGrd]
name = "Cyborg Assault Gun"
class = "Cyborgs"
size = LIGHT
buildPower = 21
buildPoints = 75
weight = 150
hitpoints = 200
model = cybd_std.pie
weaponSlots = 1
powerOutput = 600
armourKinetic = 12
armourHeat = 6
droidType = CYBORG
[CyborgRkt1Ground]
name = "Cyborg Rocket"
[CyborgLightBody]
name = "Cyborg Light Body"
class = "Cyborgs"
size = LIGHT
buildPower = 25
@ -85,53 +70,8 @@ armourKinetic = 12
armourHeat = 6
droidType = CYBORG
[CyborgFlamerGrd]
name = "Cyborg Flamer"
class = "Cyborgs"
size = LIGHT
buildPower = 25
buildPoints = 95
weight = 150
hitpoints = 200
model = cybd_std.pie
weaponSlots = 1
powerOutput = 500
armourKinetic = 12
armourHeat = 6
droidType = CYBORG
[CyborgChain1Ground]
name = "Cyborg Chaingun"
class = "Cyborgs"
size = LIGHT
buildPower = 25
buildPoints = 95
weight = 150
hitpoints = 200
model = cybd_std.pie
weaponSlots = 1
powerOutput = 500
armourKinetic = 12
armourHeat = 6
droidType = CYBORG
[CyborgCannonGrd]
name = "Cyborg Cannon"
class = "Cyborgs"
size = LIGHT
buildPower = 25
buildPoints = 95
weight = 150
hitpoints = 200
model = cybd_std.pie
weaponSlots = 1
powerOutput = 500
armourKinetic = 12
armourHeat = 6
droidType = CYBORG
[Cyb-Hvybod-TK]
name = "Super Tank-Killer Cyborg"
[CyborgHeavyBody]
name = "Cyborg Heavy Body"
class = "Cyborgs"
size = LIGHT
buildPower = 50
@ -145,201 +85,6 @@ armourKinetic = 15
armourHeat = 8
droidType = CYBORG_SUPER
[Cyb-Hvybod-RailGunner]
name = "Super Rail-Gunner"
class = "Cyborgs"
size = LIGHT
buildPower = 50
buildPoints = 205
weight = 250
hitpoints = 300
model = scbd_std.pie
weaponSlots = 1
powerOutput = 500
armourKinetic = 15
armourHeat = 8
droidType = CYBORG_SUPER
[Cyb-Hvybod-PulseLsr]
name = "Super Pulse Laser Cyborg"
class = "Cyborgs"
size = LIGHT
buildPower = 50
buildPoints = 205
weight = 250
hitpoints = 300
model = scbd_std.pie
weaponSlots = 1
powerOutput = 500
armourKinetic = 15
armourHeat = 8
droidType = CYBORG_SUPER
[Cyb-Hvybod-Mcannon]
name = "Super Heavy-Gunner"
class = "Cyborgs"
size = LIGHT
buildPower = 50
buildPoints = 205
weight = 250
hitpoints = 300
model = scbd_std.pie
weaponSlots = 1
powerOutput = 500
armourKinetic = 15
armourHeat = 8
droidType = CYBORG_SUPER
[Cyb-Hvybod-HPV]
name = "Super HPV Cyborg"
class = "Cyborgs"
size = LIGHT
buildPower = 50
buildPoints = 205
weight = 250
hitpoints = 300
model = scbd_std.pie
weaponSlots = 1
powerOutput = 500
armourKinetic = 15
armourHeat = 8
droidType = CYBORG_SUPER
[Cyb-Hvybod-Acannon]
name = "Super Auto-Cannon Cyborg"
class = "Cyborgs"
size = LIGHT
buildPower = 50
buildPoints = 205
weight = 250
hitpoints = 300
model = scbd_std.pie
weaponSlots = 1
powerOutput = 500
armourKinetic = 15
armourHeat = 8
droidType = CYBORG_SUPER
[Cyb-Hvybod-A-T]
name = "Super Scourge Cyborg"
class = "Cyborgs"
size = LIGHT
buildPower = 50
buildPoints = 205
weight = 250
hitpoints = 300
model = scbd_std.pie
weaponSlots = 1
powerOutput = 500
armourKinetic = 15
armourHeat = 8
droidType = CYBORG_SUPER
[Cyb-Bod-Thermite]
name = "Cyborg Thermite"
class = "Cyborgs"
size = LIGHT
buildPower = 25
buildPoints = 95
weight = 150
hitpoints = 200
model = cybd_std.pie
weaponSlots = 1
powerOutput = 500
armourKinetic = 12
armourHeat = 6
droidType = CYBORG
[Cyb-Bod-Rail1]
name = "Cyborg Railgun"
class = "Cyborgs"
size = LIGHT
buildPower = 25
buildPoints = 95
weight = 150
hitpoints = 200
model = cybd_std.pie
weaponSlots = 1
powerOutput = 500
armourKinetic = 12
armourHeat = 6
droidType = CYBORG
[Cyb-Bod-Mechanic]
name = "Cyborg Mechanic"
class = "Cyborgs"
size = LIGHT
buildPower = 25
buildPoints = 95
weight = 150
hitpoints = 200
model = cybd_std.pie
weaponSlots = 1
powerOutput = 500
armourKinetic = 12
armourHeat = 6
droidType = CYBORG_REPAIR
[Cyb-Bod-Las1]
name = "Cyborg Laser"
class = "Cyborgs"
size = LIGHT
buildPower = 25
buildPoints = 95
weight = 150
hitpoints = 200
model = cybd_std.pie
weaponSlots = 1
powerOutput = 500
armourKinetic = 12
armourHeat = 6
droidType = CYBORG
[Cyb-Bod-Grenade]
name = "Cyborg Grenadier"
class = "Cyborgs"
size = LIGHT
buildPower = 25
buildPoints = 95
weight = 150
hitpoints = 200
model = cybd_std.pie
weaponSlots = 1
powerOutput = 500
armourKinetic = 12
armourHeat = 6
droidType = CYBORG
[Cyb-Bod-ComEng]
name = "Combat Engineer"
class = "Cyborgs"
size = LIGHT
buildPower = 25
buildPoints = 95
weight = 150
hitpoints = 200
model = cybd_std.pie
weaponSlots = 1
powerOutput = 500
armourKinetic = 12
armourHeat = 6
droidType = CYBORG_CONSTRUCT
[Cyb-Bod-Atmiss]
name = "Cyborg Anti-Tank"
class = "Cyborgs"
size = LIGHT
buildPower = 25
buildPoints = 95
weight = 150
hitpoints = 200
model = cybd_std.pie
weaponSlots = 1
powerOutput = 500
armourKinetic = 12
armourHeat = 6
droidType = CYBORG
[BusBody]
name = "*School Bus Body*"
class = "Babas"

View File

@ -234,7 +234,7 @@ msgName = RES_W_RK_LTAT1
iconID = IMAGE_RES_WEAPONTECH
statID = Rocket-LtA-T
requiredResearch = R-Wpn-Rocket-Damage03,R-Wpn-Rocket-Accuracy01
resultComponents = CyborgRkt1Ground,Rocket-LtA-T,Rocket-VTOL-LtA-T
resultComponents = CyborgRocket,Rocket-LtA-T,Rocket-VTOL-LtA-T
[R-Wpn-Sunburst]
name = "Sunburst AA Rocket Array"
@ -276,7 +276,7 @@ msgName = RES_CN1MK1
iconID = IMAGE_RES_WEAPONTECH
statID = Cannon1Mk1
requiredResearch = R-Wpn-MG-Damage01
resultComponents = Cannon1-VTOL,Cannon1Mk1,CyborgCannonGrd
resultComponents = Cannon1-VTOL,Cannon1Mk1,CyborgCannon
[R-Struc-Factory-Module]
name = "Factory Module"
@ -297,7 +297,7 @@ keyTopic = 1
msgName = RES_MG1MK1
iconID = IMAGE_RES_WEAPONTECH
statID = MG1Mk1
resultComponents = CyborgChain1Ground,MG1-VTOL,MG1Mk1
resultComponents = CyborgChaingun,MG1-VTOL,MG1Mk1
[R-Wpn-MG2Mk1]
name = "Twin Machinegun"
@ -351,7 +351,7 @@ msgName = RES_MORTA1
iconID = IMAGE_RES_WEAPONTECH
statID = Mortar1Mk1
requiredResearch = R-Wpn-Cannon-Damage01,R-Struc-Factory-Module
resultComponents = Cyb-Bod-Grenade,Mortar1Mk1
resultComponents = Cyb-Wpn-Grenade,Mortar1Mk1
[R-Wpn-Flamer01Mk1]
name = "Flamer"
@ -362,7 +362,7 @@ msgName = RES_FLAME1
iconID = IMAGE_RES_WEAPONTECH
statID = Flame1Mk1
requiredResearch = R-Sys-Engineering01
resultComponents = CyborgFlamerGrd,Flame1Mk1
resultComponents = CyborgFlamer01,Flame1Mk1
[R-Wpn-Mortar02Hvy]
name = "Heavy Mortar - Bombard"
@ -603,7 +603,7 @@ msgName = RES_ENGIN1
iconID = IMAGE_RES_SYSTEMTECH
imdName = trlcon.pie
subgroupIconID = IMAGE_RES_GRPUPG
resultComponents = Cyb-Bod-ComEng
resultComponents = CyborgSpade
results = "Construct:ConstructorPoints:10"
[R-Wpn-Cannon3Mk1]
@ -647,6 +647,7 @@ msgName = RES_ST_FCY1
iconID = IMAGE_RES_STRUCTURETECH
statID = A0CyborgFactory
requiredResearch = R-Sys-Engineering01
resultComponents = CyborgLightBody,CyborgLegs
resultStructures = A0CyborgFactory
[R-Wpn-MG-Damage01]
@ -971,7 +972,7 @@ msgName = RES_C_CT1
iconID = IMAGE_RES_COMPUTERTECH
statID = CommandBrain01
requiredResearch = R-Struc-CommandRelay
resultComponents = CommandBrain01
resultComponents = CommandBrain01,CommandTurret1
[R-Defense-TankTrap01]
name = "Tank Traps"
@ -1042,7 +1043,7 @@ msgName = RES_REPTU1
iconID = IMAGE_RES_SYSTEMTECH
statID = LightRepair1
requiredResearch = R-Sys-Engineering01
resultComponents = Cyb-Bod-Mechanic,LightRepair1
resultComponents = CyborgRepair,LightRepair1
[R-Defense-WallUpgrade02]
name = "Improved Hardcrete Mk2"
@ -1395,9 +1396,9 @@ msgName = RES_FLAME2
iconID = IMAGE_RES_WEAPONTECH
statID = Flame2
requiredResearch = R-Wpn-Flamer-Damage04,R-Wpn-Flamer01Mk1
redComponents = Flame1Mk1,CyborgFlamerGrd
resultComponents = Cyb-Bod-Thermite,Flame2
replacedComponents = CyborgFlamerGrd:Cyb-Bod-Thermite
redComponents = Flame1Mk1,CyborgFlamer01
resultComponents = Cyb-Wpn-Thermite,Flame2
replacedComponents = CyborgFlamer01:Cyb-Wpn-Thermite
[R-Wpn-Howitzer03-Rot]
name = "Rotary Howitzer - Hellstorm"
@ -1420,8 +1421,8 @@ msgName = RES_W_MG4
iconID = IMAGE_RES_WEAPONTECH
statID = MG4ROTARYMk1
requiredResearch = R-Wpn-MG3Mk1,R-Wpn-MG-ROF03
redComponents = CyborgChain1Ground,MG1-VTOL,MG1Mk1,MG2-VTOL,MG2Mk1,MG3-VTOL,MG3Mk1
resultComponents = CybRotMgGrd,MG4ROTARY-VTOL,MG4ROTARYMk1
redComponents = CyborgChaingun,MG1-VTOL,MG1Mk1,MG2-VTOL,MG2Mk1,MG3-VTOL,MG3Mk1
resultComponents = CyborgRotMG,MG4ROTARY-VTOL,MG4ROTARYMk1
[R-Wpn-Mortar3]
name = "Rotary Mortar - Pepperpot"
@ -1466,7 +1467,7 @@ msgName = RES_W_LAS1
iconID = IMAGE_RES_WEAPONTECH
statID = Laser3BEAMMk1
requiredResearch = R-Struc-Research-Upgrade08,R-Sys-Sensor-Upgrade03
resultComponents = Cyb-Bod-Las1,Laser3BEAM-VTOL,Laser3BEAMMk1
resultComponents = Cyb-Wpn-Laser,Laser3BEAM-VTOL,Laser3BEAMMk1
[R-Wpn-Laser02]
name = "Pulse Laser"
@ -1489,8 +1490,8 @@ iconID = IMAGE_RES_WEAPONTECH
statID = Missile-A-T
requiredResearch = R-Wpn-Rocket07-Tank-Killer,R-Wpn-RocketSlow-Accuracy02,R-Struc-Research-Upgrade07
redComponents = Rocket-LtA-T,Rocket-VTOL-LtA-T
resultComponents = Cyb-Bod-Atmiss,Missile-A-T,Missile-VTOL-AT
replacedComponents = CyborgRkt1Ground:Cyb-Bod-Atmiss
resultComponents = Cyb-Wpn-Atmiss,Missile-A-T,Missile-VTOL-AT
replacedComponents = CyborgRocket:Cyb-Wpn-Atmiss
[R-Wpn-RailGun01]
name = "Needle Gun"
@ -1501,7 +1502,7 @@ msgName = RES_W_RAIL1
iconID = IMAGE_RES_WEAPONTECH
statID = RailGun1Mk1
requiredResearch = R-Wpn-Cannon4AMk1,R-Struc-Research-Upgrade07,R-Wpn-Cannon-Damage07
resultComponents = Cyb-Bod-Rail1,RailGun1-VTOL,RailGun1Mk1
resultComponents = Cyb-Wpn-Rail1,RailGun1-VTOL,RailGun1Mk1
[R-Wpn-RailGun02]
name = "Rail Gun"
@ -1683,6 +1684,7 @@ iconID = IMAGE_RES_CYBORGTECH
imdName = icmolql.pie
subgroupIconID = IMAGE_RES_GRPUPG
requiredResearch = R-Cyborg-Metals03,R-Struc-Research-Upgrade04
resultComponents = CyborgHeavyBody
results = "Cyborgs:Armour:35", "Cyborgs:HitPoints:35"
[R-Cyborg-Metals05]
@ -3458,8 +3460,8 @@ msgName = RES_CYW_H_HPV
iconID = IMAGE_RES_CYBORGTECH
statID = Cannon4AUTOMk1
requiredResearch = R-Cyborg-Hvywpn-Mcannon,R-Wpn-Cannon4AMk1
resultComponents = Cyb-Hvybod-HPV
replacedComponents = Cyb-Hvybod-Mcannon:Cyb-Hvybod-HPV
resultComponents = Cyb-Hvywpn-HPV
replacedComponents = Cyb-Hvywpn-Mcannon:Cyb-Hvywpn-HPV
[R-Vehicle-Armor-Heat01]
name = "Thermal Armor"
@ -3835,8 +3837,8 @@ researchPower = 125
msgName = RES_CYW_H_MC
iconID = IMAGE_RES_CYBORGTECH
statID = Cannon2A-TMk1
requiredResearch = R-Wpn-Cannon2Mk1,R-Cyborg-Metals04
resultComponents = Cyb-Hvybod-Mcannon
requiredResearch = R-Wpn-Cannon2Mk1
resultComponents = Cyb-Hvywpn-Mcannon
[R-Cyborg-Hvywpn-Acannon]
name = "Super Auto-Cannon Cyborg"
@ -3846,7 +3848,7 @@ msgName = RES_CYW_H_AC
iconID = IMAGE_RES_CYBORGTECH
statID = Cannon5VulcanMk1
requiredResearch = R-Wpn-Cannon5,R-Cyborg-Hvywpn-HPV
resultComponents = Cyb-Hvybod-Acannon
resultComponents = Cyb-Hvywpn-Acannon
[R-Cyborg-Hvywpn-TK]
name = "Super Tank-Killer Cyborg"
@ -3856,7 +3858,7 @@ msgName = RES_CYW_H_TK
iconID = IMAGE_RES_CYBORGTECH
statID = Rocket-VTOL-HvyA-T
requiredResearch = R-Cyborg-Metals04,R-Wpn-Rocket07-Tank-Killer
resultComponents = Cyb-Hvybod-TK
resultComponents = Cyb-Hvywpn-TK
[R-Sys-Autorepair-General]
name = "Auto-Repair"
@ -3977,7 +3979,7 @@ msgName = RES_CYW_H_PLAS
iconID = IMAGE_RES_CYBORGTECH
statID = Laser2PULSEMk1
requiredResearch = R-Wpn-Laser02
resultComponents = Cyb-Hvybod-PulseLsr
resultComponents = Cyb-Hvywpn-PulseLsr
[R-Cyborg-Hvywpn-RailGunner]
name = "Super Rail-Gunner"
@ -3987,7 +3989,7 @@ msgName = RES_CYW_H_RG
iconID = IMAGE_RES_CYBORGTECH
statID = RailGun2Mk1
requiredResearch = R-Wpn-RailGun02
resultComponents = Cyb-Hvybod-RailGunner
resultComponents = Cyb-Hvywpn-RailGunner
[R-Cyborg-Hvywpn-A-T]
name = "Super Scourge Cyborg"
@ -3997,7 +3999,7 @@ msgName = RES_CYW_H_AT
iconID = IMAGE_RES_CYBORGTECH
statID = Missile-A-T
requiredResearch = R-Cyborg-Metals04,R-Wpn-Missile2A-T
resultComponents = Cyb-Hvybod-A-T
resultComponents = Cyb-Hvywpn-A-T
[R-Sys-SpyTower]
name = "Nexus Link Tower"

View File

@ -1002,7 +1002,6 @@ type = DEFENSE
sensorID = TowerSensor
resistance = 150
weapons = MG3Mk1
flags = "Connected"
[GuardTower2]
name = "Twin Machinegun Guard Tower"

View File

@ -17,7 +17,7 @@ type = DROID
compSensor = SensorTurret1Mk1
[Cyb-Hvy-A-T]
compBody = Cyb-Hvybod-A-T
compBody = CyborgHeavyBody
available = 1
compPropulsion = CyborgLegs
type = CYBORG_SUPER
@ -120,7 +120,7 @@ type = DROID
weapons = Missile-A-T
[MP-Cyb-Needle-GRD]
compBody = Cyb-Bod-Rail1
compBody = CyborgLightBody
compPropulsion = CyborgLegs
type = CYBORG
weapons = Cyb-Wpn-Rail1
@ -198,7 +198,7 @@ type = DROID
weapons = Mortar3ROTARYMk1
[MP-Cyb-ATmiss-GRD]
compBody = Cyb-Bod-Atmiss
compBody = CyborgLightBody
compPropulsion = CyborgLegs
type = CYBORG
weapons = Cyb-Wpn-Atmiss
@ -210,7 +210,7 @@ type = DROID
weapons = Bomb4-VTOL-HvyINC
[Cyb-Hvy-PulseLsr]
compBody = Cyb-Hvybod-PulseLsr
compBody = CyborgHeavyBody
available = 1
compPropulsion = CyborgLegs
type = CYBORG_SUPER
@ -254,7 +254,7 @@ type = DROID
weapons = Cannon5VulcanMk1
[Cyb-Hvy-RailGunner]
compBody = Cyb-Hvybod-RailGunner
compBody = CyborgHeavyBody
available = 1
compPropulsion = CyborgLegs
type = CYBORG_SUPER
@ -291,7 +291,7 @@ type = DROID
weapons = Bomb3-VTOL-LtINC
[Cyb-Cannon-GROUND]
compBody = CyborgCannonGrd
compBody = CyborgLightBody
available = 1
compPropulsion = CyborgLegs
type = CYBORG
@ -347,7 +347,7 @@ type = DROID
weapons = Rocket-LtA-T
[Cyb-Hvy-Mcannon]
compBody = Cyb-Hvybod-Mcannon
compBody = CyborgHeavyBody
available = 1
compPropulsion = CyborgLegs
type = CYBORG_SUPER
@ -378,7 +378,7 @@ type = DROID
weapons = MG3Mk1
[CyborgFlamer01Grd]
compBody = CyborgFlamerGrd
compBody = CyborgLightBody
compPropulsion = CyborgLegs
type = CYBORG
weapons = CyborgFlamer01
@ -390,7 +390,7 @@ type = DROID
weapons = Laser2PULSEMk1
[CyborgRotMgGround]
compBody = CybRotMgGrd
compBody = CyborgLightBody
compPropulsion = CyborgLegs
type = CYBORG
weapons = CyborgRotMG
@ -486,7 +486,7 @@ type = DROID
weapons = MG1Mk1
[Cyb-Rocket-GROUND]
compBody = CyborgRkt1Ground
compBody = CyborgLightBody
available = 1
compPropulsion = CyborgLegs
type = CYBORG
@ -499,18 +499,12 @@ type = DROID
weapons = Rocket-VTOL-BB
[Cyb-ComEng]
compBody = Cyb-Bod-ComEng
compBody = CyborgLightBody
compConstruct = CyborgSpade
available = 1
compPropulsion = CyborgLegs
type = CYBORG_CONSTRUCT
[ATESTVEHICLE]
compBody = Body1REC
compPropulsion = tracked01
type = DROID
weapons = Cannon2A-TMk1
[A-Viper-Trk-HMG]
compBody = Body1REC
compPropulsion = tracked01
@ -561,7 +555,7 @@ type = DROID
weapons = Rocket-LtA-T
[Cyb-Thermite]
compBody = Cyb-Bod-Thermite
compBody = CyborgLightBody
available = 1
compPropulsion = CyborgLegs
type = CYBORG
@ -580,7 +574,7 @@ type = DROID
weapons = Cannon2A-TMk1
[Cyb-Rail1-GROUND]
compBody = Cyb-Bod-Rail1
compBody = CyborgLightBody
available = 1
compPropulsion = CyborgLegs
type = CYBORG
@ -599,7 +593,7 @@ type = DROID
weapons = MG3Mk1
[CyborgCannon01Grd]
compBody = CyborgCannonGrd
compBody = CyborgLightBody
compPropulsion = CyborgLegs
type = CYBORG
weapons = CyborgCannon
@ -648,7 +642,7 @@ type = DROID
weapons = CommandTurret1
[Cyb-Gren]
compBody = Cyb-Bod-Grenade
compBody = CyborgLightBody
available = 1
compPropulsion = CyborgLegs
type = CYBORG
@ -697,7 +691,7 @@ type = DROID
weapons = Cannon1Mk1
[CyborgRkt01Ground]
compBody = CyborgRkt1Ground
compBody = CyborgLightBody
compPropulsion = CyborgLegs
type = CYBORG
weapons = CyborgRocket
@ -721,7 +715,7 @@ type = DROID
weapons = Cannon1Mk1
[Cyb-RotMG-GROUND]
compBody = CybRotMgGrd
compBody = CyborgLightBody
available = 1
compPropulsion = CyborgLegs
type = CYBORG
@ -765,7 +759,7 @@ type = DROID
weapons = Cannon375mmMk1
[Cyb-Hvy-Acannon]
compBody = Cyb-Hvybod-Acannon
compBody = CyborgHeavyBody
available = 1
compPropulsion = CyborgLegs
type = CYBORG_SUPER
@ -820,7 +814,7 @@ type = DROID
weapons = Bomb1-VTOL-LtHE
[MP-Cyb-Laser1-GRD]
compBody = Cyb-Bod-Las1
compBody = CyborgLightBody
compPropulsion = CyborgLegs
type = CYBORG
weapons = Cyb-Wpn-Laser
@ -958,7 +952,7 @@ type = DROID
weapons = MG3Mk1
[Cyb-Flamer-GROUND]
compBody = CyborgFlamerGrd
compBody = CyborgLightBody
available = 1
compPropulsion = CyborgLegs
type = CYBORG
@ -1107,7 +1101,7 @@ type = DROID
weapons = Rocket-Pod
[ASPOTTER]
compBody = Cyb-Hvybod-HPV
compBody = CyborgHeavyBody
compPropulsion = CyborgLegs
type = CYBORG_SUPER
weapons = Cyb-Hvywpn-HPV
@ -1251,7 +1245,7 @@ type = DROID
weapons = Cannon4AUTOMk1
[Cyb-Laser1-GROUND]
compBody = Cyb-Bod-Las1
compBody = CyborgLightBody
available = 1
compPropulsion = CyborgLegs
type = CYBORG
@ -1306,14 +1300,14 @@ type = DROID
weapons = Cannon375mmMk1
[Cyb-Hvy-TK]
compBody = Cyb-Hvybod-TK
compBody = CyborgHeavyBody
available = 1
compPropulsion = CyborgLegs
type = CYBORG_SUPER
weapons = Cyb-Hvywpn-TK
[Cyb-Hvy-HPV]
compBody = Cyb-Hvybod-HPV
compBody = CyborgHeavyBody
available = 1
compPropulsion = CyborgLegs
type = CYBORG_SUPER
@ -1344,7 +1338,7 @@ type = DROID
weapons = Cannon375mmMk1
[Cyb-Chain-GROUND]
compBody = CyborgChain1Ground
compBody = CyborgLightBody
available = 1
compPropulsion = CyborgLegs
type = CYBORG
@ -1363,7 +1357,7 @@ type = DROID
weapons = Cannon375mmMk1
[CyborgChain01Ground]
compBody = CyborgChain1Ground
compBody = CyborgLightBody
compPropulsion = CyborgLegs
type = CYBORG
weapons = CyborgChaingun
@ -1375,7 +1369,7 @@ type = DROID
weapons = Missile-A-T
[Cyb-Mechanic]
compBody = Cyb-Bod-Mechanic
compBody = CyborgLightBody
available = 1
compPropulsion = CyborgLegs
compRepair = CyborgRepair
@ -1576,7 +1570,7 @@ type = DROID
weapons = RailGun3Mk1
[Cyb-Atmiss-GROUND]
compBody = Cyb-Bod-Atmiss
compBody = CyborgLightBody
available = 1
compPropulsion = CyborgLegs
type = CYBORG

View File

@ -2849,7 +2849,7 @@ LightWorld = 1
effectSize = 1
designable = 0
penetrate = 1
name = *Cybrog Thermite Weapon*
name = *Cyborg Thermite Weapon*
[Cyb-Wpn-Rail1]
buildPower = 160

View File

@ -426,7 +426,7 @@ name = *Cyborg Grenade Weapon*
[Cyb-Wpn-Thermite]
szWeaponWav = flmthrow.ogg
szExplosionWav = -1
name = *Cybrog Thermite Weapon*
name = *Cyborg Thermite Weapon*
[Howitzer-Incenediary]
szWeaponWav = lrgcan.ogg

View File

@ -64,12 +64,6 @@ bool allocComponentList(COMPONENT_TYPE type, SDWORD number)
}
apCompLists[inc][type] = (UBYTE *) malloc(sizeof(UBYTE) * number);
if (apCompLists[inc][type] == NULL)
{
debug(LOG_FATAL, "Out of memory assigning Player Component Lists");
abort();
return false;
}
//initialise the players' lists
for (comp = 0; comp < number; comp++)
@ -141,14 +135,7 @@ bool allocStructLists(void)
{
if (numStructureStats)
{
apStructTypeLists[inc] = (UBYTE *) malloc(sizeof(UBYTE) *
numStructureStats);
if (apStructTypeLists[inc] == NULL)
{
debug(LOG_FATAL, "Out of memory assigning Player Structure Lists");
abort();
return false;
}
apStructTypeLists[inc] = (UBYTE *) malloc(sizeof(UBYTE) * numStructureStats);
for (stat = 0; stat < (SDWORD)numStructureStats; stat++)
{
apStructTypeLists[inc][stat] = UNAVAILABLE;

View File

@ -62,28 +62,13 @@ static bool researchedPart(DROID_TEMPLATE *psCurr, int player, COMPONENT_TYPE pa
static bool researchedWeap(DROID_TEMPLATE *psCurr, int player, int weapIndex, bool allowRedundant)
{
return researchedItem(psCurr, player, COMP_WEAPON, psCurr->asWeaps[weapIndex], false, allowRedundant);
int availability = apCompLists[player][COMP_WEAPON][psCurr->asWeaps[weapIndex]];
return availability == AVAILABLE || (allowRedundant && availability == REDUNDANT);
}
bool researchedTemplate(DROID_TEMPLATE *psCurr, int player, bool allowRedundant, bool verbose)
{
ASSERT_OR_RETURN(false, psCurr, "Given a null template");
// super hack -- cyborgs and transports are special, only check their body
switch (psCurr->droidType)
{
case DROID_PERSON:
case DROID_CYBORG:
case DROID_CYBORG_SUPER:
case DROID_CYBORG_CONSTRUCT:
case DROID_CYBORG_REPAIR:
case DROID_TRANSPORTER:
case DROID_SUPERTRANSPORTER:
return researchedPart(psCurr, player, COMP_BODY, false, allowRedundant);
default:
break; // now proceed to normal droids...
}
// Note the ugly special case for commanders - their weapon is unavailable
// NOTE: This was one ugly & hard to debug if statement.
bool resBody = researchedPart(psCurr, player, COMP_BODY, false, allowRedundant);
bool resBrain = researchedPart(psCurr, player, COMP_BRAIN, true, allowRedundant);
bool resProp = researchedPart(psCurr, player, COMP_PROPULSION, false, allowRedundant);
@ -97,8 +82,7 @@ bool researchedTemplate(DROID_TEMPLATE *psCurr, int player, bool allowRedundant,
debug(LOG_ERROR, "%s : not researched : body=%d brai=%d prop=%d sensor=%d ecm=%d rep=%d con=%d", getName(psCurr),
(int)resBody, (int)resBrain, (int)resProp, (int)resSensor, (int)resEcm, (int)resRepair, (int)resConstruct);
}
unsigned ignoreFirstWeapon = psCurr->asParts[COMP_BRAIN] != 0? 1 : 0;
for (unsigned weapIndex = ignoreFirstWeapon; weapIndex < psCurr->numWeaps && researchedEverything; ++weapIndex)
for (unsigned weapIndex = 0; weapIndex < psCurr->numWeaps && researchedEverything; ++weapIndex)
{
researchedEverything = researchedWeap(psCurr, player, weapIndex, allowRedundant);
if (!researchedEverything && verbose)