Horntail PQ & Exped + Equip levelup fix

Added Horntail PQ and boss fight. Fixed short integer overflow of
equipment stats on client messing up player stats.
This commit is contained in:
ronancpl
2017-07-20 12:02:59 -03:00
parent 8fab2a6e3e
commit c09bc02c85
137 changed files with 1154 additions and 583 deletions

View File

@@ -19,14 +19,17 @@
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/>.
*/
/* @Author Aexr
/* @Author Aexr, Ronan
* 2401000.js: Horntail's Cave - Summons Horntail.
*/
function act() {
rm.changeMusic("Bgm14/HonTale");
if (rm.getReactor().getMap().getMonsterById(8810026) == null) {
rm.spawnMonster(8810026,71,260);
rm.getReactor().getMap().spawnHorntailOnGroundBelow(new java.awt.Point(71,260));
var eim = rm.getEventInstance();
eim.restartEventTimer(60 * 60000);
}
rm.mapMessage(6, "From the depths of his cave, here comes Horntail!");
}

View File

@@ -0,0 +1,30 @@
/*
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 as
published by the Free Software Foundation 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/>.
*/
/* @Author Ronan
*
* HTPQ Box
*/
function act(){
rm.dropItems();
}

View File

@@ -0,0 +1,23 @@
/*
Dragon nest
*/
function sendToHeaven() {
rm.destroyNpc(2081008);
rm.mapMessage(6, "In a flicker of light, Nine Spirit's Little Dragon returns to the place it belongs, high above the skies.");
rm.getReactor().getMap().resetReactors();
}
function touch() {
if(rm.haveItem(4001094) && rm.getReactor().getState() == 0) {
rm.hitReactor();
rm.gainItem(4001094, -1);
}
}
function untouch() {}
function act() {
rm.spawnNpc(2081008);
rm.schedule("sendToHeaven", 12 * 1000);
}

View File

@@ -25,34 +25,36 @@
*@author Jvlaple
*/
importPackage(Packages.client.inventory);
function act() {
var eim = rm.getPlayer().getEventInstance();
var party = rm.getPlayer().getEventInstance().getPlayers();
var womanfred = eim.getMapFactory().getMap(240050100);
var vvpMap = rm.getPlayer().getMapId();
var vvpKey;
var vvpOrig = 4001087;
var vvpOrig = 4001088;
var vvpStage = -1;
rm.mapMessage(6, "The key is teleported somewhere...");
eim.showClearEffect(false, vvpMap);
rm.mapMessage(6, "The key has been teleported somewhere...");
switch (vvpMap) {
case 240050101 : {
vvpKey = vvpOrig;
vvpStage = 2;
vvpStage = 1;
break;
}
case 240050102 : {
vvpKey = vvpOrig + 1;
vvpStage = 3;
vvpStage = 2;
break;
}
case 240050103 : {
vvpKey = vvpOrig + 2;
vvpStage = 4;
vvpStage = 3;
break;
}
case 240050104 : {
vvpKey = vvpOrig + 3;
vvpStage = 5;
vvpStage = 4;
break;
}
default : {
@@ -60,11 +62,14 @@ function act() {
break;
}
}
var tehWomanfred = new client.Item(vvpKey, 0, 1);
eim.setIntProperty(vvpStage + "stageclear", 1);
var tehWomanfred = new Item(vvpKey, 0, 1);
var theWomanfred = womanfred.getReactorByName("keyDrop1");
var dropper = eim.getPlayers().get(0);
womanfred.spawnItemDrop(theWomanfred, dropper, tehWomanfred, theWomanfred.getPosition(), true, true);
womanfred.dropMessage(5, "A bright flash of light, then a key suddenly appears somewhere in the map.");
eim.getMapInstance(240050100).dropMessage(6, "A bright flash of light, then a key suddenly appears somewhere in the map.");
}

View File

@@ -0,0 +1,3 @@
function act() {
rm.spawnNpc(2081008);
}

View File

@@ -22,7 +22,8 @@
/*
Stage 2: Spear destinations - Guild Quest
@Author Lerk, Ronan
@Author Lerk
@Author Ronan
*/
function act() {