Files
sweetgum-server/scripts/npc/9000021_old.js
ronancpl 7f178a3d80 Multi World NPCs + patch on Player interactions
Made NPCs now work properly on multiworld system. Solved multiple issues
regarding Player Shops not giving back items properly when owner exits.
Added restriction on changing channels at FM rooms, preventing shop
owner entering Cash Shop.
2017-05-28 22:11:39 -03:00

70 lines
2.3 KiB
JavaScript

/*
* Aran / Cygnus Job Advancer
* v83 MoopleDEV Rev 116
* Author: ShEtY
*/
var status = -1;
var ask = "Oh, I see you've grown stronger! Do you wish to job advance?";
var job;
var koc = new Array();
function start() {
cm.sendNext("Hey #e#h ##n, I'm the Aran & Cygnus Job Advancer.");
}
function action(m, t, s) {
status++;
if (m != 1) {
cm.dispose();
return;
}
if (status == 0) {
if (cm.getJobId() < 1000 ||cm.getJobId() % 10 == 2) {
cm.dispose();
} else if (cm.getJobId() % 10 == 1 && cm.getJobId() < 2000) {
cm.dispose();
} else if (cm.getJobId() % 1000 == 0 && cm.getJobId() != 0 && cm.getLevel() >= 10) {
if (cm.getJobId() == 1000) {
for (var i = 1; i < 6; i++)
koc.push(cm.getJobId() + 100 * i);
var list = "What class of Cygnus Knight do you wish to advance to?";
for (var k = 0; k < koc.length; k++)
list += "\r\n#L" + k + "#" + cm.getJobName(koc[k]) + "#l";
cm.sendSimple(list);
} else if (cm.getJobId() == 2000) {
job = cm.getJobId() + 100;
cm.sendYesNo(ask);
}
else
cm.dispose();
} else if (cm.getJobId() % 1000 != 0) {
if (cm.getJobId() % 100 == 0 && cm.getLevel() >= 30) {
job = cm.getJobId() + 10;
cm.sendYesNo(ask);
} else if (cm.getJobId() % 10 == 0 && cm.getLevel() >= 70) {
job = cm.getJobId() + 1;
cm.sendYesNo(ask);
} else if (cm.getJobId() % 10 == 1 && cm.getJobId() >= 2000 && cm.getLevel() >= 120) {
job = cm.getJobId() + 1;
cm.sendYesNo(ask);
}
}
} else if (status == 1) {
if (cm.getJobId() != 1000) {
if (cm.getJobId() == 2000) {
cm.changeJobById(job);
cm.maxMastery();
cm.resetStats();
cm.dispose();
} else {
cm.changeJobById(job);
cm.dispose();
}
} else if (cm.getJobId() == 1000) {
cm.changeJobById(koc[s]);
cm.resetStats();
cm.dispose();
}
}
}