- GCW tokens are now granted for invasions
- GCW points correctly translate to GCW rank progression
- Temp fixed GCW next update timer
- Ensured thread termination of spawners
- Prepared InvasionService in terms of timing for TestServer-deployment
- 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
- Added barrier and tower plus the according buffs
- Added defender NPCs
- Fixed enemy NPCs not showing hostile after faction change
- Added ally function implementation to rebel and imperial scripts
- AI does not lock up in a state anymore
- AI seeks better position if LOS is blocked
- AI resumes previous states better now
This ensures nothing is ever missed out of the pvpStatus calculation,
such as faction standing. It should calculate the following:
On Leave/neutral players should be #16
Combatant players should be #35
Opposing faction SF players should be #55
Opposing Combatant NPCs should be #19
Ally SF NPCs (ie.; hoth commandos) should be #4
Enemy SF NPCs (ie. hoth resistance) should be #7
Same faction NPCs should be #0 (pink)
Attackable NPCs should be #1
Aggressive NPCs should be #2 or #3
NPCs you have negative faction standing with should be #2 or #3
When you join a faction, #16 is set to true.
When you go combatant, #32 is set to true. The resulting flag: 48
When you go SF, #1, #2 and #4 are set to true. The resulting flag: 55
When you go back to combatant, #1, #2 and #4 are set to false. The resulting flag: 48
The error was either in the Player flag not being set anywhere, or setPvpStatus setting it instead of doing OR/XOR operations.
(The result of this would be bit #16 wouldn't be set to true, meaning SF would be 39 instead of 55)
We could still set all of the flags to true for SF without harm for safety, it just wasn't theoretically necessary.
Additionally any players that login automatically were getting #16 sent to the client by sendBaselines() regardless of if they had a faction, which should now be fixed.