From 5eb0ee8465db930189fa67b59a2370f94e00b742 Mon Sep 17 00:00:00 2001 From: Treeku Date: Wed, 20 Aug 2014 02:29:38 +0100 Subject: [PATCH] Fixed issue where health and skills didn't update. 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. --- .../objects/creature/CreatureObject.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/resources/objects/creature/CreatureObject.java b/src/resources/objects/creature/CreatureObject.java index 4ac9485f..6769379d 100644 --- a/src/resources/objects/creature/CreatureObject.java +++ b/src/resources/objects/creature/CreatureObject.java @@ -1468,6 +1468,32 @@ public class CreatureObject extends TangibleObject implements IPersistent { } } + public void sendListDelta(byte viewType, short updateType, IoBuffer buffer) { + switch (viewType) { + case 1: + case 4: + case 7: + case 8: + case 9: + { + buffer = getBaseline(viewType).createDelta(updateType, buffer.array()); + + if (getClient() != null && getClient().getSession() != null) { + getClient().getSession().write(buffer); + } + + break; + } + case 3: + case 6: + { + buffer = getBaseline(viewType).createDelta(updateType, buffer.array()); + notifyClients(buffer, true); + break; + } + } + } + @Deprecated public void playMusicSelf(String sndFile, long targetId, int repetitions, boolean flag) { playMusic(sndFile, targetId, repetitions, flag); } @Deprecated public void setXpBarValue(int xpBarValue) { setDisplayXp(xpBarValue); }