summaryrefslogtreecommitdiff
path: root/npc/kafras/cool_event_corp.txt
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2014-07-20 01:33:48 +0200
committerHaru <haru@dotalux.com>2014-07-20 01:37:12 +0200
commit5955d81ac5360e073c66f961c2750da4645860bb (patch)
tree1cf7db67aecdfc4ae8d68cd66168e75c4837b1a6 /npc/kafras/cool_event_corp.txt
parente474973e0a9f057fff212d4f6ba445d189993764 (diff)
downloadhercules-5955d81ac5360e073c66f961c2750da4645860bb.tar.gz
hercules-5955d81ac5360e073c66f961c2750da4645860bb.tar.bz2
hercules-5955d81ac5360e073c66f961c2750da4645860bb.tar.xz
hercules-5955d81ac5360e073c66f961c2750da4645860bb.zip
Removed duplicate code from the Cool Event NPCs
- Moved common code to a function. - Modified to use appropriate functions from function_kafras.txt. - Modernized syntax/updated function documentation in both files. - Fixed the Rachel NPC incorrectly stating it's warping you to Rachel, instead of Veins. - Special thanks to jaBote, GubA. Signed-off-by: Haru <haru@dotalux.com>
Diffstat (limited to 'npc/kafras/cool_event_corp.txt')
-rw-r--r--npc/kafras/cool_event_corp.txt416
1 files changed, 54 insertions, 362 deletions
diff --git a/npc/kafras/cool_event_corp.txt b/npc/kafras/cool_event_corp.txt
index 4566d36f0..911f54af2 100644
--- a/npc/kafras/cool_event_corp.txt
+++ b/npc/kafras/cool_event_corp.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= Gepard
//===== Current Version: =====================================
-//= 1.5
+//= 2.0
//===== Description: =========================================
//= Cool Event Corp. Staff (Save, Storage & Pushcart Service)
//= in Arunafeltz Region.
@@ -16,9 +16,15 @@
//= until we got a client/packet based password support [Lupus]
//= 1.4 Added Veins Cool Event Corp. Staff. [L0ne_W0lf]
//= 1.5 Cool Event Corp staff is now more iRO like. [L0ne_W0lf]
+//= 2.0 Moved duplicate code to a function. Better integrated
+// the rest with functions_kafra.txt. [Haru]
//============================================================
-hugel,88,168,4 script Cool Event Corp. Staff::CoolEventCorpStaffHugel 4_M_ZONDAMAN,{
+//=== Main Function ========================================================
+//= arg(0): Used to determine which menu to display.
+//= arg(1): Used to determine the location displayed in the save message.
+//==========================================================================
+function script F_ZondaStaff {
cutin "zonda_01",2;
mes "[Cool Event Corp. Staff]";
mes "Welcome to Cool Event Corp.";
@@ -27,100 +33,44 @@ hugel,88,168,4 script Cool Event Corp. Staff::CoolEventCorpStaffHugel 4_M_ZONDAM
mes "for quality service. So how";
mes "may I assist you today?";
next;
- switch(select("Save:Use Storage:Rent a Pushcart:Storage Password Service:Cancel")){
- case 1:
+ switch (getarg(0)) {
+ // Save, Storage, Pushcart, Storage Password (Hugel)
+ case 0: setarray @Z_Menu0$, "Save", "Use Storage", "Rent a Pushcart", "Storage Password Service", "Cancel"; break;
+ // Save, Storage, Pushcart, Storage Password (Veins, Rachel)
+ default:
+ case 1: setarray @Z_Menu0$, "Save", "Use Storage", "Teleport Service", "Rent a Pushcart", "Storage Password Service", "Cancel"; break;
+ }
+ .@menu$ = "";
+ for (.@i = 0; .@i < getarraysize(@Z_Menu0$); ++.@i)
+ .@menu$ += @Z_Menu0$[.@i] + ":";
+ .@j = select (.@menu$) - 1;
+ if (@Z_Menu0$[.@j] == "Save") {
mes "[Cool Event Corp. Staff]";
mes "Your Respawn Point";
mes "has been saved here";
- mes "in the village of Hugel.";
+ mes getarg(1);
mes "Thank you for using the";
mes "Cool Event Corp. service~";
- savepoint "hugel",96,155;
+ return;
+ } else if (@Z_Menu0$[.@j] == "Use Storage") {
+ callfunc "F_KafStor",0,40,6,"[Cool Event Corp. Staff]";
close2;
- break;
- case 2:
- mes "[Cool Event Corp. Staff]";
- if(basicskillcheck() && getskilllv("NV_BASIC") < 6){
- mes "I'm sorry, but you";
- mes "need the Novice's";
- mes "Basic Skill Level 6 to";
- mes "use the Storage Service.";
- close2;
- break;
- }
- if(Zeny < 40){
- mes "I'm sorry, but you don't";
- mes "have enough Zeny to use";
- mes "the Storage Service. Our";
- mes "Storage access fee is 40 Zeny.";
- close2;
- break;
- }
- Zeny -= 40;
- mes "Let me open your personal";
- mes "storage for you right away.";
- mes "Thanks for supporting Cool";
- mes "Event Corp. by using our";
- mes "services. Have a good day~";
- callfunc("F_CheckKafCode"); //check your storage password, if set
+ cutin "", 255;
+ end;
+ } else if (@Z_Menu0$[.@j] == "Teleport Service") {
+ callfunc "F_KafTele", 6, "[Cool Event Corp. Staff]";
close2;
- openstorage;
- break;
- case 3:
- mes "[Cool Event Corp. Staff]";
- if(BaseClass != Job_Merchant){
- mes "I'm sorry, but the";
- mes "Pushcart rental service";
- mes "is only available to Merchants,";
- mes "Blacksmiths, White Smiths,";
- mes "Alchemists and Creators.";
- close2;
- break;
- }
- if(getskilllv("MC_PUSHCART") == 0){
- mes "You can only rent a cart after";
- mes "learning the Pushcart Skill.";
- close2;
- break;
- }
- if(checkcart() == 1){
- mes "You already have";
- mes "a Pushcart equipped.";
- mes "Unfortunately, we can't";
- mes "rent more than one to";
- mes "each customer at a time.";
- close2;
- break;
- }
- if(countitem(7061)){
- delitem 7061,1;
- setcart;
- close2;
- break;
- }
- mes "The Pushcart rental";
- mes "fee is 800 Zeny. Would";
- mes "you like to rent a Pushcart?";
- next;
- if(select("Rent a Pushcart:Cancel") == 1){
- if(Zeny < 800){
- mes "[Cool Event Corp. Staff]";
- mes "I'm sorry, but you";
- mes "don't have enough";
- mes "Zeny to pay the Pushcart";
- mes "rental fee of 800 Zeny.";
- } else {
- Zeny -= 800;
- setcart;
- }
- }
+ cutin "", 255;
+ end;
+ } else if (@Z_Menu0$[.@j] == "Rent a Pushcart") {
+ callfunc "F_KafCart", 6, 800, "[Cool Event Corp. Staff]";
close2;
- break;
- case 4:
+ cutin "", 255;
+ end;
+ } else if (@Z_Menu0$[.@j] == "Storage Password Service") {
callfunc("F_SetKafCode","[Cool Event Corp. Staff]","Cool Event Corp.");
- //the function closes msg and remoes cutins
- case 5:
- default:
+ //the function closes msg and removes cutins
+ } else {
mes "[Cool Event Corp. Staff]";
mes "Cool Event Corp. is always";
mes "striving to provide the best";
@@ -134,287 +84,29 @@ hugel,88,168,4 script Cool Event Corp. Staff::CoolEventCorpStaffHugel 4_M_ZONDAM
end;
}
+hugel,88,168,4 script Cool Event Corp. Staff::CoolEventCorpStaffHugel 4_M_ZONDAMAN,{
+ callfunc "F_KafSet";
+ callfunc "F_ZondaStaff", 0, "in the village of Hugel.";
+ savepoint "hugel",96,155;
+ close2;
+ cutin "", 255;
+ end;
+}
+
rachel,109,138,5 script Cool Event Corp. Staff::CoolEventCorpStaffRachel 4_M_ZONDAMAN,{
- cutin "zonda_01",2;
- mes "[Cool Event Corp. Staff]";
- mes "Welcome to Cool Event Corp.";
- mes "Our staff is always working";
- mes "to surpass your expactations";
- mes "for quality service. So how";
- mes "may I assist you today?";
- next;
- switch(select("Save:Use Storage:Teleport Service:Rent a Pushcart:Storage Password Service:Cancel")){
- case 1:
- mes "[Cool Event Corp. Staff]";
- mes "Your Respawn Point";
- mes "has been saved here";
- mes "in the town of Rachel.";
- mes "Thank you for using the";
- mes "Cool Event Corp. service~";
- savepoint "rachel",113,137;
- close2;
- break;
- case 2:
- mes "[Cool Event Corp. Staff]";
- if(basicskillcheck() && getskilllv("NV_BASIC") < 6){
- mes "I'm sorry, but you";
- mes "need the Novice's";
- mes "Basic Skill Level 6 to";
- mes "use the Storage Service.";
- close2;
- break;
- }
- if(Zeny < 40){
- mes "I'm sorry, but you don't";
- mes "have enough Zeny to use";
- mes "the Storage Service. Our";
- mes "Storage access fee is 40 Zeny.";
- close2;
- break;
- }
- Zeny -= 40;
- mes "Let me open your personal";
- mes "storage for you right away.";
- mes "Thanks for supporting Cool";
- mes "Event Corp. by using our";
- mes "services. Have a good day~";
- callfunc("F_CheckKafCode"); //check your storage password, if set
- close2;
- openstorage;
- break;
- case 3:
- mes "Please choose";
- mes "your destination.";
- next;
- if (select("Veins -> 2200 z:Cancel") == 1) {
- if ((countitem(7060) != 0) || (Zeny >= 2200)) {
- if (countitem(7060) != 0) {
- delitem 7060,1;
- }
- else {
- Zeny -= 2200;
- }
- warp "veins",205,101;
- cutin "",255;
- end;
- }
- else {
- mes "[Cool Event Corp. Staff]";
- mes "I'm sorry, but you don't have";
- mes "enough zeny for the Teleport";
- mes "Service. The fee to teleport";
- mes "to Rachel is 2200 zeny.";
- }
- }
- close2;
- break;
- case 4:
- mes "[Cool Event Corp. Staff]";
- if(BaseClass != Job_Merchant){
- mes "I'm sorry, but the";
- mes "Pushcart rental service";
- mes "is only available to Merchants,";
- mes "Blacksmiths, White Smiths,";
- mes "Alchemists and Creators.";
- close2;
- break;
- }
- if(getskilllv("MC_PUSHCART") == 0){
- mes "You can only rent a cart after";
- mes "learning the Pushcart Skill.";
- close2;
- break;
- }
- if(checkcart() == 1){
- mes "You already have";
- mes "a Pushcart equipped.";
- mes "Unfortunately, we can't";
- mes "rent more than one to";
- mes "each customer at a time.";
- close2;
- break;
- }
- if(countitem(7061)){
- delitem 7061,1;
- setcart;
- close2;
- break;
- }
- mes "The Pushcart rental";
- mes "fee is 800 Zeny. Would";
- mes "you like to rent a Pushcart?";
- next;
- if(select("Rent a Pushcart:Cancel") == 1){
- if(Zeny < 800){
- mes "[Cool Event Corp. Staff]";
- mes "I'm sorry, but you";
- mes "don't have enough";
- mes "Zeny to pay the Pushcart";
- mes "rental fee of 800 Zeny.";
- } else {
- Zeny -= 800;
- setcart;
- }
- }
- close2;
- break;
- case 5:
- callfunc("F_SetKafCode","[Cool Event Corp. Staff]","Cool Event Corp.");
- //the function closes msg and remoes cutins
- case 6:
- default:
- mes "[Cool Event Corp. Staff]";
- mes "Cool Event Corp. is always";
- mes "striving to provide the best";
- mes "services for our customers.";
- mes "Help us become the best by";
- mes "providing us with your opinions";
- mes "and honest feedback. Thank you.";
- close2;
- }
+ callfunc "F_KafSet";
+ callfunc "F_ZondaStaff", 1, "in the town of Rachel.";
+ savepoint "rachel",113,137;
+ close2;
cutin "", 255;
end;
}
veins,208,128,5 script Cool Event Corp. Staff::CoolEventCorpStaffVeins 4_M_ZONDAMAN,{
- cutin "zonda_01",2;
- mes "[Cool Event Corp. Staff]";
- mes "Welcome to Cool Event Corp.";
- mes "Our staff is always working";
- mes "to surpass your expactations";
- mes "for quality service. So how";
- mes "may I assist you today?";
- next;
- switch(select("Save:Use Storage:Teleport Service:Rent a Pushcart:Storage Password Service:Cancel")){
- case 1:
- mes "[Cool Event Corp. Staff]";
- mes "Your Respawn Point";
- mes "has been saved here";
- mes "in the town of Veins.";
- mes "Thank you for using the";
- mes "Cool Event Corp. service~";
- savepoint "veins",204,103;
- close2;
- break;
- case 2:
- mes "[Cool Event Corp. Staff]";
- if(basicskillcheck() && getskilllv("NV_BASIC") < 6){
- mes "I'm sorry, but you";
- mes "need the Novice's";
- mes "Basic Skill Level 6 to";
- mes "use the Storage Service.";
- close2;
- break;
- }
- if(Zeny < 40){
- mes "I'm sorry, but you don't";
- mes "have enough Zeny to use";
- mes "the Storage Service. Our";
- mes "Storage access fee is 40 Zeny.";
- close2;
- break;
- }
- Zeny -= 40;
- mes "Let me open your personal";
- mes "storage for you right away.";
- mes "Thanks for supporting Cool";
- mes "Event Corp. by using our";
- mes "services. Have a good day~";
- callfunc("F_CheckKafCode"); //check your storage password, if set
- close2;
- openstorage;
- break;
- case 3:
- mes "Please choose";
- mes "your destination.";
- next;
- if (select("Rachel -> 2200 z:Cancel") == 1) {
- if ((countitem(7060) != 0) || (Zeny >= 2200)) {
- if (countitem(7060) != 0) {
- delitem 7060,1;
- }
- else {
- Zeny -= 2200;
- }
- warp "rachel",115,125;
- cutin "",255;
- end;
- }
- else {
- mes "[Cool Event Corp. Staff]";
- mes "I'm sorry, but you don't have";
- mes "enough zeny for the Teleport";
- mes "Service. The fee to teleport";
- mes "to Rachel is 2200 zeny.";
- }
- }
- close2;
- break;
- case 4:
- mes "[Cool Event Corp. Staff]";
- if(BaseClass != Job_Merchant){
- mes "I'm sorry, but the";
- mes "Pushcart rental service";
- mes "is only available to Merchants,";
- mes "Blacksmiths, White Smiths,";
- mes "Alchemists and Creators.";
- close2;
- break;
- }
- if(getskilllv("MC_PUSHCART") == 0){
- mes "You can only rent a cart after";
- mes "learning the Pushcart Skill.";
- close2;
- break;
- }
- if(checkcart() == 1){
- mes "You already have";
- mes "a Pushcart equipped.";
- mes "Unfortunately, we can't";
- mes "rent more than one to";
- mes "each customer at a time.";
- close2;
- break;
- }
- if(countitem(7061)){
- delitem 7061,1;
- setcart;
- close2;
- break;
- }
- mes "The Pushcart rental";
- mes "fee is 800 Zeny. Would";
- mes "you like to rent a Pushcart?";
- next;
- if(select("Rent a Pushcart:Cancel") == 1){
- if(Zeny < 800){
- mes "[Cool Event Corp. Staff]";
- mes "I'm sorry, but you";
- mes "don't have enough";
- mes "Zeny to pay the Pushcart";
- mes "rental fee of 800 Zeny.";
- close2;
- } else {
- Zeny -= 800;
- setcart;
- }
- }
- close2;
- break;
- case 5:
- callfunc("F_SetKafCode","[Cool Event Corp. Staff]","Cool Event Corp.");
- //the function closes msg and remoes cutins
- case 6:
- default:
- mes "[Cool Event Corp. Staff]";
- mes "Cool Event Corp. is always";
- mes "striving to provide the best";
- mes "services for our customers.";
- mes "Help us become the best by";
- mes "providing us with your opinions";
- mes "and honest feedback. Thank you.";
- close2;
- }
+ callfunc "F_KafSet";
+ callfunc "F_ZondaStaff", 1, "in the town of Veins.";
+ savepoint "veins",204,103;
+ close2;
cutin "", 255;
end;
}