Reformat and clean up npc scripts

This commit is contained in:
P0nk
2021-09-09 23:35:02 +02:00
parent 0c1545f81d
commit d893309b4f
665 changed files with 19932 additions and 19046 deletions

View File

@@ -30,28 +30,30 @@ var cost;
var stimID;
var cd_item = 4001078;
var cd_mats = new Array(4011001,4011002,4001079);
var cd_matQty = new Array(1,1,1);
var cd_mats = [4011001, 4011002, 4001079];
var cd_matQty = [1, 1, 1];
var cd_cost = 25000;
function start() {
cm.getPlayer().setCS(true);
var selStr = "A dragon's power is not to be underestimated. If you like, I can add its power to one of your weapons. However, the weapon must be powerful enough to hold its potential...#b"
var options = new Array("What's a stimulator?","Create a Warrior weapon","Create a Bowman weapon","Create a Magician weapon","Create a Thief weapon","Create a Pirate Weapon",
"Create a Warrior weapon with a Stimulator","Create a Bowman weapon with a Stimulator","Create a Magician weapon with a Stimulator","Create a Thief weapon with a Stimulator","Create a Pirate Weapon with a Stimulator");
if(cm.isQuestStarted(7301) || cm.isQuestStarted(7303)) options.push("Make #t4001078#");
for (var i = 0; i < options.length; i++){
var options = ["What's a stimulator?", "Create a Warrior weapon", "Create a Bowman weapon", "Create a Magician weapon", "Create a Thief weapon", "Create a Pirate Weapon",
"Create a Warrior weapon with a Stimulator", "Create a Bowman weapon with a Stimulator", "Create a Magician weapon with a Stimulator", "Create a Thief weapon with a Stimulator", "Create a Pirate Weapon with a Stimulator"];
if (cm.isQuestStarted(7301) || cm.isQuestStarted(7303)) {
options.push("Make #t4001078#");
}
for (var i = 0; i < options.length; i++) {
selStr += "\r\n#L" + i + "# " + options[i] + "#l";
}
cm.sendSimple(selStr);
}
function action(mode, type, selection) {
if (mode > 0)
if (mode > 0) {
status++;
else {
} else {
cm.dispose();
return;
}
@@ -60,159 +62,161 @@ function action(mode, type, selection) {
if (selectedType > 5 && selectedType < 11) {
stimulator = true;
selectedType -= 5;
}
else
} else {
stimulator = false;
}
if (selectedType == 0) { //What's a stim?
cm.sendNext("A stimulator is a special potion that I can add into the process of creating certain items. It gives it stats as though it had dropped from a monster. However, it is possible to have no change, and it is also possible for the item to be below average. There's also a 10% chance of not getting any item when using a stimulator, so please choose wisely.")
cm.dispose();
} else if (selectedType == 1){ //warrior weapon
} else if (selectedType == 1) { //warrior weapon
var selStr = "Very well, then which Warrior weapon shall receive a dragon's power?#b";
var weapon = new Array ("Dragon Carbella#k - Lv. 110 One-Handed Sword#b","Dragon Axe#k - Lv. 110 One-Handed Axe#b","Dragon Mace#k - Lv. 110 One-Handed BW#b","Dragon Claymore#k - Lv. 110 Two-Handed Sword#b","Dragon Battle Axe#k - Lv. 110 Two-Handed Axe#b","Dragon Flame#k - Lv. 110 Two-Handed BW#b",
"Dragon Faltizan#k - Lv. 110 Spear#b","Dragon Chelbird#k - Lv. 110 Polearm#b");
for (var i = 0; i < weapon.length; i++){
var weapon = ["Dragon Carbella#k - Lv. 110 One-Handed Sword#b", "Dragon Axe#k - Lv. 110 One-Handed Axe#b", "Dragon Mace#k - Lv. 110 One-Handed BW#b", "Dragon Claymore#k - Lv. 110 Two-Handed Sword#b", "Dragon Battle Axe#k - Lv. 110 Two-Handed Axe#b", "Dragon Flame#k - Lv. 110 Two-Handed BW#b",
"Dragon Faltizan#k - Lv. 110 Spear#b", "Dragon Chelbird#k - Lv. 110 Polearm#b"];
for (var i = 0; i < weapon.length; i++) {
selStr += "\r\n#L" + i + "# " + weapon[i] + "#l";
}
cm.sendSimple(selStr);
} else if (selectedType == 2){ //bowman weapon
} else if (selectedType == 2) { //bowman weapon
var selStr = "Very well, then which Bowman weapon shall receive a dragon's power?#b";
var weapon = new Array ("Dragon Shiner Bow#k - Lv. 110 Bow#b","Dragon Shiner Cross#k - Lv. 110 Crossbow#b");
for (var i = 0; i < weapon.length; i++){
var weapon = ["Dragon Shiner Bow#k - Lv. 110 Bow#b", "Dragon Shiner Cross#k - Lv. 110 Crossbow#b"];
for (var i = 0; i < weapon.length; i++) {
selStr += "\r\n#L" + i + "# " + weapon[i] + "#l";
}
cm.sendSimple(selStr);
} else if (selectedType == 3){ //magician weapon
} else if (selectedType == 3) { //magician weapon
var selStr = "Very well, then which Magician weapon shall receive a dragon's power?#b";
var weapon = new Array ("Dragon Wand#k - Lv. 108 Wand#b","Dragon Staff#k - Lv. 110 Staff#b");
for (var i = 0; i < weapon.length; i++){
var weapon = ["Dragon Wand#k - Lv. 108 Wand#b", "Dragon Staff#k - Lv. 110 Staff#b"];
for (var i = 0; i < weapon.length; i++) {
selStr += "\r\n#L" + i + "# " + weapon[i] + "#l";
}
cm.sendSimple(selStr);
} else if (selectedType == 4){ //thief weapon
} else if (selectedType == 4) { //thief weapon
var selStr = "Very well, then which Thief weapon shall receive a dragon's power?#b";
var weapon = new Array ("Dragon Kanzir#k - Lv. 110 STR Dagger#b","Dragon Kreda#k - Lv. 110 LUK Dagger#b","Dragon Green Sleve#k - Lv. 110 Claw#b");
for (var i = 0; i < weapon.length; i++){
var weapon = ["Dragon Kanzir#k - Lv. 110 STR Dagger#b", "Dragon Kreda#k - Lv. 110 LUK Dagger#b", "Dragon Green Sleve#k - Lv. 110 Claw#b"];
for (var i = 0; i < weapon.length; i++) {
selStr += "\r\n#L" + i + "# " + weapon[i] + "#l";
}
cm.sendSimple(selStr);
} else if (selectedType == 5){ //pirate weapon
} else if (selectedType == 5) { //pirate weapon
var selStr = "Very well, then which Pirate weapon shall receive a dragon's power?#b";
var weapon = new Array ("Dragon Slash Claw#k - Lv. 110 Knuckle#b","Dragonfire Revolver#k - Lv. 110 Gun#b");
for (var i = 0; i < weapon.length; i++){
selStr += "\r\n#L" + i + "# " + weapon[i] + "#l";
var weapon = ["Dragon Slash Claw#k - Lv. 110 Knuckle#b", "Dragonfire Revolver#k - Lv. 110 Gun#b"];
for (var i = 0; i < weapon.length; i++) {
selStr += "\r\n#L" + i + "# " + weapon[i] + "#l";
}
cm.sendSimple(selStr);
}
else if (selectedType == 11){ //cornian's dagger
} else if (selectedType == 11) { //cornian's dagger
var selStr = "Oh, are you trying to sneak into these lizards to save Moira? I will support your cause wherever I can. Bring me a couple of resources and I will make you an almost identical piece of #t4001078#.";
cm.sendNext(selStr);
}
}
} else if (status == 2) {
selectedItem = selection;
if (selectedType == 1){ //warrior weapon
var itemSet = new Array(1302059,1312031,1322052,1402036,1412026,1422028,1432038,1442045);
var matSet = new Array(new Array(1302056,4000244,4000245,4005000),new Array(1312030,4000244,4000245,4005000),new Array(1322045,4000244,4000245,4005000),new Array(1402035,4000244,4000245,4005000),
new Array(1412021,4000244,4000245,4005000),new Array(1422027,4000244,4000245,4005000),new Array(1432030,4000244,4000245,4005000),new Array(1442044,4000244,4000245,4005000));
var matQtySet = new Array(new Array(1,20,25,8),new Array(1,20,25,8),new Array(1,20,25,8),new Array(1,20,25,8),new Array(1,20,25,8),new Array(1,20,25,8),new Array(1,20,25,8),new Array(1,20,25,8));
var costSet = new Array(120000,120000,120000,120000,120000,120000,120000,120000);
if (selectedType == 1) { //warrior weapon
var itemSet = [1302059, 1312031, 1322052, 1402036, 1412026, 1422028, 1432038, 1442045];
var matSet = [[1302056, 4000244, 4000245, 4005000], [1312030, 4000244, 4000245, 4005000], [1322045, 4000244, 4000245, 4005000], [1402035, 4000244, 4000245, 4005000],
[1412021, 4000244, 4000245, 4005000], [1422027, 4000244, 4000245, 4005000], [1432030, 4000244, 4000245, 4005000], [1442044, 4000244, 4000245, 4005000]];
var matQtySet = [[1, 20, 25, 8], [1, 20, 25, 8], [1, 20, 25, 8], [1, 20, 25, 8], [1, 20, 25, 8], [1, 20, 25, 8], [1, 20, 25, 8], [1, 20, 25, 8]];
var costSet = [120000, 120000, 120000, 120000, 120000, 120000, 120000, 120000];
item = itemSet[selectedItem];
mats = matSet[selectedItem];
matQty = matQtySet[selectedItem];
cost = costSet[selectedItem];
} else if (selectedType == 2){ //bowman weapon
var itemSet = new Array(1452044,1462039);
var matSet = new Array(new Array(1452019,4000244,4000245,4005000,4005002),new Array(1462015,4000244,4000245,4005000,4005002));
var matQtySet = new Array(new Array(1,20,25,3,5),new Array(1,20,25,5,3));
var costSet = new Array(120000,120000);
} else if (selectedType == 2) { //bowman weapon
var itemSet = [1452044, 1462039];
var matSet = [[1452019, 4000244, 4000245, 4005000, 4005002], [1462015, 4000244, 4000245, 4005000, 4005002]];
var matQtySet = [[1, 20, 25, 3, 5], [1, 20, 25, 5, 3]];
var costSet = [120000, 120000];
item = itemSet[selectedItem];
mats = matSet[selectedItem];
matQty = matQtySet[selectedItem];
cost = costSet[selectedItem];
} else if (selectedType == 3){ //magician weapon
var itemSet = new Array(1372032,1382036);
var matSet = new Array(new Array(1372010,4000244,4000245,4005001,4005003),new Array(1382035,4000244,4000245,4005001,4005003));
var matQtySet = new Array(new Array(1,20,25,6,2),new Array(1,20,25,6,2));
var costSet = new Array(120000,120000);
} else if (selectedType == 3) { //magician weapon
var itemSet = [1372032, 1382036];
var matSet = [[1372010, 4000244, 4000245, 4005001, 4005003], [1382035, 4000244, 4000245, 4005001, 4005003]];
var matQtySet = [[1, 20, 25, 6, 2], [1, 20, 25, 6, 2]];
var costSet = [120000, 120000];
item = itemSet[selectedItem];
mats = matSet[selectedItem];
matQty = matQtySet[selectedItem];
cost = costSet[selectedItem];
} else if (selectedType == 4){ //thief weapon
var itemSet = new Array(1332049,1332050,1472051);
var matSet = new Array(new Array(1332051,4000244,4000245,4005000,4005002),new Array(1332052,4000244,4000245,4005002,4005003),new Array(1472053,4000244,4000245,4005002,4005003));
var matQtySet = new Array(new Array(1,20,25,5,3),new Array(1,20,25,3,5),new Array(1,20,25,2,6));
var costSet = new Array(120000,120000,120000);
} else if (selectedType == 4) { //thief weapon
var itemSet = [1332049, 1332050, 1472051];
var matSet = [[1332051, 4000244, 4000245, 4005000, 4005002], [1332052, 4000244, 4000245, 4005002, 4005003], [1472053, 4000244, 4000245, 4005002, 4005003]];
var matQtySet = [[1, 20, 25, 5, 3], [1, 20, 25, 3, 5], [1, 20, 25, 2, 6]];
var costSet = [120000, 120000, 120000];
item = itemSet[selectedItem];
mats = matSet[selectedItem];
matQty = matQtySet[selectedItem];
cost = costSet[selectedItem];
} else if (selectedType == 5){ //pirate weapon
var itemSet = new Array(1482013,1492013);
var matSet = new Array(new Array(1482012,4000244,4000245,4005000,4005002),new Array(1492012,4000244,4000245,4005000,4005002));
var matQtySet = new Array(new Array(1,20,25,5,3),new Array(1,20,25,3,5));
var costSet = new Array(120000,120000);
} else if (selectedType == 5) { //pirate weapon
var itemSet = [1482013, 1492013];
var matSet = [[1482012, 4000244, 4000245, 4005000, 4005002], [1492012, 4000244, 4000245, 4005000, 4005002]];
var matQtySet = [[1, 20, 25, 5, 3], [1, 20, 25, 3, 5]];
var costSet = [120000, 120000];
item = itemSet[selectedItem];
mats = matSet[selectedItem];
matQty = matQtySet[selectedItem];
cost = costSet[selectedItem];
} else if (selectedType == 11){ //cornian's dagger
} else if (selectedType == 11) { //cornian's dagger
item = cd_item;
mats = cd_mats;
matQty = cd_matQty;
cost = cd_cost;
}
var prompt = "You want me to make a #t" + item + "#? In that case, I'm going to need specific items from you in order to make it. Make sure you have room in your inventory, though!#b";
if(stimulator){
if (stimulator) {
stimID = getStimID(item);
prompt += "\r\n#i"+stimID+"# 1 #t" + stimID + "#";
prompt += "\r\n#i" + stimID + "# 1 #t" + stimID + "#";
}
if (mats instanceof Array){
for(var i = 0; i < mats.length; i++){
prompt += "\r\n#i"+mats[i]+"# " + matQty[i] + " #t" + mats[i] + "#";
if (mats instanceof Array) {
for (var i = 0; i < mats.length; i++) {
prompt += "\r\n#i" + mats[i] + "# " + matQty[i] + " #t" + mats[i] + "#";
}
} else {
prompt += "\r\n#i"+mats+"# " + matQty + " #t" + mats + "#";
prompt += "\r\n#i" + mats + "# " + matQty + " #t" + mats + "#";
}
if (cost > 0)
if (cost > 0) {
prompt += "\r\n#i4031138# " + cost + " meso";
}
cm.sendYesNo(prompt);
} else if (status == 3) {
var complete = true;
if(!cm.canHold(item, 1)) {
if (!cm.canHold(item, 1)) {
cm.sendOk("Check your inventory for a free slot first.");
cm.dispose();
return;
}
else if (cm.getMeso() < cost) {
} else if (cm.getMeso() < cost) {
cm.sendOk("My fee is for the good of all of Leafre. If you cannot pay it, then begone.");
cm.dispose();
return;
} else {
if (mats instanceof Array) {
for(var i = 0; complete && i < mats.length; i++)
if (!cm.haveItem(mats[i], matQty[i]))
for (var i = 0; complete && i < mats.length; i++) {
if (!cm.haveItem(mats[i], matQty[i])) {
complete = false;
}
else if (!cm.haveItem(mats, matQty))
}
}
} else if (!cm.haveItem(mats, matQty)) {
complete = false;
}
}
if (stimulator){ //check for stimulator
if (stimulator) { //check for stimulator
if (!cm.haveItem(stimID)) {
complete = false;
}
}
if (!complete)
if (!complete) {
cm.sendOk("I'm afraid that without the correct items, the dragon's essence would... not make for a very reliable weapon. Please bring the correct items next time.");
else {
} else {
if (mats instanceof Array) {
for (var i = 0; i < mats.length; i++){
for (var i = 0; i < mats.length; i++) {
cm.gainItem(mats[i], -matQty[i]);
}
} else
} else {
cm.gainItem(mats, -matQty);
}
cm.gainMeso(-cost);
if (stimulator) { //check for stimulator
cm.gainItem(stimID, -1);
@@ -223,8 +227,7 @@ function action(mode, type, selection) {
} else {
cm.sendOk("Unfortunately, the dragon's essence has... conflicted with your weapon. My apologies for your loss.");
}
}
else {//just give basic item
} else {//just give basic item
cm.gainItem(item, 1);
cm.sendOk("The process is complete. Treat your weapon well, lest you bring the wrath of the dragons upon you.");
}
@@ -233,9 +236,9 @@ function action(mode, type, selection) {
}
}
function getStimID(equipID){
function getStimID(equipID) {
var cat = Math.floor(equipID / 10000);
switch (cat){
switch (cat) {
case 130: //1h sword
return 4130002;
case 131: //1h axe