From b68ff6303e216eb244f4dc65cdf820556db82284 Mon Sep 17 00:00:00 2001 From: Lupus Date: Sun, 12 Nov 2006 08:47:14 +0000 Subject: You can install/mend guardioans during WoE git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9201 54d463be-8e91-2dee-dedb-b68131a5f0ec --- npc/guild/gldfunc_manager.txt | 172 ++++++++++++++++++++---------------------- 1 file changed, 83 insertions(+), 89 deletions(-) (limited to 'npc/guild/gldfunc_manager.txt') diff --git a/npc/guild/gldfunc_manager.txt b/npc/guild/gldfunc_manager.txt index e81beb5f7..bc1b3143d 100644 --- a/npc/guild/gldfunc_manager.txt +++ b/npc/guild/gldfunc_manager.txt @@ -1,10 +1,9 @@ //===== eAthena Script ======================================= //= War of Emperium Guild Manager Function //===== By: ================================================== -//= jAthena - kalen (1.0) -//= 1.1 by Akaru, ho|yAnge|X, and Valaris +//= jAthena - kalen (1.0) & eAthena Team //===== Current Version: ===================================== -//= 1.5 +//= 1.6 //===== Compatible With: ===================================== //= eAthena 0.1+; RO Episode 4+ //===== Description: ========================================= @@ -17,7 +16,7 @@ //= 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, gaurdian scripts etc. +//= arg(4): guild script suffix for kafra, Guardian scripts etc. //===== Additional Comments: ================================= //= 1.31: Added support for Emsolute Develop [celest] //= 1.2: All Guild manager scripts use this function. Optimized Comerce and Defense investment. [kobra_k88] @@ -28,6 +27,7 @@ //= 1.4 Remove surrender abbility (Was 100% custom as far as I can tell) [Kayla] //= 1.41 Fixed possible Economy investment overflow with Emsolute Develop learnt [Lupus] //= 1.5 Official Novice Castles Menu (u can't invest / hire guardians) [Lupus] +//= 1.6 According to recent info u can re-install Guardians during WoE [Lupus] //============================================================ @@ -36,28 +36,21 @@ function script F_GldManager { set @GID, GetCastleData(getarg(1)+".gat",1); - if (strcharinfo(0) == getguildmaster(@GID)) goto L_Start; - if (@GID == 0) goto L_NotOwn; - if (getcharid(2) == @GID) goto L_Mem; - -L_NotMem: - mes "[ "+getarg(0)+" ]"; - 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 0; - -L_NotOwn: - mes "[ "+getarg(0)+" ]"; - mes "I am waiting for my master. Brave adventurer, follow your destiny!"; - return 0; - -L_Mem: mes "[ "+getarg(0)+" ]"; - mes "You're not ^5533FF" + getguildmaster(@GID) + "^000000! I am here to follow ^5533FF" + getguildmaster(@GID) + "^000000's command only"; - return 0; + if (@GID == 0){ + mes "I am waiting for my master. Brave adventurer, follow your destiny!"; + return 0; + } + if (getcharid(2) == @GID){ + mes "You're not ^5533FF" + getguildmaster(@GID) + "^000000! I am here to follow ^5533FF" + getguildmaster(@GID) + "^000000's command only"; + return 0; + } + if (strcharinfo(0) != getguildmaster(@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 0; + } -L_Start: - mes "[ "+getarg(0)+" ]"; mes "Welcome Master ^5533FF" + getguildmaster(@GID) + "^000000 ! I will assist you in any way I can!"; next; @@ -66,7 +59,7 @@ L_Start: menu "Kafra Service Employment / Dismissal",M_Kaf, "Enter Treasure Room",M_Treas, "Cancel",M_End; //Common WoE Castles - menu "Guild Base Briefing",M_Base, "Commerce Investment",M_Comrc, "Defence Investment",M_Def, "Guardian Installation",M_Gaurd, + menu "Guild Base Briefing",M_Base, "Commerce Investment",M_Comrc, "Defence Investment",M_Def, "Guardian Installation",M_Guard, "Kafra Service Employment / Dismissal",M_Kaf, "Enter Treasure Room",M_Treas, "Cancel",M_End; //======================== @@ -102,44 +95,44 @@ L_Start: if(@Economy >= 88) set @eco_invest,5120000; mes "[ "+getarg(0)+" ]"; - if(@TriggerE == 2) goto L_MaxTimesC; - if(@Economy >= 100) goto L_MaxInvestC; + if(@TriggerE == 2){ + mes "^ff0000You have already invested twice today, and that's the limit.^000000 I'm expecting to see our riches grow at a high level."; + return 0; + } + if(@Economy >= 100){ + mes "^ff0000This Castle's commerce investment is already maxed at 100 points. You don't have to invest any further.^000000"; + return 0; + } mes "If you improve your Commerce Investment, the guild's productive power increases to produce more goods."; mes "So an investment will be required if you're considering future growth."; next; mes "[ "+getarg(0)+" ]"; - if(@TriggerE == 0) mes "You can invest up to two times a day, but the second time costs more"; - if(@TriggerE == 0) mes "The needed investment amount is ^5533FF" + @eco_invest + "^000000 zeny."; - if(@TriggerE == 1) set @eco_invest,@eco_invest*4; - if(@TriggerE == 1) mes "You've already invested once today, but you can invest again at ^5533FF" + @eco_invest + "^000000 Zeny."; + if(@TriggerE == 0) { + mes "You can invest up to two times a day, but the second time costs more"; + mes "The needed investment amount is ^5533FF" + @eco_invest + "^000000 zeny."; + } else { + set @eco_invest,@eco_invest*4; + mes "You've already invested once today, but you can invest again at ^5533FF" + @eco_invest + "^000000 Zeny."; + } next; mes "[ "+getarg(0)+" ]"; mes "Would you like to invest?"; next; menu "Invest Commerce.",-,"Cancel.",M_End; - if(Zeny < @eco_invest) goto sL_NoZenyC; + mes "[ "+getarg(0)+" ]"; + if(Zeny < @eco_invest){ + mes "Master, you do not have enough money to invest. Investment has been cancelled."; + return 0; + } set Zeny,Zeny-@eco_invest; SetCastleData getarg(1)+".gat",4,@TriggerE+1; // if we learnt Emsolute Develop there's 50% chance to get +1 investment again SetCastleData getarg(1)+".gat",2,@Economy + 1 + (getgdskilllv(@GID,10014)>0 && rand(100)>50 && @Economy<99); - mes "[ "+getarg(0)+" ]"; + mes "You have invested successfully."; return 0; - sL_NoZenyC: - mes "[ "+getarg(0)+" ]"; - mes "Master, you do not have enough money to invest. Investment has been cancelled."; - return 0; - L_MaxTimesC: - mes "^ff0000You have already invested twice today, and that's the limit.^000000 I'm expecting to see our riches grow at a high level."; - return 0; - L_MaxInvestC: - mes "[ "+getarg(0)+" ]"; - mes " "; - mes "^ff0000This Castle's commerce investment is already maxed at 100 points. You don't have to invest any further.^000000"; - return 0; - //========================= M_Def: //======== @@ -157,23 +150,36 @@ L_Start: if(@Defence >= 88) set @def_invest,10240000; mes "[ "+getarg(0)+" ]"; - if(@TriggerD == 2) goto L_MaxTimesD; - if(@Defence >= 100) goto L_MaxInvestD; + if(@TriggerD == 2){ + mes "^ff0000You have already invested twice today, and that's the limit.^000000 I'm expecting to see our riches grow at a high level."; + return 0; + } + if(@Defence >= 100){ + mes "^ff0000This Castle's Defence Investment is already maxed at 100 points. You don't have to invest any further.^000000"; + return 0; + } mes "If you improve investment of defence, the durability of our Guardians and the Emperium will increase."; mes "So if you consider our future battles, an investment will be required."; next; mes "[ "+getarg(0)+" ]"; - if(@TriggerD == 0) mes "You can invest up to two times a day, but the second time costs more"; - if(@TriggerD == 0) mes "The needed investment amount is ^5533FF" + @def_invest + "^000000 zeny."; - if(@TriggerD == 1) set @def_invest,@def_invest*4; - if(@TriggerD == 1) mes "You've already invested once today, but you can invest again at ^5533FF" + @def_invest + "^000000 Zeny."; + if(@TriggerD == 0) { + mes "You can invest up to two times a day, but the second time costs more"; + mes "The needed investment amount is ^5533FF" + @def_invest + "^000000 zeny."; + } else { + set @def_invest,@def_invest*4; + mes "You've already invested once today, but you can invest again at ^5533FF" + @def_invest + "^000000 Zeny."; + } next; mes "[ "+getarg(0)+" ]"; mes "Would you like to invest?"; next; menu "Invest Defence.",-, "Cancel",M_End; - if(Zeny < @def_invest) goto sL_NoZenyD; + mes "[ "+getarg(0)+" ]"; + if(Zeny < @def_invest){ + mes "Master, you do not have enough money to invest in Defence. Defence investment has been cancelled."; + return 0; + } set Zeny,Zeny-@def_invest; SetCastleData getarg(1)+".gat",5,@TriggerD+1; SetCastleData getarg(1)+".gat",3,@Defence+1; @@ -194,25 +200,19 @@ L_Start: if (GetCastleData(getarg(1)+".gat",16) == 1) SetCastleData getarg(1)+".gat",24,@KGuardian; if (GetCastleData(getarg(1)+".gat",17) == 1) SetCastleData getarg(1)+".gat",25,@KGuardian; - mes "[ "+getarg(0)+" ]"; mes "You have invested successfully."; return 0; - sL_NoZenyD: - mes "[ "+getarg(0)+" ]"; - mes "Master, you do not have enough money to invest in Defence. Defence investment has been cancelled."; - return 0; - L_MaxTimesD: - mes "^ff0000You have already invested twice today, and that's the limit.^000000 I'm expecting to see our riches grow at a high level."; - return 0; - L_MaxInvestD: - mes "^ff0000This Castle's Defence Investment is already maxed at 100 points. You don't have to invest any further.^000000"; - return 0; - //========================= - M_Gaurd: + M_Guard: //========= - if (getgdskilllv(@GID,10002) == 0) goto L_NoSkGuard; + mes "[ "+getarg(0)+" ]"; + if (getgdskilllv(@GID,10002) == 0){ + mes "I'm sorry Master but you cannot install any guardians right now. Your guild must learn the Guild skill ^5533FFGuardian Research^000000 first."; + mes "Guardian Installation has been cancelled."; + return 0; + } + set @Defence,GetCastleData(getarg(1)+".gat",3); set @Guardian0,guardianinfo(0); set @Guardian1,guardianinfo(1); @@ -229,8 +229,8 @@ L_Start: //set @KGuardian,strmobinfo(4,1286) + (@Defence*2000); //set @SGuardian,strmobinfo(4,1287) + (@Defence*2000); - mes "[ "+getarg(0)+" ]"; - if(agitcheck(0) != 0) goto L_CantGuard; + //uncomment the following line to disable guardians Installation during WoE + //if(agitcheck(0) != 0) goto L_CantGuard; mes "Would you like to install a guardian? Guardians will protect the guild base from enemies."; mes "Please choose a guardian."; next; @@ -297,21 +297,16 @@ L_Start: next; menu "Install",-, "Cancel",M_End; - if (Zeny < 10000) goto sL_NoZenyG; + if (Zeny < 10000){ + mes "[ "+getarg(0)+" ]"; + mes "I'm sorry Master, but you do not have enough zeny for a Guardian."; + return 0; + } set Zeny,Zeny-10000; SetCastleData getarg(1)+".gat",@GDnum,1; SetCastleData getarg(1)+".gat",@GDnum2,@GuardianHP; return 1; - sL_NoZenyG: - mes "[ "+getarg(0)+" ]"; - mes "I'm sorry Master, but you do not have enough zeny for a Guardian."; - return 0; - L_NoSkGuard: - mes "[ "+getarg(0)+" ]"; - mes "I'm sorry Master but you cannot install any guardians right now. Your guild must learn the Guild skill ^5533FFGuardian Research^000000 first."; - mes "Guardian Installation has been cancelled."; - return 0; L_GotGuard: mes "[ "+getarg(0)+" ]"; mes "Excuse me Master, but that guardian has already been installed....."; @@ -327,7 +322,11 @@ L_Start: //====== mes "[ "+getarg(0)+" ]"; if (GetCastleData(getarg(1)+".gat",9) == 1) goto L_Dismiss; - if (getgdskilllv(@GID,10001) == 0) goto L_NoSkKaf; + if (getgdskilllv(@GID,10001) == 0){ + mes "Master, you don't have a contract with the Kafra Service Company."; + mes "In order to hire a Kafra, you must first learn the Guild skill ^5533FFContract With Kafra^000000."; + return 0; + } L_Hire: mes "Would you like to employ the services of a Kafra? You will need ^5533FF10,000 Zeny^000000 to do so... "; @@ -335,7 +334,10 @@ L_Start: menu "Employ Kafra.",-,"Cancel",sM_KafEnd; mes "[ "+getarg(0)+" ]"; - if (Zeny < 10000) goto sL_NoZenyK; + if (Zeny < 10000){ + mes "Master, you do not have enough money to employ a Kafra. Employment has been cancelled."; + return 0; + } set Zeny,Zeny-10000; enablenpc "Kafra Service#"+getarg(4); SetCastleData getarg(1)+".gat",9,1; @@ -351,9 +353,6 @@ L_Start: mes "I think the Kafra Service will benefit our guild members."; return 0; - sL_NoZenyK: - mes "Master, you do not have enough money to employ a Kafra. Employment has been cancelled."; - return 0; sM_KafEnd: mes "[ "+getarg(0)+" ]"; mes "As you wish Master. But I suggest we get a Kafra as soon as possible!"; @@ -389,11 +388,6 @@ L_Start: mes "Master, I think you should keep the current Kafra Service because she is already trying her best to serve us"; return 0; - L_NoSkKaf: - mes "Master, you don't have a contract with the Kafra Service Company."; - mes "In order to hire a Kafra, you must first learn the Guild skill ^5533FFContract With Kafra^000000."; - return 0; - //========================= M_Treas: //======== -- cgit v1.2.3-70-g09d2