summaryrefslogtreecommitdiff
path: root/npc/re
diff options
context:
space:
mode:
Diffstat (limited to 'npc/re')
-rw-r--r--npc/re/instances/BakonawaLake.txt2
-rw-r--r--npc/re/instances/BangungotHospital.txt12
-rw-r--r--npc/re/instances/BuwayaCave.txt2
-rw-r--r--npc/re/instances/HazyForest.txt2
-rw-r--r--npc/re/instances/MalangdoCulvert.txt3
-rw-r--r--npc/re/instances/OldGlastHeim.txt2
-rw-r--r--npc/re/instances/WolfchevLaboratory.txt2
-rw-r--r--npc/re/instances/ghost_palace.txt1
-rw-r--r--npc/re/instances/octopus_cave.txt2
-rw-r--r--npc/re/instances/saras_memory.txt1
-rw-r--r--npc/re/jobs/2e/kagerou_oboro.txt346
-rw-r--r--npc/re/jobs/3-1/guillotine_cross.txt313
-rw-r--r--npc/re/mapflag/gvg.txt41
-rw-r--r--npc/re/mapflag/zone.txt35
-rw-r--r--npc/re/merchants/shadow_refiner.txt2
-rw-r--r--npc/re/quests/eden/eden_tutorial.txt245
-rw-r--r--npc/re/quests/quests_malangdo.txt157
-rw-r--r--npc/re/quests/quests_malaya.txt91
-rw-r--r--npc/re/scripts_mapflags.conf1
-rw-r--r--npc/re/woe-fe/invest_main.txt512
20 files changed, 997 insertions, 775 deletions
diff --git a/npc/re/instances/BakonawaLake.txt b/npc/re/instances/BakonawaLake.txt
index 5e2ae7f33..2868cc589 100644
--- a/npc/re/instances/BakonawaLake.txt
+++ b/npc/re/instances/BakonawaLake.txt
@@ -33,8 +33,6 @@
//= 1.1
//=========================================================================
-1@ma_b mapflag src4instance
-
ma_scene01,174,179,4 script Taho 4_M_DEWZATIMAN,{
disable_items;
if (checkweight(Knife,1) == 0) {
diff --git a/npc/re/instances/BangungotHospital.txt b/npc/re/instances/BangungotHospital.txt
index 1504f892f..424626ac9 100644
--- a/npc/re/instances/BangungotHospital.txt
+++ b/npc/re/instances/BangungotHospital.txt
@@ -33,8 +33,6 @@
//= 1.1
//=========================================================================
-1@ma_h mapflag src4instance
-
//== Instance Creation =====================================
ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{
if (BaseLevel < 100) end;
@@ -50,7 +48,7 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{
else if (malaya_bang == 31)
callsub L_Closed,0;
else
- goto L_NoParty;
+ callsub L_NoParty;
}
if (questprogress(11309,HUNTING) != 2) {
.@playtime = questprogress(9224,PLAYTIME);
@@ -102,7 +100,7 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{
cutin "",255;
end;
} else {
- //if (!.@party_id) goto L_NoParty; //unneeded
+ //if (!.@party_id) callsub L_NoParty; //unneeded
if (malaya_bang > 39)
callsub L_Enter,(getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2))?1:0,1,1;
else {
@@ -124,7 +122,7 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{
end;
}
} else if (.@quest == 1) {
- if (!.@party_id) goto L_NoParty;
+ if (!.@party_id) callsub L_NoParty;
if (malaya_bang > 39) {
if (questprogress(9222,HUNTING) == 1) {
.@playtime = questprogress(9224,PLAYTIME);
@@ -134,7 +132,7 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{
next;
callsub L_Enter,0,0;
} else if (.@playtime == 2) {
- //if (!.@party_id) goto L_NoParty; //unneeded
+ //if (!.@party_id) callsub L_NoParty; //unneeded
if (malaya_bang > 39)
callsub L_Enter,(getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2))?1:0,1,1;
else {
@@ -213,7 +211,7 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{
cutin "",255;
end;
} else {
- if (!.@party_id) goto L_NoParty;
+ if (!.@party_id) callsub L_NoParty;
if (malaya_bang > 39)
callsub L_Enter,(getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2))?1:0,1,1;
else {
diff --git a/npc/re/instances/BuwayaCave.txt b/npc/re/instances/BuwayaCave.txt
index 242d0a8e4..859d6bd85 100644
--- a/npc/re/instances/BuwayaCave.txt
+++ b/npc/re/instances/BuwayaCave.txt
@@ -33,8 +33,6 @@
//= 1.0
//=========================================================================
-1@ma_c mapflag src4instance
-
ma_fild02,312,317,5 script Guard#buwaya_cave 4_MAL_SOLDIER,{
if (BaseLevel < 130) {
mes "[Guard]";
diff --git a/npc/re/instances/HazyForest.txt b/npc/re/instances/HazyForest.txt
index 7f85fee50..c649171f8 100644
--- a/npc/re/instances/HazyForest.txt
+++ b/npc/re/instances/HazyForest.txt
@@ -33,8 +33,6 @@
//= 1.1
//=========================================================================
-1@mist mapflag src4instance
-
//== Instance Creation =====================================
bif_fild01,158,340,5 script Laphine Soldier#mist 4_M_FAIRYSOLDIER,{
diff --git a/npc/re/instances/MalangdoCulvert.txt b/npc/re/instances/MalangdoCulvert.txt
index 164caf548..1bd76aedb 100644
--- a/npc/re/instances/MalangdoCulvert.txt
+++ b/npc/re/instances/MalangdoCulvert.txt
@@ -35,9 +35,6 @@
//= 1.1
//=========================================================================
-1@pump mapflag src4instance
-2@pump mapflag src4instance
-
//== Quest NPCs ============================================
mal_in01,172,28,2 script Albo#mal 4_CAT_SAILOR5,{
if (checkweight(Knife,1) == 0) {
diff --git a/npc/re/instances/OldGlastHeim.txt b/npc/re/instances/OldGlastHeim.txt
index bf099cd2d..9f3f29fdf 100644
--- a/npc/re/instances/OldGlastHeim.txt
+++ b/npc/re/instances/OldGlastHeim.txt
@@ -36,8 +36,6 @@
//================= Current Version =======================================
//= 1.2
//=========================================================================
-1@gl_k mapflag src4instance
-2@gl_k mapflag src4instance
glast_01,204,273,6 script Hugin#ghinstance 4_M_SAGE_C,{
if (BaseLevel < 130) { // iRO text
diff --git a/npc/re/instances/WolfchevLaboratory.txt b/npc/re/instances/WolfchevLaboratory.txt
index e88ec4332..51e2f8a06 100644
--- a/npc/re/instances/WolfchevLaboratory.txt
+++ b/npc/re/instances/WolfchevLaboratory.txt
@@ -33,8 +33,6 @@
//= 1.0.2
//=========================================================================
-1@lhz mapflag src4instance
-
//== Giacomo Girolam =======================================
lighthalzen,303,303,6 script Giacomo Girolamo#kiup2 4_M_KHMAN,3,3,{
if ((MaxWeight - Weight) < 1000 || !checkweight(Knife, 1)) {
diff --git a/npc/re/instances/ghost_palace.txt b/npc/re/instances/ghost_palace.txt
index b1a8f3c10..6e77db2f8 100644
--- a/npc/re/instances/ghost_palace.txt
+++ b/npc/re/instances/ghost_palace.txt
@@ -30,7 +30,6 @@
//================= Current Version =======================================
//= 1.1
//=========================================================================
-1@spa mapflag src4instance
dali02,44,129,5 script Unpleasent Royal Guard 4_M_SAKRAYROYAL,{
if (BaseLevel < 120) {
diff --git a/npc/re/instances/octopus_cave.txt b/npc/re/instances/octopus_cave.txt
index b09d243ab..b134742c9 100644
--- a/npc/re/instances/octopus_cave.txt
+++ b/npc/re/instances/octopus_cave.txt
@@ -33,8 +33,6 @@
//= 1.1
//=========================================================================
-1@cash mapflag src4instance
-
//== Instance Creation =====================================
mal_dun01,151,235,5 script Starfish 4_ASTER,{
diff --git a/npc/re/instances/saras_memory.txt b/npc/re/instances/saras_memory.txt
index 2b3b4f2c0..38b598d5b 100644
--- a/npc/re/instances/saras_memory.txt
+++ b/npc/re/instances/saras_memory.txt
@@ -37,7 +37,6 @@
//================= Current Version =======================================
//= 1.1
//=========================================================================
-1@sara mapflag src4instance
dali,130,107,5 script Leon the Adventurer#Sara 4_M_DST_GRAND,{ // instance CD check only at the Dimensional Device
mes("[Leon the Adventurer]");
diff --git a/npc/re/jobs/2e/kagerou_oboro.txt b/npc/re/jobs/2e/kagerou_oboro.txt
index ae28e7b2d..08f8d6024 100644
--- a/npc/re/jobs/2e/kagerou_oboro.txt
+++ b/npc/re/jobs/2e/kagerou_oboro.txt
@@ -786,208 +786,204 @@ job_ko,81,124,4 script Cougar#ko 4_M_JOB_ASSASSIN,{
warp "amatsu",147,136;
end;
}
- if (job_kagero != 5) {
- goto L_Kick;
- }
- if (MaxWeight - Weight < 1000 || checkweight("Knife",1) == 0) {
- mes "[Cougar]";
- mes "This is a test of knowledge, so why did you bring so many things?";
- close;
- }
- set .@ko_test_01, questprogress(5136);
- set .@ko_test_01_1, questprogress(5139);
- if (.@ko_test_01 == 1 && .@ko_test_01_1 == 0) {
- mes "[Cougar]";
- mes "It's been a while.";
- next;
- select("Aren't you...");
- mes "[Cougar]";
- mes "I remember you from before looking for the way of the ninja.";
- next;
- mes "[Cougar]";
- mes "You've grown this strong already?";
- next;
- mes "[Cougar]";
- mes "Ha ha ha-";
- mes "A truly determined youth! I like that.";
- next;
- mes "[Cougar]";
- mes "Good! The test you are about to take is the ^339CCCTest of Knowledge^000000.";
- next;
- mes "[Cougar]";
- mes "I hope you haven't been lazy with your studies while focusing on getting stronger?";
- next;
- switch(select("Yes", "No")) {
- case 1:
- setquest 5139;
- mes "[Cougar]";
- mes "That's a relief. Let me know when you are ready to start the test.";
- close;
- case 2:
- setquest 5139;
+ if (job_kagero == 5) {
+ if (MaxWeight - Weight < 1000 || checkweight("Knife",1) == 0) {
mes "[Cougar]";
- mes "So you were all talk? Well, let me know when you are ready then.";
+ mes "This is a test of knowledge, so why did you bring so many things?";
close;
}
- } else if (.@ko_test_01 == 1 && .@ko_test_01_1 == 1) {
- mes "[Cougar]";
- mes "I'm ready at my end. Are you ready for the test?";
- next;
- if(select("Yes", "No") == 2) {
+ set .@ko_test_01, questprogress(5136);
+ set .@ko_test_01_1, questprogress(5139);
+ if (.@ko_test_01 == 1 && .@ko_test_01_1 == 0) {
mes "[Cougar]";
- mes "Well, what can I do but wait for you.";
- close;
- }
- mes "[Cougar]";
- mes "This isn't your first test, is it?";
- next;
- mes "[Cougar]";
- mes "You only need to choose the correct answer to my questions.";
- next;
- mes "[Cougar]";
- mes "Let's start.";
- next;
-
- set .@questions,10; // number of questions to ask
-
- // shuffle array an array of questions to be asked
- freeloop(1);
- setarray .@n[0],
- 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50;
- for (set .@i,getarraysize(.@n)-1; .@i>0; set .@i,.@i-1) {
- set .@rand, rand(.@i);
- set .@tmp, .@n[.@i];
- set .@n[.@i], .@n[.@rand];
- set .@n[.@rand], .@tmp;
- }
- deletearray .@n[10],getarraysize(.@n) - .@questions;
- freeloop(0);
-
- set @job_ko_cougar,0;
- for (set .@i,1; .@i<=.@questions; set .@i,.@i+1) {
+ mes "It's been a while.";
+ next;
+ select("Aren't you...");
mes "[Cougar]";
- mes (.@i < .@questions)?"Question number "+.@i+":":"Last question:";
- switch (.@n[.@i-1]) {
- case 1: callsub L_Question,"What is the DEX + LUK total for a Job Master?",2,"8:10:12:14"; break;
- case 2: callsub L_Question,"What is the highest job level for a ninja?",1,"70:50:99:100"; break;
- case 3: callsub L_Question,"How many skill points do you need to master the Throw Coins skill?",3,"25:30:35:37"; break;
- case 4: callsub L_Question,"Which of the following is the correct number of Evasion and effect duration for Mirror Image level 10?",4,"Up to 7 and 200 seconds:Up to 5 and 220 seconds:Up to 6 and 240 seconds:Up to 5 and 240 seconds"; break;
- case 5: callsub L_Question,"How many skill points do you need to master the Cicada Skin Shed?",1,"5:3:1:4"; break;
- case 6: callsub L_Question,"If Dagger Throwing Practice is at 7, how much ATK is added to Shuriken attacks?",2,"18:21:27:30"; break;
- case 7: callsub L_Question,"What is the basic attack range for Throw Shuriken?",3,"7 blocks:8 blocks:9 blocks:10 blocks"; break;
- case 8: callsub L_Question,"What is the maximum moving range of Shadow Leap?",4,"6 blocks:7 blocks:8 blocks:9 blocks"; break;
- case 9: callsub L_Question,"How much money is used for Throw Coins level 6?",4,"2000-8000:1000-6000:3000-8000:3000-6000"; break;
- case 10: callsub L_Question,"What is the most important aspect of increasing ATK for the Killing Strike skill?",2,"VIT:MAXHP:INT:MAXSP"; break;
- case 11: callsub L_Question,"What is not the effect you get after reaching the STR status?",3,"Close range attack increase:Weight limit increase:Magic attack increase:Weapon attack increase"; break;
- case 12: callsub L_Question,"What is not the effect you get after reaching the INT status?",4,"MAXSP increase:MATK increase:Magic damage increase:Staff attack increase"; break;
- case 13: callsub L_Question,"What is not the effect you get after reaching the DEX status?",2,"Casting time decrease:Evasion increase:Accuracy increase:Long range attack increase"; break;
- case 14: callsub L_Question,"What is not the effect you get after reaching the AGI status?",1,"Accuracy increase:Flee increase:Attack speed increase:Delay after attack decrease"; break;
- case 15: callsub L_Question,"What is not the effect you get after reaching the VIT status?",4,"Weapon defense increase:MAXHP increase:Magic defense increase:Attack increase"; break;
- case 16: callsub L_Question,"What is not the effect you get after reaching the LUK status?",3,"Accuracy increase:Complete evasion increase:Magic damage decrease:Critical rate increase"; break;
- case 17: callsub L_Question,"You need to equip a card to your shoes to enhance Killing Strike attack. Which of the following is the appropriate card to equip?",2,"Gold Acidus Card:Matyr Card:Odium of Thantos Card:Eddga Card"; break;
- case 18: callsub L_Question,"You need a catalyst to use ninja skills. Which of the following skills does not need a catalyst?",3,"Blaze Shield:Watery Evasion:Flaming Petals:Snow Flake Draft"; break;
- case 19: callsub L_Question,"How much does STR/INT go up when Ninja Aura level 5 is used?",2,"4:5:6:7"; break;
- case 20: callsub L_Question,"You are hunting the Orc Warrior. Which Kunai would you use? ",1,"Heat Wave Kunai:Icicle Kunai:Fell Poison Kunai:High Wind Kunai"; break;
- case 21: callsub L_Question,"Which village is the Ninja Guild located in?",2,"Lutie:Amatsu:Dewata:Comodo"; break;
- case 22: callsub L_Question,"How do Ninjas get promoted?",3,"By Val Kiwi:By Randgris:None:By Valkyrie"; break;
- case 23: callsub L_Question,"What was next to me when you first met me?",4,"A cushion:A folding screen:A flowerpot:A brazier"; break;
- case 24: callsub L_Question,"What is the level of Dagger Throwing Practice you have to reach to learn the Killing Strike skill?",1,"7:5:6:8"; break;
- case 25: callsub L_Question,"How many hits does a Throw Kunai give to a monster?",2,"2:3:4:5"; break;
- case 26: callsub L_Question,"When your First Wind is at level 4, what will go with the MATK and range?",3,"MATK400, 8 blocks:MATK500, 7 blocks:MATK500, 8 blocks:MATK400, 7 blocks"; break;
- case 27: callsub L_Question,"Which of the following skills can't you learn at Dagger Throwing Practice level 7?",4,"Throw Kunai:Throw Huuma Shuriken:Killing Strike:Throw Coins"; break;
- case 28: callsub L_Question,"What level do you have to be in Dagger Throwing Practice in order to learn the Throw Coins skill?",4,"4:6:8:10"; break;
- case 29: callsub L_Question,"What is the attack range for the Exploding Dragon?",3,"3*3:4*4:5*5:6*6"; break;
- case 30: callsub L_Question,"How long is the effect time for the Watery Evasion level 7 skill?",2,"40 seconds:45 seconds:50 seconds:55 seconds"; break;
- case 31: callsub L_Question,"What is the attack effect for Haze Slasher level 4?",1,"140%:150%:160%:170%"; break;
- case 32: callsub L_Question,"How much power is in the Huuma Blaze Shuriken weapon?",1,"Fireball 5 , DEX-2:Fireball 5 , DEX-3:Fireball 4 , DEX-2:Fireball 4 , DEX-3"; break;
- case 33: callsub L_Question,"How much power is in the Murasame weapon?",2,"Human attack 10%:Human critical +10:Demon attack 10%:Demon critical +10"; break;
- case 34: callsub L_Question,"What is the maximum hit number for Blaze Shield level 10?",3,"7:8:9:10"; break;
- case 35: callsub L_Question,"What is the property of the Lightning Jolt?",4,"Fire:Water:Ground:Wind"; break;
- case 36: callsub L_Question,"You are creating a weapon for small monsters. What is the best card to use?",4,"Hydra Card:Minorous Card:Skel Woker Card:Desert Wolf Card"; break;
- case 37: callsub L_Question,"You are creating a weapon for mid-sized monsters. What is the best card to use?",3,"Hydra Card:Minorous Card:Skel Woker Card:Desert Wolf Card"; break;
- case 38: callsub L_Question,"You are creating a weapon for huge monsters. What is the best card to use?",2,"Hydra Card:Minorous Card:Skel Woker Card:Desert Wolf Card"; break;
- case 39: callsub L_Question,"Which NPC promotes you?",1,"Valkyrie:Val Kiwi:Balp Hiri:Elephant"; break;
- case 40: callsub L_Question,"Which catalyst do you need to use the Blaze Shield skill?",2,"Ice Stone:Flame Stone:Wind Stone:Earth Stone"; break;
- case 41: callsub L_Question,"Which of the following is not an effect of the Watery Evasion skill?",4,"Movement speed decrease:Waterball availability:Holy Water craftability:VIT decrease"; break;
- case 42: callsub L_Question,"Which of the following matches are incorrect for skill and property?",3,"Flaming Petals-Fire:Snow Flake Draft-Water:Freezing Spear-Ground:Lightning Jolt-Wind"; break;
- case 43: callsub L_Question,"Which of the following is the best skill to use when attacking a ground property enemy?",2,"First Wind:Exploding Dragon:Snow Flake Draft:Wind Blade"; break;
- case 44: callsub L_Question,"Which Ninja Mastery skill level do you need to learn the Exploding Dragon skill?",1,"10:9:8:1"; break;
- case 45: callsub L_Question,"What is the attack range when you master Flip Tatami?",3,"5:7:3:1"; break;
- case 46: callsub L_Question,"What weapon cannot be made by the blacksmith Khaibara?",4,"Khukri:Murasame:Hakujin:Humma Wing Shuriken"; break;
- case 47: callsub L_Question,"Which of the following correctly matches material needed to make a Icicle Kunai?",2,"4 Nimbus Shuriken, 2 Ice Stone:8 Nimbus Shuriken, 2 Ice Stone:2 Nimbus Shuriken, 1 Ice Stone:1 Nimbus Shuriken, 2 Ice Stone"; break;
- case 48: callsub L_Question,"Which of the following Kunai will give the most damage to the ground property monster, Porcellio?",1,"Heat Wave Kunai:Icicle Kunai:Fell Poison Kunai:High Wind Kunai"; break;
- case 49: callsub L_Question,"Which of the following blacksmiths do not create ninja items?",2,"Khaibara:Aiku:Tetsu:Toshu"; break;
- case 50: callsub L_Question,"What is the name of the suspicious man you can meet during the Ninja job change quest?",3,"Red Leopard Jack:Black Leopard Jack:Red Leopard Joe:Black Leopard Joe"; break;
- default:
- mes "[Cougar]";
- mes "An unknown error has occurred.";
- mes "Please contact customer service.";
- close;
- }
- }
- mes "[Cougar]";
- mes "You're through all 10 questions. Wasn't so bad! The important part starts now.";
- next;
- mes "[Cougar]";
- mes "... ... ...";
- next;
- if (@job_ko_cougar < 90) {
+ mes "I remember you from before looking for the way of the ninja.";
+ next;
mes "[Cougar]";
- mes "You fool!!";
- mes "You couldn't even solve these?";
+ mes "You've grown this strong already?";
next;
mes "[Cougar]";
- mes "Can't believe someone who is taking a new path can be so pathetic.";
+ mes "Ha ha ha-";
+ mes "A truly determined youth! I like that.";
next;
mes "[Cougar]";
- mes "I'll give you another chance.";
- mes "You will take the test again with new questions. Better pass it this time.";
- } else {
+ mes "Good! The test you are about to take is the ^339CCCTest of Knowledge^000000.";
+ next;
mes "[Cougar]";
- mes "Hmm. " + (@job_ko_cougar) + "?";
+ mes "I hope you haven't been lazy with your studies while focusing on getting stronger?";
next;
+ switch(select("Yes", "No")) {
+ case 1:
+ setquest 5139;
+ mes "[Cougar]";
+ mes "That's a relief. Let me know when you are ready to start the test.";
+ close;
+ case 2:
+ setquest 5139;
+ mes "[Cougar]";
+ mes "So you were all talk? Well, let me know when you are ready then.";
+ close;
+ }
+ } else if (.@ko_test_01 == 1 && .@ko_test_01_1 == 1) {
mes "[Cougar]";
- mes "Well, looks like you weren't lazy with your studies.";
+ mes "I'm ready at my end. Are you ready for the test?";
next;
+ if(select("Yes", "No") == 2) {
+ mes "[Cougar]";
+ mes "Well, what can I do but wait for you.";
+ close;
+ }
mes "[Cougar]";
- mes "What? Proud of yourself for solving these questions?";
+ mes "This isn't your first test, is it?";
next;
mes "[Cougar]";
- mes "You still have a long way to go and this is only a small fraction of it.";
+ mes "You only need to choose the correct answer to my questions.";
next;
mes "[Cougar]";
- mes "Well... I'm curious how far your strong will can take you through other tests.";
+ mes "Let's start.";
next;
- completequest 5136;
- erasequest 5139;
+
+ set .@questions,10; // number of questions to ask
+
+ // shuffle array an array of questions to be asked
+ freeloop(1);
+ setarray .@n[0],
+ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50;
+ for (set .@i,getarraysize(.@n)-1; .@i>0; set .@i,.@i-1) {
+ set .@rand, rand(.@i);
+ set .@tmp, .@n[.@i];
+ set .@n[.@i], .@n[.@rand];
+ set .@n[.@rand], .@tmp;
+ }
+ deletearray .@n[10],getarraysize(.@n) - .@questions;
+ freeloop(0);
+
+ set @job_ko_cougar,0;
+ for (set .@i,1; .@i<=.@questions; set .@i,.@i+1) {
+ mes "[Cougar]";
+ mes (.@i < .@questions)?"Question number "+.@i+":":"Last question:";
+ switch (.@n[.@i-1]) {
+ case 1: callsub L_Question,"What is the DEX + LUK total for a Job Master?",2,"8:10:12:14"; break;
+ case 2: callsub L_Question,"What is the highest job level for a ninja?",1,"70:50:99:100"; break;
+ case 3: callsub L_Question,"How many skill points do you need to master the Throw Coins skill?",3,"25:30:35:37"; break;
+ case 4: callsub L_Question,"Which of the following is the correct number of Evasion and effect duration for Mirror Image level 10?",4,"Up to 7 and 200 seconds:Up to 5 and 220 seconds:Up to 6 and 240 seconds:Up to 5 and 240 seconds"; break;
+ case 5: callsub L_Question,"How many skill points do you need to master the Cicada Skin Shed?",1,"5:3:1:4"; break;
+ case 6: callsub L_Question,"If Dagger Throwing Practice is at 7, how much ATK is added to Shuriken attacks?",2,"18:21:27:30"; break;
+ case 7: callsub L_Question,"What is the basic attack range for Throw Shuriken?",3,"7 blocks:8 blocks:9 blocks:10 blocks"; break;
+ case 8: callsub L_Question,"What is the maximum moving range of Shadow Leap?",4,"6 blocks:7 blocks:8 blocks:9 blocks"; break;
+ case 9: callsub L_Question,"How much money is used for Throw Coins level 6?",4,"2000-8000:1000-6000:3000-8000:3000-6000"; break;
+ case 10: callsub L_Question,"What is the most important aspect of increasing ATK for the Killing Strike skill?",2,"VIT:MAXHP:INT:MAXSP"; break;
+ case 11: callsub L_Question,"What is not the effect you get after reaching the STR status?",3,"Close range attack increase:Weight limit increase:Magic attack increase:Weapon attack increase"; break;
+ case 12: callsub L_Question,"What is not the effect you get after reaching the INT status?",4,"MAXSP increase:MATK increase:Magic damage increase:Staff attack increase"; break;
+ case 13: callsub L_Question,"What is not the effect you get after reaching the DEX status?",2,"Casting time decrease:Evasion increase:Accuracy increase:Long range attack increase"; break;
+ case 14: callsub L_Question,"What is not the effect you get after reaching the AGI status?",1,"Accuracy increase:Flee increase:Attack speed increase:Delay after attack decrease"; break;
+ case 15: callsub L_Question,"What is not the effect you get after reaching the VIT status?",4,"Weapon defense increase:MAXHP increase:Magic defense increase:Attack increase"; break;
+ case 16: callsub L_Question,"What is not the effect you get after reaching the LUK status?",3,"Accuracy increase:Complete evasion increase:Magic damage decrease:Critical rate increase"; break;
+ case 17: callsub L_Question,"You need to equip a card to your shoes to enhance Killing Strike attack. Which of the following is the appropriate card to equip?",2,"Gold Acidus Card:Matyr Card:Odium of Thantos Card:Eddga Card"; break;
+ case 18: callsub L_Question,"You need a catalyst to use ninja skills. Which of the following skills does not need a catalyst?",3,"Blaze Shield:Watery Evasion:Flaming Petals:Snow Flake Draft"; break;
+ case 19: callsub L_Question,"How much does STR/INT go up when Ninja Aura level 5 is used?",2,"4:5:6:7"; break;
+ case 20: callsub L_Question,"You are hunting the Orc Warrior. Which Kunai would you use? ",1,"Heat Wave Kunai:Icicle Kunai:Fell Poison Kunai:High Wind Kunai"; break;
+ case 21: callsub L_Question,"Which village is the Ninja Guild located in?",2,"Lutie:Amatsu:Dewata:Comodo"; break;
+ case 22: callsub L_Question,"How do Ninjas get promoted?",3,"By Val Kiwi:By Randgris:None:By Valkyrie"; break;
+ case 23: callsub L_Question,"What was next to me when you first met me?",4,"A cushion:A folding screen:A flowerpot:A brazier"; break;
+ case 24: callsub L_Question,"What is the level of Dagger Throwing Practice you have to reach to learn the Killing Strike skill?",1,"7:5:6:8"; break;
+ case 25: callsub L_Question,"How many hits does a Throw Kunai give to a monster?",2,"2:3:4:5"; break;
+ case 26: callsub L_Question,"When your First Wind is at level 4, what will go with the MATK and range?",3,"MATK400, 8 blocks:MATK500, 7 blocks:MATK500, 8 blocks:MATK400, 7 blocks"; break;
+ case 27: callsub L_Question,"Which of the following skills can't you learn at Dagger Throwing Practice level 7?",4,"Throw Kunai:Throw Huuma Shuriken:Killing Strike:Throw Coins"; break;
+ case 28: callsub L_Question,"What level do you have to be in Dagger Throwing Practice in order to learn the Throw Coins skill?",4,"4:6:8:10"; break;
+ case 29: callsub L_Question,"What is the attack range for the Exploding Dragon?",3,"3*3:4*4:5*5:6*6"; break;
+ case 30: callsub L_Question,"How long is the effect time for the Watery Evasion level 7 skill?",2,"40 seconds:45 seconds:50 seconds:55 seconds"; break;
+ case 31: callsub L_Question,"What is the attack effect for Haze Slasher level 4?",1,"140%:150%:160%:170%"; break;
+ case 32: callsub L_Question,"How much power is in the Huuma Blaze Shuriken weapon?",1,"Fireball 5 , DEX-2:Fireball 5 , DEX-3:Fireball 4 , DEX-2:Fireball 4 , DEX-3"; break;
+ case 33: callsub L_Question,"How much power is in the Murasame weapon?",2,"Human attack 10%:Human critical +10:Demon attack 10%:Demon critical +10"; break;
+ case 34: callsub L_Question,"What is the maximum hit number for Blaze Shield level 10?",3,"7:8:9:10"; break;
+ case 35: callsub L_Question,"What is the property of the Lightning Jolt?",4,"Fire:Water:Ground:Wind"; break;
+ case 36: callsub L_Question,"You are creating a weapon for small monsters. What is the best card to use?",4,"Hydra Card:Minorous Card:Skel Woker Card:Desert Wolf Card"; break;
+ case 37: callsub L_Question,"You are creating a weapon for mid-sized monsters. What is the best card to use?",3,"Hydra Card:Minorous Card:Skel Woker Card:Desert Wolf Card"; break;
+ case 38: callsub L_Question,"You are creating a weapon for huge monsters. What is the best card to use?",2,"Hydra Card:Minorous Card:Skel Woker Card:Desert Wolf Card"; break;
+ case 39: callsub L_Question,"Which NPC promotes you?",1,"Valkyrie:Val Kiwi:Balp Hiri:Elephant"; break;
+ case 40: callsub L_Question,"Which catalyst do you need to use the Blaze Shield skill?",2,"Ice Stone:Flame Stone:Wind Stone:Earth Stone"; break;
+ case 41: callsub L_Question,"Which of the following is not an effect of the Watery Evasion skill?",4,"Movement speed decrease:Waterball availability:Holy Water craftability:VIT decrease"; break;
+ case 42: callsub L_Question,"Which of the following matches are incorrect for skill and property?",3,"Flaming Petals-Fire:Snow Flake Draft-Water:Freezing Spear-Ground:Lightning Jolt-Wind"; break;
+ case 43: callsub L_Question,"Which of the following is the best skill to use when attacking a ground property enemy?",2,"First Wind:Exploding Dragon:Snow Flake Draft:Wind Blade"; break;
+ case 44: callsub L_Question,"Which Ninja Mastery skill level do you need to learn the Exploding Dragon skill?",1,"10:9:8:1"; break;
+ case 45: callsub L_Question,"What is the attack range when you master Flip Tatami?",3,"5:7:3:1"; break;
+ case 46: callsub L_Question,"What weapon cannot be made by the blacksmith Khaibara?",4,"Khukri:Murasame:Hakujin:Humma Wing Shuriken"; break;
+ case 47: callsub L_Question,"Which of the following correctly matches material needed to make a Icicle Kunai?",2,"4 Nimbus Shuriken, 2 Ice Stone:8 Nimbus Shuriken, 2 Ice Stone:2 Nimbus Shuriken, 1 Ice Stone:1 Nimbus Shuriken, 2 Ice Stone"; break;
+ case 48: callsub L_Question,"Which of the following Kunai will give the most damage to the ground property monster, Porcellio?",1,"Heat Wave Kunai:Icicle Kunai:Fell Poison Kunai:High Wind Kunai"; break;
+ case 49: callsub L_Question,"Which of the following blacksmiths do not create ninja items?",2,"Khaibara:Aiku:Tetsu:Toshu"; break;
+ case 50: callsub L_Question,"What is the name of the suspicious man you can meet during the Ninja job change quest?",3,"Red Leopard Jack:Black Leopard Jack:Red Leopard Joe:Black Leopard Joe"; break;
+ default:
+ mes "[Cougar]";
+ mes "An unknown error has occurred.";
+ mes "Please contact customer service.";
+ close;
+ }
+ }
+ mes "[Cougar]";
+ mes "You're through all 10 questions. Wasn't so bad! The important part starts now.";
+ next;
+ mes "[Cougar]";
+ mes "... ... ...";
+ next;
+ if (@job_ko_cougar < 90) {
+ mes "[Cougar]";
+ mes "You fool!!";
+ mes "You couldn't even solve these?";
+ next;
+ mes "[Cougar]";
+ mes "Can't believe someone who is taking a new path can be so pathetic.";
+ next;
+ mes "[Cougar]";
+ mes "I'll give you another chance.";
+ mes "You will take the test again with new questions. Better pass it this time.";
+ } else {
+ mes "[Cougar]";
+ mes "Hmm. " + (@job_ko_cougar) + "?";
+ next;
+ mes "[Cougar]";
+ mes "Well, looks like you weren't lazy with your studies.";
+ next;
+ mes "[Cougar]";
+ mes "What? Proud of yourself for solving these questions?";
+ next;
+ mes "[Cougar]";
+ mes "You still have a long way to go and this is only a small fraction of it.";
+ next;
+ mes "[Cougar]";
+ mes "Well... I'm curious how far your strong will can take you through other tests.";
+ next;
+ completequest 5136;
+ erasequest 5139;
+ mes "[Cougar]";
+ mes "I'll let you go now so go report back to Guide Gion with your results.";
+ close2;
+ warp "job_ko",16,113;
+ end;
+ }
+ set @job_ko_cougar,0;
+ close;
+ } else if (.@ko_test_01 == 2 && .@ko_test_01_1 == 0) {
mes "[Cougar]";
mes "I'll let you go now so go report back to Guide Gion with your results.";
close2;
warp "job_ko",16,113;
end;
}
- set @job_ko_cougar,0;
- close;
- } else if (.@ko_test_01 == 2 && .@ko_test_01_1 == 0) {
- mes "[Cougar]";
- mes "I'll let you go now so go report back to Guide Gion with your results.";
- close2;
- warp "job_ko",16,113;
- end;
- } else {
- L_Kick:
- mes "[Cougar]";
- mes "How did you get here?";
- next;
- mes "[Cougar]";
- mes "It's my duty to get rid of you.";
- mes "^000099(He's a short, silent man.)^000000";
- mes "This will push you back!";
- close2;
- warp "amatsu",147,136;
- end;
}
+ mes "[Cougar]";
+ mes "How did you get here?";
+ next;
+ mes "[Cougar]";
+ mes "It's my duty to get rid of you.";
+ mes "^000099(He's a short, silent man.)^000000";
+ mes "This will push you back!";
+ close2;
+ warp "amatsu",147,136;
end;
//callsub L_Question,"<Question>",<correct answer choice>,"<Choice 1>:<Choice 2>:<Choice 3>:<Choice 4>";
diff --git a/npc/re/jobs/3-1/guillotine_cross.txt b/npc/re/jobs/3-1/guillotine_cross.txt
index d56aff87d..f70ee321c 100644
--- a/npc/re/jobs/3-1/guillotine_cross.txt
+++ b/npc/re/jobs/3-1/guillotine_cross.txt
@@ -35,103 +35,110 @@
//=========================================================================
que_job01,75,96,3 script Guild Member#3rdgc01 4_M_MOCASS1,{
- if (job_3rd_gc == 0) {
- if (Class == Job_Assassin || Class == Job_Assassin_Cross || Class == Job_Baby_Assassin) {
- if (BaseLevel >= 99) {
- L_Mission:
- mes "[Ahcart]";
- mes "Finally, it's time...";
- mes "Hey, what's your name?";
- next;
- switch(select(strcharinfo(PC_NAME),".....")) {
- case 1:
+ if (job_3rd_gc == 0 || job_3rd_gc == 1) {
+ if (job_3rd_gc == 0) {
+ if (Class == Job_Assassin || Class == Job_Assassin_Cross || Class == Job_Baby_Assassin) {
+ if (BaseLevel < 99) {
mes "[Ahcart]";
- mes strcharinfo(PC_NAME)+"?";
- mes "Got it. I'll remember your name.";
- mes "A master told me that you are a person with ability.";
- break;
- case 2:
- mes "[Ahcart]";
- mes "What? You are a distrustful person.";
- mes "Hmm, whatever.";
- mes "I heard that you are a person with ability.";
- break;
- }
- next;
- mes "[Ahcart]";
- mes "My duty is delivering a guild message to a capable assassin.";
- mes "I think that you are suitable to perform the guild's duty.";
- next;
- mes "[Ahcart]";
- mes "So, would you perform this duty for us?";
- mes "Of course, I'm going to offer a reward for completing your task.";
- next;
- select("What is the request?");
- mes "[Ahcart]";
- mes "It's unclear.";
- mes "I told you. It's a special task.";
- mes "The only thing I know is the condition to bring a person with the master's ability.";
- next;
- mes "[Ahcart]";
- mes "First, one who has patience.";
- mes "Second, one who is quiet.";
- mes "Third, one who is focused.";
- next;
- mes "[Ahcart]";
- mes "What do you think about what I told you?";
- mes "This task means that it needs a person who can perform a task irrespective of their own will.";
- next;
- mes "[Ahcart]";
- mes "It's necessary to keep this request secret.";
- mes "But it's also your duty not to tell anyone.";
- next;
- mes "[Ahcart]";
- mes "This is all your choice.";
- mes "Will you help us with this request?";
- next;
- switch(select("I'll do it.", "Give me time to think.")) {
- case 1:
- mes "[Ahcart]";
- mes "Ok, to Veins.";
- mes "I'll contact them.";
- mes "It's your first duty to go to Veins.";
+ mes "Hmm, you are my peer.";
+ mes "I'm Ahcart. I'm from Veins.";
+ mes "Hmm...";
next;
mes "[Ahcart]";
- mes "You should be able to find it easily.";
- mes "Go now.";
- job_3rd_gc = 3;
- setquest 7101;
- close;
- case 2:
- mes "[Ahcart]";
- mes "Got it.";
- mes "But don't think about it for too long.";
- job_3rd_gc = 2;
+ mes "Of course, a chapter of the assassin guild is not only in Morroc. If you have a chance to go there, visit there.";
+ mes "I think you might go there.";
+ job_3rd_gc = 1;
close;
}
+ } else {
+ mes "[A man of a sharp impression]";
+ mes "....";
+ mes "What the...?";
+ mes "You are not an assassin.";
+ close;
}
+ } else if (job_3rd_gc == 1) {
+ if (BaseLevel < 99) {
+ mes "[Ahcart]";
+ mes "If you become stronger and more skillful, then the assassin's guild will give you a special task.";
+ mes "Go for it.";
+ close;
+ }
+ }
+ mes "[Ahcart]";
+ mes "Finally, it's time...";
+ mes "Hey, what's your name?";
+ next;
+ switch(select(strcharinfo(PC_NAME),".....")) {
+ case 1:
mes "[Ahcart]";
- mes "Hmm, you are my peer.";
- mes "I'm Ahcart. I'm from Veins.";
- mes "Hmm...";
+ mes strcharinfo(PC_NAME)+"?";
+ mes "Got it. I'll remember your name.";
+ mes "A master told me that you are a person with ability.";
+ break;
+ case 2:
+ mes "[Ahcart]";
+ mes "What? You are a distrustful person.";
+ mes "Hmm, whatever.";
+ mes "I heard that you are a person with ability.";
+ break;
+ }
+ next;
+ mes "[Ahcart]";
+ mes "My duty is delivering a guild message to a capable assassin.";
+ mes "I think that you are suitable to perform the guild's duty.";
+ next;
+ mes "[Ahcart]";
+ mes "So, would you perform this duty for us?";
+ mes "Of course, I'm going to offer a reward for completing your task.";
+ next;
+ select("What is the request?");
+ mes "[Ahcart]";
+ mes "It's unclear.";
+ mes "I told you. It's a special task.";
+ mes "The only thing I know is the condition to bring a person with the master's ability.";
+ next;
+ mes "[Ahcart]";
+ mes "First, one who has patience.";
+ mes "Second, one who is quiet.";
+ mes "Third, one who is focused.";
+ next;
+ mes "[Ahcart]";
+ mes "What do you think about what I told you?";
+ mes "This task means that it needs a person who can perform a task irrespective of their own will.";
+ next;
+ mes "[Ahcart]";
+ mes "It's necessary to keep this request secret.";
+ mes "But it's also your duty not to tell anyone.";
+ next;
+ mes "[Ahcart]";
+ mes "This is all your choice.";
+ mes "Will you help us with this request?";
+ next;
+ switch(select("I'll do it.", "Give me time to think.")) {
+ case 1:
+ mes "[Ahcart]";
+ mes "Ok, to Veins.";
+ mes "I'll contact them.";
+ mes "It's your first duty to go to Veins.";
next;
mes "[Ahcart]";
- mes "Of course, a chapter of the assassin guild is not only in Morroc. If you have a chance to go there, visit there.";
- mes "I think you might go there.";
- job_3rd_gc = 1;
+ mes "You should be able to find it easily.";
+ mes "Go now.";
+ job_3rd_gc = 3;
+ setquest 7101;
+ close;
+ case 2:
+ mes "[Ahcart]";
+ mes "Got it.";
+ mes "But don't think about it for too long.";
+ job_3rd_gc = 2;
close;
}
- mes "[A man of a sharp impression]";
- mes "....";
- mes "What the...?";
- mes "You are not an assassin.";
- close;
- } else if (job_3rd_gc == 1) {
- if (BaseLevel >= 99) goto L_Mission;
- mes "[Ahcart]";
- mes "If you become stronger and more skillful, then the assassin's guild will give you a special task.";
- mes "Go for it.";
- close;
+
+
+
+
} else if (job_3rd_gc == 2) {
mes "[Ahcart]";
mes "Have you thought about it more?";
@@ -3649,85 +3656,87 @@ job3_guil01,148,53,3 script Bercasell#3rdgc16 4_M_GUILLOTINE,{
next;
switch(select("Yes, change my job.", "I need to think about it.")) {
case 1:
- L_JobChange:
- mes "[Bercasell]";
- mes "You don't regret it?";
- callsub L_Info;
- mes "[Bercasell]";
- mes "You can become a living offensive weapon.";
- mes "Do you really want to become a Guillotine Cross?";
- next;
- switch(select("Yes, change my job.", "I need to rethink it.")) {
- case 1:
- mes "[Bercasell]";
- if (hascashmount()) {
- mes "I cannot perform the job change.";
- mes "Please remove your mount and try again.";
- close;
- } else if (SkillPoint != 0) {
- mes "You still have unspent skill points.";
- mes "Please use all your skill points and try again.";
- close;
- }
- mes "Is your decision final?";
- mes "Good.";
- next;
- mes "[Bercasell]";
- mes "Now, you are an assassin, yet you are not an assassin anymore.";
- mes "You are in the shadows, but it's different from the other shadows.";
- next;
- mes "[Bercasell]";
- mes "Your enemy is everything you can see.";
- mes "Don't forget yourself.";
- mes "A weight of the blood on your weapons.";
- next;
- mes "[Bercasell]";
- mes "Ok, change your clothes to your new uniform.";
- mes "You are now a Guillotine Cross.";
- next;
- mes "[Bercasell]";
- mes "A sword of the shadow...";
- setlook 7,0;
- jobchange roclass(eaclass()|EAJL_THIRD);
- if (questprogress(7096) == 1) {
- job_3rd_gc = 25;
- erasequest 7096;
- } else if (questprogress(7097) == 1) {
- job_3rd_gc = 26;
- erasequest 7097;
- } else if (questprogress(7098) == 1) {
- job_3rd_gc = 27;
- erasequest 7098;
- } else if (questprogress(7099) == 1) {
- job_3rd_gc = 28;
- erasequest 7099;
- }
- getitem Green_Apple_Ring,1;
- getitem Silent_Executer,1;
- next;
- mes "[Bercasell]";
- mes "And... these are presents to celebrate your becoming a Guillotine Cross.";
- close;
- case 2:
- mes "[Bercasell]";
- mes "You are prudent. That's a good thing.";
- mes "I'll wait for the day that you decide to join us as a Guillotine Cross.";
- close;
- }
+ break;
case 2:
mes "[Bercasell]";
mes "You are prudent. That's a good thing.";
mes "I'll wait for the day that you decide to join us as a Guillotine Cross.";
close;
}
+ break;
}
+ break;
case 2:
- goto L_JobChange;
+ break;
case 3:
mes "[Bercasell]";
mes "Don't bother me.";
close;
}
+ mes "[Bercasell]";
+ mes "You don't regret it?";
+ callsub L_Info;
+ mes "[Bercasell]";
+ mes "You can become a living offensive weapon.";
+ mes "Do you really want to become a Guillotine Cross?";
+ next;
+ switch(select("Yes, change my job.", "I need to rethink it.")) {
+ case 1:
+ mes "[Bercasell]";
+ if (hascashmount()) {
+ mes "I cannot perform the job change.";
+ mes "Please remove your mount and try again.";
+ close;
+ } else if (SkillPoint != 0) {
+ mes "You still have unspent skill points.";
+ mes "Please use all your skill points and try again.";
+ close;
+ }
+ mes "Is your decision final?";
+ mes "Good.";
+ next;
+ mes "[Bercasell]";
+ mes "Now, you are an assassin, yet you are not an assassin anymore.";
+ mes "You are in the shadows, but it's different from the other shadows.";
+ next;
+ mes "[Bercasell]";
+ mes "Your enemy is everything you can see.";
+ mes "Don't forget yourself.";
+ mes "A weight of the blood on your weapons.";
+ next;
+ mes "[Bercasell]";
+ mes "Ok, change your clothes to your new uniform.";
+ mes "You are now a Guillotine Cross.";
+ next;
+ mes "[Bercasell]";
+ mes "A sword of the shadow...";
+ setlook 7,0;
+ jobchange roclass(eaclass()|EAJL_THIRD);
+ if (questprogress(7096) == 1) {
+ job_3rd_gc = 25;
+ erasequest 7096;
+ } else if (questprogress(7097) == 1) {
+ job_3rd_gc = 26;
+ erasequest 7097;
+ } else if (questprogress(7098) == 1) {
+ job_3rd_gc = 27;
+ erasequest 7098;
+ } else if (questprogress(7099) == 1) {
+ job_3rd_gc = 28;
+ erasequest 7099;
+ }
+ getitem Green_Apple_Ring,1;
+ getitem Silent_Executer,1;
+ next;
+ mes "[Bercasell]";
+ mes "And... these are presents to celebrate your becoming a Guillotine Cross.";
+ close;
+ case 2:
+ mes "[Bercasell]";
+ mes "You are prudent. That's a good thing.";
+ mes "I'll wait for the day that you decide to join us as a Guillotine Cross.";
+ close;
+ }
}
mes "......";
mes "What can I do for you?";
diff --git a/npc/re/mapflag/gvg.txt b/npc/re/mapflag/gvg.txt
new file mode 100644
index 000000000..2e0e85f32
--- /dev/null
+++ b/npc/re/mapflag/gvg.txt
@@ -0,0 +1,41 @@
+//================= Hercules Script =======================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2017 Hercules Dev Team
+//=
+//= Hercules is free software: you can redistribute it and/or modify
+//= it under the terms of the GNU General Public License as published by
+//= the Free Software Foundation, either version 3 of the License, or
+//= (at your option) any later version.
+//=
+//= 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 General Public License for more details.
+//=
+//= You should have received a copy of the GNU General Public License
+//= along with this program. If not, see <http://www.gnu.org/licenses/>.
+//=========================================================================
+//= Mapflag: Guild versus Guild mode.
+//================= Current Version =======================================
+//= 1.0
+//================= Description ===========================================
+//= Players can attack other guilds, and will have their guild
+//= icons shown. WoE damage reductions will also take place.
+//= gvg: Turns on GvG mode
+//= gvg_castle: Describes castle maps for WoE.
+//=========================================================================
+
+// Hall of the Abyss ======
+gld2_ald mapflag gvg_dungeon
+gld2_gef mapflag gvg_dungeon
+gld2_pay mapflag gvg_dungeon
+gld2_prt mapflag gvg_dungeon
diff --git a/npc/re/mapflag/zone.txt b/npc/re/mapflag/zone.txt
index a6cfd95f1..24ffce665 100644
--- a/npc/re/mapflag/zone.txt
+++ b/npc/re/mapflag/zone.txt
@@ -32,6 +32,41 @@
//= Flags maps as part of zones defined in map_zone_db.txt
//=========================================================================
+// Misty Forest Labyrinth ===========
+1@mist mapflag zone Memorial Dungeon
+
+// Octopus Cave ===========
+1@cash mapflag zone Memorial Dungeon
+
+// Drain ===========
+1@pump mapflag zone Memorial Dungeon
+2@pump mapflag zone Memorial Dungeon
+
+// Somatology Laboratory ===========
+1@lhz mapflag zone Memorial Dungeon
+
+// Bangungot Hospital F2 ===========
+1@ma_h mapflag zone Memorial Dungeon
+
+// Buwaya Cave ===========
+1@ma_c mapflag zone Memorial Dungeon
+
+// Bakonawa Hideout ===========
+1@ma_b mapflag zone Memorial Dungeon
+
+// Inside Eclage ===========
+1@ecl mapflag zone Memorial Dungeon
+
+// Old Glast Heim ===========
+1@gl_k mapflag zone Memorial Dungeon
+2@gl_k mapflag zone Memorial Dungeon
+
+// Ghost Palace ===========
+1@spa mapflag zone Memorial Dungeon
+
+// Sara's Memory Instance ===========
+1@sara mapflag zone Memorial Dungeon
+
// WoE:TE
te_prt_gld mapflag zone WoE TE
te_prtcas01 mapflag zone WoE TE
diff --git a/npc/re/merchants/shadow_refiner.txt b/npc/re/merchants/shadow_refiner.txt
index 4e5049e5f..2f8984498 100644
--- a/npc/re/merchants/shadow_refiner.txt
+++ b/npc/re/merchants/shadow_refiner.txt
@@ -158,7 +158,7 @@ itemmall,31,76,3 script Shadow Blacksmith#nomal 4_F_JOB_BLACKSMITH,{
}
delitem .@choose,1;
Zeny -= 20000;
- if (getequippercentrefinery(.@SelectedPart) > rand(100) || getequippercentrefinery(.@SelectedPart) > rand(100)) {
+ if (getequippercentrefinery(.@SelectedPart) > rand(100) || ( .@option == 1 && getequippercentrefinery(.@SelectedPart) > rand(100))) {
successrefitem .@SelectedPart;
mes "[Shadow Blacksmith]";
mes "Refine was successful.";
diff --git a/npc/re/quests/eden/eden_tutorial.txt b/npc/re/quests/eden/eden_tutorial.txt
index e9fac253b..45d7c6f1e 100644
--- a/npc/re/quests/eden/eden_tutorial.txt
+++ b/npc/re/quests/eden/eden_tutorial.txt
@@ -35,8 +35,129 @@
moc_para01,34,178,3 script Tutorial Instructor 4_M_KHMAN,{
if (Class == Job_Novice) {
// Fall through
- } else if (!questprogress(9167)) {
- OnStartQuest:
+ } else if (!questprogress(9167) || questprogress(9173) == 1) {
+ if (questprogress(9173) == 1) {
+ mes "[Tutorial Instructor]";
+ mes "Do you have any questions?";
+ next;
+ switch(select("Can I do the same quest again?", "About the Quest Window...", "About ENCHANT...", "About Searching Vends...", "About Mercenary and Pets...", "End Conversation.")) {
+ case 1:
+ if (questprogress(9173,PLAYTIME) == 1) {
+ mes "[Tutorial Instructor]";
+ mes "The one method to do the same quests repeatdedly is to do the ^006400Daily Quests^000000.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Once you complete a ^006400Daily Quest^000000 and turn it in, wait about a day then come back to get the request and do it all over again!";
+ mes "[Tutorial Instructor]";
+ mes "If you received a daily quest, look at bottom right of the ^006400Quest Window^000000. There is a section that is called ^006400LIMITED^000000. In that section, it'll tell you how much time needs to pass before you can pick up another daily quest.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "It seems you still have some time left to wait out after finishing my quest. Wait it out a bit more, then come find me and you can get the same quest again.";
+ close;
+ }
+ mes "[Tutorial Instructor]";
+ mes "It seems that about a day has passed since you've finished my quest. Alright, so like the ^006400Daily Quests^000000, you can get a quest from me. Did you want to proceed?";
+ next;
+ switch(select("Yes", "No")) {
+ case 1:
+ @tutorial_restart = 1;
+ break;
+ case 2:
+ mes "[Tutorial Instructor]";
+ mes "Okay. But if you change your mind and want to receive a quest, come find me.";
+ close;
+ }
+ break;
+ case 2:
+ mes "[Tutorial Instructor]";
+ mes "They say that the ^006400Quest Window^000000 details out everything you need to know about your quests.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "If you look at the top left";
+ mes "in the area with the information,";
+ mes "it says ^006400QUEST^000000";
+ mes "and if you click that";
+ mes "it'll show all information";
+ mes "that pertains to the request.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Using the ^006400Quest Window^000000 will make your life easier. It'll tell you where to go, what items to get or who to find and etc.";
+ close;
+ case 3:
+ mes "[Tutorial Instructor]";
+ mes "006400ENCHANT^000000, in general, is divided into two parts: ^006400SOCKET ENCHANT^000000 and ^006400HIDDEN SOCKET ENCHANT^000000.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "^006400SOCKET ENCHANT^000000 is used to add a SOCKET into equipments and ^006400HIDDEN SOCKET ENCHANT^000000 is used to put in stats into a socket of an armor.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Of course, in order to do this we are in need of some materials and there is a chance that it may fail, but that's the risk you're taking.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "The people who do the ^006400SOCKET ENCHANT^000000 can be found in ^8B4513Prontera, Morroc, Payon,^000000. ^8B4513Rhitalzen^000000 is in the Refinery and ^0000FFSeiyablem^000000 and ^0000FFReiablem^000000 can be found near the entrance.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "The one who does ^006400HIDDEN SOCKET ENCHANT^000000 is found at the 6 o'clock location of ^8B4513Prontera^000000. Look for the ^0000FFCraftman Apprentice^000000.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Do you think you understand a little bit more about ^006400ENCHANT^000000?";
+ close;
+ case 4:
+ mes "[Tutorial Instructor]";
+ mes "^006400Vend Search^000000 can be utilized by the ^006400Universal Silver Catalog^000000 item. Since you search through as vends on that map, it'll make it easier for you to find the item that you're looking for.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "The ^006400Universal Silver Catalog^000000";
+ mes "can be obtained from ";
+ mes "the ^0000FFCatalogue Wizard^000000";
+ mes "that is located in South Prontera;";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "It only costs 200 zeny for one";
+ mes "of these and with it you can";
+ mes "search up to 10 times.";
+ mes "You can say that it's a necessity.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "So, are you getting familiar with ^006400Vend Search^000000? Don't just stand there and listen to me. Go ahead and try it for yourself!";
+ close;
+ case 5:
+ mes "[Tutorial Instructor]";
+ mes "Depending on what you need, ^006400Mercenary^000000 and ^006400Pet^000000 can be used in various ways.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "If a 006400Mercenary^000000 gives you direct effect";
+ mes "by fighting for you";
+ mes "then a ^006400Pet^000000 helps you indirectly with their";
+ mes "abilities and varied appearances,";
+ mes "and it captures your heart.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "In order to employ a Mercenary";
+ mes "Go find the ^006400Mercenary Guild^000000";
+ mes "which is by the front door of ^8B4513Prontera^000000.";
+ mes "Go to the ^006400Information Agent^000000";
+ mes "and ask them where the ^006400Mercenary Guild Official^000000";
+ mes "is located and they will let you know.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "In order to get a ^006400Pet^000000, while hunting you will obtain taming items. Use the tame on the monster it's for and you can get a pet.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Because there is a chance for failure, please use the taming item with great care.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "That aside... you can get a ^006400Mercenary^000000 from the Mercenary Guild and you can get a ^006400Pet^000000 by trading or buying it from another player.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Now, do you understand a bit more about using a ^006400Mercenary^000000 and a ^006400Pet^000000? I hope you get a chance to use them in the future.";
+ close;
+ case 6:
+ mes "[Tutorial Instructor]";
+ mes "If you have any questions, come find me again.";
+ close;
+ }
+ }
if (@tutorial_restart) {
.@tutorial_restart = 1;
@tutorial_restart = 0;
@@ -459,126 +580,6 @@ moc_para01,34,178,3 script Tutorial Instructor 4_M_KHMAN,{
mes "then bring them back to me.";
close;
}
- } else if (questprogress(9173) == 1) {
- mes "[Tutorial Instructor]";
- mes "Do you have any questions?";
- next;
- switch(select("Can I do the same quest again?", "About the Quest Window...", "About ENCHANT...", "About Searching Vends...", "About Mercenary and Pets...", "End Conversation.")) {
- case 1:
- if (questprogress(9173,PLAYTIME) == 1) {
- mes "[Tutorial Instructor]";
- mes "The one method to do the same quests repeatdedly is to do the ^006400Daily Quests^000000.";
- next;
- mes "[Tutorial Instructor]";
- mes "Once you complete a ^006400Daily Quest^000000 and turn it in, wait about a day then come back to get the request and do it all over again!";
- mes "[Tutorial Instructor]";
- mes "If you received a daily quest, look at bottom right of the ^006400Quest Window^000000. There is a section that is called ^006400LIMITED^000000. In that section, it'll tell you how much time needs to pass before you can pick up another daily quest.";
- next;
- mes "[Tutorial Instructor]";
- mes "It seems you still have some time left to wait out after finishing my quest. Wait it out a bit more, then come find me and you can get the same quest again.";
- close;
- }
- mes "[Tutorial Instructor]";
- mes "It seems that about a day has passed since you've finished my quest. Alright, so like the ^006400Daily Quests^000000, you can get a quest from me. Did you want to proceed?";
- next;
- switch(select("Yes", "No")) {
- case 1:
- @tutorial_restart = 1;
- goto OnStartQuest;
- case 2:
- mes "[Tutorial Instructor]";
- mes "Okay. But if you change your mind and want to receive a quest, come find me.";
- close;
- }
- case 2:
- mes "[Tutorial Instructor]";
- mes "They say that the ^006400Quest Window^000000 details out everything you need to know about your quests.";
- next;
- mes "[Tutorial Instructor]";
- mes "If you look at the top left";
- mes "in the area with the information,";
- mes "it says ^006400QUEST^000000";
- mes "and if you click that";
- mes "it'll show all information";
- mes "that pertains to the request.";
- next;
- mes "[Tutorial Instructor]";
- mes "Using the ^006400Quest Window^000000 will make your life easier. It'll tell you where to go, what items to get or who to find and etc.";
- close;
- case 3:
- mes "[Tutorial Instructor]";
- mes "006400ENCHANT^000000, in general, is divided into two parts: ^006400SOCKET ENCHANT^000000 and ^006400HIDDEN SOCKET ENCHANT^000000.";
- next;
- mes "[Tutorial Instructor]";
- mes "^006400SOCKET ENCHANT^000000 is used to add a SOCKET into equipments and ^006400HIDDEN SOCKET ENCHANT^000000 is used to put in stats into a socket of an armor.";
- next;
- mes "[Tutorial Instructor]";
- mes "Of course, in order to do this we are in need of some materials and there is a chance that it may fail, but that's the risk you're taking.";
- next;
- mes "[Tutorial Instructor]";
- mes "The people who do the ^006400SOCKET ENCHANT^000000 can be found in ^8B4513Prontera, Morroc, Payon,^000000. ^8B4513Rhitalzen^000000 is in the Refinery and ^0000FFSeiyablem^000000 and ^0000FFReiablem^000000 can be found near the entrance.";
- next;
- mes "[Tutorial Instructor]";
- mes "The one who does ^006400HIDDEN SOCKET ENCHANT^000000 is found at the 6 o'clock location of ^8B4513Prontera^000000. Look for the ^0000FFCraftman Apprentice^000000.";
- next;
- mes "[Tutorial Instructor]";
- mes "Do you think you understand a little bit more about ^006400ENCHANT^000000?";
- close;
- case 4:
- mes "[Tutorial Instructor]";
- mes "^006400Vend Search^000000 can be utilized by the ^006400Universal Silver Catalog^000000 item. Since you search through as vends on that map, it'll make it easier for you to find the item that you're looking for.";
- next;
- mes "[Tutorial Instructor]";
- mes "The ^006400Universal Silver Catalog^000000";
- mes "can be obtained from ";
- mes "the ^0000FFCatalogue Wizard^000000";
- mes "that is located in South Prontera;";
- next;
- mes "[Tutorial Instructor]";
- mes "It only costs 200 zeny for one";
- mes "of these and with it you can";
- mes "search up to 10 times.";
- mes "You can say that it's a necessity.";
- next;
- mes "[Tutorial Instructor]";
- mes "So, are you getting familiar with ^006400Vend Search^000000? Don't just stand there and listen to me. Go ahead and try it for yourself!";
- close;
- case 5:
- mes "[Tutorial Instructor]";
- mes "Depending on what you need, ^006400Mercenary^000000 and ^006400Pet^000000 can be used in various ways.";
- next;
- mes "[Tutorial Instructor]";
- mes "If a 006400Mercenary^000000 gives you direct effect";
- mes "by fighting for you";
- mes "then a ^006400Pet^000000 helps you indirectly with their";
- mes "abilities and varied appearances,";
- mes "and it captures your heart.";
- next;
- mes "[Tutorial Instructor]";
- mes "In order to employ a Mercenary";
- mes "Go find the ^006400Mercenary Guild^000000";
- mes "which is by the front door of ^8B4513Prontera^000000.";
- mes "Go to the ^006400Information Agent^000000";
- mes "and ask them where the ^006400Mercenary Guild Official^000000";
- mes "is located and they will let you know.";
- next;
- mes "[Tutorial Instructor]";
- mes "In order to get a ^006400Pet^000000, while hunting you will obtain taming items. Use the tame on the monster it's for and you can get a pet.";
- next;
- mes "[Tutorial Instructor]";
- mes "Because there is a chance for failure, please use the taming item with great care.";
- next;
- mes "[Tutorial Instructor]";
- mes "That aside... you can get a ^006400Mercenary^000000 from the Mercenary Guild and you can get a ^006400Pet^000000 by trading or buying it from another player.";
- next;
- mes "[Tutorial Instructor]";
- mes "Now, do you understand a bit more about using a ^006400Mercenary^000000 and a ^006400Pet^000000? I hope you get a chance to use them in the future.";
- close;
- case 6:
- mes "[Tutorial Instructor]";
- mes "If you have any questions, come find me again.";
- close;
- }
}
mes "[Tutorial Instructor]";
mes "Lately, it has been said that";
diff --git a/npc/re/quests/quests_malangdo.txt b/npc/re/quests/quests_malangdo.txt
index 1351ab80a..9a67c4af8 100644
--- a/npc/re/quests/quests_malangdo.txt
+++ b/npc/re/quests/quests_malangdo.txt
@@ -1174,10 +1174,49 @@ mal_in02,140,94,0 script Bob#mal 4_CAT_DOWN,{
} else if (ma_tomas == 14) {
// Dialogue in repeatable quest is identical.
// Uses a variable to determine the quest mode.
- @mal_bob_q = 1;
- L_Quest1:
- .@i = @mal_bob_q;
- @mal_bob_q = 0;
+ .@i = 1;
+ } else if (ma_tomas == 15) {
+ .@i = 3;
+ } else if (ma_tomas == 16) {
+ mes "[Bob]";
+ mes "Khhh~~~~~~~~~~~~~~~~~~~~~~";
+ mes "That was perfect!";
+ emotion e_no1;
+ next;
+ mes "[Bob]";
+ mes "The adhesive filled in just right!!";
+ mes "The perfect stapler job!!";
+ mes "The speechless and marvelous finishing skill!!";
+ next;
+ mes "[Bob]";
+ mes "Impressed!";
+ mes "Mysterious!";
+ mes "Shocked!";
+ emotion e_omg;
+ next;
+ mes "[Bob]";
+ mes "You did a great job indeed!!!";
+ mes "I will tell Dr. Mali!";
+ if (countitem(Fix_Kit) > 0)
+ delitem Fix_Kit,1;
+ ma_tomas = 17;
+ changequest 11223,11224;
+ close;
+ } else if (ma_tomas > 99) {
+ if (questprogress(11240))
+ .@i = 2;
+ else if (questprogress(11241))
+ .@i = 3;
+ } else {
+ mes "[Bob]";
+ mes "You bow-wow! bow! wow! I mew! mew! mew!";
+ mes "I'm into juice from delicious fish, mew~";
+ emotion e_ho;
+ close;
+ }
+ switch (.@i) {
+ case 1:
+ case 2:
mes "[Bob]";
mes "You bow-wow! bow! wow! I mew! mew! mew!";
mes "I'm into juice from delicious fish, mew~";
@@ -1251,8 +1290,7 @@ mal_in02,140,94,0 script Bob#mal 4_CAT_DOWN,{
emotion e_otl;
close;
}
- } else if (ma_tomas == 15) {
- L_Quest2:
+ case 3:
if (checkweight(Knife,1) == 0) {
mes " - Notice !! -";
mes " - Since you have too many items - ";
@@ -1283,43 +1321,7 @@ mal_in02,140,94,0 script Bob#mal 4_CAT_DOWN,{
mes "Ah, right...";
mes "^0000ffYou may fall into the gap of the crack, unfortunately, so please watch out.^000000";
close;
- } else if (ma_tomas == 16) {
- mes "[Bob]";
- mes "Khhh~~~~~~~~~~~~~~~~~~~~~~";
- mes "That was perfect!";
- emotion e_no1;
- next;
- mes "[Bob]";
- mes "The adhesive filled in just right!!";
- mes "The perfect stapler job!!";
- mes "The speechless and marvelous finishing skill!!";
- next;
- mes "[Bob]";
- mes "Impressed!";
- mes "Mysterious!";
- mes "Shocked!";
- emotion e_omg;
- next;
- mes "[Bob]";
- mes "You did a great job indeed!!!";
- mes "I will tell Dr. Mali!";
- if (countitem(Fix_Kit) > 0)
- delitem Fix_Kit,1;
- ma_tomas = 17;
- changequest 11223,11224;
- close;
- } else if (ma_tomas > 99) {
- if (questprogress(11240)) {
- @mal_bob_q = 2;
- goto L_Quest1;
- } else if (questprogress(11241))
- goto L_Quest2;
- }
- mes "[Bob]";
- mes "You bow-wow! bow! wow! I mew! mew! mew!";
- mes "I'm into juice from delicious fish, mew~";
- emotion e_ho;
- close;
+ }
}
- script Crack#mal0 FAKE_NPC,{
@@ -2221,38 +2223,7 @@ mal_dun01,136,122,3 script Biscuit#mal 4_ASTER,{
} else if (ma_tomas == 26) {
// Dialogue in repeatable quest is identical.
// Uses a variable to determine the quest mode.
- @mal_bob_q = 1;
- L_Quest:
- .@i = @mal_bob_q;
- @mal_bob_q = 0;
- if (countitem(Delicious_Jelly) < 30) {
- mes "[Biscuit]";
- mes "It's not enough at all~";
- mes "I need at least 30 Delicious Jelly.";
- close;
- }
- mes "[Biscuit]";
- mes "You got them well.";
- mes "There won't be any problem to prepare her meal.";
- delitem Delicious_Jelly,30;
- if (.@i == 1) {
- ma_tomas = 27;
- changequest 11231,11232;
- } else {
- erasequest 11244;
- setquest 11245;
- getitem Egrade_Coin,5;
- }
- next;
- mes "[Biscuit]";
- mes "Though the jelly looks strange, it tastes good...";
- mes "Star Candy seems to like it a lot as well.";
- next;
- mes "[Biscuit]";
- mes "Have your meal, Star Candy~";
- mes "Uhhh, why don't you eat it?";
- mes "You have no appetite?";
- close;
+ .@i = 1;
} else if (ma_tomas == 27) {
mes "[Biscuit]";
mes "Hooo.. it's natural that you have no appetite...";
@@ -2403,8 +2374,7 @@ mal_dun01,136,122,3 script Biscuit#mal 4_ASTER,{
close;
} else if (ma_tomas > 99) {
if (questprogress(11244)) {
- @mal_bob_q = 2;
- goto L_Quest;
+ .@i = 2;
} else if (questprogress(11245,PLAYTIME) == 1) {
mes "[Biscuit]";
mes "I'll call you when I need you, so don't worry!";
@@ -2430,10 +2400,39 @@ mal_dun01,136,122,3 script Biscuit#mal 4_ASTER,{
close;
}
}
+ } else {
+ mes "[Biscuit]";
+ mes "Star Candy is really good.";
+ mes "She never loses her smile, even though it's so hard to stand...";
+ close;
+ }
+ if (countitem(Delicious_Jelly) < 30) {
+ mes "[Biscuit]";
+ mes "It's not enough at all~";
+ mes "I need at least 30 Delicious Jelly.";
+ close;
}
mes "[Biscuit]";
- mes "Star Candy is really good.";
- mes "She never loses her smile, even though it's so hard to stand...";
+ mes "You got them well.";
+ mes "There won't be any problem to prepare her meal.";
+ delitem Delicious_Jelly,30;
+ if (.@i == 1) {
+ ma_tomas = 27;
+ changequest 11231,11232;
+ } else {
+ erasequest 11244;
+ setquest 11245;
+ getitem Egrade_Coin,5;
+ }
+ next;
+ mes "[Biscuit]";
+ mes "Though the jelly looks strange, it tastes good...";
+ mes "Star Candy seems to like it a lot as well.";
+ next;
+ mes "[Biscuit]";
+ mes "Have your meal, Star Candy~";
+ mes "Uhhh, why don't you eat it?";
+ mes "You have no appetite?";
close;
}
diff --git a/npc/re/quests/quests_malaya.txt b/npc/re/quests/quests_malaya.txt
index 410ee71a7..8c47fb2ed 100644
--- a/npc/re/quests/quests_malaya.txt
+++ b/npc/re/quests/quests_malaya.txt
@@ -2426,67 +2426,64 @@ malaya,326,68,2 script Pedro the Sailor 4W_SAILOR,{
end;
} else if (.@playtime == 2) {
erasequest 7401;
- goto L_SetQuest;
} else {
if (!questprogress(7403)) {
- if (!questprogress(7402)) {
- goto L_SetQuest;
+ if (questprogress(7402)) {
+ mes "[Pedro the Sailor]";
+ mes "You know what to do.";
+ mes "Gather the flowers and take it to Mumbaki to get an Offering Bouquet made.";
+ next;
+ mes "[Pedro the Sailor]";
+ mes "Give the Bouquet to Miss Diwata to cheer her up.";
+ mes "....Thank you.";
+ close;
}
+ } else {
mes "[Pedro the Sailor]";
- mes "You know what to do.";
- mes "Gather the flowers and take it to Mumbaki to get an Offering Bouquet made.";
+ mes "Diwata is calm!";
+ mes "I can even feel the difference out here.";
+ mes "I am always in your debt.";
next;
mes "[Pedro the Sailor]";
- mes "Give the Bouquet to Miss Diwata to cheer her up.";
- mes "....Thank you.";
+ mes "You know what? Why don't you do this on a more regular basis?";
+ mes "I think you kind of like doing it.";
+ setquest 7401;
+ erasequest 7403;
+// if (IsPremiumPcCafe == 10)
+ getitem Lesser_Agimat, 2; // Lesser_Agimat
+// else
+// getitem Lesser_Agimat, 1; // Lesser_Agimat
+ getexp 200000,200000;
+ if (!rand(3))
+ $malayaNames$[0] = strcharinfo(PC_NAME);
close;
}
+ }
+ mes "[Pedro the Sailor]";
+ mes "Ah, the thing is...";
+ mes "We can't go right now..";
+ mes "You see, the ghosts are back...";
+ mes "I'm fed up with nuisance.";
+ next;
+ mes "[Pedro the Sailor]";
+ mes "I mean... Miss Diwata... Isn't feeling very well and, even with the Spiritual Protection";
+ mes "a normal person can't stand it.";
+ next;
+ if (select("I see. Take care then.", "How about a Floral Tribute?") == 1) {
mes "[Pedro the Sailor]";
- mes "Diwata is calm!";
- mes "I can even feel the difference out here.";
- mes "I am always in your debt.";
- next;
- mes "[Pedro the Sailor]";
- mes "You know what? Why don't you do this on a more regular basis?";
- mes "I think you kind of like doing it.";
- setquest 7401;
- erasequest 7403;
-// if (IsPremiumPcCafe == 10)
- getitem Lesser_Agimat, 2; // Lesser_Agimat
-// else
-// getitem Lesser_Agimat, 1; // Lesser_Agimat
- getexp 200000,200000;
- if (!rand(3))
- $malayaNames$[0] = strcharinfo(PC_NAME);
+ mes "I'm glad you understand.";
+ mes "Sigh...";
close;
}
+ mes "[Pedro the Sailor]";
+ mes "Hmmm. That would be nice.";
+ mes "If she can be soothed with flowers...!";
+ mes "Good luck.";
+ setquest 7402;
+ close;
}
}
end;
-
-L_SetQuest:
- mes "[Pedro the Sailor]";
- mes "Ah, the thing is...";
- mes "We can't go right now..";
- mes "You see, the ghosts are back...";
- mes "I'm fed up with nuisance.";
- next;
- mes "[Pedro the Sailor]";
- mes "I mean... Miss Diwata... Isn't feeling very well and, even with the Spiritual Protection";
- mes "a normal person can't stand it.";
- next;
- if (select("I see. Take care then.", "How about a Floral Tribute?") == 1) {
- mes "[Pedro the Sailor]";
- mes "I'm glad you understand.";
- mes "Sigh...";
- close;
- }
- mes "[Pedro the Sailor]";
- mes "Hmmm. That would be nice.";
- mes "If she can be soothed with flowers...!";
- mes "Good luck.";
- setquest 7402;
- close;
}
ma_in01,125,107,3 script Ghost Diwata G_SKOGUL,4,4,{
diff --git a/npc/re/scripts_mapflags.conf b/npc/re/scripts_mapflags.conf
index 8727d9b44..570294c47 100644
--- a/npc/re/scripts_mapflags.conf
+++ b/npc/re/scripts_mapflags.conf
@@ -28,4 +28,5 @@
//= Map Flags
//=========================================================================
+"npc/re/mapflag/gvg.txt",
"npc/re/mapflag/zone.txt",
diff --git a/npc/re/woe-fe/invest_main.txt b/npc/re/woe-fe/invest_main.txt
index c912444cc..d743225df 100644
--- a/npc/re/woe-fe/invest_main.txt
+++ b/npc/re/woe-fe/invest_main.txt
@@ -107,16 +107,16 @@ function script F_Invest_Status {
return 0;
// Open for investments.
- if (.@day >= 3 && (.@day < 5 || (.@day == 5 && .@hour <= 12)))
+ if (.@day >= WEDNESDAY && (.@day < FRIDAY || (.@day == FRIDAY && .@hour <= 12)))
return 1;
// Investments closed, calculating results.
- if (.@day == 5 && .@hour == 12 && .@minute < 35)
+ if (.@day == FRIDAY && .@hour == 12 && .@minute < 35)
return 2;
// Calculations complete, dungeons open.
- if ((.@day == 5 && (.@hour > 12 || (.@hour == 12 && .@minute >= 35))) || .@day > 5 ||
- .@day < 2 || (.@day == 2 && .@hour < 20))
+ if ((.@day == FRIDAY && (.@hour > 12 || (.@hour == 12 && .@minute >= 35))) || .@day > FRIDAY ||
+ .@day < TUESDAY || (.@day == TUESDAY && .@hour < 20))
return 3;
// Dungeons closed.
@@ -273,14 +273,14 @@ OnCalculate:
else
setd "$"+.@cas$[.@i]+"_invest_result",1;
}
- // No further actions if 20,000,000z isn't reached.
- if (!.@total_2000)
- end;
// No further actions if any realm hits 70,000,000z.
if (.@total_7000) {
$2011_agit_invest = 4;
end;
}
+ // No further actions if 20,000,000z isn't reached.
+ if (!.@total_2000)
+ end;
// Otherwise, highest investment above 20,000,000z opens Hall of Abyss.
.@max = .@funds[0];
for(.@i = 1; .@i<4; ++.@i) {
@@ -882,7 +882,7 @@ OnAgitInvest:
close;
}
case 3:
- if (checkweight(Knife,1) == 0 || MaxWeight - Weight < 1000) {
+ if (checkweight(Knife,1) == 0 || MaxWeight - Weight < 2000) {
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again after you -";
@@ -1126,7 +1126,7 @@ OnAgitInvest:
next;
switch(select("Invest for gate connection", "Deepest Layer Dungeon Access", "Abyss Gate Access", "Cancel")) {
case 1:
- if (checkweight(Knife,1) == 0 || MaxWeight - Weight < 1000) {
+ if (checkweight(Knife,1) == 0 || MaxWeight - Weight < 2000) {
mes "[Gate Manager]";
mes "You have too many items to receive the Thank You Ticket as a small gift for your investment.";
mes "Please come back after making room in your inventory.";
@@ -1401,27 +1401,48 @@ malangdo,218,123,1 script Namis#invest 4_CAT_SAILOR2,4,4,{
"Piece of Thanatos' armor","I hear Dragon Scales are tough 02","The identity of the creepy eye","If only I could see!";
.@i = select(implode(.@event1$[0],":"))-1;
switch(.@i+1) {
- case 1: callsub L_Check,"2 Pieces of Queen's Wing",6326,2,"Wings of the Insect Queen? What a pitiful name. I would've given some cool names!",.@event1$[.@i];
- case 2: callsub L_Check,"2 Broken Crowns",7754,2,"For crying out loud! Those cats working on these events must be playing around. Can't they think of a better name?",.@event1$[.@i];
- case 3: callsub L_Check,"2 Fire Dragon Scales",7451,2,"Dragon scales? Well... I guess they are tough. But what are they going to use them for?",.@event1$[.@i];
- case 4: callsub L_Check,"3 Mother's Nightmares",7020,3,"Even though I don't have the authority to find out, I wonder what they're doing with the collected items?",.@event1$[.@i];
- case 5: callsub L_Check,"5 Gemstones",7300,5,"Something useful for a change. The ore will end up as nice pieces of jewelry.",.@event1$[.@i];
- case 6: callsub L_Check,"5 Heroic Emblems",968,5,"Good, good. This is the kind of name I wanted!",.@event1$[.@i];
- case 7: callsub L_Check,"3 Taeguk Plates",7169,3,"Taking in something like this, maybe they're up to something dangerous.",.@event1$[.@i];
- case 8: callsub L_Check,"3 Broken Pharaoh Symbols and 3 Tutankhamen's Masks",7113,3,"I hear the pyramids are in Morroc, but I've never been there. Some humans call it Morco.",.@event1$[.@i],7114,3;
- case 9: callsub L_Check,"2 Pocket Watches",7513,2,"Those lazy merchants, why do they need pocket watches they don't even use?",.@event1$[.@i];
- case 10: callsub L_Check,"3 Young Twigs",7018,3,"Mellow Island has a climate like with where we cats used to live. But the trees die out sometimes due to it being an island.",.@event1$[.@i];
- case 11: callsub L_Check,"5 Rossata Pieces",7211,5,"I guess they collect these because humans have them, but what's the use of researching ancient languages?",.@event1$[.@i];
- case 12: callsub L_Check,"5 Fangs of Garm",7036,5,"Weak humans need sharp weapons, but cats already have nice and sharp claws, so why are we collecting these!!",.@event1$[.@i];
- case 13: callsub L_Check,"3 Baphomet Dolls",750,3,"Baphomet dolls are great for playing around with.",.@event1$[.@i];
- case 14: callsub L_Check,"1 Tiger's Footskin and 5 Tiger Skins",1030,1,"Did you know that tigers are cats too? Therefore, cats are better than tigers.",.@event1$[.@i],1029,5;
- case 15: callsub L_Check,"3 Broken Shield Pieces and 3 Shining Spear Blades",7108,3,"I don't know what they want with these.",.@event1$[.@i],7109,3;
- case 16: callsub L_Check,"3 Osiris Dolls",751,3,"Shame~ I never got to play with an Osiris doll.",.@event1$[.@i];
- case 17: callsub L_Check,"1 Ice Scale",7562,1,"Mellow Island is a fabulous place to live. But the ships are too hot.",.@event1$[.@i];
- case 18: callsub L_Check,"1 Skeletal Armor Piece",7450,1,"Ewww... Why would they collect something so creepy?",.@event1$[.@i];
- case 19: callsub L_Check,"1 Darkred Scale Piece",6091,1,"Dragon scales? Well... I guess they are tough. But what are they going to use them for?",.@event1$[.@i];
- case 20: callsub L_Check,"2 Wills of Red Darkness",7566,2,"Interesting! Does it scream or something when I poke it in the eye?",.@event1$[.@i];
- case 21: callsub L_Check,"2 Foolishness of the Blind",7021,2,"This blind man is foolish in not knowing that gathering 300 cats cures blindness...",.@event1$[.@i];
+ case 1:
+ callsub(L_Check, "2 Pieces of Queen's Wing", Queen_Wing_Piece, 2, "Wings of the Insect Queen? What a pitiful name. I would've given some cool names!", .@event1$[.@i]);
+ case 2:
+ callsub(L_Check, "2 Broken Crowns", Broken_Crown, 2, "For crying out loud! Those cats working on these events must be playing around. Can't they think of a better name?", .@event1$[.@i]);
+ case 3:
+ callsub(L_Check, "2 Fire Dragon Scales", Scale_Of_Red_Dragon, 2, "Dragon scales? Well... I guess they are tough. But what are they going to use them for?", .@event1$[.@i]);
+ case 4:
+ callsub(L_Check, "3 Mother's Nightmares", Mothers_Nightmare, 3, "Even though I don't have the authority to find out, I wonder what they're doing with the collected items?", .@event1$[.@i]);
+ case 5:
+ callsub(L_Check, "5 Gemstones", Gemstone, 5, "Something useful for a change. The ore will end up as nice pieces of jewelry.", .@event1$[.@i]);
+ case 6:
+ callsub(L_Check, "5 Heroic Emblems", Voucher_Of_Orcish_Hero, 5, "Good, good. This is the kind of name I wanted!", .@event1$[.@i]);
+ case 7:
+ callsub(L_Check, "3 Taeguk Plates", Taegeuk_Plate, 3, "Taking in something like this, maybe they're up to something dangerous.", .@event1$[.@i]);
+ case 8:
+ callsub(L_Check, "3 Broken Pharaoh Symbols and 3 Tutankhamen's Masks", Broken_Pharaoh_Symbol, 3, "I hear the pyramids are in Morroc, but I've never been there. Some humans call it Morco.", .@event1$[.@i], Tutankhamens_Mask, 3);
+ case 9:
+ callsub(L_Check, "2 Pocket Watches", Pocket_Watch, 2, "Those lazy merchants, why do they need pocket watches they don't even use?", .@event1$[.@i]);
+ case 10:
+ callsub(L_Check, "3 Young Twigs", Young_Twig, 3, "Mellow Island has a climate like with where we cats used to live. But the trees die out sometimes due to it being an island.", .@event1$[.@i]);
+ case 11:
+ callsub(L_Check, "5 Rossata Pieces", Rojerta_Piece, 5, "I guess they collect these because humans have them, but what's the use of researching ancient languages?", .@event1$[.@i]);
+ case 12:
+ callsub(L_Check, "5 Fangs of Garm", Fang_Of_Garm, 5, "Weak humans need sharp weapons, but cats already have nice and sharp claws, so why are we collecting these!!", .@event1$[.@i]);
+ case 13:
+ callsub(L_Check, "3 Baphomet Dolls", Baphomet_Doll, 3, "Baphomet dolls are great for playing around with.", .@event1$[.@i]);
+ case 14:
+ callsub(L_Check, "1 Tiger's Footskin and 5 Tiger Skins", Tiger_Footskin, 1, "Did you know that tigers are cats too? Therefore, cats are better than tigers.", .@event1$[.@i], Tigers_Skin, 5);
+ case 15:
+ callsub(L_Check, "3 Broken Shield Pieces and 3 Shining Spear Blades", Boroken_Shiled_Piece, 3, "I don't know what they want with these.", .@event1$[.@i], Shine_Spear_Blade, 3);
+ case 16:
+ callsub(L_Check, "3 Osiris Dolls", Osiris_Doll, 3, "Shame~ I never got to play with an Osiris doll.", .@event1$[.@i]);
+ case 17:
+ callsub(L_Check, "1 Ice Scale", Ice_Scale, 1, "Mellow Island is a fabulous place to live. But the ships are too hot.", .@event1$[.@i]);
+ case 18:
+ callsub(L_Check, "1 Skeletal Armor Piece", Piece_Of_Bone_Armor, 1, "Ewww... Why would they collect something so creepy?", .@event1$[.@i]);
+ case 19:
+ callsub(L_Check, "1 Darkred Scale Piece", Dark_Red_Scale, 1, "Dragon scales? Well... I guess they are tough. But what are they going to use them for?", .@event1$[.@i]);
+ case 20:
+ callsub(L_Check, "2 Wills of Red Darkness", Will_Of_Darkness_, 2, "Interesting! Does it scream or something when I poke it in the eye?", .@event1$[.@i]);
+ case 21:
+ callsub(L_Check, "2 Foolishness of the Blind", Foolishness_Of_Blind, 2, "This blind man is foolish in not knowing that gathering 300 cats cures blindness...", .@event1$[.@i]);
}
case 3:
mes "[Namis]";
@@ -1496,21 +1517,36 @@ malangdo,215,119,4 script Thanks Ticket Machine 2_VENDING_MACHINE1,{
mes "The Vending Machine is selling items in the following list.";
next;
switch(select("Finish", "1 Siege Arrow Quiver A (2 Tickets)", "1 Siege Arrow Quiver S (2 Tickets)", "30 White Potion (12 Tickets)", "30 White Slim Potion (14 Tickets)", "10 Dark Water (20 Tickets)", "20 Siege_Violet_Potion (30 Tickets)", "10 Coldproof Potion (30 Tickets)", "10 Thunderproof Potion (30 Tickets)", "10 Earthproof Potion (30 Tickets)", "10 Fireproof Potion (30 Tickets)", "10 Elemental Converter[Fire] (30 Tickets)")) {
- case 1: close;
- case 2: callsub L_Purchase,2,12678,1; //Siege_Arrow_Quiver_A
- case 3: callsub L_Purchase,2,12677,1; //Siege_Arrow_Quiver_S
- case 4: callsub L_Purchase,12,504,30; //White_Potion
- case 5: callsub L_Purchase,14,547,30; //White_Slim_Potion
- case 6: callsub L_Purchase,20,12020,10; //Water_Of_Darkness
- case 7: callsub L_Purchase,30,11547,20; //Woe_Violet_Potion
- case 8: callsub L_Purchase,30,12119,10; //Resist_Water
- case 9: callsub L_Purchase,30,12121,10; //Resist_Wind
- case 10: callsub L_Purchase,30,12120,10; //Resist_Earth
- case 11: callsub L_Purchase,30,12118,10; //Resist_Fire
- case 12: callsub L_Purchase,30,12114,10,"Elemental Converter[Fire]"; //Elemental_Fire
- case 13: callsub L_Purchase,30,12115,10,"Elemental Converter[Water]"; //Elemental_Water
- case 14: callsub L_Purchase,30,12117,10,"Elemental Converter[Wind]"; //Elemental_Wind
- case 15: callsub L_Purchase,30,12116,10,"Elemental Converter[Earth]"; //Elemental_Earth
+ case 1:
+ close;
+ case 2:
+ callsub(L_Purchase, 2, Siege_Arrow_Quiver_A, 1);
+ case 3:
+ callsub(L_Purchase, 2, Siege_Arrow_Quiver_S, 1);
+ case 4:
+ callsub(L_Purchase, 12, White_Potion, 30);
+ case 5:
+ callsub(L_Purchase, 14, White_Slim_Potion, 30);
+ case 6:
+ callsub(L_Purchase, 20, Water_Of_Darkness, 10);
+ case 7:
+ callsub(L_Purchase, 30, Woe_Violet_Potion, 20);
+ case 8:
+ callsub(L_Purchase, 30, Resist_Water, 10);
+ case 9:
+ callsub(L_Purchase, 30, Resist_Wind, 10);
+ case 10:
+ callsub(L_Purchase, 30, Resist_Earth, 10);
+ case 11:
+ callsub(L_Purchase, 30, Resist_Fire, 10);
+ case 12:
+ callsub(L_Purchase, 30, Elemental_Fire, 10, "Elemental Converter[Fire]");
+ case 13:
+ callsub(L_Purchase, 30, Elemental_Water, 10, "Elemental Converter[Water]");
+ case 14:
+ callsub(L_Purchase, 30, Elemental_Wind, 10, "Elemental Converter[Wind]");
+ case 15:
+ callsub(L_Purchase, 30, Elemental_Earth, 10, "Elemental Converter[Earth]");
}
end;
case 3:
@@ -1520,67 +1556,126 @@ malangdo,215,119,4 script Thanks Ticket Machine 2_VENDING_MACHINE1,{
mes "You don't have enough ^FF0000Invest Thanks Ticket^000000 to proceed.";
close;
}
- delitem Thanks_Invest_Ticket,5;
- .@i = rand(1,10000);
- if (.@i <= 100) callsub L_Bag,12531,1; //White_Potion_Box
- else if (.@i <= 200) callsub L_Bag,12549,1; //White_Slim_Pot_Box2
- else if (.@i <= 250) callsub L_Bag,11549,10; //Woe_Blue_Potion
- else if (.@i <= 660) callsub L_Bag,617,1; //Old_Violet_Box
- else if (.@i <= 710) callsub L_Bag,12532,1; //Royal_Jelly_Box2
- else if (.@i <= 760) callsub L_Bag,12533,1; //Blue_Herb_Box2
- else if (.@i <= 810) callsub L_Bag,505,5; //Blue_Potion
- else if (.@i <= 1110) callsub L_Bag,644,1; //Gift_Box
- else if (.@i <= 1120) callsub L_Bag,607,1; //Yggdrasilberry
- else if (.@i <= 1130) callsub L_Bag,608,2; //Seed_Of_Yggdrasil
- else if (.@i <= 1140) callsub L_Bag,12292,5; //Unripe_Fruit
- else if (.@i <= 1150) callsub L_Bag,12293,5; //Dried_Yggdrasilberry
- else if (.@i <= 1250) callsub L_Bag,12679,1; //Sg_White_Potion_Box
- else if (.@i <= 1471) callsub L_Bag,603,1; //Old_Blue_Box
- else if (.@i <= 1571) callsub L_Bag,12550,1,"Poison Bottle Box(30)"; //Poison_Bottle_Box2
- else if (.@i <= 1671) callsub L_Bag,12020,10; //Water_Of_Darkness
- else if (.@i <= 1871) callsub L_Bag,12030,5; //Box_Of_Grudge
- else if (.@i <= 2071) callsub L_Bag,12031,5; //Sleepy_Box
- else if (.@i <= 2371) callsub L_Bag,12033,2; //Box_Of_Sunlight
- else if (.@i <= 2571) callsub L_Bag,12114,5,"Elemental Converter[Fire]"; //Elemental_Fire
- else if (.@i <= 2771) callsub L_Bag,12115,5,"Elemental Converter[Water]"; //Elemental_Water
- else if (.@i <= 2971) callsub L_Bag,12117,5,"Elemental Converter[Wind]"; //Elemental_Wind
- else if (.@i <= 3171) callsub L_Bag,12116,5,"Elemental Converter[Earth]"; //Elemental_Earth
- else if (.@i <= 3271) callsub L_Bag,12680,1; //Sg_Blue_Potion_Box
- else if (.@i <= 3471) callsub L_Bag,12118,5; //Resist_Fire
- else if (.@i <= 3671) callsub L_Bag,12119,5; //Resist_Water
- else if (.@i <= 3871) callsub L_Bag,12121,5; //Resist_Wind
- else if (.@i <= 4071) callsub L_Bag,12120,5; //Resist_Earth
- else if (.@i <= 4271) callsub L_Bag,929,20; //Immortal_Heart
- else if (.@i <= 4471) callsub L_Bag,1059,20; //Transparent_Cloth
- else if (.@i <= 4671) callsub L_Bag,905,20; //Stem
- else if (.@i <= 4871) callsub L_Bag,606,10; //Aloebera
- else if (.@i <= 5071) callsub L_Bag,609,10; //Amulet
- else if (.@i <= 5271) callsub L_Bag,710,2; //Illusion_Flower
- else if (.@i <= 5471) callsub L_Bag,576,20; //Prickly_Fruit
- else if (.@i <= 5671) callsub L_Bag,621,10; //Bitter_Herb
- else if (.@i <= 5871) callsub L_Bag,709,10; //Izidor
- else if (.@i <= 6071) callsub L_Bag,605,10; //Anodyne
- else if (.@i <= 6171) callsub L_Bag,11548,10; //Woe_White_Potion
- else if (.@i <= 6371) callsub L_Bag,706,10; //Four_Leaf_Clover
- else if (.@i <= 6571) callsub L_Bag,521,10; //Leaflet_Of_Aloe
- else if (.@i <= 6771) callsub L_Bag,707,10; //Singing_Plant
- else if (.@i <= 6971) callsub L_Bag,610,10; //Leaf_Of_Yggdrasil
- else if (.@i <= 7021) callsub L_Bag,12676,1; //Sg_Violet_Potion_Box
- else if (.@i <= 7171) callsub L_Bag,6249,10; //Savage_Meat
- else if (.@i <= 7321) callsub L_Bag,6252,10; //Wolf_Blood
- else if (.@i <= 7471) callsub L_Bag,6254,10; //Beef_Head_Meat
- else if (.@i <= 7621) callsub L_Bag,6253,10; //Cold_Ice
- else if (.@i <= 7771) callsub L_Bag,6256,10; //Ice_Fragment
- else if (.@i <= 7921) callsub L_Bag,6257,10; //Ice_Crystal
- else if (.@i <= 8071) callsub L_Bag,6260,10; //Petti_Tail
- else if (.@i <= 8309) callsub L_Bag,7932,20; //Poison_Herb_Nerium
- else if (.@i <= 8547) callsub L_Bag,7933,20; //Poison_Herb_Rantana
- else if (.@i <= 8785) callsub L_Bag,7934,20; //Poison_Herb_Makulata
- else if (.@i <= 9023) callsub L_Bag,7935,20; //Poison_Herb_Seratum
- else if (.@i <= 9261) callsub L_Bag,7936,20; //Poison_Herb_Scopolia
- else if (.@i <= 9499) callsub L_Bag,7937,20; //Poison_Herb_Amoena
- else if (.@i <= 9699) callsub L_Bag,6217,20; //Mandragora_Flowerpot
- else callsub L_Bag,12016,10; //Speed_Up_Potion
+ delitem(Thanks_Invest_Ticket, 5);
+ .@i = rand(1, 10000);
+ if (.@i <= 100)
+ callsub(L_Bag, White_Potion_Box, 1);
+ else if (.@i <= 200)
+ callsub(L_Bag, White_Slim_Pot_Box2, 1);
+ else if (.@i <= 250)
+ callsub(L_Bag, Woe_Blue_Potion, 10);
+ else if (.@i <= 660)
+ callsub(L_Bag, Old_Violet_Box, 1);
+ else if (.@i <= 710)
+ callsub(L_Bag, Royal_Jelly_Box2, 1);
+ else if (.@i <= 760)
+ callsub(L_Bag, Blue_Herb_Box2, 1);
+ else if (.@i <= 810)
+ callsub(L_Bag, Blue_Potion, 5);
+ else if (.@i <= 1110)
+ callsub(L_Bag, Gift_Box, 1);
+ else if (.@i <= 1120)
+ callsub(L_Bag, Yggdrasilberry, 1);
+ else if (.@i <= 1130)
+ callsub(L_Bag, Seed_Of_Yggdrasil, 2);
+ else if (.@i <= 1140)
+ callsub(L_Bag, Unripe_Fruit, 5);
+ else if (.@i <= 1150)
+ callsub(L_Bag, Dried_Yggdrasilberry, 5);
+ else if (.@i <= 1250)
+ callsub(L_Bag, Sg_White_Potion_Box, 1);
+ else if (.@i <= 1471)
+ callsub(L_Bag, Old_Blue_Box, 1);
+ else if (.@i <= 1571)
+ callsub(L_Bag, Poison_Bottle_Box2, 1, "Poison Bottle Box(30);");
+ else if (.@i <= 1671)
+ callsub(L_Bag, Water_Of_Darkness, 10);
+ else if (.@i <= 1871)
+ callsub(L_Bag, Box_Of_Grudge, 5);
+ else if (.@i <= 2071)
+ callsub(L_Bag, Sleepy_Box, 5);
+ else if (.@i <= 2371)
+ callsub(L_Bag, Box_Of_Sunlight, 2);
+ else if (.@i <= 2571)
+ callsub(L_Bag, Elemental_Fire, 5, "Elemental Converter[Fire]");
+ else if (.@i <= 2771)
+ callsub(L_Bag, Elemental_Water, 5, "Elemental Converter[Water]");
+ else if (.@i <= 2971)
+ callsub(L_Bag, Elemental_Earth, 5, "Elemental Converter[Wind]");
+ else if (.@i <= 3171)
+ callsub(L_Bag, Elemental_Wind, 5, "Elemental Converter[Earth]");
+ else if (.@i <= 3271)
+ callsub(L_Bag, Sg_Blue_Potion_Box, 1);
+ else if (.@i <= 3471)
+ callsub(L_Bag, Resist_Fire, 5);
+ else if (.@i <= 3671)
+ callsub(L_Bag, Resist_Water, 5);
+ else if (.@i <= 3871)
+ callsub(L_Bag, Resist_Wind, 5);
+ else if (.@i <= 4071)
+ callsub(L_Bag, Resist_Earth, 5);
+ else if (.@i <= 4271)
+ callsub(L_Bag, Immortal_Heart, 20);
+ else if (.@i <= 4471)
+ callsub(L_Bag, Transparent_Cloth, 20);
+ else if (.@i <= 4671)
+ callsub(L_Bag, Stem, 20);
+ else if (.@i <= 4871)
+ callsub(L_Bag, Aloebera, 10);
+ else if (.@i <= 5071)
+ callsub(L_Bag, Amulet, 10);
+ else if (.@i <= 5271)
+ callsub(L_Bag, Illusion_Flower, 2);
+ else if (.@i <= 5471)
+ callsub(L_Bag, Prickly_Fruit, 20);
+ else if (.@i <= 5671)
+ callsub(L_Bag, Bitter_Herb, 10);
+ else if (.@i <= 5871)
+ callsub(L_Bag, Izidor, 10);
+ else if (.@i <= 6071)
+ callsub(L_Bag, Anodyne, 10);
+ else if (.@i <= 6171)
+ callsub(L_Bag, Woe_White_Potion, 10);
+ else if (.@i <= 6371)
+ callsub(L_Bag, Four_Leaf_Clover, 10);
+ else if (.@i <= 6571)
+ callsub(L_Bag, Leaflet_Of_Aloe, 10);
+ else if (.@i <= 6771)
+ callsub(L_Bag, Singing_Plant, 10);
+ else if (.@i <= 6971)
+ callsub(L_Bag, Leaf_Of_Yggdrasil, 10);
+ else if (.@i <= 7021)
+ callsub(L_Bag, Sg_Violet_Potion_Box, 1);
+ else if (.@i <= 7171)
+ callsub(L_Bag, Savage_Meat, 10);
+ else if (.@i <= 7321)
+ callsub(L_Bag, Wolf_Blood, 10);
+ else if (.@i <= 7471)
+ callsub(L_Bag, Beef_Head_Meat, 10);
+ else if (.@i <= 7621)
+ callsub(L_Bag, Cold_Ice, 10);
+ else if (.@i <= 7771)
+ callsub(L_Bag, Ice_Fragment, 10);
+ else if (.@i <= 7921)
+ callsub(L_Bag, Ice_Crystal, 10);
+ else if (.@i <= 8071)
+ callsub(L_Bag, Petti_Tail, 10);
+ else if (.@i <= 8309)
+ callsub(L_Bag, Poison_Herb_Nerium, 20);
+ else if (.@i <= 8547)
+ callsub(L_Bag, Poison_Herb_Rantana, 20);
+ else if (.@i <= 8785)
+ callsub(L_Bag, Poison_Herb_Makulata, 20);
+ else if (.@i <= 9023)
+ callsub(L_Bag, Poison_Herb_Seratum, 20);
+ else if (.@i <= 9261)
+ callsub(L_Bag, Poison_Herb_Scopolia, 20);
+ else if (.@i <= 9499)
+ callsub(L_Bag, Poison_Herb_Amoena, 20);
+ else if (.@i <= 9699)
+ callsub(L_Bag, Mandragora_Flowerpot, 20);
+ else
+ callsub(L_Bag, Speed_Up_Potion, 10);
end;
case 4:
mes "Black Paw Jelly Bag Button chosen. Need to insert 50 ^FF0000Invest Thanks Ticket^000000 and a random item will appear.";
@@ -1589,75 +1684,142 @@ malangdo,215,119,4 script Thanks Ticket Machine 2_VENDING_MACHINE1,{
mes "You don't have enough ^FF0000Invest Thanks Ticket^000000 to proceed.";
close;
}
- delitem Thanks_Invest_Ticket,50;
- .@i = rand(1,10000);
- if (.@i <= 100) callsub L_Bag,12531,1; //White_Potion_Box
- else if (.@i <= 200) callsub L_Bag,12549,1; //White_Slim_Pot_Box2
- else if (.@i <= 250) callsub L_Bag,11549,20; //Woe_Blue_Potion
- else if (.@i <= 450) callsub L_Bag,617,1; //Old_Violet_Box
- else if (.@i <= 500) callsub L_Bag,12532,1; //Royal_Jelly_Box2
- else if (.@i <= 550) callsub L_Bag,12533,1; //Blue_Herb_Box2
- else if (.@i <= 600) callsub L_Bag,505,10; //Blue_Potion
- else if (.@i <= 800) callsub L_Bag,644,1; //Gift_Box
- else if (.@i <= 810) callsub L_Bag,607,2; //Yggdrasilberry
- else if (.@i <= 820) callsub L_Bag,608,3; //Seed_Of_Yggdrasil
- else if (.@i <= 830) callsub L_Bag,12292,10; //Unripe_Fruit
- else if (.@i <= 840) callsub L_Bag,12293,10; //Dried_Yggdrasilberry
- else if (.@i <= 940) callsub L_Bag,12679,1; //Sg_White_Potion_Box
- else if (.@i <= 1140) callsub L_Bag,603,1; //Old_Blue_Box
- else if (.@i <= 1240) callsub L_Bag,12550,1,"Poison Bottle Box(30)"; //Poison_Bottle_Box2
- else if (.@i <= 1340) callsub L_Bag,12020,20; //Water_Of_Darkness
- else if (.@i <= 1440) callsub L_Bag,12030,10; //Box_Of_Grudge
- else if (.@i <= 1540) callsub L_Bag,12031,10; //Sleepy_Box
- else if (.@i <= 1690) callsub L_Bag,12033,4; //Box_Of_Sunlight
- else if (.@i <= 1790) callsub L_Bag,12114,10,"Elemental Converter[Fire]"; //Elemental_Fire
- else if (.@i <= 1890) callsub L_Bag,12115,10,"Elemental Converter[Water]"; //Elemental_Water
- else if (.@i <= 1990) callsub L_Bag,12117,10,"Elemental Converter[Wind]"; //Elemental_Wind
- else if (.@i <= 2090) callsub L_Bag,12116,10,"Elemental Converter[Earth]"; //Elemental_Earth
- else if (.@i <= 2190) callsub L_Bag,12680,1; //Sg_Blue_Potion_Box
- else if (.@i <= 2290) callsub L_Bag,12118,10; //Resist_Fire
- else if (.@i <= 2390) callsub L_Bag,12119,10; //Resist_Water
- else if (.@i <= 2490) callsub L_Bag,12121,10; //Resist_Wind
- else if (.@i <= 2590) callsub L_Bag,12120,10; //Resist_Earth
- else if (.@i <= 2690) callsub L_Bag,929,40; //Immortal_Heart
- else if (.@i <= 2790) callsub L_Bag,1059,40; //Transparent_Cloth
- else if (.@i <= 2890) callsub L_Bag,905,40; //Stem
- else if (.@i <= 2990) callsub L_Bag,606,20; //Aloebera
- else if (.@i <= 3090) callsub L_Bag,609,20; //Amulet
- else if (.@i <= 3190) callsub L_Bag,710,4; //Illusion_Flower
- else if (.@i <= 3290) callsub L_Bag,576,40; //Prickly_Fruit
- else if (.@i <= 3390) callsub L_Bag,621,20; //Bitter_Herb
- else if (.@i <= 3490) callsub L_Bag,709,20; //Izidor
- else if (.@i <= 3590) callsub L_Bag,605,20; //Anodyne
- else if (.@i <= 3690) callsub L_Bag,11548,20; //Woe_White_Potion
- else if (.@i <= 3790) callsub L_Bag,706,20; //Four_Leaf_Clover
- else if (.@i <= 3890) callsub L_Bag,521,20; //Leaflet_Of_Aloe
- else if (.@i <= 3990) callsub L_Bag,707,20; //Singing_Plant
- else if (.@i <= 4090) callsub L_Bag,610,20; //Leaf_Of_Yggdrasil
- else if (.@i <= 4140) callsub L_Bag,12676,1; //Sg_Violet_Potion_Box
- else if (.@i <= 4240) callsub L_Bag,6249,20; //Savage_Meat
- else if (.@i <= 4340) callsub L_Bag,6252,20; //Wolf_Blood
- else if (.@i <= 4440) callsub L_Bag,6254,20; //Beef_Head_Meat
- else if (.@i <= 4540) callsub L_Bag,6253,20; //Cold_Ice
- else if (.@i <= 4640) callsub L_Bag,6256,20; //Ice_Fragment
- else if (.@i <= 4740) callsub L_Bag,6257,20; //Ice_Crystal
- else if (.@i <= 4840) callsub L_Bag,6260,20; //Petti_Tail
- else if (.@i <= 4940) callsub L_Bag,7932,40; //Poison_Herb_Nerium
- else if (.@i <= 5040) callsub L_Bag,7933,40; //Poison_Herb_Rantana
- else if (.@i <= 5140) callsub L_Bag,7934,40; //Poison_Herb_Makulata
- else if (.@i <= 5240) callsub L_Bag,7935,40; //Poison_Herb_Seratum
- else if (.@i <= 5340) callsub L_Bag,7936,40; //Poison_Herb_Scopolia
- else if (.@i <= 5440) callsub L_Bag,7937,40; //Poison_Herb_Amoena
- else if (.@i <= 5540) callsub L_Bag,6217,40; //Mandragora_Flowerpot
- else if (.@i <= 6000) callsub L_Bag,12016,20; //Speed_Up_Potion
- else if (.@i <= 6500) callsub L_Bag,2483,1; //Siege_Greave
- else if (.@i <= 7000) callsub L_Bag,2484,1; //Siege_Boots
- else if (.@i <= 7500) callsub L_Bag,2485,1; //Siege_Shoes
- else if (.@i <= 8000) callsub L_Bag,2586,1; //Siege_Manteau
- else if (.@i <= 8500) callsub L_Bag,2587,1; //Siege_Muffler
- else if (.@i <= 9000) callsub L_Bag,15046,1; //Siege_Plate
- else if (.@i <= 9500) callsub L_Bag,15047,1; //Siege_Suits
- else callsub L_Bag,15048,1; //Siege_Robe
+ delitem(Thanks_Invest_Ticket, 50);
+ .@i = rand(1, 10000);
+ if (.@i <= 100)
+ callsub(L_Bag, White_Potion_Box, 1);
+ else if (.@i <= 200)
+ callsub(L_Bag, White_Slim_Pot_Box2, 1);
+ else if (.@i <= 250)
+ callsub(L_Bag, Woe_Blue_Potion, 20);
+ else if (.@i <= 450)
+ callsub(L_Bag, Old_Violet_Box, 1);
+ else if (.@i <= 500)
+ callsub(L_Bag, Royal_Jelly_Box2, 1);
+ else if (.@i <= 550)
+ callsub(L_Bag, Blue_Herb_Box2, 1);
+ else if (.@i <= 600)
+ callsub(L_Bag, Blue_Potion, 10);
+ else if (.@i <= 800)
+ callsub(L_Bag, Gift_Box, 1);
+ else if (.@i <= 810)
+ callsub(L_Bag, Yggdrasilberry, 2);
+ else if (.@i <= 820)
+ callsub(L_Bag, Seed_Of_Yggdrasil, 3);
+ else if (.@i <= 830)
+ callsub(L_Bag, Unripe_Fruit, 10);
+ else if (.@i <= 840)
+ callsub(L_Bag, Dried_Yggdrasilberry, 10);
+ else if (.@i <= 940)
+ callsub(L_Bag, Sg_White_Potion_Box, 1);
+ else if (.@i <= 1140)
+ callsub(L_Bag, Old_Blue_Box, 1);
+ else if (.@i <= 1240)
+ callsub(L_Bag, Poison_Bottle_Box2, 1, "Poison Bottle Box(30)");
+ else if (.@i <= 1340)
+ callsub(L_Bag, Water_Of_Darkness, 20);
+ else if (.@i <= 1440)
+ callsub(L_Bag, Box_Of_Grudge, 10);
+ else if (.@i <= 1540)
+ callsub(L_Bag, Sleepy_Box, 10);
+ else if (.@i <= 1690)
+ callsub(L_Bag, Box_Of_Sunlight, 4);
+ else if (.@i <= 1790)
+ callsub(L_Bag, Elemental_Fire, 10, "Elemental Converter[Fire]");
+ else if (.@i <= 1890)
+ callsub(L_Bag, Elemental_Water, 10, "Elemental Converter[Water]");
+ else if (.@i <= 1990)
+ callsub(L_Bag, Elemental_Wind, 10, "Elemental Converter[Wind]");
+ else if (.@i <= 2090)
+ callsub(L_Bag, Elemental_Earth, 10, "Elemental Converter[Earth]");
+ else if (.@i <= 2190)
+ callsub(L_Bag, Sg_Blue_Potion_Box, 1);
+ else if (.@i <= 2290)
+ callsub(L_Bag, Resist_Fire, 10);
+ else if (.@i <= 2390)
+ callsub(L_Bag, Resist_Water, 10);
+ else if (.@i <= 2490)
+ callsub(L_Bag, Resist_Wind, 10);
+ else if (.@i <= 2590)
+ callsub(L_Bag, Resist_Earth, 10);
+ else if (.@i <= 2690)
+ callsub(L_Bag, Immortal_Heart, 40);
+ else if (.@i <= 2790)
+ callsub(L_Bag, Transparent_Cloth, 40);
+ else if (.@i <= 2890)
+ callsub(L_Bag, Stem, 40);
+ else if (.@i <= 2990)
+ callsub(L_Bag, Aloebera, 20);
+ else if (.@i <= 3090)
+ callsub(L_Bag, Amulet, 20);
+ else if (.@i <= 3190)
+ callsub(L_Bag, Illusion_Flower, 4);
+ else if (.@i <= 3290)
+ callsub(L_Bag, Prickly_Fruit, 40);
+ else if (.@i <= 3390)
+ callsub(L_Bag, Bitter_Herb, 20);
+ else if (.@i <= 3490)
+ callsub(L_Bag, Izidor, 20);
+ else if (.@i <= 3590)
+ callsub(L_Bag, Anodyne, 20);
+ else if (.@i <= 3690)
+ callsub(L_Bag, Woe_White_Potion, 20);
+ else if (.@i <= 3790)
+ callsub(L_Bag, Four_Leaf_Clover, 20);
+ else if (.@i <= 3890)
+ callsub(L_Bag, Leaflet_Of_Aloe, 20);
+ else if (.@i <= 3990)
+ callsub(L_Bag, Singing_Plant, 20);
+ else if (.@i <= 4090)
+ callsub(L_Bag, Leaf_Of_Yggdrasil, 20);
+ else if (.@i <= 4140)
+ callsub(L_Bag, Sg_Violet_Potion_Box, 1);
+ else if (.@i <= 4240)
+ callsub(L_Bag, Savage_Meat, 20);
+ else if (.@i <= 4340)
+ callsub(L_Bag, Wolf_Blood, 20);
+ else if (.@i <= 4440)
+ callsub(L_Bag, Beef_Head_Meat, 20);
+ else if (.@i <= 4540)
+ callsub(L_Bag, Cold_Ice, 20);
+ else if (.@i <= 4640)
+ callsub(L_Bag, Ice_Fragment, 20);
+ else if (.@i <= 4740)
+ callsub(L_Bag, Ice_Crystal, 20);
+ else if (.@i <= 4840)
+ callsub(L_Bag, Petti_Tail, 20);
+ else if (.@i <= 4940)
+ callsub(L_Bag, Poison_Herb_Nerium, 40);
+ else if (.@i <= 5040)
+ callsub(L_Bag, Poison_Herb_Rantana, 40);
+ else if (.@i <= 5140)
+ callsub(L_Bag, Poison_Herb_Makulata, 40);
+ else if (.@i <= 5240)
+ callsub(L_Bag, Poison_Herb_Seratum, 40);
+ else if (.@i <= 5340)
+ callsub(L_Bag, Poison_Herb_Scopolia, 40);
+ else if (.@i <= 5440)
+ callsub(L_Bag, Poison_Herb_Amoena, 40);
+ else if (.@i <= 5540)
+ callsub(L_Bag, Mandragora_Flowerpot, 40);
+ else if (.@i <= 6000)
+ callsub(L_Bag, Speed_Up_Potion, 20);
+ else if (.@i <= 6500)
+ callsub(L_Bag, Siege_Greave, 1);
+ else if (.@i <= 7000)
+ callsub(L_Bag, Siege_Boots, 1);
+ else if (.@i <= 7500)
+ callsub(L_Bag, Siege_Shoes, 1);
+ else if (.@i <= 8000)
+ callsub(L_Bag, Siege_Manteau, 1);
+ else if (.@i <= 8500)
+ callsub(L_Bag, Siege_Muffler, 1);
+ else if (.@i <= 9000)
+ callsub(L_Bag, Siege_Plate, 1);
+ else if (.@i <= 9500)
+ callsub(L_Bag, Siege_Suits, 1);
+ else
+ callsub(L_Bag, Siege_Robe, 1);
end;
}
end;