Added more content, tweaked AI resources and buffs

- Added invasion-specific buffs
- Added factional handling
- Added AI switches
- Added construction/repairing
- Fixed enemy TANO color when changing status
- Fixed notification baselines to consider GCW-specific circumstances
- Optimized AI algorithmic complexity by eliminating expensive
arithmetic operations
- Fixed reposition state to avoid locations in water
- Considered tower defense buff for NPCs in combat service
- Compacted 3 AI threads into one
- Dynamic allocation of AI resources depending on patrol point index and
same faction AI density
- Added Withdrawal state for more realistic post-battle behaviour
- Positioned all pylons, camps, officers, terminals, barricades,
turrets, towers, cloners in the appropriate coordinates
This commit is contained in:
CharonInferar
2014-08-02 00:06:22 +02:00
parent b1f05c6802
commit 5981efda9f
56 changed files with 5074 additions and 1232 deletions
+7 -2
View File
@@ -795,6 +795,7 @@ public class CombatService implements INetworkDispatch {
String animationStr = command.getRandomAnimation(weapon); // choosing turretShot as default attack, results in a zero length string
if (weapon.getTemplate().contains("atst_ranged"))
animationStr="fire_1_single_light";
CombatAction combatAction = new CombatAction(CRC.StringtoCRC(animationStr), attacker.getObjectID(), weapon.getObjectID(), target.getObjectID(), command.getCommandCRC());
// int turret_fire = 0xD334C0B8; // 0xA7595B4E
@@ -1089,10 +1090,14 @@ public class CombatService implements INetworkDispatch {
}
if (!attacker.isPlayer()){
if (attacker.hasBuff("expertise_damage_npc")){
rawDamage *=2; // tower_defense buff
}
}
}
return rawDamage;
return rawDamage;
}
private float calculateDamageForInstallation(InstallationObject attacker, TangibleObject target, WeaponObject weapon, CombatCommand command) {