Mobstatus tooltip update on controller interchanges
Fixed mob statuses being unexpectedly revoked for the new controller at transition time.
This commit is contained in:
@@ -1850,3 +1850,6 @@ Adicionado sistema de "qualquer NPC scriptável", com apoio do GabrielSin.
|
||||
Adicionado server flag para checagem de IP's ao logar jogadores.
|
||||
Corrigido mobskills não sendo devidamente aplicados devido a um deslize anterior que tentaria aplicar indevidamente 2x "uso de skill" (uma das vezes deveria ser somente checagem de rotina).
|
||||
Corrigido puppets de arqueiros interrompendo mob statuses para o dono ao serem lançados em campo.
|
||||
|
||||
04 Maio 2019,
|
||||
Corrigido visão de mob statuses sendo interrompido para o novo controlador ao realizar troca de controladores.
|
||||
@@ -1886,7 +1886,7 @@ public class MapleMonster extends AbstractLoadedMapleLife {
|
||||
}
|
||||
|
||||
this.aggroUpdatePuppetVisibility();
|
||||
newController.announce(MaplePacketCreator.controlMonster(this, false, immediateAggro));
|
||||
aggroMonsterControl(newController.getClient(), this, immediateAggro);
|
||||
newController.controlMonster(this);
|
||||
}
|
||||
}
|
||||
@@ -2054,7 +2054,7 @@ public class MapleMonster extends AbstractLoadedMapleLife {
|
||||
|
||||
else if (chrController != null) {
|
||||
chrController.announce(MaplePacketCreator.stopControllingMonster(this.getObjectId()));
|
||||
chrController.announce(MaplePacketCreator.controlMonster(this, false, true));
|
||||
aggroMonsterControl(chrController.getClient(), this, true);
|
||||
}
|
||||
*/
|
||||
} else {
|
||||
@@ -2063,6 +2063,13 @@ public class MapleMonster extends AbstractLoadedMapleLife {
|
||||
}
|
||||
}
|
||||
|
||||
private static void aggroMonsterControl(MapleClient c, MapleMonster mob, boolean immediateAggro) {
|
||||
c.announce(MaplePacketCreator.controlMonster(mob, false, immediateAggro));
|
||||
|
||||
// thanks BHB for noticing puppets disrupting mobstatuses for bowmans
|
||||
mob.announceMonsterStatus(c);
|
||||
}
|
||||
|
||||
private void aggroRefreshPuppetVisibility(MapleCharacter chrController, MapleSummon puppet) {
|
||||
// lame patch for client to redirect all aggro to the puppet
|
||||
|
||||
@@ -2080,8 +2087,7 @@ public class MapleMonster extends AbstractLoadedMapleLife {
|
||||
|
||||
MapleClient c = chrController.getClient();
|
||||
for (MapleMonster mob : puppetControlled) {
|
||||
chrController.announce(MaplePacketCreator.controlMonster(mob, false, mob.isControllerHasAggro()));
|
||||
mob.announceMonsterStatus(c); // thanks BHB for noticing puppets disrupting mobstatuses for bowmans
|
||||
aggroMonsterControl(c, mob, mob.isControllerKnowsAboutAggro());
|
||||
}
|
||||
chrController.announce(MaplePacketCreator.spawnSummon(puppet, false));
|
||||
}
|
||||
@@ -2116,7 +2122,7 @@ public class MapleMonster extends AbstractLoadedMapleLife {
|
||||
controllerHasPuppet = false;
|
||||
|
||||
chrController.announce(MaplePacketCreator.stopControllingMonster(MapleMonster.this.getObjectId()));
|
||||
chrController.announce(MaplePacketCreator.controlMonster(MapleMonster.this, false, MapleMonster.this.isControllerHasAggro()));
|
||||
aggroMonsterControl(chrController.getClient(), MapleMonster.this, MapleMonster.this.isControllerHasAggro());
|
||||
}
|
||||
} finally {
|
||||
availablePuppetUpdate = true;
|
||||
|
||||
Reference in New Issue
Block a user