Only objects that are in objectList are added to the Quadtree. Prevents
later errors where the quadtree objects would not be found in
objectList. After all such objects should not even be around, but well
...
- Fixed staying in combat with a lair
- Fixed lairs spawning under ground
- Fixed vehicle spawn bug
- Fixed lair to spawn more waves
- Fixed data type error in calculation for lair damage
- Fixed some lairs not having health due to incorrect level
Fixed an issue where attributes weren't being removed when unequipping
items.
EquipmentList and ApperaranceList are currently broken and will cause
crashes when modified, thus when equipping an item in any way will cause
a crash. Expect a fix for that from Treeku shortly.
Fixes:
java.lang.NullPointerException
at resources.objects.tangible.TangibleObject.getDefendersList(TangibleObject.java:328)
at services.gcw.FactionService.calculatePvpStatus(FactionService.java:318)
at resources.objects.creature.CreatureObject.sendBaselines(CreatureObject.java:1475)
at engine.resources.objects.SWGObject.makeAware(SWGObject.java:532)
at services.SimulationService.add(SimulationService.java:251)
at services.SimulationService.handleZoneIn(SimulationService.java:1187)
at services.object.ObjectService$7.handlePacket(ObjectService.java:1169)
at engine.resources.service.NetworkDispatch$1.run(NetworkDispatch.java:216)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
We've had a completely incorrect buff structure in baselines for the last year due to some small misinterpretations of its structure. It worked because there was the right amount of bytes, but otherwise the structure wasn't right and variables have been in the wrong place. Specifically, we interpreted the stack variable (which comes last) to be the beginning of all buffs except the first, assumed there was an abnormal starting buff, and treated the final stack variable as an unknown variable that comes after the buff list. This is most likely also why it didn't work without this "default buff". The structure has been correct in Buff.getBytes() and buff deltas for a while but has been incorrect for baselines.
- Fixed issue where player couldn't stop watching an ent.
Dev info:
ConnectionService:disconnect(): Error disconnecting client.
java.lang.NullPointerException
at resources.objects.creature.CreatureObject.setPerformanceWatchee(CreatureObject.java:1076)
Fixed:
1: Player and creature/npc HAM does not update.
2: On initial character zone in, you do not receive HAM for level 5. you are stuck at 1000/308. I believe that is for level 1. A relog will fix this. You also do not receive your starter commands, unless you relog.
3: During combat player and target HAM do not update but you do give and receive damage via the combat log (and the target can be killed) If you logoff and back in again during combat you can see the HAM changes to that point but they will not move again unless you relog again.
4: if you use the travelService (teleport, shuttle, etc) everything will update once as well. Will not update again unless you travel again.
- Fixed issue where player couldn't stop listening to an ent.
Dev info:
ConnectionService:disconnect(): Error disconnecting client.
java.lang.NullPointerException
at resources.objects.creature.CreatureObject.setPerformanceListenee(CreatureObject.java:1092)
- Content devs can now add lairCRC vectors and bosses
- The boss spawns will only work after the invasion commit because then
lairs will get health bars and the lair will spawn more waves
- 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
Packet captures logs on the Test Center show multiple times that the
moodAnimation delta is being sent more than once (sometimes 5+ times for
the same objId) - disabled for now to see what happens.