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
|
function setupBase(player) // inside hackNetOff()
{
if (baseType === CAMP_CLEAN)
{
setPower(1300, player);
completeResearchOnTime(cleanTech, player);
removeBaseStructures(player);
}
else if (baseType === CAMP_BASE)
{
setPower(2500, player);
completeResearchOnTime(timeBaseTech, player);
removeBaseStructures(player);
}
else // CAMP_WALLS
{
setPower(2500, player);
completeResearchOnTime(timeAdvancedBaseTech, player);
}
}
function removeBaseStructures(player)
{
for (const structure of enumStruct(player))
{
if (shouldRemoveBaseStructure(structure.stattype, player))
{
removeObject(structure);
}
}
}
function shouldRemoveBaseStructure(stattype, player)
{
if (baseType === CAMP_CLEAN && playerData[player].difficulty !== INSANE)
{
return true; // remove everything
}
else if (baseType === CAMP_CLEAN && playerData[player].difficulty === INSANE)
{
return stattype !== WALL
&& stattype !== DEFENSE
&& stattype !== GATE
&& stattype !== RESOURCE_EXTRACTOR;
}
else if (baseType === CAMP_BASE && playerData[player].difficulty !== INSANE)
{
return stattype === WALL
|| stattype === DEFENSE
|| stattype === GATE
|| stattype === CYBORG_FACTORY
|| stattype === COMMAND_CONTROL;
}
else if (baseType === CAMP_BASE && playerData[player].difficulty === INSANE)
{
return stattype === CYBORG_FACTORY
|| stattype === COMMAND_CONTROL;
}
else // CAMP_WALLS
{
return false; // don't remove anything
}
}
|