Revised starting AP, now working out with flags. To supply the 9AP shortage of 4/4/4/4, two options: one giving out 9 AP from the start, other giving 4/5 AP when changing jobs (1st, 2nd). This change would also work with the autoassign for beginners flag. Refactored several quest scripts, that would be glitching the player when doing quest start/complete and disposing under the same script status. Cleared some cases with the quest reward system where it would call out a "full inventory" even though new inventory slots could get discovered when doing the quest loot transaction. Fixed an issue with player stores being deployed overlapping in a few scenarios. Fixed reduced EXP gain from kills when triggering skill Mortal Blow. Added "open Duey" functionality when clicking "O" in the incoming package notification. Fixed packages without messages (a quirk from quick delivery) not accounting visually as a "quick" one. Fixed certain mounts (non-item skill mounts, such as Yeti or Spaceship) not showing up properly to other players when changing maps. Added handler for mob damage by environment objects (OrbisPQ jail storage area). Added a placeholder on mob's stolen items to prevent more steals to be placed as soon as the Steal mechanism is triggered. Patched boss logs not removing recent entries from the DB tables (the reset method is actually supposed to clear every entry). Revised a possible memory leak scenario happening due to an exception thrown midway monster kill method. Improved reactor drops, now placing loots visible for the acting player centered (similar as to how mob loots work). Refactored several issues in scripts, related to accessing static Java methods through an object, that would start appearing after transitioning to Java 8.
64 lines
2.5 KiB
JavaScript
64 lines
2.5 KiB
JavaScript
/* ===========================================================
|
|
Ronan Lana
|
|
NPC Name: Lukan
|
|
Description: Quest - Storming the Castle
|
|
=============================================================
|
|
Version 1.0 - Script Done.(10/7/2017)
|
|
=============================================================
|
|
*/
|
|
|
|
var status = -1;
|
|
|
|
function start(mode, type, selection) {
|
|
status++;
|
|
if (mode != 1) {
|
|
if(type == 1 && mode == 0)
|
|
status -= 2;
|
|
else{
|
|
qm.sendOk("Okay, then. See you around.");
|
|
qm.dispose();
|
|
return;
|
|
}
|
|
}
|
|
if (status == 0)
|
|
qm.sendAcceptDecline("The time is now, kid. We have all the preparations complete to further research for why all these oddities have been happening lately. I also must introduce you to my brother, Jack. ");
|
|
else if (status == 1){
|
|
qm.sendOk("He is currently wandering around the Crimsonwood Mountain, past the sinister Phantom Forest, in the track to the Crimsonwood Keep. Your next destination is there, may your journey be a safe one.");
|
|
qm.forceStartQuest();
|
|
} else if (status == 2) {
|
|
qm.dispose();
|
|
}
|
|
}
|
|
|
|
function end(mode, type, selection) {
|
|
status++;
|
|
if (mode != 1) {
|
|
if(type == 1 && mode == 0)
|
|
status -= 2;
|
|
else{
|
|
qm.sendOk("Okay, then. See you around.");
|
|
qm.dispose();
|
|
return;
|
|
}
|
|
}
|
|
if (status == 0)
|
|
qm.sendNext("Who are you? Oh, you came here by my brother John's stead? Great.");
|
|
|
|
else if (status == 1){
|
|
qm.sendOk("It seems you helped the folks at the city at some errands, don't you? I shall appraise you nicely. Take a look on this: this is a map of the Phantom Forest, which I made myself after enough exploration. Take possession of that, and you #bwill be granted passage#k by paths other times undiscoverable. Remember well to #rnever lose it#k, you won't be having that again!\r\n\r\n#fUI/UIWindow.img/QuestIcon/4/0# \r\n#i3992040# #t3992040#\r\n\r\n#fUI/UIWindow.img/QuestIcon/8/0# 175000 EXP");
|
|
}
|
|
else if (status == 2){
|
|
if(qm.canHold(3992040, 1)) {
|
|
qm.forceCompleteQuest();
|
|
qm.gainItem(3992040, 1);
|
|
qm.gainExp(175000);
|
|
qm.dispose();
|
|
}
|
|
else {
|
|
qm.sendOk("Hey, you don't have a slot in your SETUP inventory for what I have to give to you. Solve that minor issue of yours then talk to me.");
|
|
}
|
|
} else if (status == 3) {
|
|
qm.dispose();
|
|
}
|
|
}
|