Merge pull request #35 from ronancpl7/fix-change-maps-disorder
Fix mob status crash & dmg from map hazard
This commit is contained in:
@@ -20299,8 +20299,6 @@ USE `cosmic`;
|
|||||||
(5130106, 2022001, 1, 1, 0, 20000),
|
(5130106, 2022001, 1, 1, 0, 20000),
|
||||||
(6130102, 2022001, 1, 1, 0, 20000),
|
(6130102, 2022001, 1, 1, 0, 20000),
|
||||||
(6130103, 2022001, 1, 1, 0, 20000),
|
(6130103, 2022001, 1, 1, 0, 20000),
|
||||||
(6130200, 2022001, 1, 1, 0, 20000),
|
|
||||||
(6130201, 2022001, 1, 1, 0, 20000),
|
|
||||||
(2220000, 1322001, 1, 1, 0, 8000),
|
(2220000, 1322001, 1, 1, 0, 8000),
|
||||||
(9400551, 4031447, 1, 1, 0, 999999);
|
(9400551, 4031447, 1, 1, 0, 999999);
|
||||||
|
|
||||||
|
|||||||
@@ -73,6 +73,7 @@ import java.sql.SQLException;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -1440,6 +1441,11 @@ public class MaplePacketCreator {
|
|||||||
private static void encodeTemporary(MaplePacketLittleEndianWriter mplew, Map<MonsterStatus, MonsterStatusEffect> stati) {
|
private static void encodeTemporary(MaplePacketLittleEndianWriter mplew, Map<MonsterStatus, MonsterStatusEffect> stati) {
|
||||||
int pCounter = -1, mCounter = -1;
|
int pCounter = -1, mCounter = -1;
|
||||||
|
|
||||||
|
stati = stati.entrySet() // to patch some status crashing players
|
||||||
|
.stream()
|
||||||
|
.filter(e -> !(e.getKey().equals(MonsterStatus.WATK) || e.getKey().equals(MonsterStatus.WDEF)))
|
||||||
|
.collect(Collectors.toMap(e -> e.getKey(), e -> e.getValue()));
|
||||||
|
|
||||||
writeLongEncodeTemporaryMask(mplew, stati.keySet()); // packet structure mapped thanks to Eric
|
writeLongEncodeTemporaryMask(mplew, stati.keySet()); // packet structure mapped thanks to Eric
|
||||||
|
|
||||||
for (Entry<MonsterStatus, MonsterStatusEffect> s : stati.entrySet()) {
|
for (Entry<MonsterStatus, MonsterStatusEffect> s : stati.entrySet()) {
|
||||||
@@ -2663,6 +2669,9 @@ public class MaplePacketCreator {
|
|||||||
mplew.writeShort(SendOpcode.DAMAGE_PLAYER.getValue());
|
mplew.writeShort(SendOpcode.DAMAGE_PLAYER.getValue());
|
||||||
mplew.writeInt(cid);
|
mplew.writeInt(cid);
|
||||||
mplew.write(skill);
|
mplew.write(skill);
|
||||||
|
if (skill == -3) {
|
||||||
|
mplew.writeInt(0);
|
||||||
|
}
|
||||||
mplew.writeInt(damage);
|
mplew.writeInt(damage);
|
||||||
if(skill != -4) {
|
if(skill != -4) {
|
||||||
mplew.writeInt(monsteridfrom);
|
mplew.writeInt(monsteridfrom);
|
||||||
|
|||||||
Reference in New Issue
Block a user