Boss Rush PQ Rewarding System + minor patches

Introducing BRPQ rewarding system (KPQ/LPQ clear-like) and patched
issues regarding "no apparent party leader" after party leader
disconnects and reconnects.
This commit is contained in:
ronancpl
2017-04-29 12:05:26 -03:00
parent 7942dde1a1
commit 1d8caff63f
35 changed files with 644 additions and 391 deletions

View File

@@ -0,0 +1,38 @@
/*
This file is part of the OdinMS Maple Story Server
Copyright (C) 2008 Patrick Huy <patrick.huy@frz.cc>
Matthias Butz <matze@odinms.de>
Jan Christian Meyer <vimes@odinms.de>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License version 3
as published by the Free Software Foundation. You may not use, modify
or distribute this program under any other version of the
GNU Affero General Public License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*
BossRushPQ - Rest Spot portal
@author Ronan
*/
function enter(pi) {
var evLevel = ((pi.getMapId() - 1) % 5) + 1;
if(pi.getPlayer().getEventInstance().giveEventReward(pi.getPlayer(), evLevel)) {
pi.warp(970030000);
return true;
}
else {
pi.message("You cannot receive an event prize without having an empty room in your EQUIP, USE, SET-UP or ETC inventory.");
return false;
}
}

View File

@@ -25,11 +25,11 @@ BossRushPQ - Next Stage
*/
function enter(pi) {
if(pi.getMap().getMonsters().size() == 0) {
if(pi.getMap().getMonsters().isEmpty()) {
var nextStage;
if(pi.getMapId() % 5 == 0) nextStage = pi.getMapId() + 100;
else nextStage = 970030001 + (pi.getMapId() - 970030100 / 500);
if(pi.getMapId() % 500 != 0) nextStage = pi.getMapId() + 100;
else nextStage = 970030001 + ((pi.getMapId() - 970030100) / 500);
pi.warp(nextStage);
return true;