125 lines
4.3 KiB
JavaScript
125 lines
4.3 KiB
JavaScript
/* Jack
|
|
Refining NPC:
|
|
* ITEMMAKE
|
|
*
|
|
* By RonanLana
|
|
*/
|
|
|
|
var status = 0;
|
|
var selectedType = -1;
|
|
var selectedItem = -1;
|
|
var item;
|
|
var mats;
|
|
var matQty;
|
|
var cost;
|
|
var qty;
|
|
var equip;
|
|
var last_use; //last item is a use item
|
|
|
|
function start() {
|
|
cm.getPlayer().setCS(true);
|
|
status = -1;
|
|
action(1, 0, 0);
|
|
}
|
|
|
|
function action(mode, type, selection) {
|
|
if (mode == 1)
|
|
status++;
|
|
else {
|
|
cm.sendOk("Very well, see you around.");
|
|
cm.dispose();
|
|
return;
|
|
}
|
|
|
|
if (status == 0) {
|
|
var selStr = "Hey, are you aware about the expeditions running right now at the Crimsonwood Keep? So, there is a great opportunity for one to improve themselves, one can rack up experience and loot pretty fast there.";
|
|
cm.sendNext(selStr);
|
|
}
|
|
else if (status == 1) {
|
|
var selStr = "Said so, methinks making use of some strong utility potions can potentially create some differential on the front, and by this I mean to start crafting #b#t2022284##k's to help on the efforts. So, getting right down to business, I'm currently pursuing #rplenty#k of those items: #r#t4032010##k, #r#t4032011##k, #r#t4032012##k, and some funds to support the cause. Would you want to get some of these boosters?";
|
|
cm.sendYesNo(selStr);
|
|
}
|
|
|
|
else if (status == 2) {
|
|
//selectedItem = selection;
|
|
selectedItem = 0;
|
|
|
|
var itemSet = new Array(2022284, 7777777);
|
|
var matSet = new Array(new Array(4032010, 4032011, 4032012));
|
|
var matQtySet = new Array(new Array(60, 60, 45));
|
|
var costSet = new Array(75000, 7777777);
|
|
item = itemSet[selectedItem];
|
|
mats = matSet[selectedItem];
|
|
matQty = matQtySet[selectedItem];
|
|
cost = costSet[selectedItem];
|
|
|
|
var prompt = "Ok, I'll be crafting some #t" + item + "#. In that case, how many of those do you want me to make?";
|
|
cm.sendGetNumber(prompt,1,1,100)
|
|
}
|
|
|
|
else if (status == 3) {
|
|
qty = (selection > 0) ? selection : (selection < 0 ? -selection : 1);
|
|
last_use = false;
|
|
|
|
var prompt = "So, you want me to make ";
|
|
if (qty == 1)
|
|
prompt += "a #t" + item + "#?";
|
|
else
|
|
prompt += qty + " #t" + item + "#?";
|
|
|
|
prompt += " In that case, I'm going to need specific items from you in order to make it. And make sure you have room in your inventory!#b";
|
|
|
|
if (mats instanceof Array){
|
|
for (var i = 0; i < mats.length; i++) {
|
|
prompt += "\r\n#i"+mats[i]+"# " + matQty[i] * qty + " #t" + mats[i] + "#";
|
|
}
|
|
} else {
|
|
prompt += "\r\n#i"+mats+"# " + matQty * qty + " #t" + mats + "#";
|
|
}
|
|
|
|
if (cost > 0) {
|
|
prompt += "\r\n#i4031138# " + cost * qty + " meso";
|
|
}
|
|
cm.sendYesNo(prompt);
|
|
}
|
|
|
|
else if (status == 4) {
|
|
var complete = true;
|
|
|
|
if (cm.getMeso() < cost * qty) {
|
|
cm.sendOk("Well, I DID say I would be needing some funds to craft it, wasn't it?");
|
|
}
|
|
else if(!cm.canHold(item, qty)) {
|
|
cm.sendOk("You didn't check if you got a slot to spare on your inventory before crafting, right?");
|
|
}
|
|
else {
|
|
if (mats instanceof Array) {
|
|
for (var i = 0; complete && i < mats.length; i++) {
|
|
if (matQty[i] * qty == 1) {
|
|
complete = cm.haveItem(mats[i]);
|
|
} else {
|
|
complete = cm.haveItem(mats[i], matQty[i] * qty);
|
|
}
|
|
}
|
|
} else {
|
|
complete = cm.haveItem(mats, matQty * qty);
|
|
}
|
|
|
|
if (!complete)
|
|
cm.sendOk("There are not enough resources on your inventory. Please check it again.");
|
|
else {
|
|
if (mats instanceof Array) {
|
|
for (var i = 0; i < mats.length; i++){
|
|
cm.gainItem(mats[i], -matQty[i] * qty);
|
|
}
|
|
} else {
|
|
cm.gainItem(mats, -matQty * qty);
|
|
}
|
|
cm.gainMeso(-cost * qty);
|
|
cm.gainItem(item, qty);
|
|
cm.sendOk("There it is! Thanks for your cooperation.");
|
|
}
|
|
}
|
|
cm.dispose();
|
|
}
|
|
} |