Take damage & Summon packets
Fixed some oddities with other player clients when dealing with summons (spawning, taking damage or attacking). Fixed damage dealt to player not apearing if the player is a GM on hiding and other players in the area are GMs as well.
This commit is contained in:
@@ -810,6 +810,10 @@ public class MapleStatEffect {
|
||||
}
|
||||
SummonMovementType summonMovementType = getSummonMovementType();
|
||||
if (overTime || isCygnusFA() || summonMovementType != null) {
|
||||
if (summonMovementType != null && pos != null) {
|
||||
applyto.cancelBuffStats(MapleBuffStat.SUMMON); // if player has a summon already, drop it
|
||||
}
|
||||
|
||||
applyBuffEffect(applyfrom, applyto, primary);
|
||||
}
|
||||
|
||||
@@ -1105,7 +1109,7 @@ public class MapleStatEffect {
|
||||
}
|
||||
if (hpR != 0) {
|
||||
hpchange += (int) (applyfrom.getCurrentMaxHp() * hpR) / (applyfrom.hasDisease(MapleDisease.ZOMBIFY) ? 2 : 1);
|
||||
applyfrom.checkBerserk();
|
||||
applyfrom.checkBerserk(applyfrom.isHidden());
|
||||
}
|
||||
if (primary) {
|
||||
if (hpCon != 0) {
|
||||
|
||||
@@ -209,7 +209,7 @@ public class MapleMonster extends AbstractLoadedMapleLife {
|
||||
}
|
||||
int trueDamage = Math.min(hp, damage); // since magic happens otherwise B^)
|
||||
|
||||
if(ServerConstants.USE_DEBUG == true && from != null) from.dropMessage(5, "Hitted MOB " + this.getId());
|
||||
if(ServerConstants.USE_DEBUG == true && from != null) from.dropMessage(5, "Hitted MOB " + this.getId() + ", OID " + this.getObjectId());
|
||||
dispatchMonsterDamaged(from, trueDamage);
|
||||
|
||||
hp -= damage;
|
||||
|
||||
Reference in New Issue
Block a user