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
@@ -1,4 +1,7 @@
import sys
def setup(core, object):
object.setAttachment('radial_filename', 'object/usable')
return
def use(core, owner, target):
core.invasionService.useTurret(owner, target);
return
@@ -1,4 +1,7 @@
import sys
def setup(core, object):
object.setAttachment('radial_filename', 'object/usable')
return
def use(core, owner, target):
core.invasionService.useTurret(owner, target);
return
@@ -1,4 +1,7 @@
import sys
def setup(core, object):
object.setAttachment('radial_filename', 'object/usable')
return
def use(core, owner, target):
core.invasionService.useTurret(owner, target);
return
@@ -1,4 +1,7 @@
import sys
def setup(core, object):
object.setAttachment('radial_filename', 'object/usable')
return
def use(core, owner, target):
core.invasionService.usePylon(owner, target);
return
@@ -1,4 +1,7 @@
import sys
def setup(core, object):
object.setAttachment('radial_filename', 'object/usable')
return
def use(core, owner, target):
core.invasionService.useBarricade(owner, target);
return
@@ -1,4 +1,7 @@
import sys
def setup(core, object):
object.setAttachment('radial_filename', 'object/usable')
return
def use(core, owner, target):
core.invasionService.useTower(owner, target);
return
@@ -1,4 +1,7 @@
import sys
def setup(core, object):
object.setAttachment('radial_filename', 'object/usable')
return
def use(core, owner, target):
core.invasionService.useBarricade(owner, target);
return
@@ -1,4 +1,7 @@
import sys
def setup(core, object):
object.setAttachment('radial_filename', 'object/usable')
return
def use(core, owner, target):
core.invasionService.useTower(owner, target);
return
@@ -1,4 +1,7 @@
import sys
def setup(core, object):
object.setAttachment('radial_filename', 'object/usable')
return
def use(core, owner, target):
core.invasionService.supplyTerminalSUI(owner, 0);
return
@@ -1,4 +1,7 @@
import sys
def setup(core, object):
object.setAttachment('radial_filename', 'object/usable')
return
def use(core, owner, target):
core.invasionService.supplyOffensiveTerminalSUI(owner, 0);
return
@@ -1,4 +1,7 @@
import sys
def setup(core, object):
object.setAttachment('radial_filename', 'object/usable')
return
def use(core, owner, target):
core.invasionService.supplyTerminalSUI(owner, 0);
return
@@ -1,4 +1,7 @@
import sys
def setup(core, object):
object.setAttachment('radial_filename', 'object/usable')
return
def use(core, owner, target):
core.invasionService.supplyOffensiveTerminalSUI(owner, 0);
return