diff options
author | euphyy <euphyy@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-11-23 03:22:28 +0000 |
---|---|---|
committer | euphyy <euphyy@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-11-23 03:22:28 +0000 |
commit | bd4e344a476439af984995540cb3d037752981c8 (patch) | |
tree | 4cd55defb83cc7f8ef1efeb7485f8b7db45e2cff | |
parent | 252d548e533389f18b80c8a35976eca893791355 (diff) | |
download | hercules-bd4e344a476439af984995540cb3d037752981c8.tar.gz hercules-bd4e344a476439af984995540cb3d037752981c8.tar.bz2 hercules-bd4e344a476439af984995540cb3d037752981c8.tar.xz hercules-bd4e344a476439af984995540cb3d037752981c8.zip |
* Added Guillotine Cross job quest, again thanks to Muad_Dib! (bugreport:5834)
* Follow-up r16941: added documentation.
* Updated WOE Controller script to v1.4, which modifies LoadEvent mapflag settings for easier cross-compatibility and standardizes script format.
* Minor tweaks here and there.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16947 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r-- | conf/battle/client.conf | 2 | ||||
-rw-r--r-- | db/pre-re/mob_db.txt | 6 | ||||
-rw-r--r-- | db/re/mob_db.txt | 6 | ||||
-rw-r--r-- | doc/sample/npc_test_checkweight.txt (renamed from doc/sample/npc_test_chekweight.txt) | 6 | ||||
-rw-r--r-- | doc/script_commands.txt | 32 | ||||
-rw-r--r-- | npc/custom/woe_controller.txt | 430 | ||||
-rw-r--r-- | npc/re/cities/mora.txt | 4 | ||||
-rw-r--r-- | npc/re/jobs/3-1/guillotine_cross.txt | 3977 | ||||
-rw-r--r-- | npc/re/jobs/3-1/rune_knight.txt | 2 | ||||
-rw-r--r-- | npc/re/scripts_jobs.conf | 2 | ||||
-rw-r--r-- | sql-files/mob_db.sql | 4 | ||||
-rw-r--r-- | sql-files/mob_db_re.sql | 4 |
12 files changed, 4256 insertions, 219 deletions
diff --git a/conf/battle/client.conf b/conf/battle/client.conf index 0aecd2b08..9107c8b2d 100644 --- a/conf/battle/client.conf +++ b/conf/battle/client.conf @@ -36,7 +36,7 @@ packet_ver_flag: 0xFFFFFF // Messages that break this threshold are silently omitted. min_chat_delay: 0 -// valid range of dye's and styles on the client +// Valid range of dyes and styles on the client. min_hair_style: 0 max_hair_style: 27 min_hair_color: 0 diff --git a/db/pre-re/mob_db.txt b/db/pre-re/mob_db.txt index 99cddb46d..00d8799bf 100644 --- a/db/pre-re/mob_db.txt +++ b/db/pre-re/mob_db.txt @@ -2,7 +2,7 @@ // // Structure of Database : // ID,Sprite_Name,kROName,iROName,LV,HP,SP,EXP,JEXP,Range1,ATK1,ATK2,DEF,MDEF,STR,AGI,VIT,INT,DEX,LUK,Range2,Range3,Scale,Race,Element,Mode,Speed,aDelay,aMotion,dMotion,MEXP,MVP1id,MVP1per,MVP2id,MVP2per,MVP3id,MVP3per,Drop1id,Drop1per,Drop2id,Drop2per,Drop3id,Drop3per,Drop4id,Drop4per,Drop5id,Drop5per,Drop6id,Drop6per,Drop7id,Drop7per,Drop8id,Drop8per,Drop9id,Drop9per,DropCardid,DropCardper -// Note: Keep the Sprite_Name field as it is (in the game client). You may change Name,JName field tough +// Note: Keep the Sprite_Name field as it is in the game client. 1001,SCORPION,Scorpion,Scorpion,24,1109,0,287,176,1,80,135,30,0,1,24,24,5,52,5,10,12,0,4,23,0x3195,200,1564,864,576,0,0,0,0,0,0,0,990,70,904,5500,757,57,943,210,7041,100,508,200,625,20,0,0,0,0,4068,1 1002,PORING,Poring,Poring,1,50,0,2,1,1,7,10,0,5,1,1,1,0,6,30,10,12,1,3,21,0x83,400,1872,672,480,0,0,0,0,0,0,0,909,7000,1202,100,938,400,512,1000,713,1500,512,150,619,20,0,0,0,0,4001,1 @@ -1083,8 +1083,8 @@ 2027,G_DARK_SHADOW,Dark Shadow,Dark Shadow,114,42900,0,0,0,1,10000,15000,35,44,1,23,12,145,102,60,10,12,0,0,47,0x3795,220,768,1776,648,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //2028,E_MINOROUS,Minorous,Minorous,1,741,0,0,0,1,30,48,2,5,6,4,6,6,5,3,10,12,2,2,43,0x120,200,1360,960,432,0,0,0,0,0,0,0,7606,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //2029,E_MINOROUS_,Minorous,Minorous,10,15,0,10,0,1,100,150,100,99,1,1,1,1,100,100,10,12,2,2,43,0x120,200,1360,960,432,0,0,0,0,0,0,0,941,10,11708,2000,11708,4000,11708,1000,516,1000,2289,1,577,1000,0,0,0,0,644,1 -//2030,HIDEN_PRIEST,Hiden Priest,Hiden Priest,90,240000,0,0,0,2,1300,1983,0,30,1,32,40,100,82,40,10,12,2,6,89,0x120,150,432,432,360,0,0,0,0,0,0,0,12379,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -//2031,DANDELION_H,Dandelion,Dandelion,80,120000,0,0,0,1,305,610,0,10,1,19,32,0,63,20,10,12,1,7,47,0x120,250,1772,72,384,0,0,0,0,0,0,0,12379,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2030,HIDEN_PRIEST,Hiden Priest,Hiden Priest,90,240000,0,0,0,2,1300,1983,0,30,1,32,40,100,82,40,10,12,2,6,89,0x120,150,432,432,360,0,0,0,0,0,0,0,12379,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2031,DANDELION_H,Dandelion,Dandelion,80,120000,0,0,0,1,305,610,0,10,1,19,32,0,63,20,10,12,1,7,47,0x120,250,1772,72,384,0,0,0,0,0,0,0,12379,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //2032,GUARDIAN_FOREST,Forest Guardian,Forest Guardian,50,8578,0,0,0,1,1000,1103,15,25,1,75,55,1,93,45,10,12,0,6,27,0x120,100,868,480,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //2033,GOLDEN_TULIP,Golden Tulip,Golden Tulip,1,299,0,0,0,1,1,2,100,99,0,0,0,0,0,0,7,12,0,3,22,0x120,2000,1,1,1,0,0,0,0,0,0,0,7951,10000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //2034,M_DESERT_WOLF_B,Baby Desert Wolf,Baby Desert Wolf,9,164,15,0,0,1,500,600,0,0,1,9,9,5,40,40,10,12,0,2,23,0x120,100,1600,900,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 diff --git a/db/re/mob_db.txt b/db/re/mob_db.txt index 7793fdfb8..65a3677f4 100644 --- a/db/re/mob_db.txt +++ b/db/re/mob_db.txt @@ -2,7 +2,7 @@ // // Structure of Database : // ID,Sprite_Name,kROName,iROName,LV,HP,SP,EXP,JEXP,Range1,ATK1,ATK2,DEF,MDEF,STR,AGI,VIT,INT,DEX,LUK,Range2,Range3,Scale,Race,Element,Mode,Speed,aDelay,aMotion,dMotion,MEXP,MVP1id,MVP1per,MVP2id,MVP2per,MVP3id,MVP3per,Drop1id,Drop1per,Drop2id,Drop2per,Drop3id,Drop3per,Drop4id,Drop4per,Drop5id,Drop5per,Drop6id,Drop6per,Drop7id,Drop7per,Drop8id,Drop8per,Drop9id,Drop9per,DropCardid,DropCardper -// Note: Keep the Sprite_Name field as it is (in the game client). You may change Name,JName field though +// Note: Keep the Sprite_Name field as it is in the game client. 1001,SCORPION,Scorpion,Scorpion,16,153,1,108,81,1,33,40,16,5,12,15,10,5,19,5,10,12,0,4,23,0x3195,200,1564,864,576,0,0,0,0,0,0,0,990,70,904,5500,757,57,943,210,7041,100,508,200,625,20,0,0,0,0,4068,1 1002,PORING,Poring,Poring,1,60,1,27,20,1,8,9,2,5,6,1,1,0,6,5,10,12,1,3,21,0x83,400,1872,672,480,0,0,0,0,0,0,0,909,7000,1202,100,938,400,512,1000,713,1500,512,150,619,20,0,0,0,0,4001,1 @@ -1130,8 +1130,8 @@ // Additional Monsters //2028,E_MINOROUS,Minorous,Minorous,1,741,0,0,0,1,30,48,4,5,6,4,6,6,5,3,10,12,2,2,43,0x120,200,1360,960,432,0,0,0,0,0,0,0,7606,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //2029,E_MINOROUS_,Minorous,Minorous,10,15,0,9,0,1,100,150,160,99,1,1,1,1,100,100,10,12,2,2,43,0x120,200,1360,960,432,0,0,0,0,0,0,0,941,10,6119,2000,6119,4000,6119,1000,516,1000,2289,1,577,1000,0,0,0,0,644,1 -//2030,HIDEN_PRIEST,Hiden Priest,Hiden Priest,90,240500,0,0,0,2,1300,1983,0,30,1,32,40,100,82,40,10,12,2,6,89,0x120,150,432,432,360,0,0,0,0,0,0,0,12379,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -//2031,DANDELION_H,Dandelion,Dandelion,80,120000,0,0,0,1,305,610,0,10,1,19,32,0,63,20,10,12,1,7,47,0x120,250,1772,72,384,0,0,0,0,0,0,0,12379,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2030,HIDEN_PRIEST,Hiden Priest,Hiden Priest,90,240500,0,0,0,2,1300,1983,0,30,1,32,40,100,82,40,10,12,2,6,89,0x120,150,432,432,360,0,0,0,0,0,0,0,12379,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2031,DANDELION_H,Dandelion,Dandelion,80,120000,0,0,0,1,305,610,0,10,1,19,32,0,63,20,10,12,1,7,47,0x120,250,1772,72,384,0,0,0,0,0,0,0,12379,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //2032,GUARDIAN_FOREST,Forest Guardian,Forest Guardian,50,99999,0,0,0,1,3000,6000,160,99,100,100,100,100,100,100,10,12,0,6,27,0x120,200,868,480,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //2033,GOLDEN_TULIP,Golden Tulip,Golden Tulip,1,100,0,0,0,1,1,2,160,99,0,0,0,0,0,0,7,12,0,3,22,0x120,2000,1,1,1,0,0,0,0,0,0,0,7951,10000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //2034,M_DESERT_WOLF_B,Baby Desert Wolf,Baby Desert Wolf,9,164,15,0,0,1,500,600,0,0,1,9,9,5,40,40,10,12,0,2,23,0x120,100,1600,900,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 diff --git a/doc/sample/npc_test_chekweight.txt b/doc/sample/npc_test_checkweight.txt index 1f4d1d2d8..195ff856e 100644 --- a/doc/sample/npc_test_chekweight.txt +++ b/doc/sample/npc_test_checkweight.txt @@ -1,14 +1,14 @@ //===== rAthena Script ======================================= -//= Sample: ChekWeight +//= Sample: CheckWeight //===== By: ================================================== //= rAthena Dev Team //===== Current Version: ===================================== //= 20121113 //===== Description: ========================================= -//= Demonstrates ChekWeight commands. +//= Demonstrates 'checkweight' command. //============================================================ -new_1-1,56,106,5 script ChkSpace 763,{ +prontera,161,181,6 script ChkSpace 763,{ function ChkResult; function FinalReport; diff --git a/doc/script_commands.txt b/doc/script_commands.txt index 7d7124f34..2a7d4329b 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -3316,39 +3316,41 @@ aren't. You can also pass the char_id to check for both account and char id. --------------------------------------- -*checkweight(<item id>,<amount>) -*checkweight("<item name>",<amount>) +*checkweight(<item id>,<amount>{,<item id>,<amount>,<item id>,<amount>,...}); +*checkweight("<item name>",<amount>{,"<item name>",<amount>,"<item name>",<amount>,...}); +*checkweight2(<id_array>,<amount_array>); -This function will compute and return 1 if the total weight of a specified +These functions will compute and return 1 if the total weight of the specified number of specific items does not exceed the invoking character's carrying capacity, and 0 otherwise. It is important to see if a player can carry the items you expect to give them, failing to do that may open your script up to abuse or create some very unfair errors. -This function, in addition to checking to see if the player is capable of -holding a set amount of items, also ensures the player has room in their +The second function will check an array of items and amounts, and also +returns 1 on success and 0 on failure. + +The functions, in addition to checking to see if the player is capable of +holding a set amount of items, also ensure the player has room in their inventory for the item(s) they will be receiving. Like 'getitem', this function will also accept an 'english name' from the database as an argument. +Example 1: + if (checkweight(512,10)) { getitem 512,10; } else { - mes "Sorry you cannot hold this amount of apples"; + mes "Sorry, you cannot hold this amount of apples!"; } - close; -Or to put this another way: +Example 2: - if (checkweight("Apple",10) == 0) { - mes "Sorry you cannot hold this amount of apples"; - } else { - getitem 512,10; + setarray .@item[0],512,513,514; + setarray .@amount[0],10,5,5; + if (!checkweight(.@item,.@amount)) { + mes "Sorry, you cannot hold this amount of fruit!"; } - close; - -Both examples have the same effect. --------------------------------------- diff --git a/npc/custom/woe_controller.txt b/npc/custom/woe_controller.txt index 6606d60ad..d8380e770 100644 --- a/npc/custom/woe_controller.txt +++ b/npc/custom/woe_controller.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Euphy //===== Current Version: ===================================== -//= 1.3b +//= 1.4 //===== Compatible With: ===================================== //= rAthena SVN r16571+ //===== Description: ========================================= @@ -27,8 +27,9 @@ OnInit: set .CastleWarp,0; // 1: Always enable all castle warps. | 0: Warp only to active castles. set .AutoKick,1; // Automatically kick players from inactive castles during WOE? (1:yes / 0:no) + set .NoOwner,0; // Automatically kick players from unconquered castles outside of WOE? (1:yes / 0:no) set .ExitWarp,0; // Warp all players from castles when WOE ends? (1:yes / 0:no) - set .GMAccess,99; // GM level required to access Session Manager (cannot be 0) + set .GMAccess,99; // GM level required to access Session Manager. setarray .Reward[0],14001,1; // Reward for all members of conquering guilds, per castle: <ID>,<Count>{,...} (0 to disable) // -------------------------------------------------------------------------------------------------------------------------- @@ -46,29 +47,35 @@ OnInit: setarray .Map$[0],"prt_gld","pay_gld","gef_fild13","alde_gld","aru_gld","sch_gld"; setarray .MapX[0],134,240,153,111,208,121,295,317,140,204,214,308,143,193,305,48, 95,142,239,264,158,83, 68,299,292,293,288, 97,137, 71; setarray .MapY[0], 65,128,137,240,240,233,116,293,160,266, 75,240,240,278, 87,83,249, 85,242, 90,272,47,155,345,107,100,252,196, 90,315; + if (.AutoKick || .NoOwner) for(set .@i,0; .@i<30; set .@i,.@i+1) { + setmapflag .Castles$[.@i], mf_loadevent; + setd "."+.Castles$[.@i], .@i; + } if (!agitcheck() && !agitcheck2()) sleep 4000; set .Init,1; OnMinute00: freeloop(1); if (agitcheck() || agitcheck2()) { for(set .@i,0; .@i<.Size; set .@i,.@i+4) - if (gettime(4)==$WOE_CONTROL[.@i] && gettime(3)==$WOE_CONTROL[.@i+2]) { + if (gettime(4) == $WOE_CONTROL[.@i] && gettime(3) == $WOE_CONTROL[.@i+2]) { OnWOEEnd: announce "The War Of Emperium is over!",bc_all|bc_woe; AgitEnd; AgitEnd2; sleep 1000; for(set .@j,0; .@j<30; set .@j,.@j+1) { if (.Active[0]&(1<<.@j)) Disp_Owner(.Castles$[.@j],1); - else if (.AutoKick) removemapflag .Castles$[.@j], mf_loadevent; - if (.ExitWarp) maprespawnguildid .Castles$[.@j],0,3; } + if (.ExitWarp) maprespawnguildid .Castles$[.@j],0,3; + } if (.Reward[0] && .Active[0] && .ForceEnd != 2) callsub OnReward, .Active[0]; deletearray .Active[0],2; if (.ForceEnd) { set .ForceEnd,0; end; } - break; } } + break; + } + } if ((!agitcheck() && !agitcheck2()) || .Init) { if (!agitcheck() && !agitcheck2()) set .Init,0; for(set .@i,0; .@i<.Size; set .@i,.@i+4) - if (gettime(4)==$WOE_CONTROL[.@i] && gettime(3)>=$WOE_CONTROL[.@i+1] && gettime(3)<$WOE_CONTROL[.@i+2]) { + if (gettime(4) == $WOE_CONTROL[.@i] && gettime(3) >= $WOE_CONTROL[.@i+1] && gettime(3) < $WOE_CONTROL[.@i+2]) { deletearray .Active[0],2; set .Active[0], $WOE_CONTROL[.@i+3]; if (.Init) { AgitEnd; AgitEnd2; } @@ -80,14 +87,18 @@ OnMinute00: if (!.Init) Disp_Owner(.Castles$[.@j],0); set .Active[1], .Active[1] | (1<<((.@j/5)+1)); } else { - if (.AutoKick) setmapflag .Castles$[.@j], mf_loadevent; if (.@j<20) { donpcevent "Agit#"+.Castles$[.@j]+"::OnAgitEnd"; killmonster .Castles$[.@j], "Agit#"+.Castles$[.@j]+"::OnAgitBreak"; } else { donpcevent "Manager#"+.Castles$[.@j]+"::OnAgitEnd2"; - killmonster .Castles$[.@j], "Steward#"+.EndLabel$[.@j-20]+"::OnStartArena"; } } } - break; } } + killmonster .Castles$[.@j], "Steward#"+.EndLabel$[.@j-20]+"::OnStartArena"; + } + } + } + break; + } + } set .Init,0; freeloop(0); end; @@ -96,10 +107,11 @@ function Disp_Owner { set .@o, getcastledata(getarg(0),1); if (.@o) announce "The ["+getcastlename(getarg(0))+"] castle "+((getarg(1))?"has been conquered":"is currently held")+" by the ["+getguildname(.@o)+"] guild.",bc_all|bc_woe; else announce "The ["+getcastlename(getarg(0))+"] castle is currently unoccupied.",bc_all|bc_woe; - return; } - + return; +} function Add_Zero { - return ((getarg(0)<10)?"0":"")+getarg(0)+(getarg(1,0)?".":":")+"00"; } + return ((getarg(0)<10)?"0":"")+getarg(0)+(getarg(1,0)?".":":")+"00"; +} OnReward: for(set .@i,0; .@i<30; set .@i,.@i+1) @@ -112,15 +124,21 @@ OnReward: if (isloggedin(.@acc[.@j],.@char[.@j])) { for(set .@k,0; .@k<getarraysize(.Reward); set .@k,.@k+2) getitem .Reward[.@k], .Reward[.@k+1], .@acc[.@j]; - message rid2name(.@acc[.@j]),"You have been rewarded for conquering "+getcastlename(.Castles$[.@i])+"."; } } } + message rid2name(.@acc[.@j]),"You have been rewarded for conquering "+getcastlename(.Castles$[.@i])+"."; + } + } + } return; OnPCLoadMapEvent: if (!compare(strcharinfo(3),"g_cas")) end; - sleep2 1000; - message strcharinfo(0), getcastlename(strcharinfo(3))+" is inactive during this WOE session."; - sleep2 5000; - if (compare(strcharinfo(3),"g_cas")) warp "SavePoint",0,0; + if (((.AutoKick && .Active[0]) || (.NoOwner && !getcastledata(strcharinfo(3),1))) && !(.Active[0]&(1<<getd("."+strcharinfo(3))))) { + if (getcharid(2) && getcastledata(strcharinfo(3),1) == getcharid(2)) end; + sleep2 1000; + message strcharinfo(0), getcastlename(strcharinfo(3))+" is currently inactive."; + sleep2 5000; + if (compare(strcharinfo(3),"g_cas")) warp "SavePoint",0,0; + } end; OnMenu: @@ -130,198 +148,238 @@ while(1) { if (!.Size) mes "The War of Emperium is ^0055FFactive^000000."; else { for(set .@i,0; .@i<.Size; set .@i,.@i+4) - if (gettime(4)==$WOE_CONTROL[.@i] && gettime(3)>=$WOE_CONTROL[.@i+1] && gettime(3)<$WOE_CONTROL[.@i+2]) { - set .@i, $WOE_CONTROL[.@i+2]; break; } + if (gettime(4) == $WOE_CONTROL[.@i] && gettime(3) >= $WOE_CONTROL[.@i+1] && gettime(3) < $WOE_CONTROL[.@i+2]) { + set .@i, $WOE_CONTROL[.@i+2]; + break; + } mes "The War of Emperium is ^0055FFactive^000000 until ^FF0000"+Add_Zero(.@i)+"^000000 in the following regions:"; mes " "; for(set .@i,0; .@i<6; set .@i,.@i+1) - if (.Active[1]&(1<<(.@i+1))) mes " > ^777777"+.Regions$[.@i]+"^000000"; } + if (.Active[1]&(1<<(.@i+1))) mes " > ^777777"+.Regions$[.@i]+"^000000"; + } } else { set .@j,0; set .@k,0; for(set .@i,0; .@i<.Size; set .@i,.@i+4) - if ((gettime(4)==$WOE_CONTROL[.@i] && gettime(3)<=$WOE_CONTROL[.@i+1]) || gettime(4)<$WOE_CONTROL[.@i]) { - set .@j, $WOE_CONTROL[.@i]; set .@k, $WOE_CONTROL[.@i+1]; break; } + if ((gettime(4) == $WOE_CONTROL[.@i] && gettime(3) <= $WOE_CONTROL[.@i+1]) || gettime(4) < $WOE_CONTROL[.@i]) { + set .@j, $WOE_CONTROL[.@i]; set .@k, $WOE_CONTROL[.@i+1]; + break; + } if (!.@j && !.@k) { - set .@j, $WOE_CONTROL[0]; set .@k, $WOE_CONTROL[1]; } + set .@j, $WOE_CONTROL[0]; + set .@k, $WOE_CONTROL[1]; + } mes "The War of Emperium is ^777777inactive^000000."; if (.Size) { mes " "; mes "The next session will begin"; - mes "on ^0055FF"+.Days$[.@j]+"^000000 at "+Add_Zero(.@k)+"^000000."; } } + mes "on ^0055FF"+.Days$[.@j]+"^000000 at "+Add_Zero(.@k)+"^000000."; + } + } next; switch(select(""+((.CastleWarp || .Active[1])?" ~ Warp to castles...":"")+": ~ Check schedule...: ~ View castle owners...:"+((getgmlevel()<.GMAccess || !getgmlevel())?"":" ~ Manage sessions...")+": ~ ^777777Cancel^000000")) { + case 1: + set .@menu$,""; + for(set .@i,0; .@i<6; set .@i,.@i+1) { + if (.CastleWarp || .Active[1]&(1<<(.@i+1))) + set .@menu$, .@menu$+" ~ "+((.Active[1]&(1<<(.@i+1)))?"^0055FF":"^777777")+.Regions$[.@i]+" Castles^000000"; + set .@menu$, .@menu$+":"; + } + set .@i, select(.@menu$)-1; + set .@menu$,""; + for(set .@j,.@i*5; .@j<(.@i*5)+5; set .@j,.@j+1) { + if (.CastleWarp || .Active[0]&(1<<.@j)) + set .@menu$, .@menu$+" ~ "+((.Active[0]&(1<<.@j))?"^0055FF":"^777777")+getcastlename(.Castles$[.@j])+"^000000"; + set .@menu$, .@menu$+":"; + } + set .@j, select(.@menu$)-1; + warp .Map$[.@i],.MapX[(.@i*5)+.@j],.MapY[(.@i*5)+.@j]; + close; + case 2: + mes "[Schedule]"; + if (.Size) { + freeloop(1); + for(set .@i,0; .@i<.Size; set .@i,.@i+4) { + mes "> ^FF0000"+.Days$[$WOE_CONTROL[.@i]]+" ("+Add_Zero($WOE_CONTROL[.@i+1])+"-"+Add_Zero($WOE_CONTROL[.@i+2])+")^000000"; + for(set .@j,0; .@j<30; set .@j,.@j+1) + if ($WOE_CONTROL[.@i+3]&(1<<.@j)) mes " ~ "+getcastlename(.Castles$[.@j])+" ^777777("+.Castles$[.@j]+")^000000"; + if (.@i+4 < .Size) mes " "; + } + freeloop(0); + } + else mes "No times are configured."; + next; + break; + case 3: + mes "[Castle Ownership]"; + for(set .@i,0; .@i<6; set .@i,.@i+1) { + set .@k, .@i*5; + mes "> ^FF0000"+.Regions$[.@i]+"^000000"; + for(set .@j,.@k; .@j<(.@k+5); set .@j,.@j+1) { + set .@t, getcastledata(.Castles$[.@j],1); + mes " ~ "+getcastlename(.Castles$[.@j])+": "+((.@t)?"^0055FF"+getguildname(.@t):"^777777unoccupied")+"^000000"; + } + if (.@i < 5) mes " "; + } + next; + break; + case 4: + while(1) { + mes "[Session Manager]"; + mes "There are ^0055FF"+(.Size/4)+" session(s)^000000 configured."; + mes "What would you like to do?"; + next; + switch(select(" ~ Add a session...: ~ Delete a session...: ~ Reload settings...:"+((agitcheck() || agitcheck2())?" ~ End WOE session...":"")+": ~ ^777777Go back^000000")) { case 1: - set .@menu$,""; - for(set .@i,0; .@i<6; set .@i,.@i+1) { - if (.CastleWarp || .Active[1]&(1<<(.@i+1))) set .@menu$, .@menu$+" ~ "+((.Active[1]&(1<<(.@i+1)))?"^0055FF":"^777777")+.Regions$[.@i]+" Castles^000000"; - set .@menu$, .@menu$+":"; } - set .@i, select(.@menu$)-1; - set .@menu$,""; - for(set .@j,.@i*5; .@j<(.@i*5)+5; set .@j,.@j+1) { - if (.CastleWarp || .Active[0]&(1<<.@j)) set .@menu$, .@menu$+" ~ "+((.Active[0]&(1<<.@j))?"^0055FF":"^777777")+getcastlename(.Castles$[.@j])+"^000000"; - set .@menu$, .@menu$+":"; } - set .@j, select(.@menu$)-1; - warp .Map$[.@i],.MapX[(.@i*5)+.@j],.MapY[(.@i*5)+.@j]; - close; - case 2: - mes "[Schedule]"; - if (.Size) { - freeloop(1); - for(set .@i,0; .@i<.Size; set .@i,.@i+4) { - mes "> ^FF0000"+.Days$[$WOE_CONTROL[.@i]]+" ("+Add_Zero($WOE_CONTROL[.@i+1])+"-"+Add_Zero($WOE_CONTROL[.@i+2])+")^000000"; - for(set .@j,0; .@j<30; set .@j,.@j+1) - if ($WOE_CONTROL[.@i+3]&(1<<.@j)) mes " ~ "+getcastlename(.Castles$[.@j])+" ^777777("+.Castles$[.@j]+")^000000"; - if (.@i+4<.Size) mes " "; } - freeloop(0); - } else mes "No times are configured."; + mes "[New Session]"; + if (.Size > 127) { + mes "You have already reached the maximum of 32 sessions."; + next; + break; + } + mes "Select a day."; next; - break; - case 3: - mes "[Castle Ownership]"; - for(set .@i,0; .@i<6; set .@i,.@i+1) { - set .@k, .@i*5; - mes "> ^FF0000"+.Regions$[.@i]+"^000000"; - for(set .@j,.@k; .@j<(.@k+5); set .@j,.@j+1) { - set .@t, getcastledata(.Castles$[.@j],1); - mes " ~ "+getcastlename(.Castles$[.@j])+": "+((.@t)?"^0055FF"+getguildname(.@t):"^777777unoccupied")+"^000000"; } - if (.@i<5) mes " "; } + set .@Day, select(" ~ "+implode(.Days$,": ~ "))-1; + mes "[New Session]"; + mes "Select a start time for ^0055FF"+.Days$[.@Day]+"^000000."; next; - break; - case 4: - while(1) { - mes "[Session Manager]"; - mes "There are ^0055FF"+(.Size/4)+" session(s)^000000 configured."; - mes "What would you like to do?"; + set .@menu$,""; + for(set .@i,0; .@i<23; set .@i,.@i+1) + set .@menu$, .@menu$+" ~ "+Add_Zero(.@i,1)+":"; + set .@Start, select(.@menu$)-1; + mes "[New Session]"; + mes "Select an end time for ^0055FF"+.Days$[.@Day]+"^000000."; next; - switch(select(" ~ Add a session...: ~ Delete a session...: ~ Reload settings...:"+((agitcheck() || agitcheck2())?" ~ End WOE session...":"")+": ~ ^777777Go back^000000")) { - case 1: - mes "[New Session]"; - if (.Size > 127) { - mes "You have already reached the maximum of 32 sessions."; next; break; } - mes "Select a day."; - next; - set .@Day, select(" ~ "+implode(.Days$,": ~ "))-1; + set .@menu$,""; + for(set .@i,.@Start+1; .@i<24; set.@i,.@i+1) + set .@menu$, .@menu$+" ~ "+Add_Zero(.@i,1)+":"; + set .@End, select(.@menu$)+.@Start; + for(set .@i,0; .@i<.Size; set .@i,.@i+4) + if (.@Day == $WOE_CONTROL[.@i] && + ((.@Start >= $WOE_CONTROL[.@i+1] && .@Start < $WOE_CONTROL[.@i+2]) || + (.@End > $WOE_CONTROL[.@i+1] && .@End <= $WOE_CONTROL[.@i+2]) || + (.@Start <= $WOE_CONTROL[.@i+1] && .@End >= $WOE_CONTROL[.@i+2]))) { mes "[New Session]"; - mes "Select a start time for ^0055FF"+.Days$[.@Day]+"^000000."; + mes "The chosen times overlap with an existing session."; next; - set .@menu$,""; - for(set .@i,0; .@i<23; set .@i,.@i+1) - set .@menu$, .@menu$+" ~ "+Add_Zero(.@i,1)+":"; - set .@Start, select(.@menu$)-1; + set .@d,1; + break; + } + if (.@d) { set .@d,0; break; } + set .@Castle,0; + while(1) { + mes "[New Session]"; + mes "^0055FF"+.Days$[.@Day]+" ("+Add_Zero(.@Start)+"-"+Add_Zero(.@End)+")^000000"; + mes " > Castles:"; + if (!.@Castle) mes " ~ ^777777(none selected)^000000"; + else for(set .@i,0; .@i<30; set .@i,.@i+1) + if (.@Castle&(1<<.@i)) mes " ~ "+getcastlename(.Castles$[.@i])+" ("+.Castles$[.@i]+")"; + next; + set .@menu$,((.@Castle)?" ~ ^FF0000Finished...^000000":"")+":"; + for(set .@i,0; .@i<30; set .@i,.@i+1) + set .@menu$, .@menu$+" ~ "+((.@Castle&(1<<.@i))?"^0055FF":"")+getcastlename(.Castles$[.@i])+" ("+.Castles$[.@i]+")^000000:"; + set .@i, select(.@menu$)-1; + if (.@i) set .@Castle, .@Castle^(1<<(.@i-1)); + else { mes "[New Session]"; - mes "Select an end time for ^0055FF"+.Days$[.@Day]+"^000000."; + mes "Are you sure?"; next; - set .@menu$,""; - for(set .@i,.@Start+1; .@i<24; set.@i,.@i+1) - set .@menu$, .@menu$+" ~ "+Add_Zero(.@i,1)+":"; - set .@End, select(.@menu$)+.@Start; - for(set .@i,0; .@i<.Size; set .@i,.@i+4) - if (.@Day==$WOE_CONTROL[.@i] && - ((.@Start >= $WOE_CONTROL[.@i+1] && .@Start < $WOE_CONTROL[.@i+2]) || - (.@End > $WOE_CONTROL[.@i+1] && .@End <= $WOE_CONTROL[.@i+2]) || - (.@Start <= $WOE_CONTROL[.@i+1] && .@End >= $WOE_CONTROL[.@i+2]))) { + switch(select(" ~ ^0055FFAdd session...^000000: ~ Continue selecting castles...: ~ ^777777Cancel^000000")) { + case 1: + for(set .@i,0; .@i<.Size; set .@i,.@i+4) + if ((.@Day == $WOE_CONTROL[.@i] && .@End <= $WOE_CONTROL[.@i+1]) || .@Day < $WOE_CONTROL[.@i]) { + set .@d,1; + break; + } + if (!.@d) { set .@d,1; set .@i,.Size; } + copyarray $WOE_CONTROL[.@i+4], $WOE_CONTROL[.@i], .Size-.@i; + setarray $WOE_CONTROL[.@i], .@Day, .@Start, .@End, .@Castle; + set .Size, getarraysize($WOE_CONTROL); + case 3: mes "[New Session]"; - mes "The chosen times overlap with an existing session."; + mes ((.@d)?"Session added.":"Cancelled."); next; - set .@d,1; break; } + set .@d,1; + case 2: + break; + } if (.@d) { set .@d,0; break; } - set .@Castle,0; - while(1) { - mes "[New Session]"; - mes "^0055FF"+.Days$[.@Day]+" ("+Add_Zero(.@Start)+"-"+Add_Zero(.@End)+")^000000"; - mes " > Castles:"; - if (!.@Castle) mes " ~ ^777777(none selected)^000000"; - else for(set .@i,0; .@i<30; set .@i,.@i+1) - if (.@Castle&(1<<.@i)) mes " ~ "+getcastlename(.Castles$[.@i])+" ("+.Castles$[.@i]+")"; - next; - set .@menu$,((.@Castle)?" ~ ^FF0000Finished...^000000":"")+":"; - for(set .@i,0; .@i<30; set .@i,.@i+1) - set .@menu$, .@menu$+" ~ "+((.@Castle&(1<<.@i))?"^0055FF":"")+getcastlename(.Castles$[.@i])+" ("+.Castles$[.@i]+")^000000:"; - set .@i, select(.@menu$)-1; - if (.@i) set .@Castle, .@Castle^(1<<(.@i-1)); - else { - mes "[New Session]"; - mes "Are you sure?"; - next; - switch(select(" ~ ^0055FFAdd session...^000000: ~ Continue selecting castles...: ~ ^777777Cancel^000000")) { - case 1: - for(set .@i,0; .@i<.Size; set .@i,.@i+4) - if ((.@Day==$WOE_CONTROL[.@i] && .@End<=$WOE_CONTROL[.@i+1]) || .@Day<$WOE_CONTROL[.@i]) { - set .@d,1; break; } - if (!.@d) { set .@d,1; set .@i,.Size; } - copyarray $WOE_CONTROL[.@i+4], $WOE_CONTROL[.@i], .Size-.@i; - setarray $WOE_CONTROL[.@i], .@Day, .@Start, .@End, .@Castle; - set .Size, getarraysize($WOE_CONTROL); - case 3: - mes "[New Session]"; - mes ((.@d)?"Session added.":"Cancelled."); - next; - set .@d,1; - case 2: - break; - } if (.@d) { set .@d,0; break; } } - } break; - case 2: - mes "[Remove Session]"; - if (!.Size) { - mes "There are no sessions configured."; next; break; } - mes "Select a session to remove."; - next; - set .@menu$,""; - for(set .@i,0; .@i<.Size; set .@i,.@i+4) - set .@menu$, .@menu$+" ~ "+.Days$[$WOE_CONTROL[.@i]]+" ("+Add_Zero($WOE_CONTROL[.@i+1],1)+"-"+Add_Zero($WOE_CONTROL[.@i+2],1)+"):"; - set .@menu$, .@menu$+" ~ ^777777Cancel^000000"; - set .@i, select(.@menu$)-1; - if (.@i==(.Size/4)) break; - mes "[Remove Session]"; - mes "Delete ^0055FF"+.Days$[$WOE_CONTROL[.@i*4]]+"'s^000000 session?"; - mes "This action cannot be undone."; - next; - set .@j, select(" ~ ^FF0000Delete session...^000000: ~ ^777777Cancel^000000"); - mes "[Remove Session]"; - if (.@j==2) mes "Cancelled."; - else { - deletearray $WOE_CONTROL[.@i*4],4; - set .Size, getarraysize($WOE_CONTROL); - mes "Session deleted."; } - next; - break; - case 3: - mes "[Reload Settings]"; - mes "This will trigger all events related to new session configurations, if any."; - if (agitcheck() || agitcheck2()) { mes " "; mes "Be aware that this will disrupt the current WOE session."; } - next; - set .@i, select(" ~ ^0055FFReload settings...^000000: ~ ^777777Cancel^000000"); - mes "[Reload Settings]"; - if (.@i==2) mes "Cancelled."; - else { - set .Init,1; - donpcevent "WOE_CONTROL::OnMinute00"; - mes "Variables have been re-initialized."; } - next; - break; - case 4: - mes "[Force Agit End]"; - if (!agitcheck() && !agitcheck2()) { - mes "WOE has already ended."; next; break; } - mes "This command will safely execute all AgitEnd events."; - mes " "; - mes "Kill the current WOE session?"; - next; - set .@i, select(" ~ ^FF0000End session...^000000:"+((.Reward[0])?" ~ ^FF0000End session without rewards...^000000":"")+": ~ ^777777Cancel^000000"); - mes "[Force Agit End]"; - if (.@i==3) mes "Cancelled."; - else { - set .ForceEnd, .@i; - donpcevent "WOE_CONTROL::OnWOEEnd"; - mes "WOE session terminated."; } - next; - break; - case 5: - set .@d,1; break; - } if (.@d) { set .@d,0; break; } } + } + } + break; + case 2: + mes "[Remove Session]"; + if (!.Size) { + mes "There are no sessions configured."; + next; + break; + } + mes "Select a session to remove."; + next; + set .@menu$,""; + for(set .@i,0; .@i<.Size; set .@i,.@i+4) + set .@menu$, .@menu$+" ~ "+.Days$[$WOE_CONTROL[.@i]]+" ("+Add_Zero($WOE_CONTROL[.@i+1],1)+"-"+Add_Zero($WOE_CONTROL[.@i+2],1)+"):"; + set .@menu$, .@menu$+" ~ ^777777Cancel^000000"; + set .@i, select(.@menu$)-1; + if (.@i == (.Size/4)) break; + mes "[Remove Session]"; + mes "Delete ^0055FF"+.Days$[$WOE_CONTROL[.@i*4]]+"'s^000000 session?"; + mes "This action cannot be undone."; + next; + set .@j, select(" ~ ^FF0000Delete session...^000000: ~ ^777777Cancel^000000"); + mes "[Remove Session]"; + if (.@j == 2) mes "Cancelled."; + else { + deletearray $WOE_CONTROL[.@i*4],4; + set .Size, getarraysize($WOE_CONTROL); + mes "Session deleted."; + } + next; + break; + case 3: + mes "[Reload Settings]"; + mes "This will trigger all events related to new session configurations, if any."; + if (agitcheck() || agitcheck2()) { + mes " "; + mes "Be aware that this will disrupt the current WOE session."; + } + next; + set .@i, select(" ~ ^0055FFReload settings...^000000: ~ ^777777Cancel^000000"); + mes "[Reload Settings]"; + if (.@i == 2) mes "Cancelled."; + else { + set .Init,1; + donpcevent "WOE_CONTROL::OnMinute00"; + mes "Variables have been re-initialized."; + } + next; + break; + case 4: + mes "[Force Agit End]"; + if (!agitcheck() && !agitcheck2()) { + mes "WOE has already ended."; + next; + break; + } + mes "This command will safely execute all AgitEnd events."; + mes " "; + mes "Kill the current WOE session?"; + next; + set .@i, select(" ~ ^FF0000End session...^000000:"+((.Reward[0])?" ~ ^FF0000End session without rewards...^000000":"")+": ~ ^777777Cancel^000000"); + mes "[Force Agit End]"; + if (.@i == 3) mes "Cancelled."; + else { + set .ForceEnd, .@i; + donpcevent "WOE_CONTROL::OnWOEEnd"; + mes "WOE session terminated."; + } + next; break; case 5: - close; } - } + set .@d,1; break; + } + if (.@d) { set .@d,0; break; } + } break; + case 5: + close; + } } }
\ No newline at end of file diff --git a/npc/re/cities/mora.txt b/npc/re/cities/mora.txt index 0f019ad7e..5c2a93aee 100644 --- a/npc/re/cities/mora.txt +++ b/npc/re/cities/mora.txt @@ -307,14 +307,14 @@ mora,55,124,2 script Cat Traveler 495,{ } mora,131,165,4 script Bifrost Resident#1 520,{ - mes "[Bifrost resident]"; + mes "[Bifrost Resident]"; mes "Welcome to the workshop"; mes "of the west clan. If you"; mes "want your Loki Muffler"; mes "enchanted, please contact"; mes "my boss. He makes miracles!"; next; - mes "[Bifrost resident]"; + mes "[Bifrost Resident]"; mes "On a side note... I think I'm"; mes "really cute, don't you agree?"; close; diff --git a/npc/re/jobs/3-1/guillotine_cross.txt b/npc/re/jobs/3-1/guillotine_cross.txt new file mode 100644 index 000000000..ec1009ccb --- /dev/null +++ b/npc/re/jobs/3-1/guillotine_cross.txt @@ -0,0 +1,3977 @@ +//===== rAthena Script ======================================= +// Guillotine Cross Job Change Quest +//===== By: ================================================== +//= Muad_Dib +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN r16945+ +//===== Description: ========================================= +//= [Official Conversion] +//= Job change Quest from Assassin / Assassin Cross -> Guillotine Cross. +//===== Additional Comments: ================================= +//= 1.0 Adapted from original script. [Euphy] +//============================================================ + +que_job01,75,96,3 script Guild Member#3rdgc01 997,{ + 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(0),".....")) { + case 1: + mes "[Ahcart]"; + mes strcharinfo(0)+"?"; + 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 "You should be able to find it easily."; + mes "Go now."; + set job_3rd_gc, 3; + setquest 7101; + close; + case 2: + mes "[Ahcart]"; + mes "Got it."; + mes "But don't think about it for too long."; + set job_3rd_gc, 2; + close; + } + } + mes "[Ahcart]"; + mes "Hmm, you are my peer."; + mes "I'm Ahcart. I'm from Veins."; + mes "Hmm..."; + 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."; + set job_3rd_gc, 1; + 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?"; + next; + switch(select("I'll do it.:I'm not ready.")) { + 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 "You should be able to find it easily."; + mes "Go now."; + set job_3rd_gc, 3; + setquest 7101; + close; + case 2: + mes "[Ahcart]"; + mes "You are too cautious."; + mes "I get the sense that you don't want to work for us."; + close; + } + } else if (job_3rd_gc == 3) { + mes "[Ahcart]"; + mes "Go to Veins and find a chapter."; + mes "You can hear more details from there."; + close; + } else if (job_3rd_gc > 3) { + mes "[Ahcart]"; + mes "Good luck to you."; + close; + } else { //FIXME: What is this section for? + mes "[Ahcart]"; + mes "As you know, in the assassin guild, there are normal Assassins and Assassin Crosses."; + next; + mes "[Ahcart]"; + mes "But there is one more class that operates in darkness."; + mes "Members of that class are holding their power in check until they want to be revealed themselves."; + next; + mes "[Ahcart]"; + mes "Well, someday you will know about them."; + close; + } +} + +veins,257,256,0 warp #gate_to_guil01 1,1,job3_guil01,9,93 +job3_guil01,6,93,0 warp #gate_to_guil02 1,1,veins,254,255 +job3_guil01,18,48,0 warp #gate_to_guil03 1,1,job3_guil01,68,91 +job3_guil01,67,95,0 warp #gate_to_guil04 1,1,job3_guil01,18,53 +job3_guil01,80,77,0 script #gate_to_guil05 45,1,1,{ + end; +OnTouch: + if (job_3rd_gc > 3) + warp "job3_guil01",60,50; + else { + mes "[Daora]"; + mes "Hey, there!"; + mes "No trespassing!"; + close; + } + end; +} +job3_guil01,65,50,0 warp #gate_to_guil06 1,1,job3_guil01,83,77 +job3_guil01,51,55,0 script #gate_to_guil07 45,1,1,{ + end; +OnTouch: + if (job_3rd_gc == 4 || job_3rd_gc == 14 || job_3rd_gc > 17) + warp "job3_guil01",12,7; + else { + mes " [-----------------------------]"; + mes " No trespassing without "; + mes " permission. "; + mes " I'm not a "; + mes " generous person. "; + mes " - Mayshell "; + mes " [-----------------------------]"; + close; + } + end; +} +job3_guil01,11,4,0 warp #gate_to_guil08 1,1,job3_guil01,51,50 +job3_guil01,51,44,0 script #gate_to_guil09 45,1,1,{ + end; +OnTouch: + if (job_3rd_gc == 11 || job_3rd_gc == 12) + warp "job3_guil01",79,23; + else if (job_3rd_gc > 19) + warp "job3_guil01",144,57; + else { + mes "You don't have anything to do."; + close; + } + end; +} +job3_guil01,79,27,0 warp #gate_to_guil10 1,1,job3_guil01,51,50 +job3_guil01,143,61,0 warp #gate_to_guil11 1,1,job3_guil01,51,50 + +function script func_3rdgc { + set .@n$, "["+strcharinfo(0)+"]"; + mes .@n$; + mes "Let me collect all the information..."; + set .@i,0; + if (checkquest(7112) == 1) { mes "Madelle saw a person who looked like a priest from Rachel late at night."; set .@i,.@i+1; } + if (checkquest(7113) == 1) { mes "Crave said that there was a girl who bought lots of things day and night."; set .@i,.@i+1; } + if (checkquest(7114) == 1) { mes "Trovan said that there was a guy who could be seen often but is not a hotel guest, so he is suspicious."; set .@i,.@i+1; } + if (!getarg(0)) { + set .@i,.@i-2; + if (checkquest(7115) == 1) { mes "A peddler wears shabby clothes, but she buys fresh and expensive things every single day."; set .@i,.@i+1; } + if (checkquest(7116) == 1) { mes "The old man in village said that there was a girl who showed up in same place at the same time, so maybe moved here."; set .@i,.@i+1; } + } + next; + if (.@i == 3) { + mes .@n$; + mes "One day, Madelle saw a person who looked like a priest of Rachel,"; + mes "and Trovan is suspicious of why that person is here."; + next; + mes .@n$; + mes "But the reason that Trovan suspects them is..."; + next; + switch(select("They are unfamiliar:The residence is unclear")) { + case 1: + mes .@n$; + mes "No, that's not the reason. The guard sees new adventurers every day."; + mes "Besides, Madelle told me that it was a guy and Crave said it was a girl."; + mes "I'm confused."; + next; + mes .@n$; + mes "Let me rethink this."; + set job_3rd_gc, 7; + close; + case 2: + mes .@n$; + mes "Yeah, adventurers often visit so it can't be a proper reason."; + next; + mes .@n$; + mes "The thing Trovan suspected is that his residence is unclear. But he shows up often and buys supplies regularly."; + next; + mes .@n$; + mes "But Crave said it was a girl."; + mes "Madelle said that she witnessed a guy."; + next; + if (getarg(0)) { + if(select("Madelle witnessed 2...:There are more than 2...") == 1) { + mes .@n$; + mes "Madelle said that she saw one more person in the darkness."; + mes "Then is it a girl who brought the supplies?"; + next; + } + } + else select("It could be a helper."); + mes .@n$; + mes "Yeah. There could be one more helper."; + mes "She sent a person to buy the stuff instead of herself."; + mes "Or it could be a peer Madelle can't see."; + next; + mes .@n$; + mes "Crave said that she comes here day and night to buy stuff regularly."; + mes "Then I know what I have to do."; + set job_3rd_gc, 8; + close; + } + } + mes .@n$; + mes "Umm..."; + mes "Do I need more information? I think something more is needed."; + close; +} + +job3_guil01,82,95,3 script Daora#3rdgc02 940,{ + mes "[Daora]"; + if (Class == Job_Assassin || Class == Job_Assassin_Cross || Class == Job_Baby_Assassin) { + if (job_3rd_gc < 4) { + if (Sex) { + mes "Oh~ you're good-looking!"; + mes "So, what do you want?"; + } else { + mes "Hmm, you're a girl."; + mes "Ok pick up whatever you want."; + } + next; + mes "[Daora]"; + mes "I'm not sure that you already know or not, but we are selling special Morroc liquor."; + mes "Which one do you want?"; + next; + switch(select("Tropical Sograt:Vermilion on the Beach:No thanks!:......")) { + case 1: + mes "[Daora]"; + if (Zeny > 799) { + mes "Here you are, take it."; + set Zeny, Zeny - 800; + getitem 12112,1; //Tropical_Sograt + close; + } + mes "It's 800 zeny per glass of Tropical Sograt."; + close; + case 2: + mes "[Daora]"; + if (Zeny > 799) { + mes "Here you are, take it."; + set Zeny, Zeny - 800; + getitem 12113,1; //Vermilion_The_Beach + close; + } + mes "It's 800 zeny per glass of Vermilion on the Beach."; + close; + case 3: + mes "[Daora]"; + mes "Don't show me your nervousness!"; + specialeffect2 EF_HIT1; + percentheal -30,0; + close; + case 4: + mes "[Daora]"; + mes "What? Why are you looking at me like that?"; + mes "Oh? You are a person of this world."; + mes "Your name is..."; + next; + mes "["+strcharinfo(0)+"]"; + mes strcharinfo(0)+"."; + next; + mes "[Daora]"; + if (job_3rd_gc == 3) { + mes "Ah~ I've heard your name before."; + mes "Umm... right!"; + mes "You were recommended by Ahcart."; + next; + mes "[Daora]"; + mes "Yeah, can you find an entrance to an alley in the corner?"; + mes "Go in there, then you can hear a more detailed story."; + mes "Take on this special task~!"; + set job_3rd_gc, 4; + changequest 7101,7102; + close; + } + mes "What, I don't know that name."; + mes "Hey, I have to be in business, so can you move over?"; + close; + } + } else if (job_3rd_gc == 4) { + mes "The room in the corner. Feel free to enter it because no one enters that room anyway."; + mes "Or do you need something?"; + next; + mes "[Daora]"; + mes "Ah, I'm not selling liquir to someone who's started the special task."; + next; + switch(select("Not selling liquor...:I need information.:Fine then punk!")) { + case 1: + mes "[Daora]"; + mes "Hey, you are performing a task now."; + mes "And you want me to sell you booze?!"; + mes "Is every assasin like you? Lazy boozers?"; + close; + case 2: + mes "[Daora]"; + mes "You dare to demand information after taking a task."; + mes "You didn't meet a master yet?"; + mes "As if I would just tell you because you ask!"; + mes "You are childish."; + close; + case 3: + mes "[Daora]"; + mes "Don't talk to me like I'm one of your friends!"; + mes "You have no right to be that way!"; + specialeffect2 EF_HIT1; + percentheal -30,0; + close; + } + } else if (job_3rd_gc == 10) { + mes "Oh~! good for me."; + mes "Who is she?"; + mes "You told her that we'll protect her?"; + next; + select("Yes,I did."); + mes "[Daora]"; + mes "Hmm, I see..."; + mes "Your opinion will be important."; + mes "I got it."; + next; + mes "[Daora]"; + mes "She was so scared,"; + mes "so I gave her a hot drink"; + mes "and took her to a her room."; + next; + mes "[Daora]"; + mes "Well... there is better place to keep an eye on her than this room."; + next; + select("No, I just protect..."); + mes "[Daora]"; + mes "Ah~ whatever anyway you make me work."; + mes "To protect that young girl."; + next; + mes "[Daora]"; + mes "Mayshell told me that I have to support you, so I'm not going to complain."; + next; + mes "[Daora]"; + mes "So, don't worry."; + mes "Are you supposed to be here for her?"; + mes "Go ahead."; + set job_3rd_gc, 11; + close; + } else if (job_3rd_gc == 11) { + mes "She is in a room."; + mes "The one in front of master's room."; + mes "Can you find it?"; + close; + } else if (job_3rd_gc == 12) { + mes "That girl..."; + mes "will be sent to her home?"; + mes "Don't worry about that."; + next; + mes "[Daora]"; + mes "Mayshell and the other guys will handle it."; + close; + } else if (job_3rd_gc == 14) { + mes "Oh, it's perfect timing."; + mes "Mayshell will call you."; + mes "Go to the master's room."; + close; + } else if (job_3rd_gc > 4 && job_3rd_gc < 18) { + mes "What do you need?"; + mes "We don't sell to anyone who has started the special task."; + next; + switch(select("....:Give me 1 glass.:Then, can you give milk?")) { + case 1: + mes "[Daora]"; + mes "Why? Are you disappointed?"; + mes "Um~"; + mes "I can't let anyone on duty drink."; + close; + case 2: + mes "[Daora]"; + if (job_3rd_gc == 5) { + mes "I told you that I won't sell you any."; + mes "An empty glass is fine without liquor."; + mes "I already told you..."; + next; + mes "[Daora]"; + mes "I'll let you know all the information that I know."; + next; + mes "[Daora]"; + mes "If you need to, visit me anytime and I'll serve you a drink after your task is done."; + set job_3rd_gc, 6; + close; + } else if (job_3rd_gc == 6) { + if (checkquest(7091) == 1) { + mes "You hope that there will be something in the glass?"; + mes "Information can't come out of empty glasses."; + close; + } + mes "You need a glass?"; + mes "Mayshell's order distracted you, so you can't understand anything."; + next; + mes "[Daora]"; + mes "Ok, what do you want to know?"; + mes "You hope that there will be something in the glass?"; + next; + switch(select("Ask for help.:Handle it by yourself.")) { + case 1: + mes "[Daora]"; + mes "So, it means just killing a strange guy in the village?"; + mes "Why were you in agony because of that?"; + mes "Hmm... Let me see..."; + next; + mes "[Daora]"; + mes "Then it will need legwork?"; + mes "Where is the most crowded place in this village?"; + mes "The pub and motel."; + next; + mes "[Daora]"; + mes "And the guard of the village always keeps an eye on strange people."; + mes "Or the old merchant is quick in visual learning."; + next; + mes "[Daora]"; + mes "I can say that especially..."; + mes "Trovan, Crave who is a trader, and Madelle in the pub are quick in visual learning."; + next; + mes "[Daora]"; + mes "It's good information, isn't it?"; + setquest 7091; + next; + mes "- The advice of Daora is attached to the board with quest information. -"; + close; + case 2: + mes "[Daora]"; + mes "Ok. It's great."; + mes "Each word and behavior will be an important key of the events."; + mes "So, look around carefully and figure it out."; + next; + mes "[Daora]"; + mes "Something good will happen."; + close; + } + } else if (job_3rd_gc == 7) { + mes "You seem to be worried."; + mes "Here, It's cold water."; + mes "You think over with cold water."; + next; + switch(select("Figure out based on information.:Stop the stage.")) { + case 1: + if (checkquest(7091) == 1) set .@j,1; + callfunc "func_3rdgc",.@j; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } else if (job_3rd_gc == 8) { + if (checkquest(7092) == 1) { + mes "Wait in an alley where she usually shows up to find her, and you will be able to pursue the question."; + next; + mes "[Daora]"; + mes "Trying wouldn't hurt."; + mes "If you want to find a root, you have to find a leaf first."; + mes "Work hard."; + close; + } + mes "Did you solve it?"; + mes "What will you do?"; + next; + switch(select("Get advice.:It's a secret.")) { + case 1: + mes "[Daora]"; + mes "Can you let me know about an information you collected?"; + next; + if(select("You have a heart-to-heart talk with him.:That's impossible.") == 2) { + mes "[Daora]"; + mes "What, I can't support you properly?"; + mes "You solve it by yourself."; + close; + } + mes "[Daora]"; + mes "Hum. Got it."; + next; + mes "[Daora]"; + mes "There is a guy who looks like a priest and Trovan and Madelle saw him."; + mes "A merchant saw a girl who buys things regularly."; + next; + mes "[Daora]"; + mes "The main target is a guy,"; + mes "but the helper is a girl."; + mes "Maybe."; + next; + mes "[Daora]"; + mes "Above all,"; + mes "it's really getting to you."; + next; + mes "[Daora]"; + mes "Then it's simple."; + mes "Why don't you meet her in the place where she visits often?"; + next; + mes "[Daora]"; + mes "It's the transience of duty."; + mes "You don't know the meaning with a piece of the puzzle."; + next; + mes "[Daora]"; + mes "They can be related people or not."; + mes "Ok, I'll be very attentive to my want."; + next; + mes "[Daora]"; + mes "Right~?"; + mes "Go on a place where can look down a village well and find Melissa."; + mes "That will be helpful."; + next; + mes "- Daora's advice is attached on the board of quest. -"; + setquest 7092; + close; + case 2: + mes "[Daora]"; + mes "Umm~."; + mes "Right. There is a secret"; + mes "you can't tell anyone while perfoming a task."; + next; + mes "[Daora]"; + mes "In those regards, you surpass the standards."; + close; + } + } else if (job_3rd_gc == 9) { + if (checkquest(7093) == 1) { + mes "So, go to the east of village, you can see a narrow alley directed to the north."; + next; + mes "[Daora]"; + mes "The blind alley that Melissa told means this street."; + mes "You are thinking like a child."; + close; + } + mes "Haha... how's it going?"; + next; + switch(select("Where is the blind alley?:It's okay.")) { + case 1: + mes "[Daora]"; + mes "The blind alley?"; + mes "Hmm... well."; + mes "Is there a blind alley like our pub..."; + next; + mes "[Daora]"; + mes "Ah, in the northeast alley"; + mes "directed upside in the village,"; + mes "there is no street because"; + mes "the houses stand close together in that area."; + next; + mes "[Daora]"; + mes "Around Melissa's house,"; + mes "that is the blind alley"; + mes "for the boy, maybe."; + next; + mes "[Daora]"; + mes "It's very easy to find walking around the village."; + setquest 7093; + next; + mes "- Daora's advice is attached on the board of quest. -"; + close; + case 2: + mes "[Daora]"; + mes "Ok. It's going well."; + mes "Can I expect a good result?"; + close; + } + } else if (job_3rd_gc == 13) { + mes "I sent a girl named Estillda to her home."; + mes "Why do we handle worthless things like it?"; + next; + if (checkquest(7094) == 1) { + mes "[Daora]"; + mes "I'm not sure if he still lives..."; + mes "Anyway, he is a key artisan in Rachel,"; + mes "and can recognize all kinds of keys."; + next; + mes "[Daora]"; + mes "What? Residence?"; + mes "I told you, it's Rachel."; + mes "He maybe lives in comfort for the rest of his days in Rachel."; + next; + mes "[Daora]"; + mes "Go ask inside a pub of Rachel..."; + close; + } + mes "[Daora]"; + mes "Yeah, how's it going?"; + next; + switch(select("It progress satisfactorily.:Show the key.")) { + case 1: + mes "[Daora]"; + mes "My glass, you don't need it?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Yes. I already have enough information."; + mes "If that is a stuff has a long story behind it,"; + mes "we have only one way."; + next; + mes "[Daora]"; + mes "Right."; + mes "If you think carefully,"; + mes "you can find a way."; + next; + mes "[Daora]"; + mes "Good luck~"; + close; + case 2: + mes "[Daora]"; + mes "What is th--"; + mes "I see, that guy had this key...?"; + next; + mes "[Daora]"; + mes "It's a symbol of shrines"; + mes "and has a showy pattern."; + mes "Hmm..."; + next; + mes "[Daora]"; + mes "So, you want to know this key's use?"; + mes "If you do, go to Rachel."; + mes "There is a key artisan there."; + next; + mes "[Daora]"; + mes "Now, he is retired, but he"; + mes "spends his declining years in peace."; + mes "You can ask him yourself."; + next; + mes "[Daora]"; + mes "Ask what this key's use is."; + setquest 7094; + next; + mes "- Daora's advice is attached on the quest board. -"; + close; + } + } else if (job_3rd_gc == 15) { + if (checkquest(7095) == 1) { + mes "The field northwest of Veins."; + mes "You can find that easily with a map."; + mes "There are lots of wolves, so be careful."; + close; + } + mes "Hey, how's Mayshell?"; + mes "Can you fix an uncomfortable way of talking?"; + next; + mes "[Daora]"; + mes "Don't pretend to be a noblewoman."; + next; + switch(select("I'm going to go.:Do you know a mansion around Veins?")) { + case 1: + mes "[Daora]"; + mes "Ok."; + mes "Don't be carried away by ill-advised bravery."; + mes "Well... it's also hard to be killed."; + close; + case 2: + mes "[Daora]"; + mes "Yes, sure."; + mes "There is a mansion between ravines."; + mes "It's very gloomy."; + mes "I don't understand his taste."; + next; + mes "[Daora]"; + mes "And that mansion is built in back of a ravine..."; + mes "It's always dark like the night."; + next; + mes "[Daora]"; + mes "The location?"; + mes "Well..."; + mes "It's in the northwest field of Veins."; + mes "You can go through a narrow road to northeast."; + setquest 7095; + next; + mes "- Daora's advice is attached on the board of quest. -"; + next; + mes "[Daora]"; + mes "There are lots of scary wolves in that area, be careful."; + close; + } + } else { + mes "No. It's not funny anymore."; + close; + } + case 3: + mes "[Daora]"; + mes "Our milk is expensive!"; + mes "Give me 500 zeny for a cup."; + next; + switch(select("It's ok. Give me a cup of milk.:You are a barefaced robber!")) { + case 1: + mes "[Daora]"; + if (Zeny > 499) { + mes "Here you are. Milk."; + mes "Then take a rest."; + set Zeny, Zeny - 500; + getitem 519,1; //Milk + close; + } + mes "I told you, it's 500 zeny."; + mes "A poor man. You have only a fine figure!"; + close; + case 2: + mes "[Daora]"; + mes "An impertinent fellow!"; + specialeffect2 EF_HIT1; + percentheal -30,0; + close; + } + } + } else { + mes "You've completed the task perfectly."; + mes "What do you need now?"; + mes "Do you need something else?"; + next; + mes "[Daora]"; + mes "If you decide on a way to walk, it's time to start newly."; + mes "Everyone is waiting for you."; + close; + } + } else if (Class == Job_Guillotine_Cross || Class == Job_Guillotine_Cross_T || Class == Job_Baby_Cross) { + mes "[Daora]"; + if (Sex) { + mes "Oh~ you're good-looking~!"; + mes "It's worthwhile to open a pub~"; + mes "I can feel fruitful labors whenever I see a guy like you~"; + } else { + mes "Hmm... You look as good as I did in my youth."; + mes "What do you want?"; + } + next; + switch(select("Tropical Sograt:Vermilion on the Beach:Milk")) { + case 1: + mes "[Daora]"; + if (Zeny > 799) { + mes "Here you are, take it."; + set Zeny, Zeny - 800; + getitem 12112,1; //Tropical_Sograt + close; + } + mes "It's 800 zeny per 1 glass of Tropical Sograt."; + close; + case 2: + mes "[Daora]"; + if (Zeny > 799) { + mes "Here you are, take it."; + set Zeny, Zeny - 800; + getitem 12113,1; //Vermilion_The_Beach + close; + } + mes "[Daora]"; + mes "It's 800 zeny per 1 glass of Vermilion on the Beach."; + close; + case 3: + mes "[Daora]"; + if (Sex) { + mes "Uh... Umm..."; + mes "It's complicated order. but I don't have any choice since you want it."; + next; + mes "[Daora]"; + if (Zeny > 499) { + mes "I feel sorry to take 500 zeny per bottle, but I have to."; + mes "It's very hard to get milk in Veins."; + set Zeny, Zeny - 500; + getitem 519,1; //Milk + close; + } + mes "Umm... I think I can't help you."; + mes "There is no milk in Veins."; + close; + } else { + mes "Ah, milk."; + mes "Huu! Milk!"; + next; + mes "[Daora]"; + mes "I don't have anything like that."; + close; + } + } + } else { + if (Sex == 1) { + mes "[Daora]"; + mes "Oh~ you're good-looking!"; + mes "So, what do you want?"; + } + else { + mes "[Daora]"; + mes "Hum...you're a girl."; + mes "Ok pick up whatever you want."; + } + next; + mes "[Daora]"; + mes "I'm not sure that you already know or not, but we are selling special liquor of Morroc."; + mes "Which one do you want?"; + next; + switch(select("Tropical Sograt:Vermilion the beach:No thanks!")) { + case 1: + mes "[Daora]"; + if (Zeny > 999) { + mes "Here you are, take it."; + set Zeny, Zeny - 1000; + getitem 12112,1; //Tropical_Sograt + close; + } + mes "It's 1000 zeny per glass of Tropical Sograt."; + close; + case 2: + mes "[Daora]"; + if (Zeny > 999) { + mes "Here you are, take it."; + set Zeny, Zeny - 1000; + getitem 12113,1; //Vermilion_The_Beach + close; + } + mes "It's 1000 zeny per glass of Vermilion on the Beach."; + close; + case 3: + mes "[Daora]"; + mes "Don't show me your nervousness!"; + specialeffect2 EF_HIT1; + percentheal -30,0; + close; + } + } +} + +job3_guil01,16,20,4 script Mayshell#3rdgc03 894,{ + if (!checkweight(1201,2)) { + mes "- You can't continue this quest because you have too many items. -"; + close; + } + mes "[Mayshell]"; + if (job_3rd_gc == 4) { + mes "You were sent here by Ahcart?"; + mes "I'll give you a task without asking anymore questions."; + mes "Ok, listen carefully."; + next; + mes "[Mayshell]"; + mes "We are chasing a person trying to dissolve an organization."; + mes "We got information about a guy who looks like a town leader."; + next; + mes "[Mayshell]"; + mes "Your task is to punish him under the cover of shadow."; + next; + mes "[Mayshell]"; + mes "Our objective shouldn't be released to anybody."; + mes "Your memories should disappear in shadow."; + mes "Be cautious and avoid observation."; + next; + select("Ok...:So the task is...?"); + mes "[Mayshell]"; + mes "What does he look like?"; + mes "How do you recognize him?"; + mes "I can't tell you."; + mes "That's for you to find out."; + next; + mes "[Mayshell]"; + mes "You will need a compass."; + mes "You need a lamp and a light to see in the darkness."; + next; + mes "[Mayshell]"; + mes "At that point, you will be able to have a drink and rest."; + next; + mes "[Mayshell]"; + mes "Overcome the adversity."; + mes "It is up to you to judge."; + mes "We can't help you, so you must figure it out for yourself."; + next; + mes "[Mayshell]"; + mes "We saw a stranger in this village, we are quite sure that he is the person who we are looking for your task."; + next; + mes "[Mayshell]"; + mes strcharinfo(0)+"."; + mes "Time is not waiting for you."; + mes "Go ahead. Spill blood with the blade of a knife that stands for a stoic life."; + set job_3rd_gc, 5; + changequest 7102,7103; + close; + } else if (job_3rd_gc == 5) { + mes "You already have your orders."; + mes "Even though you don't have any evidence, I trust you to do a good job."; + next; + mes "[Mayshell]"; + mes "It's a test to watch you."; + mes "Let me see, "+strcharinfo(0)+"..."; + mes "Go out and think about what you have to do first."; + next; + mes "[Mayshell]"; + mes "Your task is finding a stranger."; + next; + mes "[Mayshell]"; + mes "Go out search diligently."; + mes "I'll allow you to have some water."; + next; + mes "[Mayshell]"; + mes "Meet Daora before you start."; + mes "She may be helpful to you."; + close; + } else if (job_3rd_gc == 14) { + mes "Welcome."; + mes "How was your day?"; + mes "I heard about your activity."; + next; + mes "[Mayshell]"; + mes "You found a key, right?"; + mes "Huhu. I have my ways of finding out."; + next; + mes "[Mayshell]"; + mes "Can you show me the key?"; + mes "I'm going to check if"; + mes "you were capable or not..."; + next; + select("Give a key to him."); + mes "[Mayshell]"; + if (countitem(6150) == 0) { + mes "You didn't bring a key?"; + mes "I'll be in lots of trouble."; + close; + } + mes "I didn't expect your success without a clear target..."; + mes "You are a man of greater ability than I thought."; + next; + mes "[Mayshell]"; + mes "I think you find a target what we look for."; + mes "Then you handle it after finding a key's host."; + next; + mes "[Mayshell]"; + mes "Then it'll be over."; + mes "But you have to find the key's host by yourself."; + next; + mes "[Mayshell]"; + mes "When you find the mansion, there will be a person waiting for you."; + next; + mes "[Mayshell]"; + mes "This is the last step."; + mes "Don't make any mistakes."; + delitem 6150,1; //Key_Of_The_Mansion + set job_3rd_gc, 15; + changequest 7108,7109; + close; + } else if (job_3rd_gc == 15) { + mes "Ok, you have something to do?"; + mes "If you are late, Renzak might get upset."; + close; + } else if (job_3rd_gc == 18 || job_3rd_gc == 19) { + mes "I already got a report from Renzak."; + if (job_3rd_gc == 18) { + mes "You completed the task quickly."; + mes "That's great."; + } else { + mes "I'm so happy to see you."; + mes "But quickness is very important to us."; + next; + mes "[Mayshell]"; + mes "You were not punctual..."; + mes "At least you came back alive."; + } + next; + set .@all_wine,0; + for(set .@i,0; .@i<5; set .@i,.@i+1) + if (checkquest(7091+.@i) == 1) set .@all_wine, .@all_wine+1; + mes "[Mayshell]"; + if (.@all_wine < 2) { + mes "You did the job by yourself"; + mes "even though there wasn't any"; + mes "information about it, and you"; + mes "collected it."; + next; + mes "[Mayshell]"; + mes "You corresponded with all conditions"; + mes "promptly and with patience."; + next; + mes "[Mayshell]"; + if (job_3rd_gc == 18) { + mes "The evaluation of your task is... [S]."; + mes "[S] is for 'special'."; + set .@quest,7099; + } else { + mes "The evaluation of your task is... [A]."; + mes "If you were punctual, you would have received higher."; + set .@quest,7096; + } + next; + } else { + mes "You made full use of Daora's advice."; + mes "But, didn't I mention it?"; + next; + mes "[Mayshell]"; + mes "I told you to keep it a secret..."; + mes "Of course, I don't want to blame you."; + next; + mes "[Mayshell]"; + mes "It's important not only to solve this by yourself,"; + mes "but also to make an effort getting information."; + next; + mes "[Mayshell]"; + if (.@all_wine > 3) { + if (job_3rd_gc == 18) { + mes "The evaluation of your task is... [B]."; + set .@quest,7097; + } else { + mes "The evaluation of your task is... [C]."; + mes "You need to act by yourself."; + set .@quest,7098; + } + next; + } else { + mes "You adjusted an affair with flexible points of view."; + mes "You were not dependent on the others and you used the surroundings properly."; + next; + mes "[Mayshell]"; + mes "I like that."; + if (job_3rd_gc == 18) { + mes "The evaluation of your task is... [A]."; + set .@quest,7096; + } else { + mes "The evaluation of your task is... [B]."; + set .@quest,7097; + } + next; + } + } + mes "[Mayshell]"; + mes "You got a new qualification for completing this task."; + mes "It's a shadow of our assasin as a shadow of the world..."; + next; + mes "[Mayshell]"; + mes "I'm going to give you the qualification to be a ^4d4dffGuillotine Cross^000000."; + mes "I'm not pushing you, so you can come whenever you want to visit."; + next; + mes "[Mayshell]"; + mes "I reward you for your labor, and I'm going to give you a present."; + mes "I got this one from guild, I hope it's helpful to you."; + set job_3rd_gc, 20; + getitem 12106,1; //Accessory_Box + erasequest 7091; + erasequest 7092; + erasequest 7093; + if (checkquest(7094) > -1) erasequest 7094; + if (checkquest(7095) > -1) erasequest 7095; + erasequest 7112; + erasequest 7113; + erasequest 7114; + if (checkquest(7115) > -1) erasequest 7115; + if (checkquest(7116) > -1) erasequest 7116; + changequest 7111,.@quest; + next; + mes "[Mayshell]"; + mes "I want to tell you something."; + mes "I order you that ^4d4dffyou should not leave a document at all^000000, whatever it is."; + next; + mes "[Mayshell]"; + mes "There are two types of information:"; + mes "Things that can be shared and those that cannot."; + next; + mes "[Mayshell]"; + mes "And never leave records or tell anybody about a task you completed..."; + mes "for your junior who will follow your steps."; + next; + mes "[Mayshell]"; + mes "Don't forget."; + mes "And the task you did is related to Rachel, Rune-Midgard, and our assassin guild."; + mes "So the others should not be known. Of course, you are included, so please forget everything."; + close; + } else if (job_3rd_gc == 20) { + mes "You are acknowledged by the guild."; + mes "Feel free to come whenever you want to become a Guillotine Cross."; + next; + mes "[Mayshell]"; + mes "That choice means that you will have to walk a street of blood again."; + next; + mes "[Mayshell]"; + mes "Bercasell is waiting in the room on the opposite side."; + mes "Meet him."; + close; + } else if (job_3rd_gc > 20) { + mes "Even though I gave you a qualification,"; + mes "I don't want to celebrate that qualification."; + next; + mes "[Mayshell]"; + mes "It's a way to abandon one's mind and the way of pain, of adversity."; + mes "I pushed you that way."; + next; + mes "[Mayshell]"; + mes "It's funny."; + mes "We live for checking our comrades..."; + mes "But it's a rule of the assasin."; + next; + mes "[Mayshell]"; + mes "In a dark night, it's the fate of a person who is going on the shadow of the moon."; + mes "I wish you to store one's mind, please..."; + close; + } else { + mes "You are not allowed in here."; + close; + } +} + +ve_in,228,108,3 script Waitress#3rdgc04 80,{ + mes "[Waitress]"; + if (job_3rd_gc < 6) { + mes "Welcome~"; + mes "Visit and take a rest~"; + close; + } else if (job_3rd_gc == 6) { + if (checkquest(7091) == 1) { + if (checkquest(7112) == 1) { + mes "That's all the information that I know."; + mes "After that, I can't remember anything else."; + next; + mes "Then can we figure it out with the information you collected?-"; + next; + switch(select("Do it.:Stop it.")) { + case 1: + callfunc "func_3rdgc",1; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } else { + mes "Welcome."; + mes "Are you ready to order?"; + next; + switch(select("You are...:Your name is..?:Water, please.")) { + case 1: + mes "[Waitress]"; + mes "What's the matter?"; + mes "Are you ready to order?"; + next; + select("I'm looking for Madelle..."); + mes "[Madelle]"; + mes "Ah? Madelle? Do you know about Daora?"; + mes "I'm Madelle."; + mes "I think you have business because you came from Daora."; + next; + select("Was there a suspicious guest?"); + mes "[Madelle]"; + mes "A suspicious guest?"; + mes "What kind of...?"; + mes "Ah, well... we have had a few strangers."; + next; + mes "[Madelle]"; + mes "We don't have lots of floating population because of the rough terrain in the village."; + mes "Almost all people have been here since they were born or adventurers who are regulars."; + next; + mes "[Madelle]"; + mes "But if they are not that kind of people..."; + mes "Yes, there were strangers."; + next; + select("Can you tell me about them?"); + mes "[Madelle]"; + mes "Um... One looked like a priest from Rachel."; + mes "A priest in this village..."; + mes "Maybe he is a soldier, I understand."; + next; + mes "[Madelle]"; + mes "One day, there was a guy who seemed to be exhausted and bought food."; + mes "I remember him because he visited after closing a store."; + next; + mes "[Madelle]"; + mes "I'm not sure but there was a person who was wearing a hood."; + mes "He seemed be exhausted and they wanted to buy a small drink and a snack."; + next; + mes "[Madelle]"; + mes "I haven't seen any of them since."; + mes "So I don't know anymore."; + setquest 7112; + next; + mes "- The information of Madelle is attached on the guest board."; + mes "Then can we figure out what information you've collected? -"; + next; + switch(select("Do it.:Stop it.")) { + case 1: + callfunc "func_3rdgc",1; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + case 2: + mes "[Waitress]"; + mes "What? My name?"; + mes "Are you hitting on me?"; + mes "Don't do that."; + if (Sex) mes "You are not my type."; + else mes "I don't swing that way."; + close; + case 3: + mes "[Waitress]"; + mes "Do you want ice with that?"; + close; + } + } + } else { + if (checkquest(7112) == 1) { + mes "That's all the information that I know."; + mes "I haven't seen them since."; + next; + mes "- I wonder if I can figure it out with the information I've collected... -"; + next; + switch(select("Do it.:Stop it.")) { + case 1: + callfunc "func_3rdgc",0; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } else { + mes "Welcome."; + mes "Are you ready to order?"; + next; + switch(select("Suspicious people?:Which one is the best food?")) { + case 1: + mes "[Waitress]"; + mes "A suspicious person?"; + mes "You are a suspicious person."; + close; + case 2: + mes "[Waitress]"; + mes "Umm? well..."; + mes "If you want to have a simple dish, have a meal from our fixed menu."; + mes "It's 5000 zeny, Do you want it?"; + next; + switch(select("Yes, I'll try it.:......")) { + case 1: + if (Zeny > 4999) { + mes "[Waitress]"; + mes "Here you are, this is a meal from the fixed menu."; + mes "Feel free to call me when you need."; + next; + switch(select("How's your business?:Do you have lots of guests?")) { + case 1: + mes "[Waitress]"; + mes "Well... not bad."; + mes "This is the only pub here so it's good."; + break; + case 2: + mes "[Waitress]"; + mes "Not that much lately."; + mes "It's so-so."; + break; + } + next; + mes "[Waitress]"; + mes "A business in a village can keep up with customers."; + mes "Thesedays, adventurers have been visiting more often."; + next; + select("Any suspicious visitors?"); + mes "[Waitress]"; + mes "Sure, I see some everyday."; + mes "I can recognize when I see their outfits."; + mes "I have to memorize their characters because of business."; + next; + select("It's boring..."); + mes "[Waitress]"; + mes "Yeah sometimes."; + mes "Everyday I have to talk"; + mes "with same people."; + mes "But..."; + next; + mes "[Waitress]"; + mes "I'm refreshed when I see guests like you."; + mes "I remember something that happened a few days ago."; + next; + mes "[Waitress]"; + mes "When I closed the store,"; + mes "he seemed be exhausted and they wanted to buy a small drink and a snack."; + next; + mes "[Waitress]"; + mes "He was a stranger but I'm sure that he is from Rachel."; + mes "He looked like a priest."; + next; + mes "[Waitress]"; + mes "I thought that a priest came here, but it's wrong."; + mes "I was starting to get scared."; + next; + mes "[Waitress]"; + mes "I thought that I may have opened the door to a thief."; + mes "Ah, sorry, I must be talking too much."; + next; + mes "[Waitress]"; + mes "It was boring to talk with that old man..."; + mes "Anyway, don't let me disturb you anymore."; + mes "Bon Appetit!"; + next; + mes "[Waitress]"; + mes "Oh by the way, my name is Madelle."; + mes "I hope you remember my name."; + set Zeny, Zeny - 5000; + setquest 7112; + next; + mes "- Madelle's information is attached to a quest board. What information have I collected? -"; + next; + switch(select("Check information.:Cancel.")) { + case 1: + callfunc "func_3rdgc",0; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } else { + mes "[Waitress]"; + mes "A meal from our menu is 5000 zeny."; + mes "You have to pay."; + mes "It's prepay."; + close; + } + case 2: + mes "[Waitress]"; + mes "You feel annoyed."; + mes "I see. I won't push you."; + mes "Take a rest there."; + close; + } + } + } + } + } else { + mes "Hi~!"; + mes "We can see often each other."; + next; + mes "[Madelle]"; + mes "A meal? Liquor?"; + mes "Hoho, have a good time!"; + close; + } +} + +ve_in,246,303,3 script Young Merchant#3rdgc05 930,{ + if (job_3rd_gc < 6) { + mes "[Young Merchant]"; + mes "If you want to buy stuff, go to this person."; + mes "I'm a distributor."; + close; + } + else if (job_3rd_gc == 6) { + if (checkquest(7091) == 1) { + if (checkquest(7113) == 1) { + mes "[Crave]"; + mes "I already gave you all the information I have."; + mes "I'm quick in visual learning."; + mes "I can't find the other girl, only the one who matches your condition."; + next; + mes "Can we figure out with the information you collected?"; + next; + switch(select("Do it.:Stop it.")) { + case 1: + callfunc "func_3rdgc",1; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } else { + mes "[Young Merchant]"; + mes "How about increasing potion in next time..."; + mes "Um, do you have something to tell me?"; + next; + switch(select("Do you know Crave?:Give me a potion.")) { + case 1: + mes "[Crave]"; + mes "I'm Crave, who are you...?"; + //mes "You're not a usual stuff in connection.."; //FIXME: Dialogue. + next; + mes "[Crave]"; + mes "Ah, is it about Daora?"; + mes "Yes, what can I do for you?"; + next; + select("Did you see a stranger these past days?"); + mes "[Crave]"; + mes "Stranger... about Daora's business?"; + mes "Ok. I understand what you are talking about."; + next; + mes "[Crave]"; + mes "I found a new face while"; + mes "watching the stores."; + mes "It was a girl..."; + next; + mes "[Crave]"; + mes "She buys food and the necessities of life regularly in the morning and afternoon."; + mes "I wanted to know more about her, because she was pretty."; + mes "But there is no person who knows her residence."; + next; + mes "[Crave]"; + mes "Is it a mysterious person?"; + mes "I don't know who she is, or where she lives!"; + next; + mes "[Crave]"; + mes "I want to talk to her, but she runs away..."; + mes "She must be hiding something."; + setquest 7113; + next; + mes "- The information Crave gave is attached on the quest board."; + mes "Then can we figure out with information you collected? -"; + next; + switch(select("Do it.:Stop it.")) { + case 1: + callfunc "func_3rdgc",1; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + case 2: + mes "[Young Merchant]"; + mes "I carry on a wholesale trade, not a retail trade."; + mes "Buy that from a tool salesperson."; + close; + } + } + } else { + if (checkquest(7113) == 1) { + mes "[Crave]"; + mes "I already gave you all the information I have."; + mes "I'm quick in visual learning."; + mes "I can't find the other girl, only the one who matches your condition."; + next; + mes "Can we figure out with the information you collected?"; + next; + switch(select("Do it.:Stop it.")) { + case 1: + callfunc "func_3rdgc",0; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } else { + mes "[Young Merchant]"; + mes "What's wrong?"; + mes "I'm a merchant, but not a retail merchant."; + mes "If you want to buy things, go to the others."; + next; + switch(select("Suspicious people?:I heard that you are sharp.")) { + case 1: + mes "[Young Merchant]"; + mes "A suspicious person?"; + mes "There are lots of people who are suspicious."; + next; + mes "[Young Merchant]"; + mes "It's that lame person that's suspicious, isn't it?"; + close; + case 2: + mes "[Young Merchant]"; + mes "Hmm? It's reasonable."; + mes "I have to be quick in visual learning for living as a merchant."; + next; + mes "[Young Merchant]"; + mes "I have to memorize the faces of people who do business with me so I can make a profit."; + mes "Then I can make steady customers."; + next; + switch(select("I'm looking for a cousin...:End conversation.")) { + case 1: + mes "[Young Merchant]"; + mes "Is she a beautiful blonde?"; + next; + switch(select("No, it's a boy.:Yes, she is.")) { + case 1: + mes "[Young Merchant]"; + mes "Is he?"; + mes "I don't know."; + mes "I know only a mysterious blonde beauty."; + close; + case 2: + mes "[Crave]"; + mes "Oh, she is?"; + mes "I'm Crave. If you find her later, please contact me."; + next; + mes "[Crave]"; + mes "Don't give me a fierce scowl."; + mes "I'm a man of ability."; + next; + select("Where did you see her?"); + mes "["+strcharinfo(0)+"]"; + mes "A few days have passed already."; + mes "I want to find her as soon as possible."; + mes "You said you saw that child? Where did you see her?"; + next; + mes "[Crave]"; + mes "So... that's why we don't know her residence."; + mes "I can understand buying food and other supplies."; + next; + mes "[Crave]"; + mes "She always runs away without saying anything."; + mes "I like her because of her mysterious atmosphere."; + next; + mes "[Crave]"; + mes "I think that she ran away from home."; + mes "She visits here to buy stuff every day and every night regularly."; + next; + mes "[Crave]"; + mes "She may run away when she sees you."; + mes "It's probably better to hide in the alley to catch her."; + setquest 7113; + next; + mes "- Crave's information is attached to the quest board. What information have I collected? -"; + next; + switch(select("Check information.:Cancel.")) { + case 1: + callfunc "func_3rdgc",0; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } + case 2: + mes "[Young Merchant]"; + mes "Why do you change your face while I'm talking about a steady customer?"; + mes "Oh, you are..."; + mes "It's a sword of darkness that can't make a profit unrelated to memorizing people's faces."; + close; + } + } + } + } + } else { + mes "[Crave]"; + mes "Excuse me?"; + mes "Did you find who you were looking for?"; + close; + } +} + +veins,291,215,3 script Vigilante#3rdgc06 939,{ + if (job_3rd_gc < 6) { + mes "[Vigilante]"; + mes "Do you have any inconveniences while you are traveling?"; + mes "At the outskirts of the city, there are many monsters. Be careful."; + close; + } + else if (job_3rd_gc == 6) { + if (checkquest(7091) == 1) { + if (checkquest(7114) == 1) { + mes "[Trovan]"; + mes "I already gave you all the information I have."; + mes "He's the only suspicious person that's been seen."; + mes "But nothing has happened yet, so I'm keeping watch."; + next; + mes "- What information have I collected? -"; + next; + switch(select("Check information.:Cancel.")) { + case 1: + callfunc "func_3rdgc",1; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } else { + mes "[Vigilante]"; + mes "Hello?"; + mes "Do you need help?"; + next; + switch(select("Do you know Trovan?:No thanks.")) { + case 1: + mes "[Vigilante]"; + mes "Eh? I'm Trovan, a member of the vigilante corps of Veins."; + mes "What's the matter?"; + next; + mes "[Trovan]"; + mes "Ah, you were recommended by Daora."; + mes "I remember all of the faces of people who live in this village."; + next; + mes "[Trovan]"; + mes "Maybe he is a stranger."; + mes "We should exclude normal adventurers."; + next; + mes "[Trovan]"; + mes "And if Daora finds a person, he must not be a normal person."; + mes "So we should exclude normal guests..."; + next; + mes "[Trovan]"; + mes "Then we can set limits for guessing who it is."; + mes "A few days ago, a priest visited this village."; + mes "He covered his face with a hood, so I couldn't see him too well."; + next; + mes "[Trovan]"; + mes "I can detect suspicious people pretty well."; + mes "He might be a criminal if he were hiding his face."; + next; + mes "[Trovan]"; + mes "Why is he suspicious?"; + mes "He shows up here regularly, but he has no definite residence."; + mes "And I always lose him when I try to follow him."; + next; + mes "[Trovan]"; + mes "I can't offer any more information."; + mes "I always have to guard the entrance of the village, so I can't follow him for too long."; + next; + mes "[Trovan]"; + mes "Anyway. He is a only person who I suspect."; + mes "He hasn't been caught doing anything criminal,"; + mes "but he's always covering himself up."; + setquest 7114; + next; + mes "- Trovan's information is attached to the quest board. What information have I collected? -"; + next; + switch(select("Check information.:Cancel.")) { + case 1: + callfunc "func_3rdgc",1; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + case 2: + mes "[Trovan]"; + mes "Recently, I've seen many suspicious people."; + mes "I'm keeping strict watch."; + close; + } + } + } else { + if (checkquest(7114) == 1) { + mes "[Trovan]"; + mes "I already gave you all the information I have."; + mes "He's the only suspicious person that's been seen."; + mes "But nothing has happened yet, so I'm keeping watch."; + next; + mes "- Should I figure out the information collected? -"; + next; + switch(select("Check the information.:Cancel.")) { + case 1: + callfunc "func_3rdgc",0; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } else { + mes "[Trovan]"; + mes "I'm Trovan, a guard of Veins."; + mes "What's wrong?"; + next; + switch(select("Is there a wanted man?:Nothing.")) { + case 1: + mes "[Trovan]"; + mes "A wanted man?"; + mes "No, what's the matter?"; + next; + mes "[Trovan]"; + mes "Did you find any suspicious people entering this village lately?"; + mes "Umm..."; + next; + mes "[Trovan]"; + mes "Recently, there's been a man in this village wearing a hood."; + mes "He is not a traveler. He bought food and slipped out of the village."; + next; + mes "[Trovan]"; + mes "I'm wondering about his identity."; + mes "I think he is related to a shrine..."; + mes "Or maybe he isn't..."; + next; + mes "[Trovan]"; + mes "There is no one else like him among the people living in this village."; + mes "I wonder where he is from."; + next; + mes "[Trovan]"; + mes "He might still be here."; + mes "There are no new people except for him. I know almost all of the adventurer's faces that visit here."; + mes "So that's not much news."; + setquest 7114; + next; + mes "- Trovan's information is attached to the quest board. What information have I collected? -"; + next; + switch(select("Check information.:Cancel.")) { + case 1: + callfunc "func_3rdgc",0; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + case 2: + mes "[Trovan]"; + mes "Don't go too far away."; + close; + } + } + } + } else { + mes "[Trovan]"; + mes "How's it going?"; + close; + } +} + +veins,187,143,5 script Peddler#3rdgc07 892,{ + mes "[Peddler]"; + if (job_3rd_gc < 6) { + mes "What a huge sandstorm."; + mes "Are you ok?"; + close; + } + else if (job_3rd_gc == 6) { + if (checkquest(7091) == 1) { + mes "What a huge sandstorm."; + mes "Are you ok?"; + close; + } else { + if (checkquest(7115) == 1) { + mes "So, did you find that girl?"; + mes "If you do, let her know that she has to come and visit me."; + next; + mes "- You can't get more information from the peddler. What information have I collected? -"; + next; + switch(select("check information.:Cancel.")) { + case 1: + callfunc "func_3rdgc",1; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } else { + mes "Hey. Hey!"; + mes "I'm talking to you!"; + next; + switch(select("Ignore him.:Listen to the story.")) { + case 1: + mes "[Peddler]"; + mes "You are too cold."; + close; + case 2: + mes "[Peddler]"; + mes "A pretty girl just bought food."; + mes "You know that freshness is important when buying fish..."; + next; + mes "[Peddler]"; + mes "But I gave the wrong fish to her."; + mes "Recently, she bought food from my store."; + mes "I can't find her, maybe she doesn't live here."; + next; + mes "[Peddler]"; + mes "She looks shabby but she always buys expensive food."; + mes "I thought that she was a maid but we don't have a mansion that can hire maids in Veins."; + next; + mes "[Peddler]"; + mes "Kind of suspicious, isn't it?"; + mes "But, I gave spoiled fish to her..."; + next; + mes "[Peddler]"; + mes "So I have to find her and exchange the fish for a refund."; + next; + mes "[Peddler]"; + mes "If you find her, send that message, please?"; + mes "I can't miss a guest like her."; + next; + mes "[Peddler]"; + mes "Ok, let's see..."; + mes "She is blonde girl."; + mes "You should be able"; + mes "to find her easily."; + next; + mes "[Peddler]"; + mes "Actually, nobody knows where she's from."; + mes "You're an adventurer, so I'm asking you."; + next; + select("I'll send her your message.:Hmm..."); + mes "["+strcharinfo(0)+"]"; + mes "- Even though I don't have time to spare, the girl mentioned by the peddler is suspicious. -"; + next; + mes "["+strcharinfo(0)+"]"; + mes "- A girl who has no clear residence and buys expensive food. I have to find out. -"; + next; + mes "[Peddler]"; + mes "Then send my message to her, please."; + mes "If I can't exchange the fish, it will spoil."; + setquest 7115; + next; + mes "- The peddler's information is attached to the quest board. What information have I collected? -"; + next; + switch(select("Check information.:Cancel.")) { + case 1: + callfunc "func_3rdgc",0; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } + } + } + } else { + mes "Did you send my message properly?"; + mes "Then why she hasn't she visited here to exchange the fish?"; + close; + } +} + +veins,235,126,3 script Old Man#3rdgc07 945,{ + mes "[Old Man]"; + if (job_3rd_gc < 6) { + mes "Haha... I can remember my past when I see a young adventurer like you..."; + close2; + } else if (job_3rd_gc == 6) { + if (checkquest(7091) == 1) { + mes "Haha... I can remember my past when I see a young adventurer like you..."; + close; + } else { + if (checkquest(7116) == 1) { + mes "Thanks for talking to me."; + next; + mes "- I can't get anymore information from the Old Man. What information have I collected? -"; + next; + switch(select("Check information.:Cancel.")) { + case 1: + callfunc "func_3rdgc",0; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } else { + mes "What? What's the matter?"; + mes "You want to talk with me?"; + next; + switch(select("Suspicious person...:You look good.")) { + case 1: + mes "[Old Man]"; + mes "A suspicious person?"; + mes "Well, Trovan may know more about her than me."; + close; + case 2: + mes "[Old Man]"; + mes "Thanks anyway."; + mes "I'll just sit down here..."; + next; + mes "[Old Man]"; + mes "I look around at people who pass by here all the time."; + mes "I can find out where they're from easily by watching what they wear."; + next; + mes "[Old Man]"; + mes "I can't forget her at all because of her funny outfit."; + mes "It's not difficult to forget a person wearing a formal dress."; + next; + select("Then what's funny?"); + mes "[Old Man]"; + mes "Umm, this village is not funny anymore."; + mes "I know everything~ I even found out everyone's job."; + next; + mes "[Old Man]"; + mes "But..."; + mes "Recently, a girl showed up."; + mes "In the morning, she buys some food from a peddler and then disappears."; + next; + mes "[Old Man]"; + mes "And in the afternoon she usually buys the necessities of life."; + mes "A little bit at a time."; + mes "And then she goes somewhere after..."; + next; + mes "[Old Man]"; + mes "I figure that she must be preparing something."; + mes "If she buys a lot of stuff, then she can be found easily."; + next; + mes "[Old Man]"; + mes "I think she stocks up heavily on foods that help during battles."; + next; + mes "[Old Man]"; + mes "She just recently started this routine."; + mes "Is she a newcomer?"; + next; + mes "[Old Man]"; + mes "I'm going to watch you for a while."; + mes "Ah, why am I bothering you with this story?"; + setquest 7116; + next; + mes "- The information of the Old Man is attached to the quest board. What information have I collected?"; + next; + switch(select("Check information.:Cancel.")) { + case 1: + callfunc "func_3rdgc",0; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } + } + } + } else if (job_3rd_gc == 8) { + mes "You want to know something?"; + mes "We have a marvelous girl in our village."; + next; + mes "[Old Man]"; + mes "I don't know what kind of gift she has, but she knows how to find people."; + next; + mes "[Old Man]"; + mes "If you want to find her, ask that kid."; + close; + } else { + mes "I still don't know."; + mes "I'm too old..."; + close; + } +} + +veins,223,180,3 script Girl#3rdgc09 941,{ + mes "[Melissa]"; + if (job_3rd_gc == 8) { + mes "Hi?"; + mes "What?"; + mes "Have you lost a friend?"; + next; + switch(select("Do you know something?:No...")) { + case 1: + mes "[Melissa]"; + mes "I have a special gift that I've had my whole life."; + mes "People visit me when they need to find something."; + next; + mes "[Melissa]"; + mes "Are looking for someone?"; + mes "Can you tell me about their character?"; + next; + switch(select("You are joking.:Let me do it.")) { + case 1: + mes "[Melissa]"; + mes "Ha! But you'll come back to me when you need to find someone."; + mes "I know everything."; + close; + case 2: + set .@ans00, 0; + mes "[Melissa]"; + mes "Ok, answer my question."; + mes "Is it a boy or a girl?"; + next; + switch(select("A boy:A girl")) { + case 1: + mes "[Melissa]"; + mes "A boy and..."; + break; + case 2: + mes "[Melissa]"; + mes "A girl and..."; + set .@ans00, .@ans00+1; + break; + } + next; + mes "[Melissa]"; + mes "What is the hair color?"; + next; + switch(select("Dark:Red:Light yellowish:White")) { + case 1: + mes "[Melissa]"; + mes "Dark hair color... hmm..."; + mes "Dark brown or black hair..."; + break; + case 2: + mes "[Melissa]"; + mes "Light brown or dark orange... Red hair..."; + break; + case 3: + mes "[Melissa]"; + mes "Light orange to blonde hair."; + set .@ans00, .@ans00+1; + break; + case 4: + mes "[Melissa]"; + mes "Gray... white... gold... silver hair..."; + break; + } + next; + mes "[Melissa]"; + mes "Young or old?"; + next; + switch(select("Like a child.:Young.:Middle-aged.:Very old.")) { + case 1: + mes "[Melissa]"; + mes "And a child."; + break; + case 2: + mes "[Melissa]"; + mes "A young person."; + mes "Like you?"; + set .@ans00, .@ans00+1; + break; + case 3: + mes "[Melissa]"; + mes "Same age as a tool salesman?"; + mes "Middle-aged."; + break; + case 4: + mes "[Melissa]"; + mes "Yes, very old."; + break; + } + next; + mes "[Melissa]"; + mes "Hi, "+((Sex)?"brother":"sister")+"~ Let me collect all of the information you've provided..."; + next; + mes "- She begins to murmur and gestures toward the sky. Her hair springs up as she says... -"; + next; + if (.@ans00 == 3) { + mes "[Melissa]"; + mes "Got it!"; + mes "I know her."; + mes "Her name is ^4d4dffEstillda^000000."; + mes "Right?"; + next; + mes "[Melissa]"; + mes "Why are you looking for her? Is she your friend?"; + mes "She gave me candy the other day."; + next; + mes "[Melissa]"; + mes "Umm... this girl..."; + mes "will pass around"; + mes "a blind alley in"; + mes "about 1 hour!"; + mes "Hehehe!"; + erasequest 7103; + setquest 7104; + set job_3rd_gc, 9; + next; + mes "[Melissa]"; + mes "She has to be who you're looking for. I'm never wrong."; + mes "Tell me I did a good job!"; + next; + switch(select("Pat Melissa on the head.:Giver her a thumbs up sign.")) { + case 1: + mes "You pat Melissa on the head."; + mes "She reacts like a puppy would."; + next; + mes "[Melissa]"; + mes "Hehehe..."; + mes "I'm here to help~!"; + close; + case 2: + mes "[Melissa]"; + mes "Hehehe..."; + mes "I did good!"; + close; + } + } else { + mes "[Melissa]"; + mes "Umm..."; + mes "That person who has those characteristics is..."; + next; + mes "[Melissa]"; + mes "Wha-...? Eww, I've never been wrong."; + mes "I don't know why, but I can't see that person."; + next; + mes "[Melissa]"; + mes "Eeeahhh! Wahhh!"; + next; + mes "- All I can do is soothe Melissa as she cries. I have to think about the person's characteristics again. -"; + close; + } + } + case 2: + mes "[Melissa]"; + mes "It's strange."; + mes "In this village people are always looking for someone."; + close; + } + } else if (job_3rd_gc == 9) { + mes "Did you find her?"; + mes "Say thanks to her for giving me candy the other day."; + close; + } else { + mes "When I'm looking for people, an angel wearing black clothes gives me information."; + next; + mes "[Melissa]"; + mes "I told Daora about this story, then she said to me not to do it again."; + mes "Maybe she isn't a good angel."; + close; + } +} + +veins,337,284,0 script #ghostestilla_3rdgc 139,3,3,{ + end; +OnTouch: + if (job_3rd_gc == 9) { + if ((checkquest(7104,PLAYTIME) == 1) || (checkquest(7105,PLAYTIME) == 1)) { + mes ".....?"; + mes "There's a sign of somebody present."; + mes "You still have time."; + close; + } else if ((checkquest(7104,PLAYTIME) == 2) || (checkquest(7105,PLAYTIME) == 2)) { + mes "The blind alley that Melissa told me about must be this street."; + next; + mes "There's a sign of somebody present."; + mes "A blonde girl shows up!"; + donpcevent "Estillda#3rdgc10::OnEnable"; + next; + select("Make a surprise attack."); + set .@c_spec, readparam(bDex)+readparam(bAspd)+readparam(bCritical); + if (.@c_spec > 209 || (!rand(2) && .@c_spec > 190 && .@c_spec < 210) || (!rand(3) && .@c_spec < 191)) { + mes "You take her by the wrist trying not to let her see you."; + mes "The food that she is holding falls on the floor."; + next; + mes "[Estillda]"; + mes "Ahhhh!"; + mes "Who are you?"; + mes "What are you doing?"; + next; + if(select("Who sent you?:Who's from Rachel?") == 2) { + mes "[Estillda]"; + mes "I don't know! I don't have any idea. I don't know him!"; + next; + } + mes "[Estillda]"; + mes "If I buy stuff for him..."; + mes "He said that he can pay for my labor and production costs."; + next; + mes "[Estillda]"; + mes "I don't know who he is."; + mes "It's true."; + mes "Is he bad guy?"; + next; + mes "[Estillda]"; + mes "Help me, please?"; + mes "Help me."; + mes "I'll do anything you want."; + next; + mes "[Estillda]"; + mes "I didn't know anything about him, I don't know if he's a bad guy."; + mes "I just bought some stuff... (sobbing)..."; + next; + mes "- Estillda is in shock because she thinks that she's in trouble. -"; + next; + select("Calm her down."); + mes "["+strcharinfo(0)+"]"; + mes "Just relax for a second."; + mes "I totally understand what you're saying."; + mes "You won't get into any trouble."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I'm looking for a guy who committed a crime and ran away."; + mes "I have to catch him."; + next; + mes "["+strcharinfo(0)+"]"; + mes "So who made you get those supplies?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "If you cooperate with me, I'm going to protect you until this is all done."; + mes "The Assassin Guild will protect you."; + next; + mes "[Estillda]"; + mes "You promise, right?"; + mes "How can I help you?"; + next; + select("When are you supposed to meet?"); + mes "[Estillda]"; + mes "Oh, I already delivered the stuff."; + mes "I'm on my way back."; + next; + mes "[Estillda]"; + mes "Ah, these are mine."; + mes "I got a lot of zeny."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Then go straight this way and pretend that nothing happened."; + next; + mes "- I demand that she walks as usual and tell her how to get to Daora's pub. -"; + donpcevent "Estillda#3rdgc10::OnDisable"; + if (checkquest(7104) > -1) erasequest 7104; + if (checkquest(7105) > -1) erasequest 7105; + set job_3rd_gc, 10; + setquest 7106; + next; + mes "- The pub in the underground of Veins is the best place to keep her safe. -"; + close; + } else { + mes "- I tried to take her by the wrist, but she already knew and ran away screaming. -"; + donpcevent "Estillda#3rdgc10::OnDisable"; + if (checkquest(7104) > -1) erasequest 7104; + if (checkquest(7105) > -1) erasequest 7105; + setquest 7105; + next; + mes "You couldn't catch Estillda."; + close; + } + } else { + mes "An error has occurred."; + mes "Please contact the GM team to fix this situation."; + close; + } + } + end; +} + +veins,341,287,3 script Estillda#3rdgc10 919,{ +OnInit: +OnDisable: + disablenpc "Estillda#3rdgc10"; + end; +OnEnable: + enablenpc "Estillda#3rdgc10"; + end; +} + +job3_guil01,79,15,1 script Estillda#3rdgc11 919,{ + if (job_3rd_gc == 11) { + mes "Estillda is looking around with an anxious expression on her face."; + next; + switch(select("Are you ok?:Intimidate her.")) { + case 1: + mes "[Estillda]"; + mes "Yes? Yes..."; + mes "I thought assassins were scary."; + mes "But I don't think so..."; + next; + select("You don't look like you're from Veins"); + mes "[Estillda]"; + mes "Yes? Yes..."; + mes "I'm from Rachel."; + mes "I'm here to make zeny."; + mes "I had a desolate life in Rachel."; + next; + switch(select("You came here with alone?:Had a desolate life...")) { + case 1: + mes "[Estillda]"; + mes "No."; + mes "I don't think so."; + mes "I came here with a guy."; + next; + mes "[Estillda]"; + mes "I usually come here by myself. Sometimes he checks my destination."; + mes "I thought that he is an important person from some company."; + next; + mes "[Estillda]"; + mes "But I don't know who he is."; + break; + case 2: + mes "[Estillda]"; + mes "I'm a native,"; + mes "I work in his house."; + mes "I think it's not bad."; + mes "I just left my home..."; + next; + mes "[Estillda]"; + mes "He said that he needed a maid and that he could pay me enough money."; + break; + } + next; + mes "[Estillda]"; + mes "Actually I don't know him well."; + mes "...I'll never do it."; + mes "I want to go home. I miss my mommy."; + next; + switch(select("What can you tell me?:Tell me what you know!")) { + case 1: + mes "[Estillda]"; + mes "Yes. Right?"; + mes "I'm going to tell you everything that I know."; + break; + case 2: + mes "[Estillda]"; + mes "Sorry. I'm sorry."; + mes "I'm going to do what you want..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Your attitude is a problem."; + mes "Let's take up the main subject."; + break; + } + next; + mes "[Estillda]"; + mes "I usually supply food"; + mes "and other life necessities."; + next; + mes "[Estillda]"; + mes "I buy some food to eat for myself."; + mes "And I buy expensive food for him everyday."; + next; + mes "[Estillda]"; + mes "I think he is very fussy about food..."; + mes "And I get money whenever I deliver food.."; + next; + select("Where did you sleep?"); + mes "[Estillda]"; + mes "Yes? Yes, around here."; + mes "There is a place that soldiers stay."; + mes "He wants me to stay there..."; + next; + select("When are you supposed to meet?"); + mes "[Estillda]"; + mes "In a couple of hours."; + mes "At a warehouse underground in the south."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Thanks for your cooperation."; + mes "Your house is in Rachel?"; + mes "Estillda is your real name?"; + mes "Yes, I'm going to draw his rations in Rachel."; + next; + mes "["+strcharinfo(0)+"]"; + mes "To go back home without an accident."; + set job_3rd_gc, 12; + changequest 7106,7107; + close; + case 2: + mes "[Estillda]"; + mes "Yes?"; + mes "Please..."; + mes "Don't kill me."; + next; + mes "- Estillda looks scared. You need to change the subject. -"; + close; + } + } else if (job_3rd_gc == 12) { + mes "[Estillda]"; + mes "We usually meet at the same place at the same time."; + mes "It's in a warehouse underground in the south."; + mes "Don't tell him that I told you."; + close; + } + end; +} + +veins,206,56,0 script #3rdgc_battleroom01 139,1,1,{ + end; +OnInit: + set $@3rdgc_room01, 0; + end; +OnTouch: + if (job_3rd_gc == 12) { + if (checkquest(7107,PLAYTIME) == 2) { + mes "This must be the place Estillda told me about."; + next; + switch(select("Go inside.:Observe the situation.")) { + case 1: + if ($@3rdgc_room01 == 0) { + warp "job3_guil02",34,44; + set $@3rdgc_room01, 1; + } else { + mes "You tried to open the door but it's locked."; + mes "It doesn't show any signs of life."; + next; + mes "Come back here later."; + } + close; + case 2: + mes "I back up to watch the situation unfold."; + close; + } + } else if (checkquest(7107,PLAYTIME) == 1) { + mes "This must be the place Estillda told me about."; + mes "I have enough time for meeting."; + close; + } else { + mes "An error has occurred."; + mes "Contact the GM team to resolve the situation."; + close; + } + } + end; +} + +job3_guil02,34,44,0 script #3rdgc_room01_mag01 139,2,2,{ + end; +OnEnable: + enablenpc "#3rdgc_room01_mag01"; + end; +OnDisable: + disablenpc "#3rdgc_room01_mag01"; + end; +OnStop: + stopnpctimer; + end; +OnTouch: + if (job_3rd_gc == 12) { + initnpctimer; + donpcevent "A man with black clothes::OnEnable"; + disablenpc "#3rdgc_room01_mag01"; + } else { + mes "You don't have to come here now."; + close; + warp "veins",178,62; + set $@3rdgc_room01, 0; + end; + } + end; +OnTimer295000: + mapannounce "job3_guil02","Dandelion: ...Ha, you are strong and sticky!",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + donpcevent "A man with black clothes::OnReset"; + end; +OnTimer296000: + mapannounce "job3_guil02","The Dandelion ran away.",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + end; +OnTimer298000: + mapwarp "job3_guil02","veins",186,65; + end; +OnTimer299000: + donpcevent "Dandelion#3rdgc12::OnDisable"; + donpcevent "A man with black clothes::OnDisable"; + donpcevent "#3rdgc_room01_mag01::OnEnable"; + end; +OnTimer300000: + set $@3rdgc_room01, 0; + stopnpctimer; + end; +} + +job3_guil02,51,43,7 script A man with black clothes 456,4,4,{ + end; +OnInit: +OnDisable: + hideonnpc "A man with black clothes"; + set .on,0; + end; +OnEnable: + hideoffnpc "A man with black clothes"; + set .on,1; + end; +OnReset: + killmonster "job3_guil02","A man with black clothes::OnMyMobDead"; + end; +OnTouch: + if (!.on) end; + mes "[A man with black clothes]"; + mes "You just arrived here."; + mes "Why are you so late?"; + mes "Put your stuff down."; + next; + select("......"); + mes "[A man with black clothes]"; + mes "May the goddess bless you eternally..."; +// UseSkillToPC 34 0 0 0 + specialeffect2 EF_BLESSING; + sc_start SC_BLESSING,60000,1; + next; + emotion e_gasp; + mes "[A man with black clothes]"; + mes "Who... who are you?!"; + mes "A... Assassin Guild?!"; + mes "What?!"; + mes "When did I give you a clue?!"; + next; + select("You lost your head..."); + mes "["+strcharinfo(0)+"]"; + mes "Is this the correct target?"; + mes "Can you talk with me for a sec?"; + next; + mes "[A man with black clothes]"; + mes "No way!!!!"; + mes "You... I'll make you close your eyes forever!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "What?!"; + close2; + donpcevent "A man with black clothes::OnDisable"; + monster "job3_guil02",51,43,"Dandelion",2031,1,"A man with black clothes::OnMyMobDead"; + end; +OnMyMobDead: + donpcevent "#3rdgc_room01_mag01::OnStop"; + donpcevent "#3rdgc_2nd_timer::OnEnable"; + mapwarp "job3_guil02","job3_guil02",47,43; + end; +} + +job3_guil02,1,1,0 script #3rdgc_2nd_timer 844,{ + end; +OnEnable: + initnpctimer; + end; +OnTimer1000: + donpcevent "Dandelion#3rdgc12::OnEnable"; + end; +OnTimer60000: + mapwarp "job3_guil02","veins",186,65; + end; +OnTimer61000: + donpcevent "Dandelion#3rdgc12::OnDisable"; + donpcevent "A man with black clothes::OnDisable"; + donpcevent "#3rdgc_room01_mag01::OnEnable"; + set $@3rdgc_room01, 0; + stopnpctimer; + end; +} + +job3_guil02,49,43,5 script Dandelion#3rdgc12 457,{ + if (!checkweight(1201,2)) { + mes "- You can't continue this quest because you have too many items. -"; + close; + } + if (job_3rd_gc == 12) { + mes "[Dandelion]"; + mes "Eyah!"; + mes "You... won't find anything."; + mes "Everything... is guided... by the goddess..."; + mes "Keeek!"; + next; + mes "- He puts something in his mouth and swallows. -"; + next; + mes "["+strcharinfo(0)+"]"; + mes "What is that?!"; + mes "What do you have in your mouth...?"; + mes "Why did you do that?"; + next; + mes "It's too late to save him."; + mes "He passed away."; + mes "You find a key with a fancy decoration around his neck."; + set job_3rd_gc, 13; + getitem 6150,1; //Key_Of_The_Mansion + changequest 7107,7108; + close; + } else { + if (job_3rd_gc == 13) { + mes "There is nothing to do."; + mes "Let's get out of here."; + } else + mes "You are shoved by an unknown force."; + close2; + warp "veins",178,62; + end; + } +OnInit: +OnDisable: + disablenpc "Dandelion#3rdgc12"; + end; +OnEnable: + enablenpc "Dandelion#3rdgc12"; + end; +} + +rachel,115,77,3 script Girke#3rdgc13 85,{ + mes "[Girke]"; + mes "Oh~ young man."; + mes "I'm Girke Sara."; + mes "Just call me Girke."; + next; + mes "- He smells like alcohol. -"; + next; + mes "[Girke]"; + mes "You know what?"; + mes "A man who is a legendary key artisan lives in our village."; + mes "Hiccup~"; + next; + mes "[Girke]"; + mes "Ah~hahahaha"; + mes "My dad likes pieces of work like that."; + mes "One day, he said to me."; + next; + mes "[Girke]"; + mes "'Girke, my wish is having a key crafted from Oresa.'"; + next; + mes "[Girke]"; + mes "But Oresa already disappeared after handing everything over to his apprentice."; + mes "Finally, my dad passed away without seeing such a key..."; + next; + mes "[Girke]"; + mes "You know."; + mes "That Oresa! He lives in our town?!"; + mes "Hiccup~"; + next; + mes "[Girke]"; + mes "But he is too old..."; + mes "But the artisan is..."; + next; + mes "[Girke]"; + mes "...difficult to meet."; + mes "Like my dad... He's a bit of a loner."; + next; + mes "[Girke]"; + mes "What am I talking to you about."; + mes "Are you drunken? Daddy... (sobbing)"; + mes "Ah... Daddy..."; + next; + mes "- Girke starts to cry. -"; + close; +} + +ra_in01,175,196,3 script Oresa Rava#3rdgc13 866,{ + mes "[Oresa Rava]"; + if (job_3rd_gc == 13) { + mes "I don't know why you are visiting me, but I'm not crafting anymore."; + mes "I'm too old to craft."; + next; + select("Do you know this key?"); + mes "[Oresa Rava]"; + mes "Hmm? Umm... Give it to me."; + mes "This pattern..."; + mes "Where did you get this from?"; + next; + switch(select("I just picked it up.:I have a story...")) { + case 1: + mes "[Oresa Rava]"; + mes "Umm? Did you just pick it up?"; + mes "That's impossible."; + mes "Did something happen in that house."; + next; + mes "[Oresa Rava]"; + mes "So what will you do with this key?"; + next; + select("I'm going to find the owner."); + mes "[Oresa Rava]"; + mes "Ah~! That's why you came here to see me."; + mes "I gave that key to a person who was a priest."; + next; + mes "[Oresa Rava]"; + mes "I couldn't see my home after he became a priest, but I made a key for a celebration."; + next; + mes "[Oresa Rava]"; + mes "It's a key to his mansion."; + mes "Now I don't know where he lives."; + mes "But can you visit there and send over the caretaker of the summer cottage?"; + next; + break; + case 2: + mes "[Oresa Rava]"; + mes "I don't know what's going on."; + mes "I gave that key to a person who was a priest."; + next; + mes "[Oresa Rava]"; + mes "I couldn't see my home after he became a priest, but I made a key for a celebration."; + next; + mes "[Oresa Rava]"; + mes "It's a key to his mansion."; + mes "Now I don't know where he lives."; + mes "But can you visit there and send over the caretaker of the summer cottage?"; + next; + mes "[Oresa Rava]"; + mes "Actually, I can't trust you..."; + mes "But you showed up with a key. It may be an act of providence."; + next; + select("Sure."); + break; + } + mes "[Oresa Rava]"; + mes "That mansion was..."; + mes "built in a gorge of Veins."; + mes "I don't know the exact location of it though."; + next; + select("That should be enough."); + mes "[Oresa Rava]"; + mes "Are you sure?"; + mes "You are so kind."; + mes "Send over that key."; + next; + mes "- Find the owner of that key soon and tell Mayshell. -"; + set job_3rd_gc, 14; + close; + } else if (job_3rd_gc == 14) { + mes "That key is of a mansion built in a gorge of Veins."; + mes "I'm sure of it."; + close; + } else { + mes "It's an old story about that artisan."; + mes "Now... It's best to see my grandchild."; + next; + mes "[Oresa Rava]"; + mes "You are laughing now, but you will understand me soon."; + close; + } +} + +ve_fild05,327,308,3 script Girl#3rdgc14 466,{ + if (job_3rd_gc > 14 && job_3rd_gc < 18) { + mes "[Renzak]"; + if (job_3rd_gc == 15) { + mes "You are here."; + mes "I'm Renzak."; + mes "You sent here from Mayshell?"; + //mes "I'm not dwelling on."; //FIXME: Dialogue. + next; + mes "[Renzak]"; + mes "Our final target is over there."; + mes "The mansion is surrounded by cliffs."; + mes "You must remove the target in the mansion."; + next; + mes "[Renzak]"; + mes "I'm going to give you 10 min."; + mes "Complete your task and then wait in the backdoor of the mansion."; + mes "I'll wait for you there."; + } else if (job_3rd_gc == 16) { + mes "You have to attain our goal and come out of the mansion's backdoor within 10 minutes."; + mes "You can do it."; + } else { + mes "You failed."; + mes "You must succeed."; + next; + mes "[Renzak]"; + mes "You have to come out of the mansion's backdoor."; + mes "I'll wait for you."; + } + next; + switch(select("I got it.:I'll be ready.")) { + case 1: + if ($@3rdgc_room02 == 0) { + set job_3rd_gc, 17; + erasequest ((job_3rd_gc == 17)?7110:7109); + setquest 7110; + set $@3rdgc_room02, 1; + warp "job3_guil03",22,70; + } else { + mes "[Renzak]"; + mes "Wait a second."; + mes "Just wait until it gets dark."; + next; + mes "[Renzak]"; + mes "It'll be easy to infiltrate because it's covered by the cliff's shadow."; + set job_3rd_gc, 16; + } + close; + case 2: + mes "[Renzak]"; + mes "You don't have time to spare."; + mes "You should prepare for action."; + if (job_3rd_gc == 17) { + erasequest 7110; + setquest 7109; + } + set job_3rd_gc, 16; + close; + } + } else if (job_3rd_gc > 18) { + mes "[Renzak]"; + mes "You look good."; + mes "Me? I've always had the same figure."; + next; + mes "[Renzak]"; + mes "I just wait for guys who will do what I ask."; + close; + } else { + mes "[Shadow-faced girl]"; + mes "......"; + mes "This road is blocked."; + mes "Go back."; + close; + } +OnInit: + set $@3rdgc_room02, 0; + end; +} + +job3_guil03,22,70,0 script #3rdgc_event01 139,3,3,{ + end; +OnEnable: + enablenpc "#3rdgc_event01"; + end; +OnDisable: + disablenpc "#3rdgc_event01"; + end; +OnStop: + stopnpctimer; + end; +OnTouch: + if (job_3rd_gc == 17) { + initnpctimer; + donpcevent "#3rdgc_event_master::OnEnable"; + disablenpc "#3rdgc_event01"; + } else { + mes "You don't have to come here."; + close2; + warp "ve_fild05",341,303; + set $@3rdgc_room02, 0; + } + end; +OnTimer900000: + mapannounce "job3_guil03","Renzak : Withdraw!",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + end; +OnTimer901000: + mapwarp "job3_guil03","ve_fild05",341,303; + end; +OnTimer902000: + donpcevent "#3rdgc_event_master::OnReset"; + stopnpctimer; + end; +} + +job3_guil03,1,4,0 script #3rdgc_event_master 844,{ + end; +OnEnable: + donpcevent "Barbed-Wire Entanglement::OnEnable"; + donpcevent "Guard Dog#dog01::OnEnable"; + donpcevent "Guard Dog#dog02::OnEnable"; + donpcevent "#3rdgc_sunchal_nomal::OnEnable"; + donpcevent "#3rdgc_sunchal_kill01::OnEnable"; + donpcevent "#3rdgc_sunchal_kill02::OnEnable"; + donpcevent "#3rdgc_sunchal_kill03::OnEnable"; + donpcevent "#3rdgc_gojung_kill01::OnEnable"; + donpcevent "#3rdgc_gojung_kill02::OnEnable"; + donpcevent "#3rdgc_gojung_kill03::OnEnable"; + donpcevent "Priest from Rachel::OnEnable"; + end; +OnReset: + donpcevent "#3rdgc_guard::OnStop"; + donpcevent "#3rdgc_guardoff::OnReset"; + donpcevent "#3rdgc_hide01::OnStop"; + donpcevent "#3rdgc_hide02::OnStop"; + donpcevent "#3rdgc_hide03::OnStop"; + donpcevent "#3rdgc_sunchal_kill01::OnStop"; + donpcevent "#3rdgc_sunchal_kill02::OnStop"; + donpcevent "#3rdgc_sunchal_kill03::OnStop"; + donpcevent "#3rdgc_gojung_kill01::OnStop"; + donpcevent "#3rdgc_gojung_kill02::OnStop"; + donpcevent "#3rdgc_gojung_kill03::OnStop"; + donpcevent "Guard Dog#dog01::OnReset"; + donpcevent "Guard Dog#dog02::OnReset"; + donpcevent "#3rdgc_sunchal_nomal::OnReset"; + donpcevent "#3rdgc_sunchal_kill01::OnReset"; + donpcevent "#3rdgc_sunchal_kill02::OnReset"; + donpcevent "#3rdgc_sunchal_kill03::OnReset"; + donpcevent "#3rdgc_gojung_kill01::OnReset"; + donpcevent "#3rdgc_gojung_kill02::OnReset"; + donpcevent "#3rdgc_gojung_kill03::OnReset"; + donpcevent "Priest from Rachel::OnReset"; + donpcevent "Barbed-Wire Entanglement::OnDisable"; + donpcevent "Guard Dog#dog01::OnDisable"; + donpcevent "Guard Dog#dog02::OnDisable"; + donpcevent "#3rdgc_gojung_kill01::OnDisable"; + donpcevent "#3rdgc_gojung_kill02::OnDisable"; + donpcevent "#3rdgc_gojung_kill03::OnDisable"; + donpcevent "Priest from Rachel::OnDisable"; + donpcevent "Renzak#3rdgc16::OnDisable"; + donpcevent "#3rdgc_event01::OnEnable"; + set $@3rdgc_room02, 0; + end; +} + +//Original name: Barbed-Wire Entanglements#3rdgc_door01 +job3_guil03,55,79,0 script Barbed-Wire Entanglement 844,1,1,{ + end; +OnEnable: + enablenpc "Barbed-Wire Entanglement"; + end; +OnDisable: + disablenpc "Barbed-Wire Entanglement"; + end; +OnTouch: + mes "There is space on the bottom of the old fence."; + next; + if(select("Find another way.:Climb into the space.") == 2) { + mes "You climb into the narrow space."; + mes "The hole is blocked with the old barbed-wire entanglements."; + close2; + warp "job3_guil03",57,79; + disablenpc "Barbed-Wire Entanglement"; + end; + } + close; +} + +job3_guil03,98,46,0 script #3rdgc_hide01 139,1,4,{ + end; +OnStop: + killmonster "job3_guil03","#3rdgc_hide01::OnMyMobDead"; + stopnpctimer; + end; +OnTouch: + mapannounce "job3_guil03","Man's voice : Umm? Is that a shadow in the window?",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + initnpctimer; + end; +OnTimer2000: + monster "job3_guil03",97,49,"Guard",1985,1,"#3rdgc_hide01::OnMyMobDead"; + monster "job3_guil03",98,49,"Guard",1985,1,"#3rdgc_hide01::OnMyMobDead"; + monster "job3_guil03",99,49,"Guard Dog",1866,1,"#3rdgc_hide01::OnMyMobDead"; + mapannounce "job3_guil03","Guards : An invader!!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + end; +OnTimer60000: + mapannounce "job3_guil03","Guards : Keep strict watch!!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + donpcevent "#3rdgc_guard::OnEnable"; + stopnpctimer; + end; +OnMyMobDead: + if (mobcount("job3_guil03","#3rdgc_hide01::OnMyMobDead") < 1) + stopnpctimer; + end; +} + +job3_guil03,98,55,0 script #3rdgc_hide02 139,1,4,{ + end; +OnStop: + killmonster "job3_guil03","#3rdgc_hide02::OnMyMobDead"; + stopnpctimer; + end; +OnTouch: + mapannounce "job3_guil03","Man's voice : There is something outside!",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + initnpctimer; + end; +OnTimer2000: + monster "job3_guil03",97,57,"Guard",1985,1,"#3rdgc_hide02::OnMyMobDead"; + monster "job3_guil03",98,57,"Guard",1985,1,"#3rdgc_hide02::OnMyMobDead"; + monster "job3_guil03",99,57,"Guard Dog",1866,1,"#3rdgc_hide02::OnMyMobDead"; + mapannounce "job3_guil03","Guards : An invader!!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + end; +OnTimer60000: + mapannounce "job3_guil03","Guards : Keep strict watch!!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + donpcevent "#3rdgc_guard::OnEnable"; + stopnpctimer; + end; +OnMyMobDead: + if (mobcount("job3_guil03","#3rdgc_hide02::OnMyMobDead") < 1) + stopnpctimer; + end; +} + +job3_guil03,98,64,0 script #3rdgc_hide03 139,1,4,{ + end; +OnStop: + killmonster "job3_guil03","#3rdgc_hide03::OnMyMobDead"; + stopnpctimer; + end; +OnTouch: + mapannounce "job3_guil03","Man's voice : What is that?",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + initnpctimer; + end; +OnTimer2000: + monster "job3_guil03",97,67,"Guard",1985,1,"#3rdgc_hide03::OnMyMobDead"; + monster "job3_guil03",98,67,"Guard",1985,1,"#3rdgc_hide03::OnMyMobDead"; + monster "job3_guil03",99,67,"Guard Dog",1866,1,"#3rdgc_hide03::OnMyMobDead"; + mapannounce "job3_guil03","Guards : An invader!!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + end; +OnTimer60000: + mapannounce "job3_guil03","Guards : Keep strict watch!!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + donpcevent "#3rdgc_guard::OnEnable"; + stopnpctimer; + end; +OnMyMobDead: + if (mobcount("job3_guil03","#3rdgc_hide03::OnMyMobDead") < 1) + stopnpctimer; + end; +} + +job3_guil03,1,2,0 script #3rdgc_guard 844,{ + end; +OnEnable: + initnpctimer; + end; +OnStop: + stopnpctimer; + end; +OnTimer5000: + mapannounce "job3_guil03","Guards : Take strict precaution outside!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + donpcevent "Exterior Guard#g01::OnEnable"; + donpcevent "Exterior Guard#g02::OnEnable"; + donpcevent "Exterior Guard#g03::OnEnable"; + donpcevent "Exterior Guard#g04::OnEnable"; + donpcevent "Exterior Guard#g05::OnEnable"; + donpcevent "Exterior Guard#g06::OnEnable"; + end; +OnTimer8000: + mapannounce "job3_guil03","Guards : Take strict precaution of the front gate!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + donpcevent "Front Gate Guard#g01::OnEnable"; + donpcevent "Front Gate Guard#g03::OnEnable"; + donpcevent "Front Gate Guard#g04::OnEnable"; + donpcevent "Front Gate Guard#g05::OnEnable"; + end; +OnTimer13000: + mapannounce "job3_guil03","Guards : Take strict precaution of the back gate!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + donpcevent "Back Gate Guard#g01::OnEnable"; + donpcevent "Back Gate Guard#g03::OnEnable"; + donpcevent "Back Gate Guard#g04::OnEnable"; + donpcevent "Back Gate Guard#g05::OnEnable"; + end; +OnTimer16000: + mapannounce "job3_guil03","Guards : Take strict precaution of the interior!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + donpcevent "Interior Guard#g01::OnEnable"; + donpcevent "Interior Guard#g03::OnEnable"; + donpcevent "Interior Guard#g04::OnEnable"; + donpcevent "Interior Guard#g05::OnEnable"; + stopnpctimer; + end; +} + +job3_guil03,1,3,0 script #3rdgc_guardoff 844,{ + end; +OnDisable: + initnpctimer; + end; +OnReset: + stopnpctimer; + donpcevent "Front Gate Guard#g01::OnDisable"; + donpcevent "Front Gate Guard#g03::OnDisable"; + donpcevent "Front Gate Guard#g04::OnDisable"; + donpcevent "Front Gate Guard#g05::OnDisable"; + donpcevent "Back Gate Guard#g01::OnDisable"; + donpcevent "Back Gate Guard#g03::OnDisable"; + donpcevent "Back Gate Guard#g04::OnDisable"; + donpcevent "Back Gate Guard#g05::OnDisable"; + donpcevent "Interior Guard#g01::OnDisable"; + donpcevent "Interior Guard#g03::OnDisable"; + donpcevent "Interior Guard#g04::OnDisable"; + donpcevent "Interior Guard#g05::OnDisable"; + donpcevent "Exterior Guard#g01::OnDisable"; + donpcevent "Exterior Guard#g02::OnDisable"; + donpcevent "Exterior Guard#g03::OnDisable"; + donpcevent "Exterior Guard#g04::OnDisable"; + donpcevent "Exterior Guard#g05::OnDisable"; + donpcevent "Exterior Guard#g06::OnDisable"; + donpcevent "Front Gate Guard#g01::OnReset"; + donpcevent "Back Gate Guard#g01::OnReset"; + donpcevent "Interior Guard#g01::OnReset"; + donpcevent "Exterior Guard#g01::OnReset"; + donpcevent "Exterior Guard#g02::OnReset"; + donpcevent "Exterior Guard#g03::OnReset"; + donpcevent "Exterior Guard#g04::OnReset"; + donpcevent "Exterior Guard#g05::OnReset"; + donpcevent "Exterior Guard#g06::OnReset"; + end; +OnTimer1000: + mapannounce "job3_guil03","Guards : Umm? I'm imagining things.",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + end; +OnTimer4000: + mapannounce "job3_guil03","Guards : Let's go back.",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + end; +OnTimer5000: + donpcevent "Front Gate Guard#g01::OnDisable"; + donpcevent "Front Gate Guard#g03::OnDisable"; + donpcevent "Front Gate Guard#g04::OnDisable"; + donpcevent "Front Gate Guard#g05::OnDisable"; + donpcevent "Back Gate Guard#g01::OnDisable"; + donpcevent "Back Gate Guard#g03::OnDisable"; + donpcevent "Back Gate Guard#g04::OnDisable"; + donpcevent "Back Gate Guard#g05::OnDisable"; + donpcevent "Interior Guard#g01::OnDisable"; + donpcevent "Interior Guard#g03::OnDisable"; + donpcevent "Interior Guard#g04::OnDisable"; + donpcevent "Interior Guard#g05::OnDisable"; + donpcevent "Exterior Guard#g01::OnDisable"; + donpcevent "Exterior Guard#g02::OnDisable"; + donpcevent "Exterior Guard#g03::OnDisable"; + donpcevent "Exterior Guard#g04::OnDisable"; + donpcevent "Exterior Guard#g05::OnDisable"; + donpcevent "Exterior Guard#g06::OnDisable"; + stopnpctimer; + end; +} + +- script #3rdgc_guard00 -1,{ + end; +OnInit: +OnDisable: + disablenpc strnpcinfo(0); + end; +OnEnable: + enablenpc strnpcinfo(0); + end; +} + +job3_guil03,93,35,3 script Front Gate Guard#g01 456,5,5,{ + end; +OnInit: +OnDisable: + disablenpc "Front Gate Guard#g01"; + end; +OnEnable: + enablenpc "Front Gate Guard#g01"; + end; +OnReset: + killmonster "job3_guil03","Front Gate Guard#g01::OnMyMobDead"; + end; +OnTouch: + disablenpc "Front Gate Guard#g01"; + disablenpc "Front Gate Guard#g03"; + disablenpc "Front Gate Guard#g04"; + disablenpc "Front Gate Guard#g05"; + monster "job3_guil03",93,37,"Guard Dog",1866,1; + monster "job3_guil03",93,36,"Front Gate Guard",1985,1; + monster "job3_guil03",93,35,"Front Gate Guard",1985,1; + monster "job3_guil03",93,34,"Front Gate Guard",1985,1; + monster "job3_guil03",93,33,"Front Gate Guard",1985,1; + monster "job3_guil03",93,32,"Guard Dog",1866,1; + end; +} +job3_guil03,93,36,3 duplicate(#3rdgc_guard00) Front Gate Guard#g03 456 +job3_guil03,93,34,3 duplicate(#3rdgc_guard00) Front Gate Guard#g04 456 +job3_guil03,93,33,3 duplicate(#3rdgc_guard00) Front Gate Guard#g05 456 + +job3_guil03,133,52,5 script Back Gate Guard#g01 456,5,5,{ + end; +OnInit: +OnDisable: + disablenpc "Back Gate Guard#g01"; + end; +OnEnable: + enablenpc "Back Gate Guard#g01"; + end; +OnReset: + killmonster "job3_guil03","Back Gate Guard#g01::OnMyMobDead"; + end; +OnTouch: + disablenpc "Back Gate Guard#g01"; + disablenpc "Back Gate Guard#g03"; + disablenpc "Back Gate Guard#g04"; + disablenpc "Back Gate Guard#g05"; + monster "job3_guil03",133,54,"Guard Dog",1866,1; + monster "job3_guil03",133,53,"Back Gate Guard",1985,1; + monster "job3_guil03",133,52,"Back Gate Guard",1985,1; + monster "job3_guil03",133,51,"Back Gate Guard",1985,1; + monster "job3_guil03",133,50,"Back Gate Guard",1985,1; + monster "job3_guil03",133,49,"Guard Dog",1866,1; + end; +} +job3_guil03,133,53,5 duplicate(#3rdgc_guard00) Back Gate Guard#g03 456 +job3_guil03,133,51,5 duplicate(#3rdgc_guard00) Back Gate Guard#g04 456 +job3_guil03,133,50,5 duplicate(#3rdgc_guard00) Back Gate Guard#g05 456 + +job3_guil03,117,51,4 script Interior Guard#g01 456,5,5,{ + end; +OnInit: +OnDisable: + disablenpc "Interior Guard#g01"; + end; +OnEnable: + enablenpc "Interior Guard#g01"; + end; +OnReset: + killmonster "job3_guil03","Interior Guard#g01::OnMyMobDead"; + end; +OnTouch: + disablenpc "Interior Guard#g01"; + disablenpc "Interior Guard#g03"; + disablenpc "Interior Guard#g04"; + disablenpc "Interior Guard#g05"; + monster "job3_guil03",117,53,"Guard Dog",1866,1; + monster "job3_guil03",117,52,"Interior Guard",1985,1; + monster "job3_guil03",117,51,"Interior Guard",1985,1; + monster "job3_guil03",117,50,"Interior Guard",1985,1; + monster "job3_guil03",117,49,"Interior Guard",1985,1; + monster "job3_guil03",117,48,"Guard Dog",1866,1; + end; +} +job3_guil03,117,52,4 duplicate(#3rdgc_guard00) Interior Guard#g03 456 +job3_guil03,117,50,4 duplicate(#3rdgc_guard00) Interior Guard#g04 456 +job3_guil03,117,49,4 duplicate(#3rdgc_guard00) Interior Guard#g05 456 + +job3_guil03,88,44,4 script Exterior Guard#g01 456,5,5,{ + end; +OnInit: +OnDisable: + disablenpc "Exterior Guard#g01"; + end; +OnEnable: + enablenpc "Exterior Guard#g01"; + end; +OnReset: + killmonster "job3_guil03","Exterior Guard#g01::OnMyMobDead"; + end; +OnTouch: + mapannounce "job3_guil03","Guards : Who are you?!",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + disablenpc "Exterior Guard#g01"; + monster "job3_guil03",88,44,"Exterior Guard",1985,1; + monster "job3_guil03",88,43,"Exterior Guard",1985,1; + monster "job3_guil03",88,45,"Guard Dog",1866,1; + end; +} + +job3_guil03,88,55,4 script Exterior Guard#g02 456,5,5,{ + end; +OnInit: +OnDisable: + disablenpc "Exterior Guard#g02"; + end; +OnEnable: + enablenpc "Exterior Guard#g02"; + end; +OnReset: + killmonster "job3_guil03","Exterior Guard#g02::OnMyMobDead"; + end; +OnTouch: + mapannounce "job3_guil03","Guards : Enemy?!",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + disablenpc "Exterior Guard#g02"; + monster "job3_guil03",88,55,"Exterior Guard",1985,1; + monster "job3_guil03",88,54,"Exterior Guard",1985,1; + monster "job3_guil03",88,56,"Guard Dog",1866,1; + end; +} + +job3_guil03,88,64,4 script Exterior Guard#g03 456,5,5,{ + end; +OnInit: +OnDisable: + disablenpc "Exterior Guard#g03"; + end; +OnEnable: + enablenpc "Exterior Guard#g03"; + end; +OnReset: + killmonster "job3_guil03","Exterior Guard#g03::OnMyMobDead"; + end; +OnTouch: + mapannounce "job3_guil03","Guards : An invader, remove!",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + disablenpc "Exterior Guard#g03"; + monster "job3_guil03",88,64,"Exterior Guard",1985,1; + monster "job3_guil03",88,63,"Exterior Guard",1985,1; + monster "job3_guil03",88,65,"Guard Dog",1866,1; + end; +} + +job3_guil03,73,62,4 script Exterior Guard#g04 456,5,5,{ + end; +OnInit: +OnDisable: + disablenpc "Exterior Guard#g04"; + end; +OnEnable: + enablenpc "Exterior Guard#g04"; + end; +OnReset: + killmonster "job3_guil03","Exterior Guard#g04::OnMyMobDead"; + end; +OnTouch: + mapannounce "job3_guil03","Guards : Who are you?!",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + disablenpc "Exterior Guard#g04"; + monster "job3_guil03",73,62,"Exterior Guard",1985,1; + monster "job3_guil03",73,61,"Exterior Guard",1985,1; + monster "job3_guil03",73,63,"Guard Dog",1866,1; + end; +} + +job3_guil03,77,51,4 script Exterior Guard#g05 456,5,5,{ + end; +OnInit: +OnDisable: + disablenpc "Exterior Guard#g05"; + end; +OnEnable: + enablenpc "Exterior Guard#g05"; + end; +OnReset: + killmonster "job3_guil03","Exterior Guard#g05::OnMyMobDead"; + end; +OnTouch: + mapannounce "job3_guil03","Guards : Who are you?!",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + disablenpc "Exterior Guard#g05"; + monster "job3_guil03",77,51,"Exterior Guards",1985,1; + monster "job3_guil03",77,50,"Exterior Guards",1985,1; + monster "job3_guil03",77,49,"Guard Dog",1866,1; + end; +} + +job3_guil03,73,34,4 script Exterior Guard#g06 456,5,5,{ + end; +OnInit: +OnDisable: + disablenpc "Exterior Guard#g06"; + end; +OnEnable: + enablenpc "Exterior Guard#g06"; + end; +OnReset: + killmonster "job3_guil03","Exterior Guard#g06::OnMyMobDead"; + end; +OnTouch: + mapannounce "job3_guil03","Guard : Who are you?!",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + disablenpc "Exterior Guard#g06"; + monster "job3_guil03",73,34,"Exterior Guards",1985,1; + monster "job3_guil03",73,33,"Exterior guards",1985,1; + monster "job3_guil03",73,32,"Guard Dog",1866,1; + end; +} + +job3_guil03,110,27,3 script Guard Dog#dog01 1866,3,1,{ + end; +OnEnable: + enablenpc "Guard Dog#dog01"; + end; +OnDisable: + disablenpc "Guard Dog#dog01"; + end; +OnReset: + killmonster "job3_guil03","Guard Dog#dog01::OnMyMobDead"; + end; +OnTouch: + mapannounce "job3_guil03","You have been detected by the guard dog.",bc_map,"0x00ff00"; //FW_NORMAL 12 0 0 + disablenpc "Guard Dog#dog01"; + monster "job3_guil03",110,27,"Guard Dog",1866,1; + monster "job3_guil03",103,27,"Dog Trainer",1985,1; + monster "job3_guil03",104,27,"Dog Trainer's Assistant",1985,1; + monster "job3_guil03",98,27,"Guard",1985,1; + end; +} + +job3_guil03,119,27,3 script Guard Dog#dog02 1866,3,1,{ + end; +OnEnable: + enablenpc "Guard Dog#dog02"; + end; +OnDisable: + disablenpc "Guard Dog#dog02"; + end; +OnReset: + killmonster "job3_guil03","Guard Dog#dog02::OnMyMobDead"; + end; +OnTouch: + mapannounce "job3_guil03","You have been detected by the guard dog.",bc_map,"0x00ff00"; //FW_NORMAL 12 0 0 + disablenpc "Guard Dog#dog02"; + monster "job3_guil03",124,27,"Guard Dog",1866,1; + monster "job3_guil03",126,27,"Dog Trainer",1985,1; + monster "job3_guil03",104,27,"Trainer's Assistant",1985,1; + monster "job3_guil03",131,27,"Guard",1985,1; + end; +} + +job3_guil03,2,1,0 script #3rdgc_sunchal_nomal 844,{ + end; +OnEnable: + monster "job3_guil03",62,35,"Guard",1985,1; + monster "job3_guil03",108,78,"Guard",1985,1; + monster "job3_guil03",133,77,"Guard",1985,1; + monster "job3_guil03",79,69,"Guard",1985,1; + monster "job3_guil03",117,27,"Guard",1985,1; + monster "job3_guil03",62,48,"Guard",1985,1; + monster "job3_guil03",116,24,"Guard Dog",1866,1; + monster "job3_guil03",137,24,"Guard Dog",1866,1; + monster "job3_guil03",49,74,"Guard Dog",1866,1; + monster "job3_guil03",48,50,"Guard Dog",1866,1; + monster "job3_guil03",62,48,"Guard Dog",1866,1; + monster "job3_guil03",61,38,"Guard Dog",1866,1; + monster "job3_guil03",74,47,"Guard Dog",1866,1; + monster "job3_guil03",90,34,"Guard Dog",1866,1; + monster "job3_guil03",91,51,"Guard Dog",1866,1; + monster "job3_guil03",155,77,"Guard Dog",1866,1; + monster "job3_guil03",127,67,"Guard Dog",1866,1; + monster "job3_guil03",131,43,"Guard Dog",1866,1; + monster "job3_guil03",103,27,"Guard Dog",1866,1; + monster "job3_guil03",63,74,"Guard Dog",1866,1; + monster "job3_guil03",79,69,"Guard Dog",1866,1; + monster "job3_guil03",0,0,"Watch Light",1129,1; + monster "job3_guil03",0,0,"Watch Light",1129,1; + monster "job3_guil03",0,0,"Watch Light",1129,1; + monster "job3_guil03",0,0,"Watch Light",1129,1; + monster "job3_guil03",0,0,"Watch Light",1129,1; + end; +OnReset: + killmonster "job3_guil03","#3rdgc_sunchal_nomal::OnMyMobDead"; + end; +} + +job3_guil03,2,2,0 script #3rdgc_sunchal_kill01 844,{ + end; +OnEnable: + set .@i, atoi(charat(strnpcinfo(0),20)); + setarray .@x[1],74,124,103; + setarray .@y[1],63, 78, 24; + monster "job3_guil03",.@x[.@i],.@y[.@i],"Guard",1985,1,strnpcinfo(0)+"::OnMyMobDead"; + end; +OnStop: + mapannounce "job3_guil03","Guard : Am I imagining things? I just heard something...",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + stopnpctimer; + end; +OnReset: + killmonster "job3_guil03",strnpcinfo(0)+"::OnMyMobDead"; + end; +OnMyMobDead: + initnpctimer; + end; +OnTimer3000: + mapannounce "job3_guil03","Guard : Huh? What's that sound. Hey, what's going on?",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + end; +OnTimer70000: + mapannounce "job3_guil03","Guard : What's the matter?",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + end; +OnTimer10000: + mapannounce "job3_guil03","Guard : Something's wrong, take caution!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + donpcevent "#3rdgc_guard::OnEnable"; + stopnpctimer; + end; +} +job3_guil03,2,3,0 duplicate(#3rdgc_sunchal_kill01) #3rdgc_sunchal_kill02 844 +job3_guil03,2,4,0 duplicate(#3rdgc_sunchal_kill01) #3rdgc_sunchal_kill03 844 + +job3_guil03,64,68,3 script #3rdgc_gojung_kill01 456,7,7,{ + end; +OnEnable: + enablenpc strnpcinfo(0); + end; +OnDisable: + disablenpc strnpcinfo(0); + end; +OnStop: + mapannounce "job3_guil03","Guard : Am I imagining things? I just heard something.",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + stopnpctimer; + end; +OnReset: + killmonster "job3_guil03",strnpcinfo(0)+"::OnMyMobDead"; + end; +OnTouch: + set .@i, atoi(charat(strnpcinfo(0),19)); + setarray .@x[1],64,86,83; + setarray .@y[1],68,63,36; + mapannounce "job3_guil03","Guard : Who are you?!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + disablenpc strnpcinfo(0); + monster "job3_guil03",.@x[.@i],.@y[.@i],"Guard",1985,1,strnpcinfo(0)+"::OnMyMobDead"; + initnpctimer; + end; +OnMyMobDead: + stopnpctimer; + end; +OnTimer5000: + if (strnpcinfo(0) == "#3rdgc_gojung_kill03") end; +OnTimer10000: + mapannounce "job3_guil03","Guard : I need support! Take caution!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + donpcevent "#3rdgc_guard::OnEnable"; + stopnpctimer; + end; +} +job3_guil03,86,63,1 duplicate(#3rdgc_gojung_kill01) #3rdgc_gojung_kill02 456,8,8 +job3_guil03,83,36,5 duplicate(#3rdgc_gojung_kill01) #3rdgc_gojung_kill03 456,6,6 + +job3_guil03,88,71,0 script #3rdgc_safezone01 139,1,1,{ + end; +OnTouch: + mes "It's a good bush to hide yourself."; + donpcevent strnpcinfo(0)+"::OnTimer"; + close; +OnTimer: + //FIXME: This is a workaround for... + //var pccount_tt = GetNeighborPcNumber 2 + getmapxy(.@map$,.@x,.@y,1); + setarray .@x[1],.@x-2,.@x+2; + setarray .@y[1],.@y-2,.@y+2; + sleep 1000; + for(set .@i,0; .@i<9; set .@i,.@i+1) { + if (getareausers(.@map$,.@x[1],.@y[1],.@x[2],.@y[2]) < 1) + end; + sleep 1000; + } + if (getareausers(.@map$,.@x[1],.@y[1],.@x[2],.@y[2]) > 0) + donpcevent "#3rdgc_guardoff::OnDisable"; + end; +} +job3_guil03,82,45,0 duplicate(#3rdgc_safezone01) #3rdgc_safezone02 139,1,1 +job3_guil03,72,53,0 duplicate(#3rdgc_safezone01) #3rdgc_safezone03 139,1,1 + +job3_guil03,111,51,7 script Priest from Rachel 928,{ + if (!.on) end; + mes "[Priest from Rachel]"; + if (job_3rd_gc == 17) { + mes "Are you from the Assassin Guild?"; + next; + mes "[Priest from Rachel]"; + mes "The reason that our organization was dissolved was because of you guys."; + mes "You are a thorough person?"; + next; + mes "[Priest from Rachel]"; + mes "Because of you, you ruined everything!"; + setnpcdisplay(strnpcinfo(0),2030); + next; + mes "[Priest from Rachel]"; + mes "You want to destroy us forever!"; + mes "I can't put the Goddess to shame on a dirty Odin!"; + next; + mes "[Priest from Rachel]"; + mes "I'll never forgive you!!!"; + mes "Pagan! Justice will be swift!"; + donpcevent "Priest from Rachel::OnDisable"; + monster "job3_guil03",111,51,"Priest from Rachel",2030,1,"Priest from Rachel::OnMyMobDead"; + close; + } + mes "Who are you?"; + mes "Get out of here."; + close2; + warp "ve_fild05",341,303; + end; +OnInit: +OnDisable: + set .on,0; + hideonnpc "Priest from Rachel"; + end; +OnEnable: + set .on,1; + hideoffnpc "Priest from Rachel"; + end; +OnReset: + killmonster "job3_guil03","Priest from Rachel::OnMyMobDead"; + end; +OnMyMobDead: + donpcevent "Renzak#3rdgc16::OnEnable"; + mapannounce "job3_guil03","I... I can't die in vain...",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0 + donpcevent "#3rdgc_event01::OnStop"; + initnpctimer; + end; +OnTimer3000: + mapannounce "job3_guil03","Renzak : Hey! Come out!",bc_map,"0x4d4dff"; //FW_NORMAL 12 0 0 + end; +OnTimer40000: + mapannounce "job3_guil03","Renzak : Don't lag!",bc_map,"0x4d4dff"; //FW_NORMAL 12 0 0 + end; +OnTimer60000: + mapwarp "job3_guil03","ve_fild05",341,303; + end; +OnTimer61000: + donpcevent "#3rdgc_guard::OnStop"; + donpcevent "#3rdgc_guardoff::OnReset"; + donpcevent "#3rdgc_hide01::OnStop"; + donpcevent "#3rdgc_hide02::OnStop"; + donpcevent "#3rdgc_hide03::OnStop"; + donpcevent "#3rdgc_sunchal_kill01::OnStop"; + donpcevent "#3rdgc_sunchal_kill02::OnStop"; + donpcevent "#3rdgc_sunchal_kill03::OnStop"; + donpcevent "#3rdgc_gojung_kill01::OnStop"; + donpcevent "#3rdgc_gojung_kill02::OnStop"; + donpcevent "#3rdgc_gojung_kill03::OnStop"; + donpcevent "Guard Dog#dog01::OnReset"; + donpcevent "Guard Dog#dog02::OnReset"; + donpcevent "#3rdgc_sunchal_nomal::OnReset"; + donpcevent "#3rdgc_sunchal_kill01::OnReset"; + donpcevent "#3rdgc_sunchal_kill02::OnReset"; + donpcevent "#3rdgc_sunchal_kill03::OnReset"; + donpcevent "#3rdgc_gojung_kill01::OnReset"; + donpcevent "#3rdgc_gojung_kill02::OnReset"; + donpcevent "#3rdgc_gojung_kill03::OnReset"; + donpcevent "Priest from Rachel::OnReset"; + donpcevent "Barbed-Wire Entanglement::OnDisable"; + donpcevent "Guard Dog#dog01::OnDisable"; + donpcevent "Guard Dog#dog02::OnDisable"; + donpcevent "#3rdgc_gojung_kill01::OnDisable"; + donpcevent "#3rdgc_gojung_kill02::OnDisable"; + donpcevent "#3rdgc_gojung_kill03::OnDisable"; + donpcevent "Priest from Rachel::OnDisable"; + donpcevent "Renzak#3rdgc16::OnDisable"; + end; +OnTimer61500: + donpcevent "#3rdgc_event01::OnEnable"; + set $@3rdgc_room02, 0; + stopnpctimer; + end; +} + +job3_guil03,146,70,3 script Renzak#3rdgc16 466,{ + mes "[Renzak]"; + if (checkquest(7110,HUNTING) == 2) { + mes "My peers will come here to settle this affair."; + mes "Go to Mayshell for the report."; + next; + mes "[Renzak]"; + if (checkquest(7110,PLAYTIME) == 1) { + mes "You finished quickly."; + mes "Good job."; + set job_3rd_gc, 18; + } else { + mes "I told you that you have to finish within 10 minutes."; + mes "You might be exhausted."; + mes "Fortunately you are ok."; + set job_3rd_gc, 19; + } + erasequest 7110; + setquest 7111; + close2; + warp "job3_guil01",51,50; + end; + } + mes "Get the target!"; + mes "Actually, I'm not supposed to be here. Is something wrong with you?"; + close; +OnInit: + disablenpc "Renzak#3rdgc16"; + end; +OnEnable: + enablenpc "Renzak#3rdgc16"; + end; +OnDisable: + disablenpc "Renzak#3rdgc16"; + end; +} + +job3_guil01,148,53,3 script Bercasell#3rdgc16 467,{ + if (!checkweight(1201,2)) { + mes "- You can't continue this quest because you have too many items. -"; + close; + } + mes "[Bercasell]"; + if (Class == Job_Assassin || Class == Job_Assassin_Cross || Class == Job_Baby_Assassin) { + if (job_3rd_gc == 20) { + if (JobLevel > 49 && SkillPoint == 0 && BaseLevel > 98) { + mes "I'm so tired..."; + mes "You were sent by Mayshell?"; + mes "Tell me why you came to see me."; + next; + switch(select("What is a Guillotine Cross?:I want to be a Guillotine Cross.:Nothing.")) { + case 1: + mes "[Bercasell]"; + mes "....."; + next; + mes "[Bercasell]"; + mes "So you want to know about the Guillotine Cross?"; + mes "Get out!"; + next; + switch(select("Just tell me...:......")) { + case 1: + mes "[Bercasell]"; + callsub L_Info; + mes "[Bercasell]"; + mes "It's funny that I'm talking to you like this."; + mes "I want to stop you from becoming a Guillotine Cross because of your defiance."; + close; + case 2: + mes "[Bercasell]"; + mes "Yes, you don't ask questions."; + mes "That's good. You are qualified. What about being a Guillotine Cross?"; + mes "Do you want to be a Guillotine Cross?"; + 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 (ismounting()) { + 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 (checkquest(7096) == 1) { + set job_3rd_gc, 25; + erasequest 7096; + } else if (checkquest(7097) == 1) { + set job_3rd_gc, 26; + erasequest 7097; + } else if (checkquest(7098) == 1) { + set job_3rd_gc, 27; + erasequest 7098; + } else if (checkquest(7099) == 1) { + set job_3rd_gc, 28; + erasequest 7099; + } + getitem 2795,1; //Green_Apple_Ring + getitem 5755,1; //Silent_Executer + next; + mes "[Bercasell]"; + mes "And... these are presents to celebrate your becoming a Guillotine Cross."; + //FIXME: Outdated? + /* + set Silent_Executer,Silent_Executer+1; + next; + mes "[Bercasell]"; + mes "And... A ticket and a ring,"; + mes "these are presents to celebrate your becoming a Guillotine Cross."; + next; + mes "[Bercasell]"; + mes "Unfortunately, we don't have any new weapons to offer at this time."; + */ + 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; + } + 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; + } + } + case 2: + goto L_JobChange; + case 3: + mes "[Bercasell]"; + mes "Don't bother me."; + close; + } + } + mes "......"; + mes "What can I do for you?"; + next; + switch(select("I want to be a Guillotine.:Nothing.")) { + case 1: + mes "[Bercasell]"; + mes "Do you?"; + mes "What for...?"; + mes "Of course, you came here with your own will..."; + next; + mes "[Bercasell]"; + mes "Guillotine Cross is an enforcer of the Assassin Guild's laws."; + mes "Can you put a dagger in the back of one of your peers?"; + next; + mes "[Bercasell]"; + mes "You are not ready to do it yet..."; + close; + case 2: + mes "[Bercasell]"; + mes "Don't bother me."; + close; + } + } else if (job_3rd_gc > 20) { + mes "Don't pursue only strength."; + mes "You'll get tired."; + mes "It's no better than living."; + mes "If you only seek power..."; + next; + mes "[Bercasell]"; + mes "Someday, it'll come back to you."; + mes "Well, I'm just a weapon, suppose I have no right to talk about life..."; + close; + } else { + mes "What's going on with Daora?"; + mes "Why are you in here?"; + mes "Did I say you could come here?"; + next; + mes "[Bercasell]"; + mes "Or did Mayshell send you?"; + mes "Or what, are you my fan?"; + mes "You found the wrong place!"; + next; + mes "[Bercasell]"; + mes "Get out of here now!!!"; + close; + } + } else if (Class == Job_Guillotine_Cross || Class == Job_Guillotine_Cross_T || Class == Job_Baby_Cross) { + //FIXME: Outdated? + /*if (job_3rd_gc > 20 && job_3rd_gc < 25) { + if (countitem(6153) > 0) { + mes "Long time no see."; + mes "Are you doing well lately?"; + next; + mes "[Bercasell]"; + mes "Actually, supplies from the guild have just arrived."; + mes "It's been quite tough work to make new ones."; + next; + mes "[Bercasell]"; + mes "There wll be any different in grade about lank by clearing mission. So do not worry."; + mes "I'm pretty sure that you made your mind."; + next; + mes "[Bercasell]"; + mes "Death doesn't tell anything..."; + delitem 6153,1; //Special_Exchange_Coupon + if (job_3rd_gc > 20 && job_3rd_gc < 25) + set job_3rd_gc, job_3rd_gc+4; + completequest 7100; + set Silent_Executer,Silent_Executer+1; + close; + } else { + mes "Actually, supplies from the guild have just arrived."; + mes "It's been quite tough work to make new ones."; + next; + mes "[Bercasell]"; + mes "If you give me the exchange ticket I gave you before, I'll give you the supplies."; + close; + } + }*/ + mes "Don't pursue only strength."; + mes "You'll get tired."; + mes "It's no better than living."; + mes "If you only seek power..."; + next; + mes "[Bercasell]"; + mes "Someday, it'll come back to you."; + mes "Well, I'm just a weapon, suppose I have no right to talk about life..."; + close; + } + mes "What?"; + mes "Hey, you aren't supposed to be here!"; + mes "Get out now!"; + close; + +L_Info: + mes "Guillotine Cross is an enforcer."; + mes "A living offensive weapon..."; + next; + mes "[Bercasell]"; + mes "Who is an assassin's natural enemy?"; + mes "Swordman? Priest?"; + mes "Wizard?"; + mes "Things of evil in great abundance?"; + next; + mes "[Bercasell]"; + mes "No, an assassin's natural enemy is other assassins."; + mes "The most threatening thing to us is us."; + next; + mes "[Bercasell]"; + mes "In the darkness of the guild, in the shadows we are the Guillotine Crosses."; + mes "We maintain the law and order within the Assassin Guild."; + next; + mes "[Bercasell]"; + mes "Sometimes we set examples for our peers, sometimes we aim swords at our members' necks in the name of the Guild."; + mes "We are the Guillotine Cross, the sword of the Assassin Guild."; + next; + mes "[Bercasell]"; + mes "We have the skill to find members who are in the darkness, and you are being way too pushy."; + next; + mes "[Bercasell]"; + mes "We have highly advanced combat skills."; + next; + return; +} + +/* +job3_guil02,1,3,0 script #GMhelper01_gc 844,{ + mes "What can I do for you?"; + next; + input .@input; + if (.@input == 1854) { + set .@room01, $@3rdgc_room01; + mes "I check the recent situation."; + mes "The battle situation of storage: "+.@room01+""; + mes "1 : In progress. 0 : Standby status."; + next; + switch(select("Reset a situation of storage:Stop it.")) { + case 1: + mes "Do you wish to reset a situation of storage?"; + mes "Check the inside that there is a person or not, please."; + next; + switch(select("No.:Reset.")) { + case 1: + mes "I did nothing."; + close; + case 2: + mes "Reset a situation of storage."; + donpcevent "Dandelion#3rdgc12::OnDisable"; + donpcevent "A man with black clothes::OnDisable"; + donpcevent "#3rdgc_room01_mag01::OnEnable"; + set $@3rdgc_room01, 0; + next; + mes "Complete a reset."; + close; + } + case 2: + mes "A management for mansion is in mansion."; + close; + } + } + mes "-_-."; + close; +} + +job3_guil03,1,8,0 script #GMhelper02_gc 844,{ + mes "What can I do for you?"; + next; + input .@input; + if (.@input == 1854) { + set .@room02, $@3rdgc_room02; + mes "Check the recent situation."; + mes "The battle situation of the mansion is: "+.@room02+""; + mes "1 : In progress. 0 : Standby status."; + next; + switch(select("Reset the mansion:Stop it.")) { + case 1: + mes "Do you want to reset the mansion?"; + mes "With completion a rest all players of inside will be expelled."; + next; + switch(select("No.:Reset.")) { + case 1: + mes "I don't anything."; + close; + case 2: + mes "Reset the mansion."; + donpcevent "#3rdgc_guard::OnStop"; + donpcevent "#3rdgc_guardoff::OnReset"; + donpcevent "#3rdgc_hide01::OnStop"; + donpcevent "#3rdgc_hide02::OnStop"; + donpcevent "#3rdgc_hide03::OnStop"; + donpcevent "#3rdgc_sunchal_kill01::OnStop"; + donpcevent "#3rdgc_sunchal_kill02::OnStop"; + donpcevent "#3rdgc_sunchal_kill03::OnStop"; + donpcevent "#3rdgc_gojung_kill01::OnStop"; + donpcevent "#3rdgc_gojung_kill02::OnStop"; + donpcevent "#3rdgc_gojung_kill03::OnStop"; + donpcevent "Guard Dog#dog01::OnReset"; + donpcevent "Guard Dog#dog02::OnReset"; + donpcevent "#3rdgc_sunchal_nomal::OnReset"; + donpcevent "#3rdgc_sunchal_kill01::OnReset"; + donpcevent "#3rdgc_sunchal_kill02::OnReset"; + donpcevent "#3rdgc_sunchal_kill03::OnReset"; + donpcevent "#3rdgc_gojung_kill01::OnReset"; + donpcevent "#3rdgc_gojung_kill02::OnReset"; + donpcevent "#3rdgc_gojung_kill03::OnReset"; + donpcevent "Priest from Rachel::OnReset"; + donpcevent "Barbed-Wire Entanglement::OnDisable"; + donpcevent "Guard Dog#dog01::OnDisable"; + donpcevent "Guard Dog#dog02::OnDisable"; + donpcevent "#3rdgc_gojung_kill01::OnDisable"; + donpcevent "#3rdgc_gojung_kill02::OnDisable"; + donpcevent "#3rdgc_gojung_kill03::OnDisable"; + donpcevent "Priest from Rachel::OnDisable"; + donpcevent "Renzak#3rdgc16::OnDisable"; + next; + mes "Complete a reset of NPC inside."; + mes "The global var is organized."; + mes "We start to expel by force."; + mes "Just put the enter button now."; + donpcevent "#3rdgc_event01::OnEnable"; + set $@3rdgc_room02, 0; + close2; + mapwarp "job3_guil03","ve_fild05",341,303; + end; + } + case 2: + mes "The management of storage is in a storage."; + close; + } + } + mes "-_-."; + close; +} +*/
\ No newline at end of file diff --git a/npc/re/jobs/3-1/rune_knight.txt b/npc/re/jobs/3-1/rune_knight.txt index d7260cb25..5f9f8db02 100644 --- a/npc/re/jobs/3-1/rune_knight.txt +++ b/npc/re/jobs/3-1/rune_knight.txt @@ -4,7 +4,7 @@ //= L0ne_W0lf //= Credits: Gepard, Muad_Dib //===== Current Version: ===================================== -//= 1.1 +//= 1.2 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= diff --git a/npc/re/scripts_jobs.conf b/npc/re/scripts_jobs.conf index 8d06c0bdd..14e532bcf 100644 --- a/npc/re/scripts_jobs.conf +++ b/npc/re/scripts_jobs.conf @@ -16,7 +16,7 @@ npc: npc/re/jobs/3-1/mechanic.txt npc: npc/re/jobs/3-1/ranger.txt npc: npc/re/jobs/3-1/rune_knight.txt npc: npc/re/jobs/3-1/warlock.txt -//npc: npc/re/jobs/3-1/guillotine.txt +npc: npc/re/jobs/3-1/guillotine_cross.txt // - 3-2 npc: npc/re/jobs/3-2/genetic.txt npc: npc/re/jobs/3-2/minstrel.txt diff --git a/sql-files/mob_db.sql b/sql-files/mob_db.sql index d0d4122e8..932bf54c3 100644 --- a/sql-files/mob_db.sql +++ b/sql-files/mob_db.sql @@ -1149,8 +1149,8 @@ REPLACE INTO `mob_db` VALUES (2026,'DANDELION_','Runaway Dandelion Member','Runa REPLACE INTO `mob_db` VALUES (2027,'G_DARK_SHADOW','Dark Shadow','Dark Shadow',114,42900,0,0,0,1,10000,15000,35,44,1,23,12,145,102,60,10,12,0,0,47,0x3795,220,768,1776,648,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); # REPLACE INTO `mob_db` VALUES (2028,'E_MINOROUS','Minorous','Minorous',1,741,0,0,0,1,30,48,2,5,6,4,6,6,5,3,10,12,2,2,43,0x120,200,1360,960,432,0,0,0,0,0,0,0,7606,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); # REPLACE INTO `mob_db` VALUES (2029,'E_MINOROUS_','Minorous','Minorous',10,15,0,10,0,1,100,150,100,99,1,1,1,1,100,100,10,12,2,2,43,0x120,200,1360,960,432,0,0,0,0,0,0,0,941,10,11708,2000,11708,4000,11708,1000,516,1000,2289,1,577,1000,0,0,0,0,644,1); -# REPLACE INTO `mob_db` VALUES (2030,'HIDEN_PRIEST','Hiden Priest','Hiden Priest',90,240000,0,0,0,2,1300,1983,0,30,1,32,40,100,82,40,10,12,2,6,89,0x120,150,432,432,360,0,0,0,0,0,0,0,12379,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); -# REPLACE INTO `mob_db` VALUES (2031,'DANDELION_H','Dandelion','Dandelion',80,120000,0,0,0,1,305,610,0,10,1,19,32,0,63,20,10,12,1,7,47,0x120,250,1772,72,384,0,0,0,0,0,0,0,12379,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); +REPLACE INTO `mob_db` VALUES (2030,'HIDEN_PRIEST','Hiden Priest','Hiden Priest',90,240000,0,0,0,2,1300,1983,0,30,1,32,40,100,82,40,10,12,2,6,89,0x120,150,432,432,360,0,0,0,0,0,0,0,12379,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); +REPLACE INTO `mob_db` VALUES (2031,'DANDELION_H','Dandelion','Dandelion',80,120000,0,0,0,1,305,610,0,10,1,19,32,0,63,20,10,12,1,7,47,0x120,250,1772,72,384,0,0,0,0,0,0,0,12379,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); # REPLACE INTO `mob_db` VALUES (2032,'GUARDIAN_FOREST','Forest Guardian','Forest Guardian',50,8578,0,0,0,1,1000,1103,15,25,1,75,55,1,93,45,10,12,0,6,27,0x120,100,868,480,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); # REPLACE INTO `mob_db` VALUES (2033,'GOLDEN_TULIP','Golden Tulip','Golden Tulip',1,299,0,0,0,1,1,2,100,99,0,0,0,0,0,0,7,12,0,3,22,0x120,2000,1,1,1,0,0,0,0,0,0,0,7951,10000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); # REPLACE INTO `mob_db` VALUES (2034,'M_DESERT_WOLF_B','Baby Desert Wolf','Baby Desert Wolf',9,164,15,0,0,1,500,600,0,0,1,9,9,5,40,40,10,12,0,2,23,0x120,100,1600,900,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); diff --git a/sql-files/mob_db_re.sql b/sql-files/mob_db_re.sql index 86c96986a..5ef0dca7b 100644 --- a/sql-files/mob_db_re.sql +++ b/sql-files/mob_db_re.sql @@ -1196,8 +1196,8 @@ REPLACE INTO `mob_db` VALUES (2027,'G_DARK_SHADOW','Dark Shadow','Dark Shadow',1 # Additional Monsters # REPLACE INTO `mob_db` VALUES (2028,'E_MINOROUS','Minorous','Minorous',1,741,0,0,0,1,30,48,4,5,6,4,6,6,5,3,10,12,2,2,43,0x120,200,1360,960,432,0,0,0,0,0,0,0,7606,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); # REPLACE INTO `mob_db` VALUES (2029,'E_MINOROUS_','Minorous','Minorous',10,15,0,9,0,1,100,150,160,99,1,1,1,1,100,100,10,12,2,2,43,0x120,200,1360,960,432,0,0,0,0,0,0,0,941,10,6119,2000,6119,4000,6119,1000,516,1000,2289,1,577,1000,0,0,0,0,644,1); -# REPLACE INTO `mob_db` VALUES (2030,'HIDEN_PRIEST','Hiden Priest','Hiden Priest',90,240500,0,0,0,2,1300,1983,0,30,1,32,40,100,82,40,10,12,2,6,89,0x120,150,432,432,360,0,0,0,0,0,0,0,12379,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); -# REPLACE INTO `mob_db` VALUES (2031,'DANDELION_H','Dandelion','Dandelion',80,120000,0,0,0,1,305,610,0,10,1,19,32,0,63,20,10,12,1,7,47,0x120,250,1772,72,384,0,0,0,0,0,0,0,12379,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); +REPLACE INTO `mob_db` VALUES (2030,'HIDEN_PRIEST','Hiden Priest','Hiden Priest',90,240500,0,0,0,2,1300,1983,0,30,1,32,40,100,82,40,10,12,2,6,89,0x120,150,432,432,360,0,0,0,0,0,0,0,12379,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); +REPLACE INTO `mob_db` VALUES (2031,'DANDELION_H','Dandelion','Dandelion',80,120000,0,0,0,1,305,610,0,10,1,19,32,0,63,20,10,12,1,7,47,0x120,250,1772,72,384,0,0,0,0,0,0,0,12379,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); # REPLACE INTO `mob_db` VALUES (2032,'GUARDIAN_FOREST','Forest Guardian','Forest Guardian',50,99999,0,0,0,1,3000,6000,160,99,100,100,100,100,100,100,10,12,0,6,27,0x120,200,868,480,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); # REPLACE INTO `mob_db` VALUES (2033,'GOLDEN_TULIP','Golden Tulip','Golden Tulip',1,100,0,0,0,1,1,2,160,99,0,0,0,0,0,0,7,12,0,3,22,0x120,2000,1,1,1,0,0,0,0,0,0,0,7951,10000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); # REPLACE INTO `mob_db` VALUES (2034,'M_DESERT_WOLF_B','Baby Desert Wolf','Baby Desert Wolf',9,164,15,0,0,1,500,600,0,0,1,9,9,5,40,40,10,12,0,2,23,0x120,100,1600,900,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); |