Neo City + Revamped EllinPQ + New Release

Fixed Neo City area, now playable.
Overhauled the EllinPQ mechanics, such as the "CLEAR" effect when passing maps, and some bug fixes along the way.
Refactored a lot of out-of-place classes and properly renamed a few others through the project.
Updated readme and licenses through the source, preparing the stage for the new release.
This commit is contained in:
ronancpl
2017-11-29 00:57:50 -02:00
parent 46924812b0
commit 85a81b9bf9
163 changed files with 17125 additions and 14961 deletions

View File

@@ -119,7 +119,8 @@ public class AbstractPlayerInteraction {
}
public void warpParty(int id, int portalId) {
warpParty(id, portalId, getMapId(), getMapId());
int mapid = getMapId();
warpParty(id, portalId, mapid, mapid);
}
public void warpParty(int id, int fromMinId, int fromMaxId) {

View File

@@ -502,20 +502,20 @@ public class EventInstanceManager {
leaderId = ldr.getId();
}
public void monsterKilled(MapleMonster mob) {
public void monsterKilled(MapleMonster mob, boolean hasKiller) {
sL.lock();
try {
mobs.remove(mob);
try {
em.getIv().invokeFunction("monsterKilled", mob, this);
em.getIv().invokeFunction("monsterKilled", mob, this, hasKiller);
} catch (ScriptException | NoSuchMethodException ex) {
ex.printStackTrace();
}
if (mobs.isEmpty()) {
try {
em.getIv().invokeFunction("allMonstersDead", this);
em.getIv().invokeFunction("allMonstersDead", this, hasKiller);
} catch (ScriptException | NoSuchMethodException ex) {
ex.printStackTrace();
}
@@ -525,11 +525,11 @@ public class EventInstanceManager {
}
}
public void friendlyKilled(MapleMonster mob) {
public void friendlyKilled(MapleMonster mob, boolean hasKiller) {
try {
sL.lock();
try {
em.getIv().invokeFunction("friendlyKilled", mob, this);
em.getIv().invokeFunction("friendlyKilled", mob, this, hasKiller);
} finally {
sL.unlock();
}
@@ -1213,7 +1213,8 @@ public class EventInstanceManager {
}
public final void showClearEffect(boolean hasGate) {
showClearEffect(hasGate, getLeader().getMapId());
MapleCharacter leader = getLeader();
if(leader != null) showClearEffect(hasGate, leader.getMapId());
}
public final void showClearEffect(int mapId) {

View File

@@ -104,6 +104,8 @@ public class ReactorActionManager extends AbstractPlayerInteraction {
}
public void dropItems(boolean delayed, int posX, int posY, boolean meso, int mesoChance, final int minMeso, final int maxMeso, int minItems) {
if(c.getPlayer() == null) return;
List<ReactorDropEntry> chances = getDropChances();
List<ReactorDropEntry> items = new LinkedList<>();
int numItems = 0;