New PQ: Boss Rush PQ + Ellin/PiratePQ bug fixes

Introducing Boss Rush PQ. Corrected a few issues regarding rewardings in
PiratePQ and EllinPQ and implemented a standardized way to script PQs.
This commit is contained in:
ronancpl
2017-04-25 11:55:44 -03:00
parent 828a8a02a2
commit 939b214fb5
66 changed files with 16104 additions and 44622 deletions

View File

@@ -1001,15 +1001,11 @@ public class MapleMap {
return null;
}
public void spawnMonsterOnGroudBelow(int id, int x, int y) {
public void spawnMonsterOnGroundBelow(int id, int x, int y) {
MapleMonster mob = MapleLifeFactory.getMonster(id);
spawnMonsterOnGroundBelow(mob, new Point(x, y));
}
public void spawnMonsterOnGroudBelow(MapleMonster mob, Point pos) {
spawnMonsterOnGroundBelow(mob, pos);
}
public void spawnMonsterOnGroundBelow(MapleMonster mob, Point pos) {
Point spos = new Point(pos.x, pos.y - 1);
spos = calcPointBelow(spos);
@@ -1642,13 +1638,15 @@ public class MapleMap {
}
chr.leaveMap();
chr.cancelMapTimeLimitTask();
for (MapleSummon summon : chr.getSummonsValues()) {
for (MapleSummon summon : new ArrayList<>(chr.getSummonsValues())) {
if (summon.isStationary()) {
chr.cancelBuffStats(MapleBuffStat.PUPPET);
} else {
removeMapObject(summon);
}
}
if (chr.getDragon() != null) {
removeMapObject(chr.getDragon());
if (chr.isHidden()) {

View File

@@ -174,8 +174,9 @@ public class MapleReactor extends AbstractMapleMapObject {
return;
}
if(ServerConstants.USE_DEBUG == true) c.getPlayer().dropMessage(5, "Hitted REACTOR " + this.getId() + " with POS " + charPos + " , STANCE " + stance + " , SkillID " + skillid + " , STATE " + stats.getType(state) + " STATESIZE " + stats.getStateSize(state));
int reactorType = stats.getType(state);
ReactorScriptManager.getInstance().onHit(c, this);
int reactorType = stats.getType(state);
if (reactorType < 999 && reactorType != -1) {//type 2 = only hit from right (kerning swamp plants), 00 is air left 02 is ground left
if (!(reactorType == 2 && (stance == 0 || stance == 2))) { //get next state
for (byte b = 0; b < stats.getStateSize(state); b++) {//YAY?
@@ -212,7 +213,6 @@ public class MapleReactor extends AbstractMapleMapObject {
map.broadcastMessage(MaplePacketCreator.triggerReactor(this, stance));
ReactorScriptManager.getInstance().act(c, this);
setShouldCollect(true);
System.out.println("ehh");
}
} catch(Exception e) {
e.printStackTrace();

View File

@@ -47,7 +47,7 @@ public class ExpAction extends MapleQuestAction {
@Override
public void run(MapleCharacter chr, Integer extSelection) {
if (chr.isBeginnerJob()) {
if (chr.isBeginnerJob() && chr.getLevel() < 10) {
chr.gainExp(exp, true, true);
} else {
chr.gainExp(exp * chr.getExpRate(), true, true);