Any object that inherits TangibleObject and has commands utilized on it will need to make sure their initAfterDBLoad() calls super.initAfterDBLoad().
Fixes:
java.lang.NullPointerException
at resources.objects.tangible.TangibleObject.hasCooldown(TangibleObject.java:626)
at services.command.CommandService.callCommand(CommandService.java:95)
at services.command.CommandService$1.handlePacket(CommandService.java:1011)
at engine.resources.service.NetworkDispatch$1.run(NetworkDispatch.java:202)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
- 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
- Fixes 0000031: Incap is not working correctly
- NPC AI now considers deathblow values correctly
- AI state transition further debugged
- Pet now follows owner after killing attacker
- Added debug log system
- Cleaned up system console from system.out messages
Changed guilds to be saved to a TreeMap instead of solely the SWGSet.
Fixed uses string
Added UnknownAbilityPacket (was sent for every new ability, doesnt seem
to do anything)
Lots of guild improvement/features added.
The majority of lightsaber customization now works.
All that I can think of that needs to be done is:
* Rare/Unique color crystals names/palette index to
resources.datatables.LightsaberColors
* Weapon element types and damage bonus based on color crystal
* Random stats when tuning power crystals/krayt dragon pearls
* Checks to see if lightsaber is full - container size is in IFFs, we
should implement it for all containers