summaryrefslogtreecommitdiff
path: root/npc/custom
diff options
context:
space:
mode:
Diffstat (limited to 'npc/custom')
-rw-r--r--npc/custom/battleground/bg_common.txt24
-rw-r--r--npc/custom/battleground/bg_flavius_01.txt2
-rw-r--r--npc/custom/battleground/bg_flavius_02.txt2
-rw-r--r--npc/custom/battleground/bg_kvm01.txt6
-rw-r--r--npc/custom/battleground/bg_kvm02.txt6
-rw-r--r--npc/custom/battleground/bg_kvm03.txt6
-rw-r--r--npc/custom/battleground/bg_tierra_01.txt8
-rw-r--r--npc/custom/battleground/bg_tierra_02.txt8
-rw-r--r--npc/custom/bgqueue/flavius.txt26
-rw-r--r--npc/custom/card_remover.txt4
-rw-r--r--npc/custom/etc/floating_rates.txt2
-rw-r--r--npc/custom/etc/marriage.txt38
-rw-r--r--npc/custom/etc/monster_arena.txt4
-rw-r--r--npc/custom/etc/penal_servitude.txt3
-rw-r--r--npc/custom/etc/quest_warper.txt21
-rw-r--r--npc/custom/etc/rpsroulette.txt376
-rw-r--r--npc/custom/etc/stock_market.txt3
-rw-r--r--npc/custom/events/mushroom_event.txt14
-rw-r--r--npc/custom/events/valentinesdayexp.txt2
-rw-r--r--npc/custom/item_signer.txt1
-rw-r--r--npc/custom/jobmaster.txt4
-rw-r--r--npc/custom/quests/kaho_balmung.txt3
-rw-r--r--npc/custom/quests/may_hats.txt12
-rw-r--r--npc/custom/quests/questboard.txt230
-rw-r--r--npc/custom/quests/tha_statues.txt1
-rw-r--r--npc/custom/quests/thq/THQS_QuestNPC.txt2
-rw-r--r--npc/custom/warper.txt303
-rw-r--r--npc/custom/woe_controller.txt4
28 files changed, 480 insertions, 635 deletions
diff --git a/npc/custom/battleground/bg_common.txt b/npc/custom/battleground/bg_common.txt
index 8b99deb39..54b13bb28 100644
--- a/npc/custom/battleground/bg_common.txt
+++ b/npc/custom/battleground/bg_common.txt
@@ -137,14 +137,14 @@ bat_room,160,140,3 script Prince Croix 4_M_CRU_CRUA,{
// *********************************************************************
function script Time2Str {
set .@time_left, getarg(0) - gettimetick(2);
-
+
set .@Days, .@time_left / 86400;
set .@time_left, .@time_left - (.@Days * 86400);
set .@Hours, .@time_left / 3600;
set .@time_left, .@time_left - (.@Hours * 3600);
set .@Minutes, .@time_left / 60;
set .@time_left, .@time_left - (.@Minutes * 60);
-
+
set .@Time$, "";
if( .@Days > 1 )
set .@Time$, .@Time$ + .@Days + " days, ";
@@ -165,7 +165,7 @@ function script Time2Str {
set .@Time$, .@Time$ + .@time_left + " seconds.";
else if( .@time_left == 1 )
set .@Time$, .@Time$ + .@time_left + " second.";
-
+
return .@Time$;
}
@@ -203,7 +203,7 @@ bat_room,156,178,5 script Tierra Valley Officer#1 4_M_KY_KNT,{
mes "Please sign up for an army with Prince Croix or General Guillaume!";
close;
}
-
+
mes "Hello " + strcharinfo(0) + ", let's show the power of the Guillaume Army to those stinky Croixs!";
next;
if( select("I want to join your army!:End Conversation") == 2 )
@@ -226,7 +226,7 @@ bat_room,156,178,5 script Tierra Valley Officer#1 4_M_KY_KNT,{
mes "Stand-by for Tierra Gorge Battle until the time limit passes.";
close;
}
-
+
if( BaseLevel < 80 )
{
mes "I'm very please you want to join our army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield";
@@ -343,7 +343,7 @@ bat_room,164,178,5 script Tierra Valley Officer#3 4_M_KY_KNT,{
mes "Please sign up for an army with Prince Croix or General Guillaume!";
close;
}
-
+
mes "Hello " + strcharinfo(0) + ", let's show the power of the Guillaume Army to those stinky Croixs!";
next;
if( select("I want to join your army!:End Conversation") == 2 )
@@ -1260,7 +1260,7 @@ bat_room,160,150,3 script Erundek 4_M_MANAGER,{
case 4: setarray .@Item_DB[0],2376,2377,2378,2379,2380,2381,2382; set .@Value, 80; break;
case 5: setarray .@Item_DB[0],2720,2721,2722,2723,2724,2725,2733; set .@Value, 500; break;
}
-
+
break;
case 3: // Valor Badges
mes "[Erundek]";
@@ -1278,7 +1278,7 @@ bat_room,160,150,3 script Erundek 4_M_MANAGER,{
case 4: setarray .@Item_DB[0],2376,2377,2378,2379,2380,2381,2382; set .@Value, 80; break;
case 5: setarray .@Item_DB[0],2720,2721,2722,2723,2724,2725,2733; set .@Value, 500; break;
}
-
+
break;
case 4: // Heroism Badge
mes "[Erundek]";
@@ -1286,7 +1286,7 @@ bat_room,160,150,3 script Erundek 4_M_MANAGER,{
mes "This shop is not available at the moment.";
close;
}
-
+
mes "[Erundek]";
mes "What item do you want to exchange?";
mes "If you are not sure, check the catalog.";
@@ -1305,21 +1305,21 @@ bat_room,160,150,3 script Erundek 4_M_MANAGER,{
mes "Remember, Battleground Reward Items are ^FF0000Character Bound^000000.";
mes "Are you sure you want this item?";
next;
-
+
if( select("Yes:No") == 2 )
{
mes "[Erundek]";
mes "Do you need more time to check the items?";
close;
}
-
+
if( countitem(.@Badge) < .@Value )
{
mes "[Erundek]";
mes "I'm sorry, but you don't have enough badges to exchange.";
close;
}
-
+
delitem .@Badge,.@Value;
getitem .@Item_ID,1;
mes "[Erundek]";
diff --git a/npc/custom/battleground/bg_flavius_01.txt b/npc/custom/battleground/bg_flavius_01.txt
index fd0cf9112..30693da21 100644
--- a/npc/custom/battleground/bg_flavius_01.txt
+++ b/npc/custom/battleground/bg_flavius_01.txt
@@ -54,7 +54,7 @@ OnReadyCheck:
end;
set .@Guillaume, getwaitingroomstate(0,"Fl1R_Guillaume");
set .@Croix, getwaitingroomstate(0,"Fl1R_Croix");
-
+
if( .@Guillaume < 10 || .@Croix < 10 )
{
mapannounce "bat_room","Battleground -- Flavius [80-99] G: " + .@Guillaume + "/10, C: " + .@Croix + "/10",1,0x006400;
diff --git a/npc/custom/battleground/bg_flavius_02.txt b/npc/custom/battleground/bg_flavius_02.txt
index f7b7756f4..c735614c1 100644
--- a/npc/custom/battleground/bg_flavius_02.txt
+++ b/npc/custom/battleground/bg_flavius_02.txt
@@ -54,7 +54,7 @@ OnReadyCheck:
end;
set .@Guillaume, getwaitingroomstate(0,"Fl2R_Guillaume");
set .@Croix, getwaitingroomstate(0,"Fl2R_Croix");
-
+
if( .@Guillaume < 10 || .@Croix < 10 )
{
mapannounce "bat_room","Battleground -- Flavius [80-99] G: " + .@Guillaume + "/10, C: " + .@Croix + "/10",1,0x808000;
diff --git a/npc/custom/battleground/bg_kvm01.txt b/npc/custom/battleground/bg_kvm01.txt
index aa12759b9..be826215e 100644
--- a/npc/custom/battleground/bg_kvm01.txt
+++ b/npc/custom/battleground/bg_kvm01.txt
@@ -11,7 +11,7 @@ bat_room,253,227,4 script Registration::KvM01R_Guillaume 4_M_KY_KNT,{ // KvM Gui
OnInit:
waitingroom "Battle Station 5 Players",5,"KvM01_BG::OnGuillaumeJoin",1;
end;
-
+
OnEnterBG:
set $@KvM01BG_id1, waitingroom2bg("bat_c01",53,128,"KvM01_BG::OnGuillaumeQuit","KvM01_BG::OnGuillaumeDie");
end;
@@ -150,7 +150,7 @@ OnTimer27000:
OnTimer28000:
donpcevent "::OnKvM01LightB";
end;
-
+
OnTimer29000:
donpcevent "::OnKvM01LightC";
end;
@@ -205,7 +205,7 @@ OnTimer330000:
OnGuillaumeWin:
set $@KvM01BG, 3;
set $@KvM01BG_Victory, 1;
-
+
stopnpctimer;
sleep 2000;
mapannounce "bat_c01","The Guillaume Army has won the Battle of Kreiger Von Midgard",1,0x0000FF;
diff --git a/npc/custom/battleground/bg_kvm02.txt b/npc/custom/battleground/bg_kvm02.txt
index f2f5f7ca1..91e594a90 100644
--- a/npc/custom/battleground/bg_kvm02.txt
+++ b/npc/custom/battleground/bg_kvm02.txt
@@ -11,7 +11,7 @@ bat_room,225,227,4 script Registration::KvM02R_Guillaume 4_M_KY_KNT,{ // KvM Gui
OnInit:
waitingroom "Battle Station 5 Players",5,"KvM02_BG::OnGuillaumeJoin",1;
end;
-
+
OnEnterBG:
set $@KvM02BG_id1, waitingroom2bg("bat_c02",53,128,"KvM02_BG::OnGuillaumeQuit","KvM02_BG::OnGuillaumeDie");
end;
@@ -150,7 +150,7 @@ OnTimer27000:
OnTimer28000:
donpcevent "::OnKvM02LightB";
end;
-
+
OnTimer29000:
donpcevent "::OnKvM02LightC";
end;
@@ -205,7 +205,7 @@ OnTimer330000:
OnGuillaumeWin:
set $@KvM02BG, 3;
set $@KvM02BG_Victory, 1;
-
+
stopnpctimer;
sleep 2000;
mapannounce "bat_c02","The Guillaume Army has won the Battle of Kreiger Von Midgard",1,0x0000FF;
diff --git a/npc/custom/battleground/bg_kvm03.txt b/npc/custom/battleground/bg_kvm03.txt
index f38e81bd1..33edb0be7 100644
--- a/npc/custom/battleground/bg_kvm03.txt
+++ b/npc/custom/battleground/bg_kvm03.txt
@@ -11,7 +11,7 @@ bat_room,197,227,4 script Registration::KvM03R_Guillaume 4_M_KY_KNT,{ // KvM Gui
OnInit:
waitingroom "Battle Station 5 Players",5,"KvM03_BG::OnGuillaumeJoin",1;
end;
-
+
OnEnterBG:
set $@KvM03BG_id1, waitingroom2bg("bat_c03",53,128,"KvM03_BG::OnGuillaumeQuit","KvM03_BG::OnGuillaumeDie");
end;
@@ -150,7 +150,7 @@ OnTimer27000:
OnTimer28000:
donpcevent "::OnKvM03LightB";
end;
-
+
OnTimer29000:
donpcevent "::OnKvM03LightC";
end;
@@ -205,7 +205,7 @@ OnTimer330000:
OnGuillaumeWin:
set $@KvM03BG, 3;
set $@KvM03BG_Victory, 1;
-
+
stopnpctimer;
sleep 2000;
mapannounce "bat_c03","The Guillaume Army has won the Battle of Kreiger Von Midgard",1,0x0000FF;
diff --git a/npc/custom/battleground/bg_tierra_01.txt b/npc/custom/battleground/bg_tierra_01.txt
index 671c2d929..797b3a389 100644
--- a/npc/custom/battleground/bg_tierra_01.txt
+++ b/npc/custom/battleground/bg_tierra_01.txt
@@ -69,7 +69,7 @@ OnReadyCheck:
bg_monster $@TierraBG1_id1,"bat_a01",176,345,"Food Depot",1909,"Tierra_BG1::OnGuillaumeBreak";
bg_monster $@TierraBG1_id2,"bat_a01",167,50,"Food Storage",1910,"Tierra_BG1::OnCroixBreak";
bg_monster 0,"bat_a01",273,204,"Neutrality Flag",1911,"Tierra_BG1::OnNeutralBreak";
-
+
set .Neutral_Base, 0;
set $@TierraBG1_Victory, 0;
@@ -94,7 +94,7 @@ OnReadyCheck:
mapannounce "bat_a01","Guillaume Vintenar Axl Rose : Let's attack to burn down Croix's food storage",1,0x0000FF;
sleep 2000;
mapannounce "bat_a01","Croix Vintenar Swandery : Master of Valhalla! Let us be gifted with unfailing faith and courage",1,0xFF0000;
-
+
initnpctimer;
end;
@@ -120,7 +120,7 @@ OnNeutralBreak:
set .Guardian_1, bg_monster(.Neutral_Base,"bat_a01",280,233,"Guardian",1949,"Tierra_BG1::OnGuardian1");
else
bg_monster_set_team .Guardian_1, .Neutral_Base;
-
+
if( .Guardian_2 == 0 )
set .Guardian_2, bg_monster(.Neutral_Base,"bat_a01",287,203,"Guardian",1950,"Tierra_BG1::OnGuardian2");
else
@@ -294,7 +294,7 @@ OnWall:
OnBuild:
for( set .@i, 0; .@i < 16; set .@i, .@i + 1 )
bg_monster 0,"bat_a01",186+.@i,266,"Barricade",1906,"Croix_TV1B::OnWall";
-
+
setwall "bat_a01",186,266,16,6,1,"bat_a01_c1";
set .MyMobCount,16;
end;
diff --git a/npc/custom/battleground/bg_tierra_02.txt b/npc/custom/battleground/bg_tierra_02.txt
index c6cebf581..f18d60769 100644
--- a/npc/custom/battleground/bg_tierra_02.txt
+++ b/npc/custom/battleground/bg_tierra_02.txt
@@ -69,7 +69,7 @@ OnReadyCheck:
bg_monster $@TierraBG2_id1,"bat_a02",176,345,"Food Depot",1909,"Tierra_BG2::OnGuillaumeBreak";
bg_monster $@TierraBG2_id2,"bat_a02",167,50,"Food Storage",1910,"Tierra_BG2::OnCroixBreak";
bg_monster 0,"bat_a02",273,204,"Neutrality Flag",1911,"Tierra_BG2::OnNeutralBreak";
-
+
set .Neutral_Base, 0;
set $@TierraBG2_Victory, 0;
@@ -94,7 +94,7 @@ OnReadyCheck:
mapannounce "bat_a02","Guillaume Vintenar Axl Rose : Let's attack to burn down Croix's food storage",1,0x0000FF;
sleep 2000;
mapannounce "bat_a02","Croix Vintenar Swandery : Master of Valhalla! Let us be gifted with unfailing faith and courage",1,0xFF0000;
-
+
initnpctimer;
end;
@@ -120,7 +120,7 @@ OnNeutralBreak:
set .Guardian_1, bg_monster(.Neutral_Base,"bat_a02",280,233,"Guardian",1949,"Tierra_BG2::OnGuardian1");
else
bg_monster_set_team .Guardian_1, .Neutral_Base;
-
+
if( .Guardian_2 == 0 )
set .Guardian_2, bg_monster(.Neutral_Base,"bat_a02",287,203,"Guardian",1950,"Tierra_BG2::OnGuardian2");
else
@@ -294,7 +294,7 @@ OnWall:
OnBuild:
for( set .@i, 0; .@i < 16; set .@i, .@i + 1 )
bg_monster 0,"bat_a02",186+.@i,266,"Barricade",1906,"Croix_TV2B::OnWall";
-
+
setwall "bat_a02",186,266,16,6,1,"bat_a02_c1";
set .MyMobCount,16;
end;
diff --git a/npc/custom/bgqueue/flavius.txt b/npc/custom/bgqueue/flavius.txt
index 8112be12e..f93821264 100644
--- a/npc/custom/bgqueue/flavius.txt
+++ b/npc/custom/bgqueue/flavius.txt
@@ -19,7 +19,6 @@
//= 1.5b Adjustments to the team-splitting algorithm [Haruna]
//============================================================
-
//Tacham, while the script is under testings the original will remain, meaning if you wanna test this you need to disable the other, or they'll conflict.
bat_b01,15,15,3 script start#bat_b01 CLEAR_NPC,{
OnInit:
@@ -28,22 +27,21 @@ OnInit:
//$@bg_queue_id is cleared after this event ends
OnPlayerListReady:
-
- set $@FlaviusBG1_id1, bg_create_team("bat_b01",10,290);
+ set $@FlaviusBG1_id1, bg_create_team("bat_b01",10,290);
set $@FlaviusBG1_id2, bg_create_team("bat_b01",390,10);
set $@Croix_QueueBG1, queue();
set $@Guill_QueueBG1, queue();
-
+
queueopt($@Guill_QueueBG1,HQO_OnLogout,"start#bat_b01::OnGuillaumeQuit");
queueopt($@Croix_QueueBG1,HQO_OnLogout,"start#bat_b01::OnCroixQuit");
-
+
set .@i, 0;
-
+
copyarray .@bg_member[0],$@bg_member[0],$@bg_member_size;
copyarray .@bg_member_group[0],$@bg_member_group[0],$@bg_member_size;
copyarray .@bg_member_type[0],$@bg_member_type[0],$@bg_member_size;
-
+
freeloop(1);
// Counting all participants and determining sizes, condensing .@bg_member_group
set .@nogroupcount, 0;
@@ -66,7 +64,7 @@ OnPlayerListReady:
set .@bg_count[.@j], 1;
}
}
-
+
// Now, sorting the group arrays from amount of population descending! Bubble sort powers, I call upon thee!
// Type doesn't matter here for precedence checks, but also needs to be sorted the same way along with groups
for (set .@i, 0; .@i < getarraysize(.@bg_groups); set .@i, .@i + 1) {
@@ -84,7 +82,7 @@ OnPlayerListReady:
}
}
}
-
+
// Add the groups to the queues! :D
for (set .@i, 0; .@i < getarraysize(.@bg_groups); set .@i, .@i + 1){
if (queuesize($@Croix_QueueBG1) <= queuesize($@Guill_QueueBG1)){ // Catch'em all and add to the queue!
@@ -123,7 +121,7 @@ OnPlayerListReady:
set $@FlaviusBG1_Victory, 0;
set $@Croix_ScoreBG1, 0;
set $@Guill_ScoreBG1, 0;
-
+
bg_updatescore "bat_b01",$@Guill_ScoreBG1,$@Croix_ScoreBG1;
donpcevent "OBJ#bat_b01_a::OnKill";
@@ -143,11 +141,11 @@ OnPlayerListReady:
disablenpc "Vintenar#bat_b01_bover";
bg_warp $@FlaviusBG1_id1,"bat_b01",87,75;
bg_warp $@FlaviusBG1_id2,"bat_b01",311,224;
-
+
/* after warp */
queueopt($@Guill_QueueBG1,HQO_OnMapChange,"start#bat_b01::OnGuillaumeQuit");
queueopt($@Croix_QueueBG1,HQO_OnMapChange,"start#bat_b01::OnCroixQuit");
-
+
donpcevent "countdown#bat_b01::OnEnable";
end;
@@ -180,14 +178,14 @@ OnGuillaumeQuit:
queueremove($@Guill_QueueBG1,getcharid(3));
callsub L_OnPlayerQuit;
end;
-
+
L_OnPlayerQuit:
bg_leave;
setd $@bg_delay_var$,gettimetick(2);
if( queuesize($@Guill_QueueBG1) == 0 || queuesize($@Croix_QueueBG1) == 0 ) /* todo check score and decide a winner if anyone left */
callsub OnMatchOver;
end;
-
+
OnMatchOver:
if( $@FlaviusBG1_id1 || $@FlaviusBG1_id2 ) {
queuedel($@Croix_QueueBG1);
diff --git a/npc/custom/card_remover.txt b/npc/custom/card_remover.txt
index e3aa2bb5b..dace8cac0 100644
--- a/npc/custom/card_remover.txt
+++ b/npc/custom/card_remover.txt
@@ -49,7 +49,7 @@ prt_in,28,73,4 script Wise Old Woman#eAcustom 1_F_ORIENT_04,{
close;
}
set .@cardcount,getequipcardcnt(.@part);
-
+
if (!checkweight(1202,(.@cardcount+1))) {
mes "^3355FFJust a minute!";
mes "I can't offer any of my";
@@ -91,7 +91,7 @@ prt_in,28,73,4 script Wise Old Woman#eAcustom 1_F_ORIENT_04,{
Zeny -= (.zenycost+(.@cardcount * .percardcost));
delitem 1000,1;
delitem 715,1;
-
+
// Replace the constants in the next 3 lines with failure chance values defined in refine_db.txt
// First value = Total failure chance (item and cards destroyed)
// Second value = Partial failure chance (one or the other is destroyed, player decides which one is safe)
diff --git a/npc/custom/etc/floating_rates.txt b/npc/custom/etc/floating_rates.txt
index ff3b6e8fa..c207c6275 100644
--- a/npc/custom/etc/floating_rates.txt
+++ b/npc/custom/etc/floating_rates.txt
@@ -35,7 +35,7 @@ OnHour18:
setbattleflag("item_rate_equip",$@drate);
//we don't change card drops rate, because these values won't change them anyway
atcommand "@reloadmobdb";
-
+
announce "Current Rune-Midgard rates are: 1."+($@brate-100)+"x 1."+($@jrate-100)+"x 1."+($@drate-100)+"x",bc_all,0xFF6060;
end;
}
diff --git a/npc/custom/etc/marriage.txt b/npc/custom/etc/marriage.txt
index 0d25be9d5..ab1b48c30 100644
--- a/npc/custom/etc/marriage.txt
+++ b/npc/custom/etc/marriage.txt
@@ -65,7 +65,7 @@ prt_church,100,123,4 script Vomars 1_M_PASTOR,{
function SF_RetrieveRingF;
function SF_RingsAccepted;
function SF_StartCeremony;
-
+
if (getpartnerid() > 0) {
mes "["+@name$+"]";
mes "You have my blessings, have a wonderful married life.";
@@ -81,7 +81,7 @@ prt_church,100,123,4 script Vomars 1_M_PASTOR,{
mes "to prepare for marriage";
close;
} // End official iRO dialog
-
+
if (strcharinfo(0) == $wed_groom$) {
SF_Groom();
end;
@@ -278,7 +278,7 @@ function SF_RetrieveRingM {
mes "Here's the wedding ring for your bride.";
if ($@wed_ring) delitem $@wed_ring,1;
set $wed_groom_progress,4;
-
+
if ($wed_bride_progress == 4)
SF_StartCeremony();
else {
@@ -336,7 +336,7 @@ function SF_StartCeremony {
OnTimer1000:
npctalk "Ladies and Gentlemen, We will now join in holy matrimony these two lovers.";
end;
-
+
OnTimer5000:
npctalk "Now more than ever, will both of your lives be entwined together as so will be your souls.";
end;
@@ -344,31 +344,31 @@ OnTimer5000:
OnTimer10000:
npctalk "You will both honor and cherish each other through the best and worst of times.";
end;
-
+
OnTimer15000:
npctalk "The safety and well being of your other will now also be your responsibility.";
end;
-
+
OnTimer20000:
npctalk "May in sickness or good health, your love burn bright like no force can extinguish it.";
end;
-
+
OnTimer25000:
npctalk "Those here stand witness to these vows bestowed upon you, you must act accordingly to them.";
end;
-
+
OnTimer30000:
npctalk "Understanding that, we are nothing more but mortals on this earth, but this is our triumph.";
end;
-
+
OnTimer35000:
npctalk "We here will now join these two mortal entities, and create an immortal love.";
end;
-
+
OnTimer40000:
npctalk $wed_groom$+", you have accepted to take "+$wed_bride$+" as your lawfully wedded wife,";
end;
-
+
OnTimer45000:
npctalk "and you, "+$wed_bride$+", have accepted take "+$wed_groom$+" as your lawfully wedded husband.";
end;
@@ -440,7 +440,7 @@ prt_church,106,99,3 script Happy Marry 1_F_02,{
mes "Isn't marriage beautiful?";
close;
}
-
+
function SF_WedProgress;
function SF_Principles;
function SF_Procedure;
@@ -451,7 +451,7 @@ prt_church,106,99,3 script Happy Marry 1_F_02,{
SF_WedProgress();
end;
}
-
+
do {
mes "["+@name$+"]";
mes "Marriage... is such a beautiful thing.";
@@ -529,7 +529,7 @@ function SF_Register {
close;
}
}
-
+
function SF_WedProgress {
if (strcharinfo(0) == $wed_groom$) {
mes "["+@name$+"]";
@@ -658,7 +658,7 @@ OnTimer60000:
npctalk "Registration timed out. Is it that noone wants to marry "+$@msg$+"..?";
emotion e_hmm;
-
+
set $wed_groom$,"";
set $wed_groom_sex, 0;
set $wed_bride$,"";
@@ -675,7 +675,7 @@ function SF_TryRegister {
set @type$, "groom";
if (@bride)
set @type$, "bride";
-
+
mes "["+@name$+"]";
mes "Before registering as "+@type$+", let me check if you meet all the requirements...";
next;
@@ -689,7 +689,7 @@ function SF_TryRegister {
set @item, 7170;
else
set @item, 2338;
-
+
if (getequipid(2) != @item) {
mes "["+@name$+"]";
mes "You should be wearing a "+getitemname(@item)+" if you want to get married.";
@@ -814,12 +814,12 @@ prt_church,94,99,4 script Sister Lisa 1_F_PRIEST,{
function SF_DivorceEnd;
function SF_InProgress;
-
+
if ($@divorce_progress==1) {
goto SF_InProgress;
end;
}
-
+
do {
mes "["+@name$+"]";
mes "Divorcing can be such a sad event...";
diff --git a/npc/custom/etc/monster_arena.txt b/npc/custom/etc/monster_arena.txt
index 82f764977..9c00b67a5 100644
--- a/npc/custom/etc/monster_arena.txt
+++ b/npc/custom/etc/monster_arena.txt
@@ -195,7 +195,6 @@ L_Exit:
}
gon_test,56,91,6 duplicate(monsterreferee) Referee#01 1_M_PUBMASTER
-
// Usher //
gon_test,58,94,6 script Usher 4_M_04,{
set @marena,1;
@@ -332,7 +331,6 @@ L_Sell:
mes "You earned ^0000FF" + @sellearn + "^000000z.";
close;
-
L_NoExp:
mes "[Monster Trainer]";
mes "You do not have enough experience.";
@@ -761,8 +759,6 @@ OnTouch:
gon_test,43,87,5 duplicate(SummonPad) Summon Pad 2 HIDDEN_NPC,2,2
gon_test,72,87,5 duplicate(SummonPad) Summon Pad 3 HIDDEN_NPC,2,2
-
-
// Skill Disabler //
gon_test mapflag noskill
diff --git a/npc/custom/etc/penal_servitude.txt b/npc/custom/etc/penal_servitude.txt
index b83bf3f83..30aaf17e2 100644
--- a/npc/custom/etc/penal_servitude.txt
+++ b/npc/custom/etc/penal_servitude.txt
@@ -134,7 +134,7 @@ sec_in02,137,57,1 script Overseer 4_M_PAY_SOLDIER,{
delitem 4009,countitem(4009);//Items: Chonchon_Card,
delitem 4022,countitem(4022);//Items: Spore_Card,
delitem 4048,countitem(4048);//Items: Poison_Spore_Card,
-
+
if (PRISON_Q <= 0 ) goto L_GET_Q;
mes "I want you to gather ^FF0000"+PRISON_Q+" Orange Net Mushroom^000000.";
@@ -170,7 +170,6 @@ L_GET_Q:
close;
}
-
sec_in02 mapflag nomemo
sec_in02 mapflag nosave SavePoint
sec_in02 mapflag noteleport
diff --git a/npc/custom/etc/quest_warper.txt b/npc/custom/etc/quest_warper.txt
index 3526cde5c..fd6865a54 100644
--- a/npc/custom/etc/quest_warper.txt
+++ b/npc/custom/etc/quest_warper.txt
@@ -71,10 +71,10 @@ function script Q_Warpra {
mes "Hello,";
mes "I can warp you to any town or dungeon, but you need to unlock them first by visiting us.";
mes "What do you need?";
-
+
if(getarg(0) == 0) callfunc "QWS_MMarray",0;
if(getarg(0) == 1) callfunc "QWS_MMarray",1;
-
+
set @MMenu,select(@Mmenulist$[0],@Mmenulist$[1],@Mmenulist$[2],@Mmenulist$[3],@Mmenulist$[4],@Mmenulist$[5],@Mmenulist$[6],@Mmenulist$[7],@Mmenulist$[8],@Mmenulist$[9],@Mmenulist$[10],@Mmenulist$[11]);
switch(@Mmenuref[@MMenu-1]+1){
@@ -167,7 +167,7 @@ Setprice:
if (!$QW_S_PRICE) mes "Storage = ^FF0000 Free ^000000";
if ($QW_S_PRICE == 60) mes "Storage = ^0000FF Kafra Mode ^000000";
mes "Guild Storage = "+(($QW_GS_PRICE)?"^00FF00"+$QW_GS_PRICE:"^FF0000Free")+"^000000";
-
+
switch(select("Basic - Warps","Advanced - Warps","Overseas - Warps","Basic Dungeon warp fee","Advanced Dungeon warp fee","Overseas Dungeon warp fee","Full Healing","Part Healing","Storage","Guild Storage","Back","Exit")) {
case 1:
next;
@@ -388,7 +388,7 @@ L_heal_Part:
if (@healchoice == 2) callsub PHeal,1,0;
if (@healchoice == 3) callsub PHeal,0,1;
goto L_End;
-
+
PHeal:
next;
set @Hp, MaxHp-Hp;
@@ -499,7 +499,7 @@ L_GStorage:
close2;
guildopenstorage;
end;
-
+
L_End:
close;
end;
@@ -523,7 +523,7 @@ L_NoUnlock:
mes "I don't unlock this location, my assistant deeper in the dungeon will unlock this place.";
close;
end;
-
+
//=========================Short=On=Zeny===========================
L_Short_on_zeny:
next;
@@ -536,7 +536,7 @@ L_Short_on_zeny:
}
close;
end;
-
+
//===========================Stamp=Card============================
stampcard:
// Counting of the ammount of places you have unlocked
@@ -978,7 +978,6 @@ function script QWS_Tarray {
set @Tmenuref[@Tj],57005; // 57005='dead' in hex
return;
-
//----------------Make Town Menu Function
function QWS_Make_Town_Menu {
@@ -1450,7 +1449,6 @@ function script QWS_Darray {
set @Dmenuref[@Dj],57005; // 57005='dead' in hex
return;
-
//----------------Make Dungeon Menu Function
function QWS_Make_Dungeon_Menu {
@@ -1525,7 +1523,7 @@ function script QWS_DLarray {
function script QWS_Dungeon_Warpra {
function QWS_D_getbin;
function QWS_D_setbin;
-
+
if ((QWS_D_getbin(getarg(0)) == 0) && (getarg(1) != "")) {
mes "[Warpra]";
mes getarg(1)+" unlocked!";
@@ -1538,7 +1536,6 @@ function script QWS_Dungeon_Warpra {
debugmes "QWS_Dungeon_Warpra error, improper syntax?";
return;
-
function QWS_D_setbin {
set @tempsetbindata,1;
if (getarg(0) == 0) goto binset;
@@ -1571,7 +1568,7 @@ binget:
function script QWS_Town_Warpra {
function QWS_T_getbin;
function QWS_T_setbin;
-
+
if ((QWS_T_getbin(getarg(0)) == 0) && (getarg(1) != "")) {
mes "[Warpra]";
mes getarg(1)+" unlocked!";
diff --git a/npc/custom/etc/rpsroulette.txt b/npc/custom/etc/rpsroulette.txt
index 22123580d..e0f8b8952 100644
--- a/npc/custom/etc/rpsroulette.txt
+++ b/npc/custom/etc/rpsroulette.txt
@@ -4,6 +4,8 @@
//= acky
//===== Current Version: =====================================
//= 1.2
+//===== Compatible With: =====================================
+//= Hercules SVN
//===== Description: =========================================
//= Plays a hybrid Russian Roulette Rock Scissors Paper game.
//===== Additional Comments: =================================
@@ -12,273 +14,113 @@
//============================================================
cmd_in02,182,126,2 script Crazy Boris 4_M_03,{
- mes "Crazy Boris";
- set @counter,1;
mes "Hey you! Up for Rock Scissors Roulette?";
next;
- menu "Let me play.",PLAY,"Explain the rules.",L_Rules,"Leave",LEAVE;
- SAME:
- mes "Draw! Again!";
- next;
- goto PLAY;
-
-WIN:
- mes "Damnit, You Win!";
- emotion 19;
- next;
- goto OPPPULL;
-
-LOSE:
- emotion 18;
- mes "Boorah! You Lose!";
- next;
- goto YOUPULL;
-
-PLAY:
- mes "Rock... Paper...";
- set @opp,rand (1,3);
- menu "^0000FFROCK!",L_Rock,"^FF0000SCISSORS!",SCISSORS,"^00FF00PAPER!^000000",PAPER;
-
-L_Rock:
- if (@lastchoice == 1) set @opp,rand (1,3);
- if (@opp == 1) emotion 11;
- if (@opp == 2) emotion 10;
- if (@opp == 3) emotion 12;
- set @lastchoice,1;
- if (@opp == 1) goto SAME;
- if (@opp == 2) goto WIN;
- if (@opp == 3) goto LOSE;
-
-SCISSORS:
- if (@lastchoice == 2) set @opp,rand (1,2);
- if (@opp == 1) emotion 11;
- if (@opp == 2) emotion 10;
- if (@opp == 3) emotion 12;
- set @lastchoice,2;
- if (@opp == 1) goto LOSE;
- if (@opp == 2) goto SAME;
- if (@opp == 3) goto WIN;
-
-PAPER:
- if (@lastchoice == 3) set @opp,rand (2,3);
- if (@opp == 1) emotion 11;
- if (@opp == 2) emotion 10;
- if (@opp == 3) emotion 12;
- set @lastchoice,3;
- if (@opp == 1) goto WIN;
- if (@opp == 2) goto LOSE;
- if (@opp == 3) goto SAME;
-
-YOUPULL:
- if (@counter == 1) goto ONE;
- if (@counter == 2) goto TWO;
- if (@counter == 3) goto THREE;
- if (@counter == 4) goto FOUR;
- if (@counter == 5) goto FIVE;
- if (@counter == 6) goto SIX;
-
-OPPPULL:
- if (@counter == 1) goto ONEa;
- if (@counter == 2) goto TWOa;
- if (@counter == 3) goto THREEa;
- if (@counter == 4) goto FOURa;
- if (@counter == 5) goto FIVEa;
- if (@counter == 6) goto SIXa;
-
-ONE:
- set @counter,2;
- mes "1 of 6";
- set @pull,rand (1,6);
- next;
- if (@pull == 1) goto DIE;
- if (@pull != 1) goto SAFE;
-
-TWO:
- set @counter,3;
- mes "2 of 6";
- set @pull,rand (1,5);
- next;
- if (@pull == 1) goto DIE;
- if (@pull != 1) goto SAFE;
-
-THREE:
- set @counter,4;
- mes "3 of 6";
- set @pull,rand (1,4);
- next;
- if (@pull == 1) goto DIE;
- if (@pull != 1) goto SAFE;
-
-FOUR:
- set @counter,5;
- mes "4 of 6";
- set @pull,rand (1,3);
- next;
- if (@pull == 1) goto DIE;
- if (@pull != 1) goto SAFE;
-
-FIVE:
- set @counter,6;
- mes "5 of 6";
- set @pull,rand (1,2);
- if (@pull == 1) set @pull,rand (1,2);
- next;
- if (@pull == 1) goto DIE;
- if (@pull != 1) goto SAFE;
-
-SIX:
- mes "6 of 6";
- mes "Say your prayers";
- set @pull,1;
- next;
- if (@pull == 1) goto DIE;
- if (@pull != 1) goto SAFE;
-
-ONEa:
- set @counter,2;
- mes "1 of 6";
- set @pull,rand (1,6);
- next;
- if (@pull == 1) goto KILL;
- if (@pull != 1) goto SAFE;
-
-TWOa:
- set @counter,3;
- mes "2 of 6";
- set @pull,rand (1,5);
- next;
- if (@pull == 1) goto KILL;
- if (@pull != 1) goto SAFE;
-
-THREEa:
- set @counter,4;
- mes "3 of 6";
- set @pull,rand (1,4);
- next;
- if (@pull == 1) goto KILL;
- if (@pull != 1) goto SAFE;
-
-FOURa:
- set @counter,5;
- mes "4 of 6";
- set @pull,rand (1,3);
- next;
- if (@pull == 1) goto KILL;
- if (@pull != 1) goto SAFE;
-
-FIVEa:
- set @counter,6;
- mes "5 of 6";
- set @pull,rand (1,2);
- next;
- if (@pull == 1) goto KILL;
- if (@pull != 1) goto SAFE;
-
-SIXa:
- mes "6 of 6";
- mes "Say your prayers";
- set @pull,1;
- next;
- if (@pull == 1) goto KILL;
- if (@pull != 1) goto SAFE;
-
-SAFE:
- emotion 32;
- mes "*^0000FFClick^000000* whew...";
- goto PLAY;
-
-DIE:
- specialeffect2 183;
- emotion 29;
- percentheal -100,-100;
- mes "*^0000FFClick^000000* *^FF0000BANG^000000*";
- mes "You're dead!";
- close;
-
-KILL:
- specialeffect 183;
- emotion 23;
- mes "*^0000FFClick^000000* *^FF0000BANG^000000*";
- mes "OWWW @#$%^!! THAT HURT LIKE HELL!!";
- next;
- goto PRIZE;
-
-L_Rules:
- mes "Ok here are the rules:";
- mes "I have with me a ^FF00006^000000 chamber pistol with ^FF00001^000000 round. First we play ^FF0000Scissors ^00FF00Paper ^0000FFRock^000000. The loser pulls the trigger. The winner is whoever comes out best.";
- mes "Beat me to win a prize.";
- menu "Let me play.",CONT,"No thanks.",LEAVE;
-
-CONT:
- mes "Ok here we go...";
- next;
- goto PLAY;
-
-PRIZE:
- mes "Congratulations! You have won...";
- set @prize,rand (1,10);
- if (@prize == 1) goto P1;
- if (@prize == 2) goto P2;
- if (@prize == 3) goto P3;
- if (@prize == 4) goto P4;
- if (@prize == 5) goto P5;
- if (@prize == 6) goto P6;
- if (@prize == 7) goto P7;
- if (@prize == 8) goto P8;
- if (@prize == 9) goto P9;
- if (@prize == 10) goto P10;
-
-P1:
- mes "10x Oridicon!";
- getitem 984,10;
- close;
-
-P2:
- mes "10x Elunium!";
- getitem 985,10;
- close;
-
-P3:
- mes "100x Fly Wings!";
- getitem 601,100;
- close;
-
-P4:
- mes "8x Old Blue Box!";
- getitem 603,8;
- close;
-
-P5:
- mes "4x Old Violet Box!";
- getitem 617,4;
- close;
-
-P6:
- mes "1x Old Card Album!";
- getitem 616,1;
- close;
-
-P7:
- mes "10x Dead Branch!";
- getitem 604,10;
- close;
-
-P8:
- mes "3x Gold!";
- getitem 969,3;
- close;
-
-P9:
- mes "10x Elunium!";
- getitem 985,10;
- close;
-
-P10:
- mes "20x Blue Potion!";
- getitem 505,20;
- close;
-
-LEAVE:
- mes "Pansy.";
- close;
+ switch (select("Let me play.","Explain the rules.","Leave")) {
+ case 1:
+ break;
+ case 2:
+ mes "Ok here are the rules:";
+ mes "I have with me a ^FF00006^000000 chamber pistol with ^FF00001^000000 round. First we play ^FF0000Scissors ^00FF00Paper ^0000FFRock^000000. The loser pulls the trigger. The winner is whoever comes out best.";
+ mes "Beat me to win a prize.";
+ next;
+ if (select("Let me play.","No thanks.") == 1) {
+ mes "Ok here we go...";
+ break;
+ }
+ // else fall through
+ case 3:
+ mes "Pansy.";
+ close;
+ }
+ .@counter = 1;
+ while(true) {
+ mes "Rock... Paper...";
+
+ .@choice = select("^0000FFROCK!","^0000FFSCISSORS!","^0000FFPAPER!");
+ if (.@lastchoice == .@choice) {
+ if (.@lastchoice == 1)
+ .@opponent = rand(1,3);
+ else if (.@lastchoice == 2)
+ .@opponent = rand(1,2);
+ else
+ .@opponent = rand(2,3);
+ } else {
+ .@opponent = rand(1,3);
+ }
+ .@lastchoice = .@choice;
+
+ if (.@opponent == 1)
+ emotion e_rock;
+ else if (.@opponent == 2)
+ emotion e_scissors;
+ else
+ emotion e_paper;
+
+ if (.@opponent == .@choice) {
+ // SAME
+ mes "Draw! Again!";
+ continue;
+ }
+
+ if ((.@choice == 1 && .@opponent == 3)
+ || (.@choice == 2 && .@opponent == 1)
+ || (.@choice == 3 && .@opponent == 2)
+ ) {
+ // LOSE
+ emotion e_heh;
+ mes "Boorah! You Lose!";
+ next;
+ .@win = false;
+ } else {
+ //WIN
+ mes "Damnit, You Win!";
+ emotion e_swt2;
+ next;
+ .@win = true;
+ }
+
+ mes .@counter +" of 6";
+ if (.@counter == 6)
+ mes "Say your prayers";
+ .@pull = rand(1, 7 - .@counter);
+ ++.@counter;
+ next;
+ if (.@pull > 1) {
+ emotion e_pif;
+ mes "*^0000FFClick^000000* whew...";
+ continue;
+ }
+ if (!.@win) {
+ specialeffect EF_SUI_EXPLOSION;
+ mes "*^0000FFClick^000000* *^FF0000BANG^000000*";
+ mes "You're dead!";
+ emotion e_gg;
+ percentheal -100,-100;
+ close;
+ }
+ specialeffect EF_SUI_EXPLOSION;
+ mes "*^0000FFClick^000000* *^FF0000BANG^000000*";
+ mes "OWWW @#$%^!! THAT HURT LIKE HELL!!";
+ emotion e_omg;
+ next;
+ mes "Congratulations! You have won...";
+ switch (rand(1,10)) {
+ case 1: setarray .@reward[0], 10,984; break;
+ case 3: setarray .@reward[0],100,601; break; // 100x Fly Wings
+ case 4: setarray .@reward[0], 8,603; break; // 8x Old Blue Box
+ case 5: setarray .@reward[0], 4,617; break; // 4x Old Violet Box
+ case 6: setarray .@reward[0], 1,616; break; // 1x Old Card Album
+ case 7: setarray .@reward[0], 10,604; break; // 10x Dead Branch
+ case 8: setarray .@reward[0], 3,969; break; // 3x Gold
+ case 10: setarray .@reward[0],20,505; break; // 20x Blue Potion
+ case 2:
+ case 9:
+ setarray .@reward[0], 10,985;
+ }
+ mes .@reward[0] +"x "+ getitemname(.@reward[1]) +"!";
+ getitem .@reward[1], .@reward[0];
+ close;
+ }
+ end;
}
diff --git a/npc/custom/etc/stock_market.txt b/npc/custom/etc/stock_market.txt
index 060228317..078ce5137 100644
--- a/npc/custom/etc/stock_market.txt
+++ b/npc/custom/etc/stock_market.txt
@@ -431,7 +431,7 @@ S_Buy:
mes $S10N$;
next;
menu "Continue",-,"Cancel",S_Start;
-
+
mes "Enter the name of the share company";
mes "Transaction fee of ^FF0000" + $S_Trans + "z^000000 will apply.";
set @buyname$,"0";
@@ -645,7 +645,6 @@ ACCS11:
next;
goto S_Start;
-
// GM MENU //
GM_Menu:
mes "[Stock Market]";
diff --git a/npc/custom/events/mushroom_event.txt b/npc/custom/events/mushroom_event.txt
index 1d632d3e9..29faaf979 100644
--- a/npc/custom/events/mushroom_event.txt
+++ b/npc/custom/events/mushroom_event.txt
@@ -14,13 +14,13 @@
prontera,142,228,6 script Find the Mushroom BLACK_MUSHROOM,{
mes "[ Find The Mushroom ]";
- if (!.Status)
+ if (!.status)
mes "There is no event at the moment!";
else {
mes "There are "+.Spawn+" Mushrooms left in "+.Map$+"!";
mes "Find and kill the mushrooms to gain "+getitemname(.Prize)+"!";
}
- if (.Status || getgmlevel() < .GM) close;
+ if (.status || getgmlevel() < .GM) close;
mes "Start the event?";
next;
if(select("- No:- Yes") == 1) close;
@@ -33,14 +33,14 @@ OnInit:
set .Prize,512; // Reward item ID
set .Amount,10; // Reward item amount
set .GM,60; // GM level required to access NPC
- setarray .Maps$[0],"izlude","geffen","morocc","prontera"; // Possible maps
+ setarray .maps$[0],"izlude","geffen","morocc","prontera"; // Possible maps
end;
OnMinute10: // Start time (every hour)
- if (.Status) end;
- set .Status,1;
+ if (.status) end;
+ set .status,1;
set .Spawn,rand(1,10); // How many Mushrooms should spawn?
- set .Map$,.Maps$[rand(getarraysize(.Maps$))];
+ set .Map$,.maps$[rand(getarraysize(.maps$))];
killmonster .Map$,"All";
monster .Map$,0,0,"Please don't kill me!",1084,.Spawn,strnpcinfo(0)+"::OnMobKilled";
announce "Find the Mushroom : Total of "+.Spawn+" Mushrooms have been spawned in "+.Map$+"!",0;
@@ -54,7 +54,7 @@ OnMobKilled:
if (.Spawn) announce "[ "+strcharinfo(0)+" ] has killed a Mushroom. There are now "+.Spawn+" Mushroom(s) left.",bc_map;
else {
announce "The Find the Mushroom Event has ended. All the Mushrooms have been killed.",0;
- set .Status,0;
+ set .status,0;
}
end;
}
diff --git a/npc/custom/events/valentinesdayexp.txt b/npc/custom/events/valentinesdayexp.txt
index 5a94bc913..4ed24012d 100644
--- a/npc/custom/events/valentinesdayexp.txt
+++ b/npc/custom/events/valentinesdayexp.txt
@@ -200,7 +200,7 @@ prt_castle,54,34,4 script Carl Orleans#val1 1_M_01,{
mes "Yes? What can I cook for you?";
next;
menu "Black handmade Chocolate, please",-,"I want a White handmade Chocolate...",M_WHITE,"I'm lost, sorry to bother you.",M_End;
-
+
mes "[Carl Orleans]";
mes "Well, I just might be able to fulfill your needs...";
next;
diff --git a/npc/custom/item_signer.txt b/npc/custom/item_signer.txt
index 243ca29c2..ee03c16eb 100644
--- a/npc/custom/item_signer.txt
+++ b/npc/custom/item_signer.txt
@@ -12,7 +12,6 @@
//============================================================
prt_in,24,61,7 script Perchik 1_M_01,{
-
setarray .@item[0],644,3; // Item requirements: <ID>,<Count>{,...} (0 to disable)
setarray .@cost[0],0,5000; // Zeny requirements: <base price>,<price per refine>
diff --git a/npc/custom/jobmaster.txt b/npc/custom/jobmaster.txt
index ca102ed76..c497ceef3 100644
--- a/npc/custom/jobmaster.txt
+++ b/npc/custom/jobmaster.txt
@@ -73,7 +73,7 @@ prontera,153,193,6 script Job Master 2_F_MAGICMASTER,{
if ((.@eac&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE) {
.@newclass = roclass(.@eac|EAJL_THIRD);
.@required_jlevel = 99;
- } else if (Class == Job_Ninja) {
+ } else if (Class == Job_Ninja || Class == Job_Gunslinger) {
.@newclass = .@job1;
.@required_jlevel = 70;
}
@@ -253,7 +253,7 @@ OnInit:
.rebirth_jlevel = 50; // Minimum base job level to reborn OR change to third class
.jobchange_first = 10; // Minimum job level to turn into 1st class
.jobchange_second = 40; // Minimum job level to turn into 2nd class
- .third_classes = 1; // Enable third classes? (1: yes / 0: no)
+ .third_classes = 1; // Enable third classes/Extended Classes? (1: yes / 0: no)
.supernovice_level = 45; // Minimum base level to turn into Super Novice
.linear_jobchange = 1; // Enforce linear class changes? (1: yes / 0: no)
.skill_point_check = 1; // Force player to use up all skill points? (1: yes / 0: no)
diff --git a/npc/custom/quests/kaho_balmung.txt b/npc/custom/quests/kaho_balmung.txt
index 4e598922d..ff581825b 100644
--- a/npc/custom/quests/kaho_balmung.txt
+++ b/npc/custom/quests/kaho_balmung.txt
@@ -12,10 +12,9 @@
//============================================================
prontera,158,356,4 script Royal Messenger 8W_SOLDIER,{
-
setarray .@Req1[0],1161,999,120,984,10,996,10,994,10,995,10,997,10;
setarray .@Req2[0],5013,2298,1,1001,10,996,10,994,10,995,10,997,10;
-
+
mes "[Royal Messenger]";
mes "Welcome to Prontera.";
mes "I am the messenger in charge of the Royal Quests.";
diff --git a/npc/custom/quests/may_hats.txt b/npc/custom/quests/may_hats.txt
index ce2c09764..1739fee07 100644
--- a/npc/custom/quests/may_hats.txt
+++ b/npc/custom/quests/may_hats.txt
@@ -36,7 +36,7 @@ gonryun,187,140,4 script Yakima 4_F_EINWOMAN,{
next;
menu "Yeah.",-,"Nay.",M_Exit;
- if(countitem(5067) < 1 || countitem(916) < 920 || countitem(925) < 310) goto L_NOITEM;//Items: Sombrero, Feather_of_Birds, Bill_of_Birds,
+ if(countitem(5067) < 1 || countitem(916) < 920 || countitem(925) < 310) goto l_noitem;//Items: Sombrero, Feather_of_Birds, Bill_of_Birds,
delitem 5067,1;//Items: Sombrero,
delitem 916,920;//Items: Feather_of_Birds,
delitem 925,310;//Items: Bill_of_Birds,
@@ -63,7 +63,7 @@ M_2:
next;
menu "Yeah.",-,"Nay.",M_Exit;
- if(countitem(5098) < 1 || countitem(1030) < 10 || countitem(1029) < 30 || countitem(7267) < 300) goto L_NOITEM;//Items: Tiger_Mask, Tiger_Skin, Tiger's_Footskin, Tiger_Panty,
+ if(countitem(5098) < 1 || countitem(1030) < 10 || countitem(1029) < 30 || countitem(7267) < 300) goto l_noitem;//Items: Tiger_Mask, Tiger_Skin, Tiger's_Footskin, Tiger_Panty,
delitem 5098,1;//Items: Tiger_Mask,
delitem 1030,10;//Items: Tiger's_Footskin,
delitem 1029,30;//Items: Tiger_Skin,
@@ -92,7 +92,7 @@ M_3:
next;
menu "Yeah.",-,"Nay.",M_Exit;
- if(countitem(2508) < 1 || countitem(2506) < 2 || countitem(2609) < 3 || countitem(7207) < 10) goto L_NOITEM;//Items: Ragamuffin_Manteau, Manteau_, Skull_Ring, Old_Manteau,
+ if(countitem(2508) < 1 || countitem(2506) < 2 || countitem(2609) < 3 || countitem(7207) < 10) goto l_noitem;//Items: Ragamuffin_Manteau, Manteau_, Skull_Ring, Old_Manteau,
delitem 2508,1;//Items: Ragamuffin_Manteau,
delitem 2506,2;//Items: Manteau_,
delitem 2609,3;//Items: Skull_Ring,
@@ -121,7 +121,7 @@ M_4:
next;
menu "Yeah.",-,"Nay.",M_Exit;
- if(countitem(2269) < 3 || countitem(2207) < 3 || countitem(2612) < 2 || countitem(2287)<3 ) goto L_NOITEM;//Items: Romantic_Flower, Fancy_Flower, Flower_Ring,
+ if(countitem(2269) < 3 || countitem(2207) < 3 || countitem(2612) < 2 || countitem(2287)<3 ) goto l_noitem;//Items: Romantic_Flower, Fancy_Flower, Flower_Ring,
delitem 2269,3;//Items: Romantic_Flower,
delitem 2207,3;//Items: Fancy_Flower,
delitem 2612,2;//Items: Flower_Ring,
@@ -152,7 +152,7 @@ M_5:
next;
menu "Yeah.",-,"Nay.",M_Exit;
- if(countitem(975) < 1 || countitem(980) < 1 || countitem(2272) < 2 || countitem(2262) < 3 || countitem(7298) < 180 || countitem(7164) < 20) goto L_NOITEM;//Items: Scarlet_Dyestuff, Orange_Dyestuff, Stop_Post, Clown_Nose, Fig_Leaf, Solid_Peach,
+ if(countitem(975) < 1 || countitem(980) < 1 || countitem(2272) < 2 || countitem(2262) < 3 || countitem(7298) < 180 || countitem(7164) < 20) goto l_noitem;//Items: Scarlet_Dyestuff, Orange_Dyestuff, Stop_Post, Clown_Nose, Fig_Leaf, Solid_Peach,
delitem 975,1;//Items: Scarlet_Dyestuff,
delitem 980,1;//Items: Orange_Dyestuff,
delitem 2272,2;//Items: Stop_Post,
@@ -165,7 +165,7 @@ M_5:
mes callfunc("F_Bye");
close;
-L_NOITEM:
+l_noitem:
mes "[Yakima]";
mes "You are lack of items. Please, get all the items.";
emotion e_sry;
diff --git a/npc/custom/quests/questboard.txt b/npc/custom/quests/questboard.txt
index 3e7a90d9d..e4336a67a 100644
--- a/npc/custom/quests/questboard.txt
+++ b/npc/custom/quests/questboard.txt
@@ -16,7 +16,6 @@
//============================================================
prontera,129,215,5 script Questboard 4_BOARD3,{
-
if(c_run==1){
mes "[^FF7700Questboard^000000]";
mes "^0000FF"+getd("." + currentquest$ + "_collectionname$")+"^000000";
@@ -40,7 +39,7 @@ prontera,129,215,5 script Questboard 4_BOARD3,{
}
goto L_checkitems;
}
-
+
if(h_run==1){
mes "[^FF7700Questboard^000000]";
mes "^0000FF"+getd("." + currentquest$ + "_huntingname$")+"^000000";
@@ -69,114 +68,112 @@ prontera,129,215,5 script Questboard 4_BOARD3,{
}
goto L_checkmobs;
}
-
+
L_questmenu:
mes "[^FF7700Questboard^000000]";
mes "Select category:";
next;
-
+
switch(select((.collection)?"Collection Quests":"",
- (.hunting)?"Hunting Quests":"",
- "Exit")) {
-
-case 1:
- set .@collectmenu$, "";
- for( set .@i,0; .@i < .collectionquestcount; set .@i,.@i+1) {
- if (.@i) set .@collectmenu$,.@collectmenu$+":";
- set .@collectmenu$, .@collectmenu$ + "[" + getd("." +(.@i+1)+"_collectionmin") + " - " + getd("." +(.@i+1)+"_collectionmax") + "] " + getd("." + (.@i+1) + "_collectionname$");
- }
- set .@selection,select(.@collectmenu$);
- if(gettimetick(2) < getd(.@selection + "_collection_delay")){
- set .@time_left, getd(.@selection + "_collection_delay")-gettimetick(2);
- mes "[^FF7700Questboard^000000]";
- if(.@time_left < 60) mes "You have to wait ^0000FF"+.@time_left+" seconds^000000 to do this quest again.";
- if(.@time_left < 3600) mes "You have to wait ^0000FF"+.@time_left/60+" minutes^000000 to do this quest again.";
- mes "You have to wait ^0000FF"+.@time_left/60/60+" hours^000000 to do this quest again.";
- close;
- }
- mes "[^FF7700Questboard^000000]";
- mes "^0000FF"+getd("." + .@selection + "_collectionname$")+"^000000";
- mes "--------------------------------";
- for( set .@j, 0; .@j < getarraysize(getd("."+ .@selection + "_collectionitem")); set .@j,.@j+2) {
- mes "^FF0000"+getitemname(getd("."+.@selection+"_collectionitem["+.@j+"]"))+" - "+getd("."+.@selection+"_collectionitem["+(.@j+1)+"]")+" ea.^000000";
- }
- mes "--------------------------------";
- mes "[Reward]";
- mes "Item: ^0000FF"+((getd("." +.@selection+"_collectionprize"))?getitemname(getd("." +.@selection+"_collectionprize"))+" - "+getd("." +.@selection+"_collectionamount")+" ea.^000000":"Nothing^000000");
- mes "Zeny: ^0000FF"+getd("." +.@selection+"_collectionzeny")+"^000000";
- mes "Base EXP: ^0000FF"+getd("." +.@selection+"_collectionexp["+0+"]")+"^000000";
- mes "Job EXP: ^0000FF"+getd("." +.@selection+"_collectionexp["+1+"]")+"^000000";
- next;
- if(select("Accept:Decline") == 2){
- close;
- }
- if(BaseLevel >= getd("." +.@selection+"_collectionmin") && BaseLevel <= getd("." +.@selection+"_collectionmax"))
- {
- mes "[^FF7700Questboard^000000]";
- mes "Quest accepted.";
- set c_run, 1;
- set currentquest$, .@selection;
- close;
- }
- else
- {
- mes "[^FF7700Questboard^000000]";
- mes "You don't have the required";
- mes "level to do this quest.";
- close;
- }
-
-case 2:
- set .@huntmenu$, "";
- for( set .@i,0; .@i < .huntingquestcount; set .@i,.@i+1) {
- if (.@i) set .@huntmenu$,.@huntmenu$+":";
- set .@huntmenu$, .@huntmenu$ + "[" + getd("." +(.@i+1)+"_huntingmin") + " - " + getd("." +(.@i+1)+"_huntingmax") + "] " + getd("." + (.@i+1) + "_huntingname$");
- }
- set .@selection,select(.@huntmenu$);
- if(gettimetick(2) < getd(.@selection + "_hunting_delay")){
- set .@time_left, getd(.@selection + "_hunting_delay")-gettimetick(2);
- mes "[^FF7700Questboard^000000]";
- if(.@time_left < 60) mes "You have to wait ^0000FF"+.@time_left+" seconds^000000 to do this quest again.";
- if(.@time_left < 3600) mes "You have to wait ^0000FF"+.@time_left/60+" minutes^000000 to do this quest again.";
- mes "You have to wait ^0000FF"+.@time_left/60/60+" hours^000000 to do this quest again.";
- close;
- }
- mes "[^FF7700Questboard^000000]";
- mes "^0000FF"+getd("." + .@selection + "_huntingname$")+"^000000";
- mes "--------------------------------";
- for( set .@j, 0; .@j < getarraysize(getd("."+ .@selection + "_huntingmob")); set .@j,.@j+2) {
- mes "^FF0000"+strmobinfo(1,getd("."+.@selection+"_huntingmob["+.@j+"]"))+" - "+getd("."+.@selection+"_huntingmob["+(.@j+1)+"]")+" ea.^000000";
- }
- mes "--------------------------------";
- mes "[Reward]";
- mes "Item: ^0000FF"+((getd("." +.@selection+"_huntingprize"))?getitemname(getd("." +.@selection+"_huntingprize"))+" - "+getd("." +.@selection+"_huntingamount")+" ea.^000000":"Nothing^000000");
- mes "Zeny: ^0000FF"+getd("." +.@selection+"_huntingzeny")+"^000000";
- mes "Base EXP: ^0000FF"+getd("." +.@selection+"_huntingexp["+0+"]")+"^000000";
- mes "Job EXP: ^0000FF"+getd("." +.@selection+"_huntingexp["+1+"]")+"^000000";
- next;
- if(select("Accept:Decline") == 2){
- close;
- }
- if(BaseLevel >= getd("." +.@selection+"_huntingmin") && BaseLevel <= getd("." +.@selection+"_huntingmax"))
- {
+ (.hunting)?"Hunting Quests":"",
+ "Exit")) {
+ case 1:
+ set .@collectmenu$, "";
+ for( set .@i,0; .@i < .collectionquestcount; set .@i,.@i+1) {
+ if (.@i) set .@collectmenu$,.@collectmenu$+":";
+ set .@collectmenu$, .@collectmenu$ + "[" + getd("." +(.@i+1)+"_collectionmin") + " - " + getd("." +(.@i+1)+"_collectionmax") + "] " + getd("." + (.@i+1) + "_collectionname$");
+ }
+ set .@selection,select(.@collectmenu$);
+ if(gettimetick(2) < getd(.@selection + "_collection_delay")){
+ set .@time_left, getd(.@selection + "_collection_delay")-gettimetick(2);
+ mes "[^FF7700Questboard^000000]";
+ if(.@time_left < 60) mes "You have to wait ^0000FF"+.@time_left+" seconds^000000 to do this quest again.";
+ if(.@time_left < 3600) mes "You have to wait ^0000FF"+.@time_left/60+" minutes^000000 to do this quest again.";
+ mes "You have to wait ^0000FF"+.@time_left/60/60+" hours^000000 to do this quest again.";
+ close;
+ }
mes "[^FF7700Questboard^000000]";
- mes "Quest accepted.";
- set h_run, 1;
- set currentquest$, .@selection;
- close;
- }
- else
- {
+ mes "^0000FF"+getd("." + .@selection + "_collectionname$")+"^000000";
+ mes "--------------------------------";
+ for( set .@j, 0; .@j < getarraysize(getd("."+ .@selection + "_collectionitem")); set .@j,.@j+2) {
+ mes "^FF0000"+getitemname(getd("."+.@selection+"_collectionitem["+.@j+"]"))+" - "+getd("."+.@selection+"_collectionitem["+(.@j+1)+"]")+" ea.^000000";
+ }
+ mes "--------------------------------";
+ mes "[Reward]";
+ mes "Item: ^0000FF"+((getd("." +.@selection+"_collectionprize"))?getitemname(getd("." +.@selection+"_collectionprize"))+" - "+getd("." +.@selection+"_collectionamount")+" ea.^000000":"Nothing^000000");
+ mes "Zeny: ^0000FF"+getd("." +.@selection+"_collectionzeny")+"^000000";
+ mes "Base EXP: ^0000FF"+getd("." +.@selection+"_collectionexp["+0+"]")+"^000000";
+ mes "Job EXP: ^0000FF"+getd("." +.@selection+"_collectionexp["+1+"]")+"^000000";
+ next;
+ if(select("Accept:Decline") == 2){
+ close;
+ }
+ if(BaseLevel >= getd("." +.@selection+"_collectionmin") && BaseLevel <= getd("." +.@selection+"_collectionmax"))
+ {
+ mes "[^FF7700Questboard^000000]";
+ mes "Quest accepted.";
+ set c_run, 1;
+ set currentquest$, .@selection;
+ close;
+ }
+ else
+ {
+ mes "[^FF7700Questboard^000000]";
+ mes "You don't have the required";
+ mes "level to do this quest.";
+ close;
+ }
+
+ case 2:
+ set .@huntmenu$, "";
+ for( set .@i,0; .@i < .huntingquestcount; set .@i,.@i+1) {
+ if (.@i) set .@huntmenu$,.@huntmenu$+":";
+ set .@huntmenu$, .@huntmenu$ + "[" + getd("." +(.@i+1)+"_huntingmin") + " - " + getd("." +(.@i+1)+"_huntingmax") + "] " + getd("." + (.@i+1) + "_huntingname$");
+ }
+ set .@selection,select(.@huntmenu$);
+ if(gettimetick(2) < getd(.@selection + "_hunting_delay")){
+ set .@time_left, getd(.@selection + "_hunting_delay")-gettimetick(2);
+ mes "[^FF7700Questboard^000000]";
+ if(.@time_left < 60) mes "You have to wait ^0000FF"+.@time_left+" seconds^000000 to do this quest again.";
+ if(.@time_left < 3600) mes "You have to wait ^0000FF"+.@time_left/60+" minutes^000000 to do this quest again.";
+ mes "You have to wait ^0000FF"+.@time_left/60/60+" hours^000000 to do this quest again.";
+ close;
+ }
mes "[^FF7700Questboard^000000]";
- mes "You don't have the required";
- mes "level to do this quest.";
+ mes "^0000FF"+getd("." + .@selection + "_huntingname$")+"^000000";
+ mes "--------------------------------";
+ for( set .@j, 0; .@j < getarraysize(getd("."+ .@selection + "_huntingmob")); set .@j,.@j+2) {
+ mes "^FF0000"+strmobinfo(1,getd("."+.@selection+"_huntingmob["+.@j+"]"))+" - "+getd("."+.@selection+"_huntingmob["+(.@j+1)+"]")+" ea.^000000";
+ }
+ mes "--------------------------------";
+ mes "[Reward]";
+ mes "Item: ^0000FF"+((getd("." +.@selection+"_huntingprize"))?getitemname(getd("." +.@selection+"_huntingprize"))+" - "+getd("." +.@selection+"_huntingamount")+" ea.^000000":"Nothing^000000");
+ mes "Zeny: ^0000FF"+getd("." +.@selection+"_huntingzeny")+"^000000";
+ mes "Base EXP: ^0000FF"+getd("." +.@selection+"_huntingexp["+0+"]")+"^000000";
+ mes "Job EXP: ^0000FF"+getd("." +.@selection+"_huntingexp["+1+"]")+"^000000";
+ next;
+ if(select("Accept:Decline") == 2){
+ close;
+ }
+ if(BaseLevel >= getd("." +.@selection+"_huntingmin") && BaseLevel <= getd("." +.@selection+"_huntingmax"))
+ {
+ mes "[^FF7700Questboard^000000]";
+ mes "Quest accepted.";
+ set h_run, 1;
+ set currentquest$, .@selection;
+ close;
+ }
+ else
+ {
+ mes "[^FF7700Questboard^000000]";
+ mes "You don't have the required";
+ mes "level to do this quest.";
+ close;
+ }
+ case 3:
close;
}
-
-case 3:
- close;
- }
-
+
L_checkitems:
for( set .@k,0; .@k < getarraysize(getd("."+currentquest$+"_collectionitem")); set .@k,.@k+2) {
if(countitem(getd("."+currentquest$+"_collectionitem["+.@k+"]"))>=getd("."+currentquest$+"_collectionitem["+(.@k+1)+"]")){
@@ -200,7 +197,7 @@ L_checkitems:
set currentquest$, "";
set c_run, 0;
close;
-
+
L_checkmobs:
set .@goal, (getarraysize(getd("."+currentquest$+"_huntingmob"))/2);
for(set .@i, 1; .@i < getarraysize(getd("."+currentquest$+"_huntingmob")); set .@i,.@i+2){
@@ -214,7 +211,7 @@ L_checkmobs:
}
goto L_checkmobs2;
}
-
+
L_checkmobs2:
if(.@checkmonster<.@goal){
mes "[^FF7700Questboard^000000]";
@@ -248,33 +245,30 @@ OnNPCKillEvent:
continue;
}
end;
-
-OnInit:
+OnInit:
function AddCollection;
function AddHunting;
//Activate/Deactive quest categories here
set .collection, 1;
set .hunting, 1;
-
+
//Quest Delay (seconds)
//24 hours = 86400 seconds
set .quest_delay, 0;
-
+
//Checks if quests are loaded (prevents out of index)
if(.questsloaded==1) end;
- set .questsloaded, 1;
-
- //Add Collection Quests here
- //AddCollection("<Quest Name>",<Min Lvl>,<Max Lvl>,<Reward|Item ID>,<Reward|Item Amount>,<Zeny Reward>,<Base EXP>,<Job EXP>,<Item ID>,<Item Amount>,...);
-
-
- //Add Hunting Quests here
- //AddHunting("<Quest Name>",<Min Lvl>,<Max Lvl>,<Reward|Item ID>,<Reward|Item Amount>,<Zeny Reward>,<Base EXP>,<Job EXP>,<Monster ID>,<Monster Amount>,...);
-
- end;
-
+ set .questsloaded, 1;
+
+ //Add Collection Quests here
+ //AddCollection("<Quest Name>",<Min Lvl>,<Max Lvl>,<Reward|Item ID>,<Reward|Item Amount>,<Zeny Reward>,<Base EXP>,<Job EXP>,<Item ID>,<Item Amount>,...);
+
+ //Add Hunting Quests here
+ //AddHunting("<Quest Name>",<Min Lvl>,<Max Lvl>,<Reward|Item ID>,<Reward|Item Amount>,<Zeny Reward>,<Base EXP>,<Job EXP>,<Monster ID>,<Monster Amount>,...);
+
+ end;
function AddCollection {
set .collectionquestcount,.collectionquestcount+1;
diff --git a/npc/custom/quests/tha_statues.txt b/npc/custom/quests/tha_statues.txt
index c4787fcd3..00a7c9a8f 100644
--- a/npc/custom/quests/tha_statues.txt
+++ b/npc/custom/quests/tha_statues.txt
@@ -38,7 +38,6 @@ done:
mes "[Thalos]";
mes "Go search the 2nd Statue!";
close;
-
}
tha_t09,84,99,4 script Mediane HIDDEN_NPC,{
diff --git a/npc/custom/quests/thq/THQS_QuestNPC.txt b/npc/custom/quests/thq/THQS_QuestNPC.txt
index 76790221b..d4e058fb4 100644
--- a/npc/custom/quests/thq/THQS_QuestNPC.txt
+++ b/npc/custom/quests/thq/THQS_QuestNPC.txt
@@ -66,7 +66,7 @@ N_NewQuest:
mes "Would you like me to asign you a Quest?";
next;
menu "Yes I would like a Quest Please.",-,"Sorry Guy no time today.",N_NoTime;
-
+
mes "[Guy]";
mes "Ok lets see what quest we can give you today.";
mes "The quest names in ^FF0000This Colour^000000 mean that they are more challanging then the rest, but have better rewards.";
diff --git a/npc/custom/warper.txt b/npc/custom/warper.txt
index 4e85119dd..0f28ef40b 100644
--- a/npc/custom/warper.txt
+++ b/npc/custom/warper.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
-//= 1.4
+//= 1.4b
//===== Description: =========================================
//= A complete - but very condensed - warper script.
//= Some coordinates written by Tekno-Kanix and ToastOfDoom.
@@ -14,6 +14,8 @@
//= 1.3 Added Renewal checks and Instances menu.
//= Aligned coordinates with @go.
//= 1.4 Added new Guild Dungeons.
+//= 1.4a Slight edits.
+//= 1.4b Added Wolfchev's Laboratory warp.
//============================================================
- script Warper -1,{
@@ -24,15 +26,19 @@ function Go; function Disp; function Pick; function Restrict;
// --------------------------------------------------
menu "Last Warp ^777777["+lastwarp$+"]^000000",-,
- " ~ Towns",Towns, " ~ Fields",Fields, " ~ Dungeons",Dungeons,
- " ~ Guild Castles",Castles, " ~ Guild Dungeons",Guild_Dungeons,
- " ~ Instances",Instances, " ~ Special Areas",Special;
+ " ~ Towns",Towns,
+ " ~ Fields",Fields,
+ " ~ Dungeons",Dungeons,
+ " ~ Guild Castles",Castles,
+ " ~ Guild Dungeons",Guild_Dungeons,
+ " ~ Instances",Instances,
+ " ~ Special Areas",Special;
if (lastwarp$ == "")
message strcharinfo(0),"You haven't warped anywhere yet.";
else
warp lastwarp$,lastwarpx,lastwarpy;
- close;
+ end;
// ------------------- Functions -------------------
// * Go("<map>",<x>,<y>);
@@ -58,50 +64,51 @@ menu "Last Warp ^777777["+lastwarp$+"]^000000",-,
// --------------------------------------------------
function Go {
+ lastwarp$ = getarg(0);
+ lastwarpx = getarg(1,0);
+ lastwarpy = getarg(2,0);
warp getarg(0),getarg(1,0),getarg(2,0);
- getmapxy(lastwarp$,lastwarpx,lastwarpy,0);
end;
}
function Disp {
if (getargcount() < 3)
- set @menu$, getarg(0);
+ @menu$ = getarg(0);
else {
- set @menu$,"";
- for(set .@i,getarg(1); .@i<=getarg(2); set .@i,.@i+1)
- set @menu$, @menu$+getarg(0)+" "+.@i+":";
+ @menu$ = "";
+ for (.@i = getarg(1); .@i <= getarg(2); .@i++)
+ @menu$ = @menu$+getarg(0)+" "+.@i+":";
}
return;
}
function Pick {
- set .@warp_block,@warp_block;
- set @warp_block,0;
+ .@warp_block = @warp_block;
+ @warp_block = 0;
+ .@select = select(@menu$);
if (getarg(0) == "") {
- set .@select, select(@menu$);
- set .@i, .@select;
- set .@map$, getarg(.@i);
+ .@i = .@select;
+ .@map$ = getarg(.@i);
} else {
- set .@select, select(@menu$);
- set .@i, .@select-getarg(1,0);
- set .@map$, getarg(0)+((.@i<10)?"0":"")+.@i;
+ .@i = .@select-getarg(1,0);
+ .@map$ = getarg(0)+((.@i<10)?"0":"")+.@i;
}
if (.@warp_block & (1<<.@select)) {
message strcharinfo(0),"This map is not enabled in "+(RENEWAL?"":"Pre-")+"Renewal.";
- close;
+ end;
}
- warp .@map$,@c[.@i*2],@c[.@i*2+1];
- getmapxy(lastwarp$,lastwarpx,lastwarpy,0);
+ .@x = @c[.@i*2];
+ .@y = @c[.@i*2+1];
deletearray @c[0],getarraysize(@c);
- end;
+ Go(.@map$,.@x,.@y);
}
function Restrict {
if ((getarg(0) == "RE" && !RENEWAL) || (getarg(0) == "Pre-RE" && RENEWAL)) {
if (getarg(1,0)) {
- set @warp_block,0;
- for(set .@i,1; .@i<getargcount(); set .@i,.@i+1)
- set @warp_block, @warp_block | (1<<getarg(.@i));
+ @warp_block = 0;
+ for (.@i = 1; .@i < getargcount(); .@i++)
+ @warp_block = @warp_block | (1<<getarg(.@i));
} else {
message strcharinfo(0),"This map is not enabled in "+(RENEWAL?"":"Pre-")+"Renewal.";
- close;
+ end;
}
}
return;
@@ -111,13 +118,13 @@ function Restrict {
Towns:
// --------------------------------------------------
menu "Prontera",T1, "Alberta",T2, "Aldebaran",T3, "Amatsu",T4, "Ayothaya",T5,
- "Brasilis",T6, "Comodo",T7, "Dewata",T8, "Eclage",T9, "Einbech",T10,
- "Einbroch",T11, "El Dicastes",T12, "Geffen",T13, "Gonryun",T14, "Hugel",T15,
- "Izlude",T16, "Jawaii",T17, "Lighthalzen",T18, "Louyang",T19, "Lutie",T20,
- "Malangdo",T21, "Malaya",T22, "Manuk",T23, "Midgarts Expedition Camp",T24,
- "Mora",T25, "Morroc",T26, "Moscovia",T27, "Nameless Island",T28,
- "Niflheim",T29, "Payon",T30, "Rachel",T31, "Splendide",T32, "Thor Camp",T33,
- "Umbala",T34, "Veins",T35, "Yuno",T36;
+ "Brasilis",T6, "Comodo",T7, "Dewata",T8, "Eclage",T9, "Einbech",T10,
+ "Einbroch",T11, "El Dicastes",T12, "Geffen",T13, "Gonryun",T14, "Hugel",T15,
+ "Izlude",T16, "Jawaii",T17, "Lighthalzen",T18, "Louyang",T19, "Lutie",T20,
+ "Malangdo",T21, "Malaya",T22, "Manuk",T23, "Midgarts Expedition Camp",T24,
+ "Mora",T25, "Morroc",T26, "Moscovia",T27, "Nameless Island",T28,
+ "Niflheim",T29, "Payon",T30, "Rachel",T31, "Splendide",T32, "Thor Camp",T33,
+ "Umbala",T34, "Veins",T35, "Yuno",T36;
T1: Go("prontera",155,183);
T2: Go("alberta",28,234);
@@ -134,23 +141,23 @@ T9: Restrict("RE");
T10: Go("einbech",63,35);
T11: Go("einbroch",64,200);
T12: Restrict("RE");
- Go("dicastes01",198,187);
+ Go("dicastes01",198,187);
T13: Go("geffen",119,59);
T14: Go("gonryun",160,120);
T15: Go("hugel",96,145);
-T16: Go("izlude",128,114);
+T16: Go("izlude",128,(RENEWAL?146:114));
T17: Go("jawaii",251,132);
T18: Go("lighthalzen",158,92);
T19: Go("louyang",217,100);
T20: Go("xmas",147,134);
T21: Restrict("RE");
- Go("malangdo",140,114);
+ Go("malangdo",140,114);
T22: Restrict("RE");
- Go("malaya",212,206);
+ Go("malaya",231,200);
T23: Go("manuk",282,138);
T24: Go("mid_camp",210,288);
T25: Restrict("RE");
- Go("mora",55,146);
+ Go("mora",55,146);
T26: Go("morocc",156,93);
T27: Go("moscovia",223,184);
T28: Go("nameless_n",256,215);
@@ -167,15 +174,15 @@ T36: Go("yuno",157,51);
Fields:
// --------------------------------------------------
menu "Amatsu Fields",F1, "Ayothaya Fields",F2, "Bifrost Fields", F3,
- "Brasilis Fields",F4, "Comodo Fields",F5, "Dewata Fields",F6,
- "Eclage Fields",F7, "Einbroch Fields",F8, "El Dicastes Fields",F9,
- "Geffen Fields",F10, "Gonryun Fields",F11, "Hugel Fields",F12,
- "Lighthalzen Fields",F13, "Louyang Field",F14, "Lutie Field",F15,
- "Malaya Fields",F16, "Manuk Fields",F17, "Mjolnir Fields",F18,
- "Moscovia Fields",F19, "Niflheim Fields",F20, "Payon Forests",F21,
- "Prontera Fields",F22, "Rachel Fields",F23, "Sograt Deserts",F24,
- "Splendide Fields",F25, "Umbala Fields",F26, "Veins Fields",F27,
- "Yuno Fields",F28;
+ "Brasilis Fields",F4, "Comodo Fields",F5, "Dewata Fields",F6,
+ "Eclage Fields",F7, "Einbroch Fields",F8, "El Dicastes Fields",F9,
+ "Geffen Fields",F10, "Gonryun Fields",F11, "Hugel Fields",F12,
+ "Lighthalzen Fields",F13, "Louyang Field",F14, "Lutie Field",F15,
+ "Malaya Fields",F16, "Manuk Fields",F17, "Mjolnir Fields",F18,
+ "Moscovia Fields",F19, "Niflheim Fields",F20, "Payon Forests",F21,
+ "Prontera Fields",F22, "Rachel Fields",F23, "Sograt Deserts",F24,
+ "Splendide Fields",F25, "Umbala Fields",F26, "Veins Fields",F27,
+ "Yuno Fields",F28;
F1: setarray @c[2],190,197;
Disp("Amatsu Field",1,1); Pick("ama_fild");
@@ -203,67 +210,67 @@ F9: Restrict("RE");
setarray @c[2],143,132,143,217;
Disp("El Dicastes Field",1,2); Pick("dic_fild");
F10: Restrict("Pre-RE",13,15);
- setarray @c[0],46,199,213,204,195,212,257,192,188,171,166,263,248,158,195,191,186,183,221,117,178,218,136,328,240,181,235,235,211,185;
- Disp("Geffen Field",0,14); Pick("gef_fild",1);
+ setarray @c[0],46,199,213,204,195,212,257,192,188,171,166,263,248,158,195,191,186,183,221,117,178,218,136,328,240,181,235,235,211,185;
+ Disp("Geffen Field",0,14); Pick("gef_fild",1);
F11: setarray @c[2],220,227;
- Disp("Gonryun Field",1,1); Pick("gon_fild");
+ Disp("Gonryun Field",1,1); Pick("gon_fild");
F12: Restrict("Pre-RE",3,7);
- setarray @c[2],268,101,222,193,232,185,252,189,196,106,216,220,227,197;
- Disp("Hugel Field",1,7); Pick("hu_fild");
+ setarray @c[2],268,101,222,193,232,185,252,189,196,106,216,220,227,197;
+ Disp("Hugel Field",1,7); Pick("hu_fild");
F13: setarray @c[2],240,179,185,235,240,226;
- Disp("Lighthalzen Field",1,3); Pick("lhz_fild");
+ Disp("Lighthalzen Field",1,3); Pick("lhz_fild");
F14: setarray @c[2],229,187;
- Disp("Louyang Field",1,1); Pick("lou_fild");
+ Disp("Louyang Field",1,1); Pick("lou_fild");
F15: setarray @c[2],115,145;
- Disp("Lutie Field",1,1); Pick("xmas_fild");
+ Disp("Lutie Field",1,1); Pick("xmas_fild");
F16: Restrict("RE");
- setarray @c[2],40,272,207,180;
- Disp("Malaya Field",1,2); Pick("ma_fild");
+ setarray @c[2],40,272,207,180;
+ Disp("Malaya Field",1,2); Pick("ma_fild");
F17: setarray @c[2],35,236,35,262,84,365;
- Disp("Manuk Field",1,3); Pick("man_fild");
+ Disp("Manuk Field",1,3); Pick("man_fild");
F18: setarray @c[2],204,120,175,193,208,213,179,180,181,240,195,270,235,202,188,215,205,144,245,223,180,206,196,208;
- Disp("Mjolnir Field",1,12); Pick("mjolnir_");
+ Disp("Mjolnir Field",1,12); Pick("mjolnir_");
F19: setarray @c[2],82,104,131,147;
- Disp("Moscovia Field",1,2); Pick("mosk_fild");
+ Disp("Moscovia Field",1,2); Pick("mosk_fild");
F20: setarray @c[2],215,229,167,234;
- Disp("Niflheim Field",1,2); Pick("nif_fild");
+ Disp("Niflheim Field",1,2); Pick("nif_fild");
F21: Restrict("Pre-RE",5,11);
- setarray @c[2],158,206,151,219,205,148,186,247,134,204,193,235,200,177,137,189,201,224,160,205,194,150;
- Disp("Payon Forest",1,11); Pick("pay_fild");
+ setarray @c[2],158,206,151,219,205,148,186,247,134,204,193,235,200,177,137,189,201,224,160,205,194,150;
+ Disp("Payon Forest",1,11); Pick("pay_fild");
F22: setarray @c[0],208,227,190,206,240,206,190,143,307,252,239,213,185,188,193,194,187,218,210,183,195,149,198,164;
- Disp("Prontera Field",0,11); Pick("prt_fild",1);
+ Disp("Prontera Field",0,11); Pick("prt_fild",1);
F23: Restrict("Pre-RE",2,7,9,10,11,13);
- setarray @c[2],192,162,235,166,202,206,202,208,225,202,202,214,263,196,217,201,87,121,277,181,221,185,175,200,174,197;
- Disp("Rachel Field",1,13); Pick("ra_fild");
+ setarray @c[2],192,162,235,166,202,206,202,208,225,202,202,214,263,196,217,201,87,121,277,181,221,185,175,200,174,197;
+ Disp("Rachel Field",1,13); Pick("ra_fild");
F24: setarray @c[2],219,205,177,206,194,182,224,170,198,216,156,187,185,263,206,228,208,238,209,223,85,97,207,202,31,195,38,195;
- Disp("Sograt Desert 1:Sograt Desert 2:Sograt Desert 3:Sograt Desert 7:Sograt Desert 11:Sograt Desert 12:Sograt Desert 13:Sograt Desert 16:Sograt Desert 17:Sograt Desert 18:Sograt Desert 19:Sograt Desert 20:Sograt Desert 21:Sograt Desert 22");
- Pick("","moc_fild01","moc_fild02","moc_fild03","moc_fild07","moc_fild11","moc_fild12","moc_fild13","moc_fild16","moc_fild17","moc_fild18","moc_fild19","moc_fild20","moc_fild21","moc_fild22");
+ Disp("Sograt Desert 1:Sograt Desert 2:Sograt Desert 3:Sograt Desert 7:Sograt Desert 11:Sograt Desert 12:Sograt Desert 13:Sograt Desert 16:Sograt Desert 17:Sograt Desert 18:Sograt Desert 19:Sograt Desert 20:Sograt Desert 21:Sograt Desert 22");
+ Pick("","moc_fild01","moc_fild02","moc_fild03","moc_fild07","moc_fild11","moc_fild12","moc_fild13","moc_fild16","moc_fild17","moc_fild18","moc_fild19","moc_fild20","moc_fild21","moc_fild22");
F25: setarray @c[2],175,186,236,184,188,204;
- Disp("Splendide Field",1,3); Pick("spl_fild");
+ Disp("Splendide Field",1,3); Pick("spl_fild");
F26: setarray @c[2],217,206,223,221,237,215,202,197;
- Disp("Umbala Field",1,4); Pick("um_fild");
+ Disp("Umbala Field",1,4); Pick("um_fild");
F27: Restrict("Pre-RE",5);
- setarray @c[2],186,175,196,370,222,45,51,250,202,324,150,223,149,307;
- Disp("Veins Field",1,7); Pick("ve_fild");
+ setarray @c[2],186,175,196,370,222,45,51,250,202,324,150,223,149,307;
+ Disp("Veins Field",1,7); Pick("ve_fild");
F28: Restrict("Pre-RE",5,10);
- setarray @c[2],189,224,192,207,221,157,226,199,223,177,187,232,231,174,196,203,183,214,200,124,195,226,210,304;
- Disp("Yuno Field",1,12); Pick("yuno_fild");
+ setarray @c[2],189,224,192,207,221,157,226,199,223,177,187,232,231,174,196,203,183,214,200,124,195,226,210,304;
+ Disp("Yuno Field",1,12); Pick("yuno_fild");
// --------------------------------------------------
Dungeons:
// --------------------------------------------------
menu "Abyss Lakes",D1, "Amatsu Dungeon",D2, "Anthell",D3,
- "Ayothaya Dungeon",D4, "Beach Dungeon",D5, "Bio Labs",D6,
- "Brasilis Dungeon",D7, "Byalan Dungeon",D8, "Clock Tower",D9,
- "Coal Mines",D10, "Culvert",D11, "Cursed Abbey",D12, "Dewata Dungeon",D13,
- "Einbroch Dungeon",D14, "Gefenia",D15, "Geffen Dungeon",D16,
- "Glast Heim",D17, "Gonryun Dungeon",D18, "Hidden Dungeon",D19,
- "Ice Dungeon",D20, "Juperos",D21, "Kiel Dungeon",D22, "Louyang Dungeon",D23,
- "Magma Dungeon",D24, "Malangdo Dungeon",D25, "Moscovia Dungeon",D26,
- "Nidhogg's Dungeon",D27, "Odin Temple",D28, "Orc Dungeon",D29,
- "Payon Dungeon",D30, "Pyramids",D31, "Rachel Sanctuary",D32,
- "Scaraba Hole",D33, "Sphinx",D34, "Sunken Ship",D35, "Thanatos Tower",D36,
- "Thor Volcano",D37, "Toy Factory",D38, "Turtle Dungeon",D39, "Umbala Dungeon",D40;
+ "Ayothaya Dungeon",D4, "Beach Dungeon",D5, "Bifrost Tower",D41,
+ "Bio Labs",D6, "Brasilis Dungeon",D7, "Byalan Dungeon",D8, "Clock Tower",D9,
+ "Coal Mines",D10, "Culvert",D11, "Cursed Abbey",D12, "Dewata Dungeon",D13,
+ "Einbroch Dungeon",D14, "Gefenia",D15, "Geffen Dungeon",D16,
+ "Glast Heim",D17, "Gonryun Dungeon",D18, "Hidden Dungeon",D19,
+ "Ice Dungeon",D20, "Juperos",D21, "Kiel Dungeon",D22, "Louyang Dungeon",D23,
+ "Magma Dungeon",D24, "Malangdo Dungeon",D25, "Moscovia Dungeon",D26,
+ "Nidhogg's Dungeon",D27, "Odin Temple",D28, "Orc Dungeon",D29,
+ "Payon Dungeon",D30, "Pyramids",D31, "Rachel Sanctuary",D32,
+ "Scaraba Hole",D33, "Sphinx",D34, "Sunken Ship",D35, "Thanatos Tower",D36,
+ "Thor Volcano",D37, "Toy Factory",D38, "Turtle Dungeon",D39, "Umbala Dungeon",D40;
D1: setarray @c[2],261,272,275,270,116,27;
Disp("Abyss Lakes",1,3); Pick("abyss_");
@@ -288,80 +295,85 @@ D9: setarray @c[2],199,159,148,283,65,147,56,155,297,25,127,169,277,178,268,74;
Disp("Clock Tower 1:Clock Tower 2:Clock Tower 3:Clock Tower 4:Basement 1:Basement 2:Basement 3:Basement 4");
Pick("","c_tower1","c_tower2","c_tower3","c_tower4","alde_dun01","alde_dun02","alde_dun03","alde_dun04");
D10: setarray @c[2],52,17,381,343,302,262;
- Disp("Coal Mines",1,3); Pick("mjo_dun");
+ Disp("Coal Mines",1,3); Pick("mjo_dun");
D11: setarray @c[2],131,247,19,19,180,169,100,92;
- Disp("Culvert",1,4); Pick("","prt_sewb1","prt_sewb2","prt_sewb3","prt_sewb4");
+ Disp("Culvert",1,4); Pick("","prt_sewb1","prt_sewb2","prt_sewb3","prt_sewb4");
D12: setarray @c[2],51,14,150,11,120,10;
- Disp("Cursed Abbey",1,3); Pick("abbey");
+ Disp("Cursed Abbey",1,3); Pick("abbey");
D13: Restrict("RE");
- setarray @c[2],285,160,299,29;
- Disp("Dewata Dungeon",1,2); Pick("dew_dun");
+ setarray @c[2],285,160,299,29;
+ Disp("Dewata Dungeon",1,2); Pick("dew_dun");
D14: setarray @c[2],22,14,292,290;
- Disp("Einbroch Dungeon",1,2); Pick("ein_dun");
+ Disp("Einbroch Dungeon",1,2); Pick("ein_dun");
D15: setarray @c[2],40,103,203,34,266,168,130,272;
- Disp("Gefenia",1,4); Pick("gefenia",0);
+ Disp("Gefenia",1,4); Pick("gefenia",0);
D16: setarray @c[0],104,99,115,236,106,132,203,200;
- Disp("Geffen Dungeon",1,4); Pick("gef_dun",1);
+ Disp("Geffen Dungeon",1,4); Pick("gef_dun",1);
D17: setarray @c[2],370,304,199,29,104,25,150,15,157,287,147,15,258,255,108,291,171,283,68,277,156,7,12,7,133,271,224,274,14,70,150,14;
- Disp("Entrance:Castle 1:Castle 2:Chivalry 1:Chivalry 2:Churchyard:Culvert 1:Culvert 2:Culvert 3:Culvert 4:St. Abbey:Staircase Dungeon:Underground Cave 1:Underground Cave 2:Underground Prison 1:Underground Prison 2");
- Pick("","glast_01","gl_cas01","gl_cas02","gl_knt01","gl_knt02","gl_chyard","gl_sew01","gl_sew02","gl_sew03","gl_sew04","gl_church","gl_step","gl_dun01","gl_dun02","gl_prison","gl_prison1");
+ Disp("Entrance:Castle 1:Castle 2:Chivalry 1:Chivalry 2:Churchyard:Culvert 1:Culvert 2:Culvert 3:Culvert 4:St. Abbey:Staircase Dungeon:Underground Cave 1:Underground Cave 2:Underground Prison 1:Underground Prison 2");
+ Pick("","glast_01","gl_cas01","gl_cas02","gl_knt01","gl_knt02","gl_chyard","gl_sew01","gl_sew02","gl_sew03","gl_sew04","gl_church","gl_step","gl_dun01","gl_dun02","gl_prison","gl_prison1");
D18: setarray @c[2],153,53,28,113,68,16;
- Disp("Gonryun Dungeon",1,3); Pick("gon_dun");
+ Disp("Gonryun Dungeon",1,3); Pick("gon_dun");
D19: setarray @c[2],176,7,93,20,23,8;
- Disp("Hidden Dungeon",1,3); Pick("prt_maze");
+ Disp("Hidden Dungeon",1,3); Pick("prt_maze");
D20: setarray @c[2],157,14,151,155,149,22,33,158;
- Disp("Ice Dungeon",1,4); Pick("ice_dun");
+ Disp("Ice Dungeon",1,4); Pick("ice_dun");
D21: setarray @c[2],140,51,53,247,37,63,150,285;
- Disp("Entrance:Juperos 1:Juperos 2:Core");
- Pick("","jupe_cave","juperos_01","juperos_02","jupe_core");
+ Disp("Entrance:Juperos 1:Juperos 2:Core");
+ Pick("","jupe_cave","juperos_01","juperos_02","jupe_core");
D22: setarray @c[2],28,226,41,198;
- Disp("Kiel Dungeon",1,2); Pick("kh_dun");
+ Disp("Kiel Dungeon",1,2); Pick("kh_dun");
D23: setarray @c[2],218,196,282,20,165,38;
- Disp("The Royal Tomb:Inside the Royal Tomb:Suei Long Gon"); Pick("lou_dun");
+ Disp("The Royal Tomb:Inside the Royal Tomb:Suei Long Gon"); Pick("lou_dun");
D24: setarray @c[2],126,68,47,30;
- Disp("Magma Dungeon",1,2); Pick("mag_dun");
+ Disp("Magma Dungeon",1,2); Pick("mag_dun");
D25: Restrict("RE");
- setarray @c[2],33,230;
- Disp("Malangdo Dungeon",1,1); Pick("mal_dun");
+ setarray @c[2],33,230;
+ Disp("Malangdo Dungeon",1,1); Pick("mal_dun");
D26: setarray @c[2],189,48,165,30,32,135;
- Disp("Moscovia Dungeon",1,3); Pick("mosk_dun");
+ Disp("Moscovia Dungeon",1,3); Pick("mosk_dun");
D27: setarray @c[2],61,239,60,271;
- Disp("Nidhogg's Dungeon",1,2); Pick("nyd_dun");
+ Disp("Nidhogg's Dungeon",1,2); Pick("nyd_dun");
D28: setarray @c[2],298,167,224,149,266,280;
- Disp("Odin Temple",1,3); Pick("odin_tem");
+ Disp("Odin Temple",1,3); Pick("odin_tem");
D29: setarray @c[2],32,170,21,185;
- Disp("Orc Dungeon",1,2); Pick("orcsdun");
+ Disp("Orc Dungeon",1,2); Pick("orcsdun");
D30: setarray @c[0],21,183,19,33,19,63,155,159,201,204;
- Disp("Payon Dungeon",1,5); Pick("pay_dun",1);
-D31: setarray @c[2],192,9,10,192,100,92,181,11,94,96,192,8;
- Disp("Pyramids 1:Pyramids 2:Pyramids 3:Pyramids 4:Basement 1:Basement 2"); Pick("moc_pryd");
-D32: setarray @c[2],140,11,32,21,4,149,204,218,150,9;
- Disp("Rachel Sanctuary",1,5); Pick("ra_san");
+ Disp("Payon Dungeon",1,5); Pick("pay_dun",1);
+D31: Restrict("RE",7,8);
+ setarray @c[2],192,9,10,192,100,92,181,11,94,96,192,8,94,96,192,8;
+ Disp("Pyramids 1:Pyramids 2:Pyramids 3:Pyramids 4:Basement 1:Basement 2:Basement 1 - Nightmare Mode:Basement 2 - Nightmare Mode");
+ Pick("","moc_pryd01","moc_pryd02","moc_pryd03","moc_pryd04","moc_pryd05","moc_pryd06","moc_prydn1","moc_prydn2");
+D32: setarray @c[2],140,11,32,21,8,149,204,218,150,9;
+ Disp("Rachel Sanctuary",1,5); Pick("ra_san");
D33: Restrict("RE");
- setarray @c[2],364,44,101,141;
- Disp("Scaraba Hole",1,2); Pick("dic_dun");
+ setarray @c[2],364,44,101,141;
+ Disp("Scaraba Hole",1,2); Pick("dic_dun");
D34: setarray @c[2],288,9,149,81,210,54,10,222,100,99;
- Disp("Sphinx",1,5); Pick("","in_sphinx1","in_sphinx2","in_sphinx3","in_sphinx4","in_sphinx5");
+ Disp("Sphinx",1,5); Pick("","in_sphinx1","in_sphinx2","in_sphinx3","in_sphinx4","in_sphinx5");
D35: setarray @c[2],69,24,102,27;
- Disp("Sunken Ship",1,2); Pick("treasure");
+ Disp("Sunken Ship",1,2); Pick("treasure");
D36: setarray @c[2],150,39,150,136,220,158,59,143,62,11,89,221,35,166,93,148,29,107,159,138,19,20,130,52;
- Disp("Thanatos Tower",1,12); Pick("tha_t");
+ Disp("Thanatos Tower",1,12); Pick("tha_t");
D37: setarray @c[2],21,228,75,205,34,272;
- Disp("Thor Volcano",1,3); Pick("thor_v");
+ Disp("Thor Volcano",1,3); Pick("thor_v");
D38: setarray @c[2],205,15,129,133;
- Disp("Toy Factory",1,2); Pick("xmas_dun");
+ Disp("Toy Factory",1,2); Pick("xmas_dun");
D39: setarray @c[2],154,49,148,261,132,189,100,192;
- Disp("Entrance:Turtle Dungeon 1:Turtle Dungeon 2:Turtle Dungeon 3"); Pick("tur_dun");
+ Disp("Entrance:Turtle Dungeon 1:Turtle Dungeon 2:Turtle Dungeon 3"); Pick("tur_dun");
D40: Restrict("Pre-RE",1,2);
- setarray @c[2],42,31,48,30,204,78;
- Disp("Carpenter's Shop in the Tree:Passage to a Foreign World:Hvergermil's Fountain");
- Pick("","um_dun01","um_dun02","yggdrasil01");
+ setarray @c[2],42,31,48,30,204,78;
+ Disp("Carpenter's Shop in the Tree:Passage to a Foreign World:Hvergermil's Fountain");
+ Pick("","um_dun01","um_dun02","yggdrasil01");
+D41: Restrict("RE");
+ setarray @c[2],57,13,64,88,45,14,26,23;
+ Disp("Bifrost Tower",1,4); Pick("ecl_tdun");
// --------------------------------------------------
Castles:
// --------------------------------------------------
menu "Aldebaran Castles",C1, "Geffen Castles",C2, "Payon Castles",C3,
- "Prontera Castles",C4, "Arunafeltz Castles",C5, "Schwaltzvalt Castles",C6;
+ "Prontera Castles",C4, "Arunafeltz Castles",C5, "Schwaltzvalt Castles",C6;
C1: setarray @c[2],48,83,95,249,142,85,239,242,264,90;
Disp("Neuschwanstein:Hohenschwangau:Nuenberg:Wuerzburg:Rothenburg");
@@ -386,7 +398,7 @@ C6: setarray @c[2],293,100,288,252,97,196,137,90,71,315;
Guild_Dungeons:
// --------------------------------------------------
menu "Baldur",G1, "Luina",G2, "Valkyrie",G3, "Britoniah",G4,
- "Arunafeltz",G5, "Schwaltzvalt",G6;
+ "Arunafeltz",G5, "Schwaltzvalt",G6;
G1: Restrict("RE",2,3);
setarray @c[2],119,93,119,93,120,130;
@@ -410,26 +422,37 @@ G6: Go("schg_dun01",200,124);
// --------------------------------------------------
Instances:
// --------------------------------------------------
+menu "Bakonawa Lake",I1, "Bangungot Hospital 2F",I2, "Buwaya Cave",I3,
+ "Endless Tower",I4, "Hazy Forest",I5, "Malangdo Culvert",I6, "Nidhoggur's Nest",I7,
+ "Octopus Cave",I8, "Old Glast Heim",I9, "Orc's Memory",I10, "Sealed Shrine",I11,
+ "Wolfchev's Laboratory",I12;
-menu "Endless Tower",I1, "Hazy Forest",I2, "Malangdo Culvert",I3,
- "Nidhoggur's Nest",I4, "Octopus Cave",I5, "Orc's Memory",I6, "Sealed Shrine",I7;
-
-I1: Go("e_tower",72,112);
+I1: Restrict("RE");
+ Go("ma_scene01",172,175);
I2: Restrict("RE");
- Go("bif_fild01",161,334);
+ Go("ma_dun01",151,8);
I3: Restrict("RE");
- Go("mal_in01",164,21);
-I4: Go("nyd_dun02",95,193);
+ Go("ma_fild02",316,317);
+I4: Go("e_tower",72,112);
I5: Restrict("RE");
+ Go("bif_fild01",161,334);
+I6: Restrict("RE");
+ Go("mal_in01",164,21);
+I7: Go("nyd_dun02",95,193);
+I8: Restrict("RE");
Go("mal_dun01",152,230);
-I6: Go("gef_fild10",240,198);
-I7: Go("monk_test",306,143);
+I9: Restrict("RE");
+ Go("glast_01",204,268);
+I10: Go("gef_fild10",240,198);
+I11: Go("monk_test",306,143);
+I12: Restrict("RE");
+ Go("lhz_dun04",148,269);
// --------------------------------------------------
Special:
// --------------------------------------------------
menu "Auction Hall",S1, "Battlegrounds",S2, "Casino",S3, "Eden Group Headquarters",S4,
- "Gonryun Arena",S5, "Izlude Arena",S6, "Monster Race Arena",S7, "Turbo Track",S8;
+ "Gonryun Arena",S5, "Izlude Arena",S6, "Monster Race Arena",S7, "Turbo Track",S8;
S1: Go("auction_01",22,68);
S2: Go("bat_room",154,150);
@@ -456,10 +479,10 @@ einbroch,69,202,4 duplicate(Warper) Warper#einbr 4_F_VALKYRIE
gef_fild10,71,339,4 duplicate(Warper) Warper#orc 4_F_VALKYRIE
geffen,124,72,4 duplicate(Warper) Warper#gef 4_F_VALKYRIE
glast_01,372,308,4 duplicate(Warper) Warper#glh 4_F_VALKYRIE
-gonryun,165,126,4 duplicate(Warper) Warper#gon 4_F_VALKYRIE
+gonryun,162,122,4 duplicate(Warper) Warper#gon 4_F_VALKYRIE
hugel,101,151,4 duplicate(Warper) Warper#hug 4_F_VALKYRIE
izlu2dun,110,92,4 duplicate(Warper) Warper#izd 4_F_VALKYRIE
-izlude,132,120,4 duplicate(Warper) Warper#izl 4_F_VALKYRIE
+izlude,134,150,4 duplicate(Warper) Warper#izl 4_F_VALKYRIE //Pre-RE: (132,120)
jawaii,253,138,4 duplicate(Warper) Warper#jaw 4_F_VALKYRIE
lighthalzen,162,102,4 duplicate(Warper) Warper#lhz 4_F_VALKYRIE
louyang,208,103,6 duplicate(Warper) Warper#lou 4_F_VALKYRIE
@@ -491,5 +514,5 @@ dewata,204,186,6 duplicate(Warper) Warper#dew 4_F_VALKYRIE
dicastes01,194,194,6 duplicate(Warper) Warper#dic 4_F_VALKYRIE
ecl_in01,51,60,4 duplicate(Warper) Warper#ecl 4_F_VALKYRIE
malangdo,134,117,6 duplicate(Warper) Warper#mal 4_F_VALKYRIE
-malaya,210,205,4 duplicate(Warper) Warper#ma 4_F_VALKYRIE
+malaya,231,204,4 duplicate(Warper) Warper#ma 4_F_VALKYRIE
mora,57,152,4 duplicate(Warper) Warper#mora 4_F_VALKYRIE
diff --git a/npc/custom/woe_controller.txt b/npc/custom/woe_controller.txt
index 824fa4a4f..ec5bb3d81 100644
--- a/npc/custom/woe_controller.txt
+++ b/npc/custom/woe_controller.txt
@@ -11,8 +11,8 @@
//= and "rewards" function originally by Goddameit.
//===== Additional Comments: =================================
//= Be sure to disable the default agit controllers!
-//== npc\guild\agit_controller.txt
-//== npc\guild2\agit_start_se.txt
+//== npc\woe-fe\agit_controller.txt
+//== npc\woe-se\agit_start_se.txt
//============================================================
// Information NPC