Permalink
Browse files

Fix Nullbot research item and revert a few changes.

Reverts part of 2ce9492 where "Incenediary" was corrected to "Incendiary" so as
not to break mods and savegames.

Fully revert 6000e5e so resolutions can be changed again.

Fixes Nullbot research for super pulse laser cyborg.

Fixes ticket:4639.
  • Loading branch information...
KJeff01 committed Sep 19, 2017
1 parent 1c1b9c5 commit 52db9416a8fbb7984165bbdc58b4b96efe872c33
@@ -1,31 +1,31 @@
/*
* This file describes standard stats and strategies of
* This file describes standard stats and strategies of
* the base (unmodded) game.
*
*
* If you want to make an AI specially designed for your mod, start by
* making a copy of this file and modifying it according to your mod's rules.
*
* Then provide a personality to use the ruleset, similar to
*
* Then provide a personality to use the ruleset, similar to
* how nb_generic.[js|ai] is provided for this ruleset.
*
*
* You may find some useful functions for working with these stats
* in stats.js .
*
*
*/
// a factor for figuring out how large things are in this ruleset,
// or simply a typical radius of a player's base
const baseScale = 20;
const baseScale = 20;
// diameter of laser satellite splash/incendiary damage
// diameter of laser satellite splash/incendiary damage
// for use in lassat.js
const lassatSplash = 4;
const lassatSplash = 4;
// set this to 1 to choose templates randomly, instead of later=>better.
const randomTemplates = 0;
// this function is used for avoiding AI cheats that appear due to
// this function is used for avoiding AI cheats that appear due to
// being able to build droids before designing them
function iCanDesign() {
if (difficulty === INSANE) // won't make INSANE much worse ...
@@ -160,7 +160,7 @@ const classResearch = {
// NOTE: Hover propulsion should be placed AFTER ground propulsion!
// Adaptation code relies on that for discovering map topology.
// Ground propulsions need to be ground only, hover propulsions shouldn't
// be able to cross cliffs, but should be able to cross seas, etc.
// be able to cross cliffs, but should be able to cross seas, etc.
const propulsionStats = [
{ res: "R-Vehicle-Prop-Wheels", stat: "wheeled01", usage: PROPULSIONUSAGE.GROUND },
{ res: "R-Vehicle-Prop-Halftracks", stat: "HalfTrack", usage: PROPULSIONUSAGE.GROUND },
@@ -186,7 +186,7 @@ const weaponStats = {
machineguns: {
// How good weapons of this path are against tanks, borgs, defenses, vtols?
// The sum of the four should be equal to 1.
roles: [ 0.1, 0.7, 0.1, 0.1 ],
roles: [ 0.1, 0.7, 0.1, 0.1 ],
// This explains how are human players supposed to call this weapon path in the chat.
chatalias: "mg",
// This controls micromanagement of units based on the weapons of this path.
@@ -356,21 +356,21 @@ const weaponStats = {
},
fireMortars: {
roles: [ 0.3, 0.3, 0.4, 0.0 ],
chatalias: "fm",
chatalias: "fm",
micro: MICRO.DUMB,
weapons: [
{ res: "R-Wpn-Mortar01Lt", stat: "Mortar1Mk1", weight: WEIGHT.HEAVY }, // duplicate stat!
{ res: "R-Wpn-Mortar-Incendiary", stat: "Mortar-Incendiary", weight: WEIGHT.HEAVY },
{ res: "R-Wpn-Howitzer-Incendiary", stat: "Howitzer-Incendiary", weight: WEIGHT.ULTRAHEAVY },
{ res: "R-Wpn-Mortar-Incenediary", stat: "Mortar-Incenediary", weight: WEIGHT.HEAVY },
{ res: "R-Wpn-Howitzer-Incenediary", stat: "Howitzer-Incenediary", weight: WEIGHT.ULTRAHEAVY },
],
vtols: [
{ res: "R-Wpn-Bomb03", stat: "Bomb3-VTOL-LtINC", weight: WEIGHT.LIGHT },
{ res: "R-Wpn-Bomb04", stat: "Bomb4-VTOL-HvyINC", weight: WEIGHT.HEAVY },
{ res: "R-Wpn-Bomb05", stat: "Bomb5-VTOL-Plasmite", weight: WEIGHT.HEAVY },
],
defenses: [
{ res: "R-Defense-MortarPit-Incendiary", stat: "Emplacement-MortarPit-Incendiary", defrole: DEFROLE.STANDALONE },
{ res: "R-Defense-Howitzer-Incendiary", stat: "Emplacement-Howitzer-Incendiary", defrole: DEFROLE.ARTY },
{ res: "R-Defense-MortarPit-Incenediary", stat: "Emplacement-MortarPit-Incenediary", defrole: DEFROLE.STANDALONE },
{ res: "R-Defense-Howitzer-Incenediary", stat: "Emplacement-Howitzer-Incenediary", defrole: DEFROLE.ARTY },
],
templates: [],
extras: [
@@ -503,7 +503,7 @@ const weaponStats = {
],
templates: [
{ res: "R-Wpn-Laser01", body: "CyborgLightBody", prop: "CyborgLegs", weapons: [ "Cyb-Wpn-Laser", ] }, // flash borg
{ res: "Cyb-Hvy-PulseLsr", body: "CyborgHeavyBody", prop: "CyborgLegs", weapons: [ "Cyb-Hvywpn-PulseLsr", ] }, // pulse super
{ res: "R-Cyborg-Hvywpn-PulseLsr", body: "CyborgHeavyBody", prop: "CyborgLegs", weapons: [ "Cyb-Hvywpn-PulseLsr", ] }, // pulse super
],
extras: [],
},
@@ -21,7 +21,7 @@ run
numAttackers[1] int 0
numCyborgs[1] int 25 // build cyborgs until scouts contains x droids
//default branch
maxScouts[0] int 3 // min number of droids in group to aim for.
maxDefenders[0] int 5
@@ -33,7 +33,7 @@ run
maxDefenders[1] int 20
maxAttackers[1] int 0
maxCyborgs[1] int 50 // build cyborgs until scouts contains x droids
tileExpand int 12 // approx minutes to expand over the map.
/////////////////////////////////////////////////////////////////////
@@ -57,10 +57,10 @@ run
//number of research topics for each research branch
techCount[0] int 6
//how many res facilities to use when finished researching all specified research topics
maxIdleRes[0] int -1
tech[0][0] RESEARCHSTAT "R-Wpn-MG3Mk1" //HMG
tech[0][1] RESEARCHSTAT "R-Vehicle-Prop-Halftracks" //half-tracks
tech[0][2] RESEARCHSTAT "R-Wpn-Rocket02-MRL" //mini rocket artillery
@@ -70,26 +70,26 @@ run
//other tech: R-Vehicle-Prop-VTOL, R-Struc-VTOLPad, R-Struc-VTOLFactory
techCount[1] int 19
//how many res facilities to use when finished researching all specified research topics
maxIdleRes[1] int 3
tech[1][0] RESEARCHSTAT "R-Struc-VTOLFactory"
tech[1][1] RESEARCHSTAT "R-Struc-VTOLPad"
tech[1][2] RESEARCHSTAT "R-Wpn-MG3Mk1" //HMG
tech[1][3] RESEARCHSTAT "R-Wpn-Rocket02-MRL" //mini rocket artillery
tech[1][4] RESEARCHSTAT "R-Wpn-Rocket-ROF03"
tech[1][5] RESEARCHSTAT "R-Wpn-Flamer-Damage03" //flamer damage 03
tech[1][6] RESEARCHSTAT "R-Wpn-Flamer-ROF03" //flamer ROF 03
tech[1][7] RESEARCHSTAT "R-Wpn-Rocket01-LtAT" //Lancer
tech[1][8] RESEARCHSTAT "R-Vehicle-Body08" //Scorpion body
tech[1][9] RESEARCHSTAT "R-Struc-Power-Upgrade03a" //power upgrade 03a
tech[1][10] RESEARCHSTAT "R-Wpn-Missile-Accuracy02" //lancer accuracy
tech[1][11] RESEARCHSTAT "R-Wpn-Missile-Damage03" //lancer damage
tech[1][12] RESEARCHSTAT "R-Wpn-Rocket03-HvAT" //BB
tech[1][13] RESEARCHSTAT "R-Struc-VTOLPad-Upgrade06"
tech[1][14] RESEARCHSTAT "R-Struc-Factory-Upgrade04"
@@ -108,11 +108,11 @@ run
numIncendrys int 8
incendiaries[0] STRUCTURESTAT "Emplacement-MortarPit01"
incendiaries[1] STRUCTURESTAT "Emplacement-MortarPit02"
incendiaries[2] STRUCTURESTAT "Emplacement-MortarPit-Incendiary"
incendiaries[2] STRUCTURESTAT "Emplacement-MortarPit-Incenediary"
incendiaries[3] STRUCTURESTAT "Emplacement-RotMor"
incendiaries[4] STRUCTURESTAT "Emplacement-Howitzer105"
incendiaries[5] STRUCTURESTAT "Emplacement-Howitzer150"
incendiaries[6] STRUCTURESTAT "Emplacement-Howitzer-Incendiary"
incendiaries[6] STRUCTURESTAT "Emplacement-Howitzer-Incenediary"
incendiaries[7] STRUCTURESTAT "Emplacement-RotHow"
//anti a.
@@ -206,7 +206,7 @@ run
extraStructs[0][1] STRUCTURESTAT "A0LightFactory"
extraStructs[0][2] STRUCTURESTAT "A0ResearchFacility"
extraStructs[0][3] STRUCTURESTAT "A0CyborgFactory"
numExtraStructs[1] int 5
extraStructs[1][0] STRUCTURESTAT "A0VTolFactory1"
extraStructs[1][1] STRUCTURESTAT "A0VTolFactory1"
@@ -285,8 +285,8 @@ run
tmpl[0][46] TEMPLATE "SK-Veng-Hover-Seraph"
tmpl[0][47] TEMPLATE "Dragon-Hover-SeraphGauss"
//branchVTOL
numTemplates[1] int 18
@@ -304,13 +304,13 @@ run
tmpl[1][11] TEMPLATE "SK-Cobra-Hover-HMG"
tmpl[1][12] TEMPLATE "SK-Cobra-Hover-Lancer"
tmpl[1][13] TEMPLATE "H-Scorp-Trk-Lancer"
tmpl[1][14] TEMPLATE "H-Scorp-Trk-HC"
tmpl[1][15] TEMPLATE "H-Scorp-Trk-Lancer"
tmpl[1][16] TEMPLATE "H-Scorp-Trk-HC"
tmpl[1][17] TEMPLATE "H-Scorp-Trk-Lancer"
/////////////////////////////////////////////////////////////////////
// SENSORS / REPAIR TEMPLATES
@@ -343,7 +343,7 @@ run
cybTempl[3] TEMPLATE "CyborgRkt01Ground"
cybTempl[4] TEMPLATE "MP-Cyb-Needle-GRD"
cybTempl[5] TEMPLATE "MP-Cyb-Needle-GRD"
cybMechanic TEMPLATE "Cyb-Mechanic"
cybEngineer TEMPLATE "Cyb-ComEng"
@@ -404,10 +404,10 @@ run
vtolTargetWeight[8] int 20
vtolTarget[9] STRUCTURESTAT "A0RepairCentre3"
vtolTargetWeight[9] int 10
// Structure types AI will rebuild when they get destroyed (per tech branch basis)
// branchDefault
numRebuildStat[0] int 2
rebuildStat[0][0] STRUCTURESTAT "A0HardcreteMk1Wall"
@@ -22,15 +22,15 @@ run
//vtol branch
numDefenders[1] int 12
numAttackers[1] int 0
//default branch
maxDefenders[0] int 5
maxAttackers[0] int -1
//vtol branch
maxDefenders[1] int 20
maxAttackers[1] int 0
tileExpand int 12 // approx minutes to expand over the map.
/////////////////////////////////////////////////////////////////////
@@ -57,7 +57,7 @@ run
//number of research topics for each research branch
techCount[0] int 19
tech[0][0] RESEARCHSTAT "R-Defense-Tower01" //mg guard tower
tech[0][1] RESEARCHSTAT "R-Wpn-MG3Mk1" //HMG
tech[0][2] RESEARCHSTAT "R-Vehicle-Prop-Halftracks" //Half-tracks
@@ -80,7 +80,7 @@ run
//other tech: R-Vehicle-Prop-VTOL, R-Struc-VTOLPad, R-Struc-VTOLFactory
techCount[1] int 18
tech[1][0] RESEARCHSTAT "R-Defense-Tower01" //mg tower for early fun
tech[1][1] RESEARCHSTAT "R-Struc-Research-Module" //reslab module
tech[1][2] RESEARCHSTAT "R-Struc-PowerModuleMk1" //power module
@@ -110,11 +110,11 @@ run
numIncendrys int 10
incendiaries[0] STRUCTURESTAT "Emplacement-MortarPit01"
incendiaries[1] STRUCTURESTAT "Emplacement-MortarPit02"
incendiaries[2] STRUCTURESTAT "Emplacement-MortarPit-Incendiary"
incendiaries[2] STRUCTURESTAT "Emplacement-MortarPit-Incenediary"
incendiaries[3] STRUCTURESTAT "Emplacement-RotMor"
incendiaries[4] STRUCTURESTAT "Emplacement-Howitzer105"
incendiaries[5] STRUCTURESTAT "Emplacement-Howitzer150"
incendiaries[6] STRUCTURESTAT "Emplacement-Howitzer-Incendiary"
incendiaries[6] STRUCTURESTAT "Emplacement-Howitzer-Incenediary"
incendiaries[7] STRUCTURESTAT "Emplacement-RotHow"
incendiaries[8] STRUCTURESTAT "Emplacement-Rocket06-IDF"
incendiaries[9] STRUCTURESTAT "Emplacement-HvART-pit"
@@ -212,7 +212,7 @@ run
//branchDefault
numTemplates int 48
tmpl[0] TEMPLATE "ViperMG01Wheels" //MG
tmpl[1] TEMPLATE "ViperMG02Wheels" //TMG
tmpl[2] TEMPLATE "ViperHMGWheels" //HMG
@@ -271,7 +271,7 @@ run
tmpl[46] TEMPLATE "SK-Veng-Hover-Seraph"
tmpl[47] TEMPLATE "Dragon-Hover-SeraphGauss"
/////////////////////////////////////////////////////////////////////
// SENSORS / REPAIR TEMPLATES
@@ -304,7 +304,7 @@ run
cybTempl[3] TEMPLATE "CyborgRkt01Ground"
cybTempl[4] TEMPLATE "MP-Cyb-Needle-GRD"
cybTempl[5] TEMPLATE "MP-Cyb-Needle-GRD"
cybMechanic TEMPLATE "Cyb-Mechanic"
cybEngineer TEMPLATE "Cyb-ComEng"
@@ -334,8 +334,8 @@ run
vtolTargetWeight[8] int 20
vtolTarget[9] STRUCTURESTAT "A0RepairCentre3"
vtolTargetWeight[9] int 10
// Structure types AI will rebuild when they get destroyed
numRebuildStat int 2
rebuildStat[0] STRUCTURESTAT "A0HardcreteMk1Wall"
Oops, something went wrong.

0 comments on commit 52db941

Please sign in to comment.