-
Notifications
You must be signed in to change notification settings - Fork 5
/
nb_mini.js
73 lines (64 loc) · 2.61 KB
/
nb_mini.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/*
* This file defines a standard AI personality for the WZMini mod game.
*
* It relies on ruleset definition in /rulesets/ to provide
* WZMini strategy descriptions and necessary game stat information.
*
* Then it passes control to the main code.
*
*/
NB_PATH = "/multiplay/skirmish/";
NB_INCLUDES = NB_PATH + "nb_includes/";
NB_RULESETS = NB_PATH + "nb_rulesets/";
include(NB_INCLUDES + "_head.js");
////////////////////////////////////////////////////////////////////////////////////////////
// Start the actual personality definition
// the rules in which this personality plays
include(NB_RULESETS + "mini.js");
// variables defining the personality
var subpersonalities = {
Main: {
chatalias: "nvm",
weaponPaths: [ // weapons to use; put late-game paths below!
weaponStats.mg,
weaponStats.aa,
weaponStats.cn,
weaponStats.fl,
weaponStats.rx,
weaponStats.mo,
],
earlyResearch: [ // fixed research path for the early game
"R-MiniTrikeBody",
"R-MiniMGBunker",
],
minTanks: 1, // minimal attack force at game start
becomeHarder: 3, // how much to increase attack force every 5 minutes
maxTanks: 16, // maximum for the minTanks value (since it grows at becomeHarder rate)
minTrucks: 3, // minimal number of trucks around
minHoverTrucks: 4, // minimal number of hover trucks around
maxSensors: 1, // number of mobile sensor cars to produce
minMiscTanks: 2, // number of tanks to start harassing enemy
maxMiscTanks: 3, // number of tanks used for defense and harass
vtolness: 65, // the chance % of not making droids when adaptation mechanism chooses vtols
defensiveness: 10, // same thing for defenses; set this to 100 to enable turtle AI specific code
maxPower: 800, // build expensive things if we have more than that
repairAt: 60, // how much % healthy should droid be to join the attack group instead of repairing
},
};
function buildOrder() {
var derrickCount = countFinishedStructList(structures.derricks);
// might be good for Insane AI, or for rebuilding
if (derrickCount > 0)
if (buildMinimum(structures.gens, 1)) return true;
if (buildMinimum(structures.labs, 1)) return true;
if (buildMinimum(structures.templateFactories, 2)) return true;
if (buildMinimum(structures.gens, 1)) return true;
if (buildMinimumDerricks(2)) return true;
if (buildMinimum(structures.gens, 2)) return true;
if (buildMinimum(structures.hqs, 1)) return true;
if (buildMinimum(structures.vtolFactories, 1)) return true;
return false;
}
////////////////////////////////////////////////////////////////////////////////////////////
// Proceed with the main code
include(NB_INCLUDES + "_main.js");