diff options
author | L0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-11-02 01:15:07 +0000 |
---|---|---|
committer | L0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-11-02 01:15:07 +0000 |
commit | e8c89d85b61e53646b8a243618a27bd4b06cb7f1 (patch) | |
tree | d8f7a41c9fd45c58bf4013566cc3425434abedb6 /npc/events | |
parent | 95667bfa39da665dc6da8fd4fc354c658774824e (diff) | |
download | hercules-e8c89d85b61e53646b8a243618a27bd4b06cb7f1.tar.gz hercules-e8c89d85b61e53646b8a243618a27bd4b06cb7f1.tar.bz2 hercules-e8c89d85b61e53646b8a243618a27bd4b06cb7f1.tar.xz hercules-e8c89d85b61e53646b8a243618a27bd4b06cb7f1.zip |
* Rather large update to the WoE scripts.
- Eliminated unofficial map-broadcasts (opening treasures/guardian death.)
- Fixed several errors in guardian spawning (script-wise.)
- Treasure spawning itself is done weird... What exactly is the last paramater for anyway? Near as I can see it's ALWAYS 1. Why is it used? what does it do? Why is it undocumented? Mysteries and more!
- Updated dialog and restructured several NPCs.
* Created a unique function for novice WoE as the new manager does not support it.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11633 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc/events')
-rw-r--r-- | npc/events/nguild/nguild_managers.txt | 188 |
1 files changed, 138 insertions, 50 deletions
diff --git a/npc/events/nguild/nguild_managers.txt b/npc/events/nguild/nguild_managers.txt index 9f54b2a33..8fe345e3d 100644 --- a/npc/events/nguild/nguild_managers.txt +++ b/npc/events/nguild/nguild_managers.txt @@ -3,83 +3,171 @@ //===== By: ================================================== //= kobra_k88 //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= eAthena 0.1+; RO Episode 4+ //===== Description: ========================================= //= +//============================================== +//= Break down of arguments used in the function: +//= arg(0): name of Castle Manager +//= arg(1): name of guild castle. +//= arg(2): x1 coordinate for warp to treasure room +//= arg(3): y1 coordinate for warp to treasure room +//= arg(4): guild script suffix for kafra, etc. //===== Additional Comments: ================================= -//= Based off existing guild scripts. Do not know if it is accurate.[kobra_k88] +//= 1.0 Based off existing guild scripts. Do not know if it is accurate.[kobra_k88] +//= 1.1 Added modified guild manager function. [L0ne_W0lf] +//= Removed guardian summoning. //============================================================ +//============================================== +function script F_GldManagerN { + + set @GID, GetCastleData(getarg(1),1); + mes "[ "+getarg(0)+" ]"; + if (@GID == 0){ + mes "I am waiting for my master. Brave adventurer, follow your destiny!"; + return; + } + if (getcharid(2) != @GID){ + mes "I am here to follow ^5533FF" + getguildmaster(@GID) + "^000000's command! Hey! Your not even a part of the guild!!"; + mes "Where are the guardians? Destroy these intruders!"; + return; + } + if (strcharinfo(0) != getguildmaster(@GID)){ + mes "You're not ^5533FF" + getguildmaster(@GID) + "^000000! I am here to follow ^5533FF" + getguildmaster(@GID) + "^000000's command only"; + return 0; + } + + mes "Welcome Master ^5533FF" + getguildmaster(@GID) + "^000000 ! I will assist you in any way I can!"; + next; + + menu "Kafra Staff Employment / Dismissal",M_Kaf, "Enter Treasure Room",M_Treas, "Cancel",M_End; + + //=========================== + M_Kaf: + //====== + mes "[ "+getarg(0)+" ]"; + if (GetCastleData(getarg(1),9) == 1) goto L_Dismiss; + if (getgdskilllv(@GID,10001) == 0){ + mes "Master, you don't have a contract with the Kafra Staff Company."; + mes "In order to hire a Kafra, you must first learn the Guild skill ^5533FFContract With Kafra^000000."; + return; + } + + L_Hire: + mes "Would you like to employ the services of a Kafra? You will need ^5533FF10,000 Zeny^000000 to do so... "; + next; + menu "Employ Kafra.",-,"Cancel",sM_KafEnd; + + mes "[ "+getarg(0)+" ]"; + if (Zeny < 10000){ + mes "Master, you do not have enough money to employ a Kafra. Employment has been cancelled."; + return; + } + set Zeny,Zeny-10000; + enablenpc "Kafra Staff#"+getarg(4); + SetCastleData getarg(1),9,1; + mes "You have created a contract with the Kafra Staff Company."; + next; + cutin "kafra_01",2; + mes "[ Kafra Staff ]"; + mes "How do you do? I'm here to provide you with helpful service! I'll do the best I can to serve you."; + next; + cutin "kafra_01",255; + mes "[ "+getarg(0)+" ]"; + //mes "Your employment contract lasts ^5533FF1 month^000000. After this term is over you will have to create a new contract."; + mes "I think the Kafra Staff will benefit our guild members."; + return; + + sM_KafEnd: + mes "[ "+getarg(0)+" ]"; + mes "As you wish Master. But I suggest we get a Kafra as soon as possible!"; + return; + + L_Dismiss: + mes "Would you like to dismiss the current Kafra?"; + next; + menu "Dismissal",-,"Cancel",sM_KafEnd2; + + cutin "kafra_01",2; + mes "[ Kafra Staff ]"; + mes "Have I done anything wrong? If I did, will you please forgive me?"; + next; + menu "Dismiss",-,"Cancel",ssM_KafEnd2; + + mes "[ Kafra Staff ]"; + mes "It's unfortunate that I won't be able to serve your guild anymore...."; + next; + disablenpc "Kafra Staff#"+getarg(4); + SetCastleData getarg(1),9,0; + cutin "kafra_01",255; + mes "[ "+getarg(0)+" ]"; + mes "The Kafra has been dismissed. But... we should really get a Kafra as soon as possible!"; + return; + ssM_KafEnd2: + mes "[ Kafra Staff ]"; + mes "Thank you master, I'll do my best! ^^."; + cutin "kafra_01",255; + return; + sM_KafEnd2: + mes "[ "+getarg(0)+" ]"; + mes "Master, I think you should keep the current Kafra Staff because she is already trying her best to serve us"; + return; + + //========================= + M_Treas: + //======== + mes "[ "+getarg(0)+" ]"; + mes "Would you to go to our Treasure Room? Only you, the Guild Master, are allowed to enter this room."; + next; + menu "Enter Treasure room.",-,"Cancel",sM_TresEnd; + + mes "[ "+getarg(0)+" ]"; + mes "Please follow me through the secret passage way."; + mes "You must pull down on the secret switch in order to get out."; + next; + warp getarg(1),getarg(2),getarg(3); + return; + sM_TresEnd: + mes "[ "+getarg(0)+" ]"; + mes "The goods are produced everyday."; + mes "You should get them whenever you can because they might dissapear if you take them at the wrong time."; + return; + + + //========================== + M_End: + //======= + mes "[ "+getarg(0)+" ]"; + mes "As you wish, master."; + return; +} // Castle 1 ================================================================================== nguild_alde,218,175,0 script Frolo 55,{ - if(callfunc("F_GldManager","Frolo","nguild_alde",119,223,"N01") == 0) close; - - if(@GDnum==10) guardian "nguild_alde",18,219,"Soldier Guardian",1287,"Guardian_N01::OnGuardianDied",0; - if(@GDnum==11) guardian "nguild_alde",117,42,"Soldier Guardian",1287,"Guardian_N01::OnGuardianDied",1; - if(@GDnum==12) guardian "nguild_alde",207,153,"Soldier Guardian",1287,"Guardian_N01::OnGuardianDied",2; - if(@GDnum==13) guardian "nguild_alde",68,70,"Archer Guardian",1285,"Guardian_N01::OnGuardianDied",3; - if(@GDnum==14) guardian "nguild_alde",187,140,"Archer Guardian",1285,"Guardian_N01::OnGuardianDied",4; - if(@GDnum==15) guardian "nguild_alde",62,204,"Knight Guardian",1286,"Guardian_N01::OnGuardianDied",5; - if(@GDnum==16) guardian "nguild_alde",113,100,"Knight Guardian",1286,"Guardian_N01::OnGuardianDied",6; - if(@GDnum==17) guardian "nguild_alde",211,174,"Knight Guardian",1286,"Guardian_N01::OnGuardianDied",7; - mes "[Frolo]"; - mes "Guardian has been installed, the guardian will protect our guild base against enemies."; + callfunc "F_GldManager","Frolo","nguild_alde",119,223,"N01"; close; } // Castle 2 ================================================================================== nguild_gef,40,48,5 script Leiber 55,{ - if(callfunc("F_GldManager","Leiber","nguild_gef",155,112,"N02") == 0) close; - - if(@GDnum==10) guardian "nguild_gef",30,178,"Soldier Guardian",1287,"Guardian_N02::OnGuardianDied",0; - if(@GDnum==11) guardian "nguild_gef",64,180,"Soldier Guardian",1287,"Guardian_N02::OnGuardianDied",1; - if(@GDnum==12) guardian "nguild_gef",61,25,"Soldier Guardian",1287,"Guardian_N02::OnGuardianDied",2; - if(@GDnum==13) guardian "nguild_gef",61,44,"Archer Guardian",1285,"Guardian_N02::OnGuardianDied",3; - if(@GDnum==14) guardian "nguild_gef",189,43,"Archer Guardian",1285,"Guardian_N02::OnGuardianDied",4; - if(@GDnum==15) guardian "nguild_gef",51,192,"Knight Guardian",1286,"Guardian_N02::OnGuardianDied",5; - if(@GDnum==16) guardian "nguild_gef",49,67,"Knight Guardian",1286,"Guardian_N02::OnGuardianDied",6; - if(@GDnum==17) guardian "nguild_gef",181,14,"Knight Guardian",1286,"Guardian_N02::OnGuardianDied",7; - mes "[Leiber]"; - mes "Guardian has been installed, the guardian will protect our guild base against enemies."; + callfunc "F_GldManager","Leiber","nguild_gef",155,112,"N02"; close; } // Castle 3 ================================================================================== nguild_pay,120,58,4 script Dundar 55,{ - if(callfunc("F_GldManager","Dundar","nguild_pay",290,7,"N03") == 0) close; - - if(@GDnum==10) guardian "nguild_pay",210,120,"Soldier Guardian",1287,"Guardian_N03::OnGuardianDied",0; - if(@GDnum==11) guardian "nguild_pay",69,26,"Soldier Guardian",1287,"Guardian_N03::OnGuardianDied",1; - if(@GDnum==12) guardian "nguild_pay",23,141,"Soldier Guardian",1287,"Guardian_N03::OnGuardianDied",2; - if(@GDnum==13) guardian "nguild_pay",224,87,"Archer Guardian",1285,"Guardian_N03::OnGuardianDied",3; - if(@GDnum==14) guardian "nguild_pay",81,45,"Archer Guardian",1285,"Guardian_N03::OnGuardianDied",4; - if(@GDnum==15) guardian "nguild_pay",214,53,"Knight Guardian",1286,"Guardian_N03::OnGuardianDied",5; - if(@GDnum==16) guardian "nguild_pay",69,26,"Knight Guardian",1286,"Guardian_N03::OnGuardianDied",6; - if(@GDnum==17) guardian "nguild_pay",23,141,"Knight Guardian",1286,"Guardian_N03::OnGuardianDied",7; - mes "[Dundar]"; - mes "Guardian has been installed, the guardian will protect our guild base against enemies."; + callfunc "F_GldManager","Dundar","nguild_pay",290,7,"N03"; close; } // Castle 4 ================================================================================== nguild_prt,112,181,0 script Thefton 55,{ - if(callfunc("F_GldManager","Thefton","nguild_prt",15,209,"N04") == 0) close; - - if(@GDnum==10) guardian "nguild_prt",196,92,"Soldier Guardian",1287,"Guardian_N04::OnGuardianDied",0; - if(@GDnum==11) guardian "nguild_prt",113,200,"Soldier Guardian",1287,"Guardian_N04::OnGuardianDied",1; - if(@GDnum==12) guardian "nguild_prt",111,186,"Soldier Guardian",1287,"Guardian_N04::OnGuardianDied",2; - if(@GDnum==13) guardian "nguild_prt",76,202,"Archer Guardian",1285,"Guardian_N04::OnGuardianDied",3; - if(@GDnum==14) guardian "nguild_prt",90,26,"Archer Guardian",1285,"Guardian_N04::OnGuardianDied",4; - if(@GDnum==15) guardian "nguild_prt",58,59,"Knight Guardian",1286,"Guardian_N04::OnGuardianDied",5; - if(@GDnum==16) guardian "nguild_prt",112,200,"Knight Guardian",1286,"Guardian_N04::OnGuardianDied",6; - if(@GDnum==17) guardian "nguild_prt",101,194,"Knight Guardian",1286,"Guardian_N04::OnGuardianDied",7; - mes "[Thefton]"; - mes "Guardian has been installed, the guardian will protect our guild base against enemies."; + callfunc "F_GldManager","Thefton","nguild_prt",15,209,"N04"; close; } |