summaryrefslogtreecommitdiff
path: root/npc/events
diff options
context:
space:
mode:
authorL0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-11-02 01:15:07 +0000
committerL0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-11-02 01:15:07 +0000
commite8c89d85b61e53646b8a243618a27bd4b06cb7f1 (patch)
treed8f7a41c9fd45c58bf4013566cc3425434abedb6 /npc/events
parent95667bfa39da665dc6da8fd4fc354c658774824e (diff)
downloadhercules-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.txt188
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;
}