AI building issues

Talk about anything related to old versions of Armada.
posted on April 27th, 2009, 12:12 am
Last edited by The Undying Nephalim on April 27th, 2009, 12:19 am, edited 1 time in total.
I have been having several conflicts with getting the AI to build certain things. The issue comes as an add-on. I basically have a starbase that can add a shipyard onto it, and no matter what it seems the AI will not construct the shipyard add-on. When I give the constructor the ability to make the shipyard separate, the AI works just fine. Is the AI simply unable to build add-ons to central structures? This seems unlikely as Research stations can build pods.

[size=130]Here is the main base (vrahq.odf):[/size]

[size=80]#include "station.odf"

//**********************************************************************
//MAIN DESIGN PARAMETERS

//Name of Ship class in Ship Display window & in edit mode & tooltip
unitName = "Sector HQ"

//tooltips
tooltip = "Sector HQ"
verboseTooltip = "Central operating platform for all fleets operating within a given sector."

//Race which can build ship & starting race of ship
race = "vra"

//Amount of time required to build ship
buildTime = 300.0

//Number of officers required to build this ship
officerCost = 0

//Number of crew required to build ship & Starting crew
crewCost = 7000

//Number of maximum crew (only specified if different from crewCost)
maximumCrew = 7000

//The number of crew added to the capacity
maxCrewGain = 3000

//Dilithium Cost to build
dilithiumCost = 2000

//Metal cost to build
metalCost = 0

//Number of Officers starbase gives by default
officerGain = 0

//Maximum number of officer quarters
//maximumUpgrades = 6

//Max Shield Strength & Begining Shield Strength <1000
maxHealth = 8000

//Rate at which shield recharges (points per second... we think)
shieldRate = 5.0

//Shield absorbs all damage until it's gone
shieldProtection = 1.0

// Rate at which latinum is transfered from freighters
latinumTransferRate = 15.0

//Possible Craft Names
possibleCraftNames =
"Sector HQ"

//**********************************************************************
//ART PARAMETERS & WEAPON NAMES

// Missiles
weapon1 = "cvramissile1"
weaponHardpoints1 = "hp94"

// Missiles
weapon2 = "cvramissile2"
weaponHardpoints2 = "hp95"

// Missiles
weapon3 = "cvramissile3"
weaponHardpoints3 = "hp96"

// Missiles
weapon4 = "cvramissile1"
weaponHardpoints4 = "hp97"

// Missiles
weapon5 = "cvramissile2"
weaponHardpoints5 = "hp98"

// Missiles
weapon6 = "cvramissile3"
weaponHardpoints6 = "hp99"

// Missiles
weapon7 = "cvramissile1"
weaponHardpoints7 = "hp100"

// Missiles
weapon8 = "cvramissile2"
weaponHardpoints8 = "hp101"

// Missiles
weapon9 = "cvramissile3"
weaponHardpoints5 = "hp102"

// Missiles
weapon10 = "cvramissile1"
weaponHardpoints6 = "hp103"

// Missiles
weapon11 = "cvramissile2"
weaponHardpoints7 = "hp104"

// Missiles
weapon12 = "cvramissile3"
weaponHardpoints8 = "hp105"

// Hardpoints to hit for various systems and other locations.

podHardpoints = "pod03" "pod02" "pod01"

lifeSupportTargetHardpoints = "hp01" "hp02" "hp03"  "hp04" "hp05" "hp06" "hp07" "hp08" "hp09"
"hp10" "hp11" "hp12" "hp13" "hp14" "hp15" "hp16" "hp17" "hp18" "hp19" "hp20" "hp21" "hp22"
"hp23" "hp24" "hp25" "hp26" "hp27" "hp28" "hp29" "hp30" "hp31" "hp32" "hp33" "hp34" "hp35"
"hp36" "hp37" "hp38" "hp39" "hp40" "hp41" "hp42" "hp43" "hp44" "hp45" "hp46" "hp47" "hp48"
"hp49" "hp50" "hp51" "hp52" "hp53" "hp54" "hp55" "hp56" "hp57" "hp58" "hp59" "hp60" "hp61"
"hp62" "hp63" "hp64" "hp65" "hp66" "hp67" "hp68" "hp69" "hp70" "hp71" "hp72" "hp73"

weaponsTargetHardpoints = "hp94" "hp95" "hp96" "hp97" "hp98" "hp99" "hp100"
"hp101" "hp102" "hp103"  "hp104" "hp105"

sensorsTargetHardpoints = "hp74" "hp75" "hp76" "hp77" "hp78" "hp79" "hp80" "hp81"
"hp82" "hp83" "hp84" "hp85" "hp86" "hp87""hp88" "hp89" "hp90" "hp91" "hp92" "hp93"

hullTargetHardpoints = "hp01" "hp02" "hp03"  "hp04" "hp05" "hp06" "hp07" "hp08" "hp09"
"hp10" "hp11" "hp12" "hp13" "hp14" "hp15" "hp16" "hp17" "hp18" "hp19" "hp20" "hp21" "hp22"
"hp23" "hp24" "hp25" "hp26" "hp27" "hp28" "hp29" "hp30" "hp31" "hp32" "hp33" "hp34" "hp35"
"hp36" "hp37" "hp38" "hp39" "hp40" "hp41" "hp42" "hp43" "hp44" "hp45" "hp46" "hp47" "hp48"
"hp49" "hp50" "hp51" "hp52" "hp53" "hp54" "hp55" "hp56" "hp57" "hp58" "hp59" "hp60" "hp61"
"hp62" "hp63" "hp64" "hp65" "hp66" "hp67" "hp68" "hp69" "hp70" "hp71" "hp72" "hp73" "hp74"
"hp75" "hp76" "hp77" "hp78" "hp79" "hp80" "hp81" "hp82" "hp83" "hp84" "hp85" "hp86" "hp87"
"hp88" "hp89" "hp90" "hp91" "hp92" "hp93" "hp94" "hp95" "hp96" "hp97" "hp98" "hp99" "hp100"
"hp101" "hp102" "hp103"  "hp104" "hp105"

criticalTargetHardpoints = "hp94" "hp95" "hp96" "hp97" "hp98" "hp99" "hp100"
"hp101" "hp102" "hp103"  "hp104" "hp105"
//**********************************************************************

//**********************************************************************
//Construction Parameters
buildItem0 = "vrayardutil"
buildItem1 = "vrayardrepair"
buildItem2 = "vrafighterbay"

//**********************************************************************
//**********************************************************************
//AI system parameters
//These parameters influence how the AI evaluates and compares craft.

//An abstract number that represents how much extra strength must be
//used to attack this craft due to its weapons.
// (0.0=no weapons, 0.5 = average weapons, 1.0=many good weapons)
attackPower = 0.50f

//The normalized intrinsic value of a target.  High value craft make good
//attack targets. (0.0=lowest value, 1.0=highest value)
intrinsicValue = 2.00f


//**********************************************************************

//**********************************************************************
//CREW STATUS MULTIPLIERS
//The multiplier for the delay between shots for weapons while in yellow status
weaponYellow = 1.5f

//The multiplier for the delay between shots for weapons while in red status
weaponRed = 2.5f
//**********************************************************************



//**********************************************************************
//SYSTEM HITPOINTS

// Hitpoints

shieldGeneratorHitPoints = 1000
enginesHitPoints = 0
weaponsHitPoints = 1000
lifeSupportHitPoints = 1000
sensorsHitPoints = 1000

//**********************************************************************



//**********************************************************************
//SYSTEM DAMAGE DISTRIBUTION
//The following section's values should add up to 100
//Percent Chance out of 100 of engines being destroyed
enginesHitPercent = 0.0f

//Percent Chance out of 100 of life support being destroyed
lifeSupportHitPercent = 10.5f

//Percent Chance out of 100 of weapons being destroyed
weaponsHitPercent = 10.0f

//Percent Chance out of 100 of shields being destroyed
shieldGeneratorHitPercent = 13.0f

//Percent Chance out of 100 of sensors being destroyed
sensorsHitPercent = 13.0f

//Percent Chance out of 100 of hull being hit (crew dying)
crewHitPercent = 13.5f

//Percent Chance out of 100 of entire ship exploding
hullHitPercent = 40.0f
//**********************************************************************


//**********************************************************************
//MESSAGE & SOUND PARAMETERS
//**********************************************************************

eventSelect = "StarbaseSelect"
eventAcknowledge = "StarbaseAcknowledge"
eventAttack = "StarbaseAttack"
eventDecommission = "StarbaseDecommission"


//**********************************************************************
//PROGRAMMING PARAMETERS WHICH SHOULD NOT BE CHANGED & UNUSED PARAMETERS

//Runtime class label for instantiation of object.
classLabel = "starbase"

//**********************************************************************


//**********************************************************************
//KEYMAP LABEL
// Obsolete, use hotkeyLabel
// keymapLabel = "starbase"
hotkeyLabel = "HOTKEY_F1"

//************************************************************
// Brian additions for context sensitive menus
alert = 1
combat = 1
builder_ship = 1
transporter = 0
SHOW_MOVEMENT_AUTONOMY = 1
SHOW_SW_AUTONOMY = 1

// let's make this a bit bigger
//ScaleSOD = 2.0[/size]

[size=130]Here is the add on shipyard for the main base (vrayardutil.odf):[/size]

[size=80]#include "pod.odf"

//**********************************************************************
//MAIN DESIGN PARAMETERS

//Name of Ship class in Ship Display window & in edit mode & tooltip
unitName = "Utility Shipyard"

footprintBuffer = 0f

//tooltips
tooltip = "Utility Shipyard"
verboseTooltip = "Utility ships can be constructed here"

//Race which can build ship & starting race of ship
race = "vra"

//Amount of time required to build ship
buildTime = 50.0

//Number of officers required to build this ship
officerCost = 0

//Number of crew required to build ship & Starting crew
crewCost = 100

//Dilithium Cost to build
dilithiumCost = 100

//Metal cost to build
metalCost = 0

//Max Shield Strength & Begining Shield Strength <1000
maxHealth = 300

//Rate at which shield recharges (points per second... we think)
//shieldRate = 1.66


//Possible Craft Names
possibleCraftNames =
"Barisa Prime" "Tau Ceti Prime" "Tessen Prime" "Taurus Prime"
"Meldrar Prime" "Moriya Prime" "Erabus Prime" "Finnea Prime"
"Acamar Prime" "Aldea Prime" "Andoria Prime" "Calder Prime"
"Iyaar Prime" "Denocet Prime" "Dytallix Prime" "Galor Prime"
"Minos Prime" "Nausicaa Prime" "Oyarsa Prime" "Qualor Prime"

//**********************************************************************
//ART PARAMETERS & WEAPON NAMES

lifeSupportTargetHardpoints = "hp01" "hp02" "hp03"  "hp04" "hp05" "hp06" "hp07" "hp08" "hp09"
"hp10" "hp11" "hp12" "hp23" "hp14" "hp15" "hp16" "hp17" "hp18" "hp19" "hp20" "hp21" "hp22"
"hp23" "hp24" "hp25" "hp26" "hp27" "hp28" "hp29" "hp30" "hp31" "hp32" "hp33" "hp34" "hp35"
"hp36" "hp37" "hp38" "hp39" "hp40" "hp41" "hp42" "hp43" "hp44" "hp45" "hp46" "hp47" "hp48"
"hp49"
sensorsTargetHardpoints = "hp50" "hp51" "hp52" "hp53" "hp54" "hp55" "hp56"
hullTargetHardpoints = "hp01" "hp02" "hp03"  "hp04" "hp05" "hp06" "hp07" "hp08" "hp09"
"hp10" "hp11" "hp12" "hp23" "hp14" "hp15" "hp16" "hp17" "hp18" "hp19" "hp20" "hp21" "hp22"
"hp23" "hp24" "hp25" "hp26" "hp27" "hp28" "hp29" "hp30" "hp31" "hp32" "hp33" "hp34" "hp35"
"hp36" "hp37" "hp38" "hp39" "hp40" "hp41" "hp42" "hp43" "hp44" "hp45" "hp46" "hp47" "hp48"
"hp49" "hp50" "hp51" "hp52" "hp53" "hp54" "hp55" "hp56"
criticalTargetHardpoints = "hp50" "hp51" "hp52" "hp53" "hp54" "hp55" "hp56"

//**********************************************************************


//**********************************************************************
//Construction Parameters
buildItem0 = "vrautilhull"

//Hardpoint location for building.
buildHardpoint = "build"

//**********************************************************************
//**********************************************************************
//AI system parameters
//These parameters influence how the AI evaluates and compares craft.

//The normalized intrinsic value of a target.  High value craft make good
//attack targets. (0.0=lowest value, 1.0=highest value)
intrinsicValue = 1.00f


//**********************************************************************


//**********************************************************************
//MESSAGE & SOUND PARAMETERS
//**********************************************************************

eventSelect = "ShipyardSelect"
eventAcknowledge = "ShipyardAcknowledge"
eventDecommission = "ShipyardDecommission"


//**********************************************************************
//PROGRAMMING PARAMETERS WHICH SHOULD NOT BE CHANGED & UNUSED PARAMETERS

//Runtime class label for instantiation of object.
classLabel = "shipyard"

// Hotkey label
hotkeyLabel = "HOTKEY_F2"

//************************************************************
// Brian additions for context sensitive menus
builder_ship = 1
transporter = 0
SHOW_MOVEMENT_AUTONOMY = 1
SHOW_SW_AUTONOMY = 1

// make it bigger
//ScaleSOD = 1.50[/size]



[size=130]And here is the AIP[/size]


[size=80]#include "aipdef.h"

int checkTechnologyAvailable = 1;

Way_Better_Build_List_Element the_build_list[MAX_ELEMENTS] =
{
//Startup
"vrahq", 1,0, -1,  0,
"vrayardutil", 1,0, -1,  0,
"vrautilhull", 3,0, -1,  0,
"vratermite", 2,0, -1,  0,
"vraminingpylon", 1,1, -1,  0,
"vraminingbay1", 1,1, -1,  0,
"vrashipyardmainframe", 1,0, -1,  0,
"vrabee", 2,0, -1,  0,
"vratraining", 1,0, -1,  0,
"vrabadger", 2,0, -1,  0,

//Addon Destroyer phase
"vradestroyyard", 1,0, -1,  0,
"vrabottlenosePOD", 1,0, -1,  0,
"vradestroyerhull", 3,0, -1,  0,
"vraminingbay2", 1,0, -1,  0,
"vrayardrepair", 1,0, -1,  0,
"vrafighterbay", 1,0, -1,  0,
"vrabottlenose", 3,0, -1,  0,
"vraurchinPOD", 1,0, -1,  0,
"vraurchin", 3,0, -1,  0,
"vraorcaPOD", 1,0, -1,  0,
"vraorca", 3,0, -1,  0,

//Fighters1
"vramosquitoDEF", 6,0, -1,  0,

//Cruiser Phase
"vracruiseyard", 1,0, -1,  0,
"vraowlPOD", 1,0, -1,  0,
"vrabee", 2,2, -1,  0,
"vrabee", 2,3, -1,  0,
"vraminingpylon", 1,2, -1,  0,
"vraminingbay1", 1,2, -1,  0,
"vraminingbay2", 1,2, -1,  0,
"vraminingpylon", 1,3, -1,  0,
"vraminingbay1", 1,3, -1,  0,
"vraminingbay2", 1,3, -1,  0,
"vracruiserhull", 3,0, -1,  0,
"vraowl", 3,0, -1,  0,
"vrabottlenose", 3,0, -1,  0,
"vraperegrinePOD", 1,0, -1,  0,
"vraperegrine", 3,0, -1,  0,
"vraurchin", 3,0, -1,  0,
"vraalbatrossPOD", 1,0, -1,  0,
"vraalbatross", 3,0, -1,  0,
"vraorca", 3,0, -1,  0,

//Fighters2
"vramosquitoDEF", 6,0, -1,  0,

//Battleship Phase
"vrabattleyard", 1,0, -1,  0,
"vraraptorPOD", 1,0, -1,  0,
"vrabee", 2,4, -1,  0,
"vrabee", 2,5, -1,  0,
"vraminingpylon", 1,4, -1,  0,
"vraminingbay1", 1,4, -1,  0,
"vraminingbay2", 1,4, -1,  0,
"vraminingpylon", 1,5, -1,  0,
"vraminingbay1", 1,5, -1,  0,
"vraminingbay2", 1,5, -1,  0,
"vrabattlehull", 3,0, -1,  0,
"vraraptor", 1,0, -1,  0,
"vraowl", 3,0, -1,  0,
"vrabottlenose", 6,0, -1,  0,
"vrarexPOD", 1,0, -1,  0,
"vrarex", 1,0, -1,  0,
"vraperegrine", 3,0, -1,  0,
"vraurchin", 6,0, -1,  0,
"vrapterodactylPOD", 1,0, -1,  0,
"vrapterodactyl", 1,0, -1,  0,
"vraalbatross", 3,0, -1,  0,
"vraorca", 6,0, -1,  0,

//Fighters3
"vramosquitoDEF", 6,0, -1,  0,

//Final Phase
"vraherogate", 1,0, -1,  0,
"vrautilhull", 6,0, -1,  0,
"vradestroyerhull", 6,0, -1,  0,
"vracruiserhull", 3,0, -1,  0,
"vrabattlehull", 2,0, -1,  0,
"vrabee", 2,6, -1,  0,
"vrabee", 2,7, -1,  0,
"vraminingpylon", 1,6, -1,  0,
"vraminingbay1", 1,6, -1,  0,
"vraminingbay2", 1,6, -1,  0,
"vraminingpylon", 1,7, -1,  0,
"vraminingbay1", 1,7, -1,  0,
"vraminingbay2", 1,7, -1,  0,
"vraraptor", 1,0, -1,  0,
"vraowl", 3,0, -1,  0,
"vrabottlenose", 6,0, -1,  0,
"vrarex", 1,0, -1,  0,
"vraperegrine", 3,0, -1,  0,
"vraurchin", 6,0, -1,  0,
"vrapterodactyl", 1,0, -1,  0,
"vraalbatross", 3,0, -1,  0,
"vraorca", 6,0, -1,  0,
"vraraptor", 1,0, -1,  0,
"vraowl", 3,0, -1,  0,
"vrabottlenose", 6,0, -1,  0,
"vrarex", 1,0, -1,  0,
"vraperegrine", 3,0, -1,  0,
"vraurchin", 6,0, -1,  0,
"vrapterodactyl", 1,0, -1,  0,
"vraalbatross", 3,0, -1,  0,
"vraorca", 6,0, -1,  0,
"vraraptor", 1,0, -1,  0,
"vraowl", 3,0, -1,  0,
"vrabottlenose", 6,0, -1,  0,
"vrarex", 1,0, -1,  0,
"vraperegrine", 3,0, -1,  0,
"vraurchin", 6,0, -1,  0,
"vrapterodactyl", 1,0, -1,  0,
"vraalbatross", 3,0, -1,  0,
"vraorca", 6,0, -1,  0,
"vraraptor", 1,0, -1,  0,
"vraowl", 3,0, -1,  0,
"vrabottlenose", 6,0, -1,  0,
"vrarex", 1,0, -1,  0,
"vraperegrine", 3,0, -1,  0,
"vraurchin", 6,0, -1,  0,
"vrapterodactyl", 1,0, -1,  0,
"vraalbatross", 3,0, -1,  0,
"vraorca", 6,0, -1,  0,

}; [/size]

Any ideas what might be wrong?
posted on April 27th, 2009, 1:17 am
change the classlabel to research and make the hp pods and then the ai can research/build ur addon...

take a look how the klingon field yard works for the ai and you get how you get the ai to do it :)
posted on April 27th, 2009, 1:30 am
I changed the Starbase's classlabel to research and the AI still won't add the yard on sadly.
posted on April 27th, 2009, 1:31 am
like i said, take a look in to the klingons field yard, your find all ru answers there :)
posted on April 27th, 2009, 1:32 am
your looking for the odf command "PushbuildItem"
posted on April 27th, 2009, 1:38 am
redmanmark86 wrote:your looking for the odf command "PushbuildItem"


I've not heard of this command before, what does it do and what odf file should I put it in? I looked through the field yard's odf files and couldn't seem to find that command in any of them.
posted on April 27th, 2009, 8:17 am
sorry my bad, the field yard is where you get the odf command "buildItem0provided = 1" which means you automatically get that item when the station is initially built and a 2 is for no...

i was meant to say look in any of the starbases like in this example the klingon kahless station (starbase) and ur find these commands

pushBuildItem0 = "kli_noqdujS"
pushBuildItem1 = "kli_chorZS"
pushBuildItem2 = "kli_chorZS"

it basically tells the game to automatically push these buttons once when something is created or replaced :)

hope that helps...
posted on April 27th, 2009, 8:35 am
To clarify a point here, this will not make your things build fast like the auto-build stations; FO uses a special "speedy" odf to speed build the ships with no cost at the start.
Reply

Who is online

Users browsing this forum: No registered users and 8 guests