This commit is contained in:
Pan 2019-04-03 21:49:33 +13:00
parent 7212008673
commit 93624cbda3
3 changed files with 25 additions and 4 deletions

View File

@ -40,7 +40,6 @@ public class mapAwarenessAI {
public int numberOfPlayerBuildingDestroyedPreviousFrame;
public int playerAssetDestoryedCountDown;
public boolean playerHasMostlyLightTanks;
public boolean playerHasMostlyHeavyTanks;
public boolean playIsRushingHighTierUnits;
@ -49,6 +48,7 @@ public class mapAwarenessAI {
public boolean playerIsRushingLightTank;
public boolean playerHasManyLightTanksButNoHeavyTank;
public boolean playerHasMostlyHeavyAndStealthTanks;
public boolean canRushPlayer;
public solidObject[] mapAsset;
public boolean[] visionMap;
@ -470,6 +470,9 @@ public class mapAwarenessAI {
maxNumberOfStealthTanks_playerInLastFiveMinutes = 0;
//determine if a rush is feasible against the player
findTheMostVulnerablePlayerBase();
findPlayerForceLocation();

View File

@ -335,8 +335,8 @@ public class scoutingManagerAI {
if(scout != null && scout.currentHP > 0 && scout.type == 0){
mainThread.ec.theUnitProductionAI.addLightTank((lightTank)scout);
scout.moveTo(mainThread.ec.theUnitProductionAI.rallyPoint.x, mainThread.ec.theUnitProductionAI.rallyPoint.z);
scout.currentCommand = solidObject.attackMove;
scout.secondaryCommand = solidObject.attackMove;
scout.currentCommand = solidObject.move;
scout.secondaryCommand = solidObject.StandBy;
}
destinationNode = 0;
scout = o;

View File

@ -48,12 +48,28 @@ public class unitProductionAI {
public solidObject[] unitInCombatRadius;
public solidObject[] unitOutsideCombatRadius;
public float rushRallyPointX, rushRallyPointZ;
public int frameAI;
public unitProductionAI(baseInfo theBaseInfo){
this.theBaseInfo = theBaseInfo;
rallyPoint = new vector(0,0,0);
if(gameData.getRandom() < 341) {
rushRallyPointX = 9.5f+2;
rushRallyPointZ = 5.5f+2;
}else if(gameData.getRandom() < 682) {
rushRallyPointX = 9.5f-2.75f;
rushRallyPointZ = 5.5f+2;
}else {
rushRallyPointX = 9.5f+3.5f;
rushRallyPointZ = 5.5f-0.5f;
}
rushRallyPointX = 9.5f+2;
rushRallyPointZ = 5.5f+2;
lightTanksControlledByCombatAI = new lightTank[192];
rocketTanksControlledByCombatAI = new rocketTank[72];
stealthTanksControlledByCombatAI = new stealthTank[96];
@ -117,7 +133,9 @@ public class unitProductionAI {
//If the difficulty is set to normal or hard, set the rally point just outside of player's natural expansion.
//So if the player is going for a fast expansion and don't have much units, the AI can perform a rush attack.
if(frameAI < 360 && mainThread.ec.theCombatManagerAI.checkIfAIHasBiggerForce(1f)) {
rallyPoint.set(rushRallyPointX, 0, rushRallyPointZ);
}
//make sure not to over produce when the resource is running low