From 7a4307b8cc339471a0a7e969e66d34c41fa57141 Mon Sep 17 00:00:00 2001 From: L0ne_W0lf Date: Tue, 12 May 2009 21:52:11 +0000 Subject: * Completely rescripted the DTS warp service based on the aegis 11.3 file. - Updated F_ClearGarbage to erase obsolete DTS player variables. - Moved Cool Corp. Staff NPCs to Lighthalzen (cities/lighthalzen.txt.) - Now everyone can enjoy the global broadcast "every-hour-nag" to vote! - Note: Upon loading ALL prior DTS global variables are erased. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13764 54d463be-8e91-2dee-dedb-b68131a5f0ec --- npc/Changelog.txt | 6 + npc/cities/lighthalzen.txt | 144 ++- npc/kafras/dts_warper.txt | 2090 +++++++++++++++++++++++----------------- npc/other/Global_Functions.txt | 9 +- 4 files changed, 1381 insertions(+), 868 deletions(-) (limited to 'npc') diff --git a/npc/Changelog.txt b/npc/Changelog.txt index 627eddf73..dd72ad486 100644 --- a/npc/Changelog.txt +++ b/npc/Changelog.txt @@ -1,5 +1,11 @@ Date Added ====== +2009/05/12 + * Rev. 13764 Completely rescripted the DTS warp service based on the aegis 11.3 file. [L0ne_W0lf] + - Updated F_ClearGarbage to erase obsolete DTS player variables. + - Moved Cool Corp. Staff NPCs to Lighthalzen (cities/lighthalzen.txt.) + - Now everyone can enjoy the global broadcast "every-hour-nag" to vote! + - Note: Upon loading ALL prior DTS global variables are erased. 2009/05/11 - Fixed double-quotes not being escaped in the custom xmas_rings_event. (bugreport:2546) [brianluau] - Renamed an OnClock label in schg_cas01 so it's consistent with the other castles. (bugreport:2831) diff --git a/npc/cities/lighthalzen.txt b/npc/cities/lighthalzen.txt index 8cffecf45..1bca5fbea 100644 --- a/npc/cities/lighthalzen.txt +++ b/npc/cities/lighthalzen.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= erKURITA, Au{R}oN (Translated by Alan), $ephiroth //===== Current Version: ===================================== -//= 1.8 +//= 1.9 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= @@ -38,6 +38,7 @@ //= 1.7a Another fix to Lucius. (bugreport:1118) [L0ne_W0lf] //= 1.7b Another fix to Lucius (trivial). (bugreport:1125) //= 1.8 Replaced effect numerics with constants. [L0ne_W0lf] +//= 1.9 Added Cool Corp. Event Staff, who oringialy resided in the DTS_warper script file. [L0ne_W0lf] //============================================================= lighthalzen,198,285,5 script Jiwon#zen5 862,{ @@ -2949,7 +2950,6 @@ OnTouch: end; } - lhz_in01,139,48,7 script Leimi#mimir 73,{ mes "[Leimi]"; mes "..."; @@ -2998,6 +2998,146 @@ OnTouch: end; } +lhz_in02,36,274,4 script Cool Event Staff#Saera 831,{ + mes "[Saera]"; + mes "Welcome to the"; + mes "temporary headquarters"; + mes "of Cool Event Corporation."; + mes "How may I help you today?"; + next; + switch(select("Temporary headquarters?:Voting:No, thanks.")) { + case 1: + mes "[Saera]"; + mes "Our headquarters building"; + mes "is currently undergoing"; + mes "reconstruction, so we are"; + mes "basing our operations in"; + mes "this place for the meantime."; + close; + case 2: + if (lhz_boss < 17) { + mes "[Saera]"; + mes "Currently, Kafra Corporation"; + mes "and Cool Event Corp are working"; + mes "on a collaborative program that"; + mes "will provide direct teleport"; + mes "services to dungeons."; + next; + mes "[Saera]"; + mes "Due to technical issues,"; + mes "both companies cannot provide"; + mes "teleport services to the same"; + mes "dungeon. Therefore, we will be"; + mes "selecting our valued customers to choose the company they want."; + next; + mes "[Saera]"; + mes "Only a limited number of"; + mes "voters will be chosen, so"; + mes "you can check your voting"; + mes "eligibility at the headquarters"; + mes "of both participating companies. Thank you for your patronage~"; + close; + } + else { + mes "[Saera]"; + mes "Currently, Kafra Corporation"; + mes "and Cool Event Corp are working"; + mes "on a collaborative program that"; + mes "will provide direct teleport"; + mes "services to dungeons."; + next; + mes "[Saera]"; + mes "Due to technical issues,"; + mes "both companies cannot provide"; + mes "teleport services to the same"; + mes "dungeon. Therefore, we will be"; + mes "selecting a number of valued customers to vote for their choice."; + next; + mes "[Saera]"; + mes "I've just reviewed your"; + mes "information and would like"; + mes "to inform you that you are"; + mes "indeed eligible to vote."; + mes "Your participation in this"; + mes "election is much appreciated."; + next; + mes "[Saera]"; + mes "Remember that the"; + mes "election polls can be"; + mes "found in either Prontera"; + mes "or Juno. Thank you very much."; + close; + } + case 3: + mes "[Saera]"; + mes "Thank you."; + mes "Have a good day."; + close; + } +} + +lhz_in02,40,280,6 script Event Planner 833,{ + mes "[Jellarin]"; + mes "I don't like this."; + mes "But I don't like that"; + mes "idea either. What will"; + mes "I do for a new event, eh?"; + next; + mes "[Jellarin]"; + mes "I need something"; + mes "major, something that'll"; + mes "really shake up the world,"; + mes "something epochal, but what?"; + mes "Hey, do you have any ideas?"; + close; +} + +lhz_in02,110,286,5 script Cool Event Manager 853,{ + mes "[Baoto]"; + mes "Hmmm..."; + mes "The employees seem"; + mes "to be having too much"; + mes "fun amongst themselves"; + mes "recently. This does not"; + mes "bode well at all..."; + next; + mes "[Baoto]"; + mes "It looks like I'm"; + mes "just going to have to"; + mes "start cracking that whip"; + mes "more often and much"; + mes "harder. Ha ha ha ha!"; + close; +} + +lhz_in02,36,284,0 script Cool Event Staff#Cesuna 874,{ + mes "[Cesuna]"; + mes "Ack! I'm totally"; + mes "swamped with all this"; + mes "work! But I don't wanna"; + mes "do any of it. That's it!"; + mes "I totally need a break."; + next; + mes "[Cesuna]"; + mes "^333333*Sigh...*^000000"; + mes "I wonder if Saera"; + mes "would ever consider"; + mes "going out with me?"; + mes "That would be nice~"; + close; +} + +lhz_in02,19,274,2 script Maintenance Guy#lhz 851,{ + mes "[Kudiuu]"; + mes "Holy...!"; + mes "Will this place"; + mes "ever get cleaned up?!"; + mes "^333333*Cough cough*^000000 There's"; + mes "so much dust here, it's"; + mes "almost a health hazard!"; + close; +} + // Lighthalzen Mushroom. // Don't really understand why it's there, but it's funny regardless. lhz_in01,157,54,0,0 monster Red Mushroom 1085,1,120000,100000,0 diff --git a/npc/kafras/dts_warper.txt b/npc/kafras/dts_warper.txt index 5140fb541..f9cd33df6 100644 --- a/npc/kafras/dts_warper.txt +++ b/npc/kafras/dts_warper.txt @@ -3,52 +3,29 @@ //===== By: ================================================== //= Evera //===== Current Version: ===================================== -//= 2.4 +//= 2.5 //===== Compatible With: ===================================== -//= eAthena +//= eAthena SVN //===== Description: ========================================= +//= [Aegis Conversion] //= Cool Event Corp NPCs vs. Kafra Dungeon Teleport Service and voting system. //= This is a special event on official servers where there's a //= big competition between Kafra Corp. and Cool Event Corp. //= To warp to selected levels of certain dungeons. -//= Also includes Cool Event Corp HQ NPCs. -//===== Variables: =========================================== -//=Server - $dtsvote = Variable for # of votes -//= = Positive = Cool Corp winning -//= = Negative = Kafra Corp winning -//= $dts = Variable for DTS status -//= = (1<<0) Election -//= = (1<<1) Cool Corp Enabled -//= = (1<<2) Kafra Enabled -//= = (1<<3) No winner last election -//= = (1<<4) Cool Corp won last election -//= = (1<<5) Kafra won last election -//= $dtsday = Week count for dts vote count, used for resetting players' votes -//=Character - dtseligible = eligibility status, 0 not eligible yet, 1 eligible. -//= = $dtsday used when MISC_QUEST|128, and signifies that person already voted. -//= MISC_QUEST = |128 = eligible and voted. -//=NPC Func. - arg(0) = 0, Cool Event Corp Voting Staff; 1, Kafra Corp Voting Staff -//= arg(1) = Kafra only, Cool Corp script does not use. Changes illus for different sprites. -//= = 0 = 4_f_kafra6 (yellow ponytail, classic outfit, spr 112) -//= = 1 = 4_f_kafra5 (pink hair, classic outfit, spr 113) -//= = 2 = 4_f_kafra4 (orange short hair, classic outfit, spr 114) -//= = 3 = 4_f_kafra3 (brown bangs, classic outfit, spr 115) -//= = 4 = 4_f_kafra2 (brown ponytale, classic outfit, spr 116) -//= = 5 = 4_f_kafra1 (blue hair, classic outfit, spr 117) -//= = 6 = 4_f_agentkafra (purp hair, black outfit, spr 859) -//= = 7 = 4_f_kafra8 (blue hair, brown outfit, spr 860) -//= = 8 = 4_f_kafra9 (red hair, brown outfit, spr 861) -//=Temporary - @dtstemp = Temporary buffer, used in GM vote-fixing -//= @dtstemps$ = Temporary buffer, like above, but a string. -//= $@dtstempg = Temporary buffer, but global +// +// Global Variables in use: +// Voting Time check: $DTS_Time +// Cool Event Corp. Vote Numbers: $DTS_JondaVotes +// Kafra Vote Numbers: $DTS_KafraVotes +// Winner: $DTS_Result +// Teleport Service Period Check: $DTS_PeriodCheck +// Kafra Points: $DTS_KafraWins +// Cool Event Corp. Points: $DTS_JondaWins +// Setitem Check: $DTS_VoteCount +// For Detailed information on what each varibale does, see +// the "Vote Globalvar Girl#yuno" NPC at the end of the file. +// Character Variable in use: lhz_vote (how many times player has voted, keeps htem from re-voting.) //===== Additional Comments: ================================= -//= Some unofficial translations, some unofficial dungeon warps -//= Also includes unofficial GM-enabled tweaking for script -//= Includes NPCs in Cool Event Corp headquarters -//= If new locations are found of this NPC, please report on forums -//= http://www.eathena.ws/board/index.php?showforum=106 -//= Base level 60 required to vote -//===== Version History: ==================================== //= 1.0 Initial release [Evera] //= 1.1 SVN release, removed from major town (found true info after research), //= put more arg(2) parameters, fixed a few bugs [Evera] @@ -72,896 +49,1281 @@ //= 2.3a fixed 2 bugs with comparision [Lupus] //= 2.3b corrected Glast warp coords [Lupus] 2.3c Bailand -> Bayalan //= 2.4 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf] +//= 2.5 Converted from Aegis file. (11.3) [L0ne_W0lf] //============================================================ -//Yuno -yuno,153,191,4 script Cool Event Voting Staff::CoolEventVotingStaff01 874,{ - callfunc "F_DTS_Warp",0,0; -} -yuno,162,191,6 script Kafra Voting Staff#01 861,{ - callfunc "F_DTS_Warp",1,8; -} -//Lighthalzen -lighthalzen,154,60,6 script Cool Event Voting Staff::CoolEventVotingStaff02 874,{ - callfunc "F_DTS_Warp",0,0; -} -//Prontera -prontera,147,125,6 script Cool Event Voting Staff::CoolEventVotingStaff03 874,{ - callfunc "F_DTS_Warp",0,0; -} -prontera,164,125,4 script Kafra Voting Staff#02 115,{ - callfunc "F_DTS_Warp",1,3; -} - -//Cool Event Staff Headquarters NPCs -//Kudiuu (Maintenance Guy) -lhz_in02,20,274,6 script Maintenance Guy#dts 851,{ - mes "[Kudiuu]"; - mes "Holy...!"; - mes "Will this place"; - mes "ever get cleaned up?!"; - mes "*Cough cough* There's"; - mes "so much dust here, it's"; - mes "almost a health hazard!"; - close; -} -//Cesuna (Zondaman at desk) -lhz_in02,36,284,1 script Cool Event Staff#01 874,{ - mes "[Cesuna]"; - mes "Ack! I'm totally"; - mes "swamped with all this"; - mes "work! But I don't wannna"; - mes "do any of it. That's it!"; - mes "I totally need a break"; - next; - mes "[Cesuna]"; - mes "*Sigh...*"; - mes "I wonder if Saera"; - mes "would ever consider"; - mes "going out with me?"; - mes "That would be nice~"; - close; -} -//Jellarin (Event planner) -lhz_in02,40,279,3 script Event Planner 833,{ - mes "[Jellarin]"; - mes "I don't like this."; - mes "But I don't like that"; - mes "idea either. What will"; - mes "I do for a new event, eh?"; - next; - mes "[Jellarin]"; - mes "I need something"; - mes "major, something that'll"; - mes "really shake up the world,"; - mes "something epochal, but what?"; - mes "Hey, do you have any ideas"; - close; -} -//Baoto (Cool Event Manager) -lhz_in02,110,283,5 script Cool Event Manager 853,{ - mes "[Baoto]"; - mes "Hmmm..."; - mes "The employees seem"; - mes "to be having too much"; - mes "fun amongst themselves"; - mes "recently. This does not"; - mes "bode well at all..."; - next; - mes "[Baoto]"; - mes "It looks like I'm"; - mes "just going to have to"; - mes "start cracking that whip"; - mes "more often and much"; - mes "harder. Ha ha ha ha!"; - close; -} -//Saera (Secretary), contains GM menu -lhz_in02,36,274,3 script Cool Event Staff#02 831,{ - callfunc "F_ClearGarbage"; //Clear outdated, unused variables - if($dts == 0){ - set $dts,$dts|(1<<0); //Sets NPCs to election mode if first time running - set $dts,$dts|(1<<3); - } - if($dts&(1<<1) && $dts&(1<<2) || $dts&(1<<0) && $dts&(1<<1) || $dts&(1<<0) && $dts&(1<<2)){ - if($dts&(1<<0)) set $dts,$dts&~(1<<0); - if($dts&(1<<1)) set $dts,$dts&~(1<<1); - if($dts&(1<<2)) set $dts,$dts&~(1<<2); - set $dts,$dts|(1<<0); - } - if($dts&(1<<4) && $dts&(1<<5) || $dts&(1<<3) && $dts&(1<<4) || $dts&(1<<3) && $dts&(1<<5)){ - if($dts&(1<<3)) set $dts,$dts&~(1<<3); - if($dts&(1<<4)) set $dts,$dts&~(1<<4); - if($dts&(1<<5)) set $dts,$dts&~(1<<5); - set $dts,$dts|(1<<3); +einbroch,246,70,0 script Vote Timer#ein -1,{ +OnInit: + if ($dts) { + set $dts,0; + set $dtsvote,0; + set $dtsday,0; } - mes "[Saera]"; - mes "Welcome to the"; - mes "temporary headquarters"; - mes "of Cool Event Corporation"; - mes "How may I help you today?"; - next; - if(getgmlevel()>=40){ //Unofficial Text, GM-configurable settings for Event (GM level above 40 required) - mes "[Saera]"; - mes "Why, I didn't even"; - mes "notice you there,"; - mes strcharinfo(0)+". What would"; - mes "you like to do today?"; - next; - menu "Fix Vote",Lfixvote, - "Set current teleporter",Lsettele, - "Set last election winner",Lsetlast, - "Manually run vote check",Lmanuvotecheck, - "Normal menu please",-; - mes "[Saera]"; - mes "Ok"; - next; - } - menu "Temporary headquarters?",Ltemphead, - "Voting",Lvoting,"No, thanks.",Lnothx; + initnpctimer; + end; - Ltemphead: - mes "[Saera]"; - mes "Our headquarters building"; - mes "is currently undergoing"; - mes "reconstruction, so we are"; - mes "basing our operations in"; - mes "this place for the meantime"; - close; +OnEnable: + initnpctimer; + end; - Lvoting: - mes "[Saera]"; - mes "Currently, Kafra Corporation"; - mes "and Cool Event Corp are working"; - mes "on a collaborative program that"; - mes "will provide direct teleport"; - mes "services to dungeons."; - next; - mes "[Saera]"; - mes "Due to technical issues,"; - mes "both companies cannot provide"; - mes "teleport services to the same"; - mes "dungeon. Therefore, we will be"; - mes "selecting our valued customers"; - mes "to choose the company they want."; - next; - if((dtseligible == 0 || dtseligible == 3) && baselevel >= 60 && MISC_QUEST&128 == 0) set dtseligible,1; - //Clear previous var of dtseligible,3 being tried for eligibility already - if(dtseligible != $dtsday && baselevel >= 60 && MISC_QUEST&128){ - set MISC_QUEST,MISC_QUEST&~128; - set dtseligible,1; +OnTimer60000: + // A part that keeps the same status even after a server shut down + if ($DTS_Result == 1) { + if ($DTS_JondaWins == 0) { + donpcevent "Vote Timer2#ein::OnEnable"; } - switch(dtseligible){ - default: - mes "[Saera]"; - mes "Only a limited number of"; - mes "voters will be chosen, so"; - mes "you can check your voting"; - mes "eligibility at the headquarters"; - mes "of both participating companies."; - mes "Thank you for your patronage~"; - close; - break; - case 1: - mes "[Saera]"; - mes "It appears that you are"; - mes "eligible to vote"; - mes "so please cast your"; - mes "vote at any Voting Staff"; - mes "representative. Thank you~"; - close; - break; - case 2: - mes "[Saera]"; - mes "You are eligible to vote, but"; - mes "you have already voted. Thank"; - mes "you for your participation"; - close; - break; - } - - Lnothx: - mes "[Saera]"; - mes "Thank you."; - mes "Have a good day."; - close; - //GM options start - Lfixvote: //Fix Vote - mes "[Saera]"; - mes "Umm, sure.."; - if($dtsv > 0) mes "Cool Event Corp is currently winning by "+$dtsv+" votes."; - if($dtsv < 0) mes "Kafra Corp is currently winning by "+$dtsv*-1+" votes."; - if($dtsv == 0) mes "The vote is currently tied."; - mes "To who would you like to give votes to?"; - next; - menu "Kafra",-,"Cool Event Corp",Lfixcool; - - Lfixkafra: //Fixing vote for Kafra - mes "[Saera]"; - if($dtsv > 0) mes "Cool Event Corp is currently winning by "+$dtsv+" votes."; - if($dtsv < 0) mes "Kafra Corp is currently winning by "+$dtsv*-1+" votes."; //multiplied by -1 because var is negative - if($dtsv == 0) mes "The vote is currently tied."; - mes "Please input the amount you wish to give to Kafra Corp"; - input @dtstemp; //Set buffer for Kafra vote - next; - mes "[Saera]"; - mes "You inputted "+@dtstemp+" for Kafra"; - if($dtsv > 0) mes "Cool Event Corp is currently winning by "+$dtsv+" votes."; - if($dtsv < 0) mes "Kafra Corp is currently winning by "+$dtsv*-1+" votes."; - if($dtsv == 0) mes "The vote is currently tied."; - mes "Are you sure you would like to"; - mes "make these changes?"; - next; - menu "Yes",-,"No",Lnothx; - set $dtsv,$dtsv-@dtstemp; //Set buffer to Kafra vote - mes "[Saera]"; - mes "Okay, you fixed the vote"; - mes "of Kafra Corp."; - if($dtsv > 0) mes "Cool Event Corp is currently winning by "+$dtsv+" votes."; - if($dtsv < 0) mes "Kafra Corp is currently winning by "+$dtsv*-1+" votes."; - if($dtsv == 0) mes "The vote is currently tied."; - close; - - Lfixcool: //Fixing vote for cool corp - mes "[Saera]"; - mes "Let me find the papers..."; - if($dtsv > 0) mes "Cool Event Corp is currently winning by "+$dtsv+" votes."; - if($dtsv < 0) mes "Kafra Corp is currently winning by "+$dtsv*-1+" votes."; - if($dtsv == 0) mes "The vote is currently tied."; - mes "Please input new vote for Cool Event Corp"; - input @dtstemp; //Set buffer for Cool vote - next; - mes "[Saera]"; - mes "You inputted "+@dtstemp+" for Cool Event Corp"; - if($dtsv > 0) mes "Cool Event Corp is currently winning by "+$dtsv+" votes."; - if($dtsv < 0) mes "Kafra Corp is currently winning by "+$dtsv*-1+" votes."; - if($dtsv == 0) mes "The vote is currently tied."; - mes "Are you sure you would like to"; - mes "make these changes?"; - next; - menu "Yes",-,"No",Lnothx; //Confirmaiton - set $dtsv,@dtsv+@dtstemp; //Set buffer to Cool vote - mes "[Saera]"; - mes "Okay, you fixed the vote"; - mes "of Cool Event Corp."; - if($dtsv > 0) mes "Cool Event Corp is currently winning by "+$dtsv+" votes."; - if($dtsv < 0) mes "Kafra Corp is currently winning by "+$dtsv*-1+" votes."; - if($dtsv == 0) mes "The vote is currently tied."; - close; - - Lsettele: //Set current DTS tele - mes "[Saera]"; - mes "Type Kafra for Kafra-enabled warp,"; - mes "Cool for Cool Event Corp-enabled"; - mes "warp ,Election for election mode,"; - mes "or Cancel to cancel."; - if($dts&(1<<0)) mes "The election is currently in election mode."; - if($dts&(1<<1)) mes "Cool Event Corp is currently the DTS warper."; - if($dts&(1<<2)) mes "Kafra Corp is currently the DTS warper."; - next; - input @dtstemps$; //Typed in choices to prevent mistakes - mes "Let me find the papers..."; - next; - if(@dtstemps$ == "Election" || @dtstemps$ == "election"){ - if($dts&(1<<1)){ - set $dts,$dts&~(1<<1); //Removes previous winner - set $dts,$dts|(1<<0); //Changes status to election + else if ($DTS_JondaWins == 1) { + if ($DTS_KafraWins < 2) { + donpcevent "Vote Timer2#ein::OnEnable"; } - if($dts&(1<<2)){ - set $dts,$dts&~(1<<2); - set $dts,$dts|(1<<0); + else { + donpcevent "Vote Timer3#ein::OnEnable"; } - mes "[Saera]"; - mes "Set to election mode."; - close; } - if(@dtstemps$ == "Cool" || @dtstemps$ == "cool"){ - if($dts&(1<<0)){ - set $dts,$dts&~(1<<0); - set $dts,$dts|(1<<1); + else { + if ($DTS_KafraWins < 2) { + donpcevent "Vote Timer2#ein::OnEnable"; } - if($dts&(1<<2)){ - set $dts,$dts&~(1<<2); - set $dts,$dts|(1<<1); + else { + donpcevent "Vote Timer3#ein::OnEnable"; } - mes "[Saera]"; - mes "Cool Event Corp. is now the DTS warper."; - close; } - if(@dtstemps$ == "Kafra" || @dtstemps$ == "kafra"){ - if($dts&(1<<1)){ - set $dts,$dts&~(1<<1); - set $dts,$dts|(1<<2); - } - if($dts&(1<<0)){ - set $dts,$dts&~(1<<0); - set $dts,$dts|(1<<2); - } - mes "[Saera]"; - mes "Kafra Corp. is now the DTS warper."; - close; + stopnpctimer; + } + else if ($DTS_Result == 2) { + if ($DTS_JondaWins == 0) { + donpcevent "Vote Timer2#ein::OnEnable"; } - if(@dtstemps$ == "Cancel" || @dtstemps$ == "cancel") goto Lnothx; - mes "[Saera]"; - mes "Please input a correct name for the election"; - next; - goto Lsettele; - - Lsetlast: //Set last winner - mes "[Saera]"; - mes "Type Kafra for election records to show Kafra,"; - mes "Cool for Cool for election records to show Cool Event Corp,"; - mes "None for no winner in election records,"; - mes "or Cancel to cancel."; - if($dts&(1<<3)) mes "There was no previous winner"; - if($dts&(1<<4)) mes "Cool Event Corp was the last winner"; - if($dts&(1<<5)) mes "Kafra Corp was the last winner"; - next; - input @dtstemps$; - mes "[Saera]"; - mes "Let me find the papers..."; - next; - if(@dtstemps$ == "None" || @dtstemps$ == "none"){ - if($dts&(1<<4)){ - set $dts,$dts&~(1<<4); //removes last winner - set $dts,$dts|(1<<3); //sets current last winner + else if ($DTS_JondaWins == 1) { + if ($DTS_KafraWins < 2) { + donpcevent "Vote Timer2#ein::OnEnable"; } - if($dts&(1<<5)){ - set $dts,$dts&~(1<<5); - set $dts,$dts|(1<<3); + else { + donpcevent "Vote Timer4#ein::OnEnable"; } - mes "[Saera]"; - mes "Set records to show no previous winner."; - close; } - if(@dtstemps$ == "Cool" || @dtstemps$ == "cool"){ - if($dts&(1<<3)){ - set $dts,$dts&~(1<<3); - set $dts,$dts|(1<<4); + else { + if ($DTS_KafraWins < 2) { + donpcevent "Vote Timer2#ein::OnEnable"; } - if($dts&(1<<5)){ - set $dts,$dts&~(1<<5); - set $dts,$dts|(1<<4); + else { + donpcevent "Vote Timer4#ein::OnEnable"; } - mes "[Saera]"; - mes "Cool Event Corp. is now the previous winner."; - close; } - if(@dtstemps$ == "Kafra" || @dtstemps$ == "kafra"){ - if($dts&(1<<3)){ - set $dts,$dts&~(1<<3); - set $dts,$dts|(1<<5); + stopnpctimer; + } + else { + if ($DTS_Time == 1440) { + if (($DTS_JondaVotes >= 20) || ($DTS_KafraVotes >= 20)) { + if ($DTS_JondaVotes > $DTS_KafraVotes) { + if ($DTS_JondaWins == 0) { + if ($DTS_KafraWins < 2) { + set $DTS_KafraWins,$DTS_KafraWins+1; + set $DTS_Result,1; + set $DTS_Time,0; + donpcevent "Scrutiny Association#6::OnEnable"; + donpcevent "Vote Timer2#ein::OnEnable"; + } + else if ($DTS_KafraWins == 2) { + set $DTS_Result,1; + set $DTS_Time,0; + donpcevent "Scrutiny Association#6::OnEnable"; + donpcevent "Vote Timer2#ein::OnEnable"; + } + } + else if ($DTS_JondaWins == 1) { + if ($DTS_KafraWins < 2) { + set $DTS_KafraWins,$DTS_KafraWins+1; + set $DTS_Result,1; + set $DTS_Time,0; + donpcevent "Scrutiny Association#6::OnEnable"; + donpcevent "Vote Timer2#ein::OnEnable"; + } + else { + set $DTS_Time,0; + set $DTS_Result,1; + donpcevent "Scrutiny Association#6::OnEnable"; + donpcevent "Vote Timer3#ein::OnEnable"; + } + } + else { + if ($DTS_KafraWins < 2) { + set $DTS_KafraWins,$DTS_KafraWins+1; + set $DTS_Result,1; + set $DTS_Time,0; + donpcevent "Scrutiny Association#6::OnEnable"; + donpcevent "Vote Timer2#ein::OnEnable"; + } + else { + set $DTS_Result,1; + set $DTS_Time,0; + donpcevent "Scrutiny Association#6::OnEnable"; + donpcevent "Vote Timer3#ein::OnEnable"; + } + } + } + else { + if ($DTS_KafraWins == 0) { + if ($DTS_JondaWins < 2) { + set $DTS_JondaWins,$DTS_JondaWins+1; + set $DTS_Result,2; + set $DTS_Time,0; + donpcevent "Scrutiny Association#7::OnEnable"; + donpcevent "Vote Timer2#ein::OnEnable"; + } + else { + set $DTS_Result,2; + set $DTS_Time,0; + donpcevent "Scrutiny Association#7::OnEnable"; + donpcevent "Vote Timer2#ein::OnEnable"; + } + } + else if ($DTS_KafraWins == 1) { + if ($DTS_JondaWins < 2) { + set $DTS_JondaWins,$DTS_JondaWins+1; + set $DTS_Result,2; + set $DTS_Time,0; + donpcevent "Scrutiny Association#7::OnEnable"; + donpcevent "Vote Timer2#ein::OnEnable"; + } + else { + set $DTS_Result,2; + set $DTS_Time,0; + donpcevent "Scrutiny Association#7::OnEnable"; + donpcevent "Vote Timer4#ein::OnEnable"; + } + } + else { + if ($DTS_JondaWins < 2) { + set $DTS_JondaWins,$DTS_JondaWins+1; + set $DTS_Result,2; + set $DTS_Time,0; + donpcevent "Scrutiny Association#7::OnEnable"; + donpcevent "Vote Timer2#ein::OnEnable"; + } + else { + set $DTS_Result,2; + set $DTS_Time,0; + donpcevent "Scrutiny Association#7::OnEnable"; + donpcevent "Vote Timer4#ein::OnEnable"; + } + } + } } - if($dts&(1<<4)){ - set $dts,$dts&~(1<<4); - set $dts,$dts|(1<<5); + else { + set $DTS_Result,3; + set $DTS_Time,0; + donpcevent "Vote Timer#ein::OnEnable"; } - mes "[Saera]"; - mes "Kafra Corp. is now the previous winner."; - close; } - if(@dtstemps$ == "Cancel" || @dtstemps$ == "cancel") goto Lnothx; - mes "[Saera]"; - mes "Please input a correct name"; - mes "for previous winner"; - next; - goto Lsetlast; + else { + set $DTS_Time,$DTS_Time+1; + donpcevent "Vote Timer#ein::OnEnable"; + } + } + end; +} - Lmanuvotecheck: - mes "[Saera]"; - mes "Are you sure you would like to run"; - mes "the vote check again?"; - next; - menu "Yes",Lmanuvoteyes,"No",Lnothx; +einbroch,245,71,0 script Vote Timer2#ein -1,{ +OnEnable: + initnpctimer; + end; - Lmanuvoteyes: - if($dtsday<4 || $dtsday>=100) set $dtsday,4; - else set $dtsday,$dtsday+1; - if($dts&(1<<1) && $dts&(1<<2) || $dts&(1<<0) && $dts&(1<<1) || $dts&(1<<0) && $dts&(1<<2)){ - if($dts&(1<<0)) set $dts,$dts&~(1<<0); - if($dts&(1<<1)) set $dts,$dts&~(1<<1); - if($dts&(1<<2)) set $dts,$dts&~(1<<2); - set $dts,$dts|(1<<0); - } - if($dts&(1<<4) && $dts&(1<<5) || $dts&(1<<3) && $dts&(1<<4) || $dts&(1<<3) && $dts&(1<<5)){ - if($dts&(1<<3)) set $dts,$dts&~(1<<3); - if($dts&(1<<4)) set $dts,$dts&~(1<<4); - if($dts&(1<<5)) set $dts,$dts&~(1<<5); - set $dts,$dts|(1<<3); - } - if($dtsv == 0){ - set $@dtstemp,rand(1,2); - if($@dtstemp == 1) set $dtsv,$dtsv+100; - else set $dtsv,$dtsv-100; - } - if($dtsv > 0){ - if($dts&(1<<3)) set $dts,$dts&~(1<<3); //removes last winner varialbes - if($dts&(1<<4)) set $dts,$dts&~(1<<4); - if($dts&(1<<5)) set $dts,$dts&~(1<<5); - if($dts&(1<<0)){ - set $dts,$dts&~(1<<0); //removes winner variable - set $dts,$dts|(1<<3); //sets last winner varialbe - set $dts,$dts|(1<<1); //sets current winner variable - } - if($dts&(1<<1)) set $dts,$dts|(1<<4); - if($dts&(1<<2)){ - set $dts,$dts&~(1<<2); - set $dts,$dts|(1<<1); - set $dts,$dts|(1<<5); - } - set $dtsv,0; - } - else{ - if($dts&(1<<3)) set $dts,$dts&~(1<<3); - if($dts&(1<<4)) set $dts,$dts&~(1<<4); - if($dts&(1<<5)) set $dts,$dts&~(1<<5); - if($dts&(1<<0)){ - set $dts,$dts&~(1<<0); - set $dts,$dts|(1<<2); - set $dts,$dts|(1<<3); - } - if($dts&(1<<1)){ - set $dts,$dts&~(1<<1); - set $dts,$dts|(1<<2); - set $dts,$dts|(1<<4); - } - if($dts&(1<<2)) set $dts,$dts|(1<<5); - set $dtsv,0; - } - mes "[Saera]"; - mes "Vote check run again."; - if($dts&(1<<0)) mes "The election is currently in election mode."; - if($dts&(1<<1)) mes "Cool Event Corp is currently the DTS warper."; - if($dts&(1<<2)) mes "Kafra Corp is currently the DTS warper."; - close; +OnTimer60000: + stopnpctimer; + if ($DTS_PeriodCheck == 8640) { + set $DTS_PeriodCheck,0; + set $DTS_Result,0; + set $DTS_KafraVotes,0; + set $DTS_JondaVotes,0; + set $DTS_VoteCount,$DTS_VoteCount+1; + donpcevent "Vote Timer#ein::OnEnable"; + } + else { + set $DTS_PeriodCheck,$DTS_PeriodCheck+1; + donpcevent "Vote Timer2#ein::OnEnable"; + } + end; +} + +einbroch,246,71,0 script Vote Timer3#ein -1,{ +OnEnable: + initnpctimer; + end; + +OnTimer60000: + stopnpctimer; + if ($DTS_PeriodCheck == 8640) { + set $DTS_PeriodCheck,0; //Global Variable + set $DTS_Result,0; //Global Variable + set $DTS_KafraVotes,0; //Global Variable + set $DTS_JondaVotes,0; //Global Variable + set $DTS_JondaWins,$DTS_JondaWins-1; + set $DTS_VoteCount,$DTS_VoteCount+1; + donpcevent "Vote Timer#ein::OnEnable"; + } + else { + set $DTS_PeriodCheck,$DTS_PeriodCheck+1; //Global Variable + donpcevent "Vote Timer3#ein::OnEnable"; + } + end; } -//Function for Voting Staff NPC -function script F_DTS_Warp { - callfunc "F_ClearGarbage"; //Clear outdated, unused variables - if($dts == 0){ //Sets NPCs to election mode if first time running - set $dts,$dts|(1<<0); - set $dts,$dts|(1<<3); +einbroch,247,71,0 script Vote Timer4#ein -1,{ +OnEnable: + initnpctimer; + end; + +OnTimer60000: + stopnpctimer; + if ($DTS_PeriodCheck == 8640) { + set $DTS_PeriodCheck,0; //Global Variable + set $DTS_Result,0; //Global Variable + set $DTS_KafraVotes,0; //Global Variable + set $DTS_JondaVotes,0; //Global Variable + set $DTS_KafraWins,$DTS_KafraWins-1; + set $DTS_VoteCount,$DTS_VoteCount+1; + donpcevent "Vote Timer#ein::OnEnable"; } - if((dtseligible == 0 || dtseligible == 3) && baselevel >= 60 && MISC_QUEST&128 == 0) set dtseligible,1; //Clear previous var of dtseligible,3 being tried for eligibility already - if(dtseligible != $dtsday && baselevel >= 60 && MISC_QUEST&128){ - set MISC_QUEST,MISC_QUEST&~128; - set dtseligible,1; + else { + set $DTS_PeriodCheck,$DTS_PeriodCheck-1; //Global Variable + donpcevent "Vote Timer4#ein::OnEnable"; } + end; +} + +// Voting Poll NPCs Kafras and Cool Corp. +// Cool Event Staff should actually be Cool Event Voting Staff +// names had to be shortened to keep them unique. +function script F_VoteKafra { + callfunc "F_ClearGarbage"; //Clear outdated, unused variables switch(getarg(0)){ - case 0: - cutin "zonda_01",2; - mes "[Cool Event Corp. Voting Staff]"; - mes "Hello! Don't forget to make"; - mes "your voice be heard and make"; - mes "sure you vote in the elections"; - mes "between Cool Event Corp. and"; - mes "Kafra Corporation for control of"; - mes "the Dungeon Teleport Service!"; - break; + case 1: cutin "kafra_01",2; break; + case 2: cutin "kafra_02",2; break; + case 3: cutin "kafra_03",2; break; + case 4: cutin "kafra_04",2; break; + case 5: cutin "kafra_05",2; break; + case 6: cutin "kafra_06",2; break; + case 7: cutin "kafra_07",2; break; + case 8: cutin "kafra_08",2; break; + case 9: cutin "kafra_09",2; break; + } + mes "[Kafra Voting Staff]"; + mes "Greetings, adventurer."; + mes "As you may be aware, we"; + mes "are holding an election to"; + mes "determine which company will"; + mes "provide the Dungeon Teleport"; + mes "Service. How may I help you?"; + next; + switch(select("Reason for Election:Cast a Vote:Use Teleport Service:Cancel")) { case 1: - switch(getarg(1)){ - case 0: cutin "kafra_06",2; break; //Finding arguments to find which illust to use - case 1: cutin "kafra_05",2; break; //Used Red hair "kafra_09" for black outfit kafra - case 2: cutin "kafra_04",2; break; //because I couldn't find a suitable illust - case 3: cutin "kafra_03",2; break; - case 4: cutin "kafra_02",2; break; - case 5: cutin "kafra_01",2; break; - case 6: cutin "kafra_09",2; break; - case 7: cutin "kafra_08",2; break; - case 8: cutin "kafra_09",2; break; - default: cutin "kafra_09",2; break; - } mes "[Kafra Voting Staff]"; - mes "Greetings, adventurer."; - mes "As you may be aware, we"; - mes "are holding an election to"; + mes "Cool Event Corp and the"; + mes "Kafra Corporation have both"; + mes "been planning to provide a"; + mes "Teleport Service to dungeons."; + next; + mes "[Kafra Voting Staff]"; + mes "But due to technological"; + mes "limitations, only one company"; + mes "can serve as provider for this"; + mes "Dungeon Teleport Service at a"; + mes "time. There, both companies have agreed to hold special elections."; + next; + mes "[Kafra Voting Staff]"; + mes "Each company has its own"; + mes "policies and guarantees in"; + mes "regards to the Dungeon Teleport Service, and in this election, the"; + mes "customers will ultimately decide and choose what's best for them."; + next; + mes "[Kafra Voting Staff]"; + mes "For now, the Dungeon"; + mes "Teleport Service will be"; + mes "provided in a series of trial periods. This way, customers can"; + mes "see the benefits of both companies before making the final decision."; + next; + mes "[Kafra Voting Staff]"; + mes "If you are qualified,"; + mes "please vote in each election"; + mes "to decide which company will"; mes "provide the Dungeon Teleport"; - mes "Service. How may I help you?"; + mes "Service for the next trial period. Thank you for your support~"; break; - } - next; - menu "Reason for Election",Lelection,"Cast a Vote",Lvote, - "Use Teleport Service",Lteleport,"Cancel",Lcancel; - - Lelection: //Reason for election explanation - switch(getarg(0)){ - case 0: - mes "[Cool Event Corp. Voting Staff]"; - mes "Cool Event Corp. has been"; - mes "planning to provide a new"; - mes "Dungeon Teleport Service to"; - mes "its customers, a service not"; - mes "already provided by the Kafra"; - mes "Corporation. However..."; - next; - mes "[Cool Event Corp. Voting Staff]"; - mes "Kafra Corporation, which"; - mes "already monopolizes the"; - mes "public teleportation market,"; - mes "actually also had plans to"; - mes "provide a similar service."; - next; - mes "[Cool Event Corp. Voting Staff]"; - mes "Because of technological"; - mes "limitations, only one company"; - mes "can be chosen as the provider"; - mes "of this Dungeon Teleport Service."; - mes "Hence, we will let the customers"; - mes "decide through these elections."; - next; - mes "[Cool Event Corp. Voting Staff]"; - mes "Multiple elections will be"; - mes "held so that our customers"; - mes "can test out the special services"; - mes "of each company for themselves."; - mes "However, keep in mind that you"; - mes "must be eligible in order to vote."; - next; - mes "[Cool Event Corp. Voting Staff]"; - mes "For voter eligibility"; - mes "details, please visit our"; - mes "headquarters in the city of"; - mes "Lighthalzen located in the"; - mes "Schwarzwald Republic."; - mes "Thank you for your time."; - break; - case 1: - mes "[Kafra Voting Staff]"; - mes "Cool Event Corp and the"; - mes "Kafra Corporation have both"; - mes "been planning to provide a"; - mes "Teleport Service to dungeons."; - next; - mes "[Kafra Voting Staff]"; - mes "But due to technological"; - mes "limitations, only one company"; - mes "can serve as provider for this"; - mes "Dungeon Teleport Service at a"; - mes "time. There, both companies have"; - mes "agreed to hold special elections"; - next; - mes "[Kafra Voting Staff]"; - mes "Each company has its own"; - mes "policies and guarantees in"; - mes "regards to the Dungeon Teleport"; - mes "Service, and in this election, the"; - mes "customers will ultimately decide"; - mes "and choose what's best for them."; - next; + case 2: + //if (lhz_boss < 17) { + // mes "[Kafra Voting Staff]"; + // mes "Oh, I'm so sorry, but you"; + // mes "are currently not qualified to"; + // mes "vote. For voting qualification"; + // mes "information, please visit the"; + // mes "Al De Baran Kafra Headquarters."; + // mes "Thank you and have a nice day."; + // close2; + // cutin "",255; + // end; + //} + //else { + if ($DTS_Result == 0) { + if (lhz_vote <= $DTS_VoteCount) { + mes "[Kafra Voting Staff]"; + mes "We, the Kafra Corporation,"; + mes "are planning to provide the"; + mes "Dungeon Teleport Service"; + mes "to the following dungeons..."; + next; + mes " "; + mes " "; + if ($DTS_KafraWins == 0) { + mes "^FF0000Toy Factory, Level 2^000000"; + } + else if ($DTS_KafraWins == 1) { + mes "^FF0000Toy Factory, Level 2^000000"; + mes "^FF0000Al De Baran Clock Tower, Level 3 ^000000"; + } + else { + mes "^FF0000Toy Factory, Level 2^000000"; + mes "^FF0000Al De Baran Clock Tower, Level 3 Lava Dungeon, Level 2^000000"; + } + next; + mes "[Kafra Voting Staff]"; + mes "If you are interested in"; + mes "a Teleport Service to this"; + mes "area, then please vote for"; + mes "us. Would you like to vote"; + mes "for the Kafra Corporation?"; + next; + switch(select("No:Yes")) { + case 1: + mes "[Kafra Voting Staff]"; + mes "I understand. But if you"; + mes "happen to change your mind,"; + mes "you are welcome to come back"; + mes "at any time. Thank you and"; + mes "have a good day, adventurer."; + break; + case 2: + set lhz_vote,$DTS_VoteCount+1; + set $DTS_KafraVotes,$DTS_KafraVotes+1; + mes "[Kafra Voting Staff]"; + mes "Thanks for your vote!"; + mes "We'll continue to do our best"; + mes "to provide the highest quality"; + mes "service to our customers. Have"; + mes "a good day and remember that the Kafra service is on your side~"; + break; + } + } + else { + mes "[Kafra Voting Staff]"; + mes "I'm sorry, but you've "; + mes "already participated in"; + mes "this election. When the next"; + mes "election comes, you will be"; + mes "able to vote once again."; + mes "Thank you for your support~"; + } + } + else if ($DTS_Result == 3) { + if (lhz_vote <= $DTS_VoteCount) { + mes "[Kafra Voting Staff]"; + mes "After totalling the number of"; + mes "votes from the last election,"; + mes "we have concluded that the"; + mes "minimum voter participation"; + mes "condition was not satisfied."; + next; + mes "[Kafra Voting Staff]"; + mes "Therefore, another election to"; + mes "determine which company will"; + mes "provide the Dungeon Teleport"; + mes "Service will be held. The Kafra"; + mes "Corporation will teleport to"; + mes "the following dungeons..."; + next; + mes " "; + mes " "; + if ($DTS_KafraWins == 0) { + mes "FF0000Toy Factory, Level 2^000000"; + } + else if ($DTS_KafraWins == 1) { + mes "^FF0000Toy Factory, Level 2^000000"; + mes "^FF0000Al De Baran Clock Tower, Level 3 ^000000"; + } + else { + mes "^FF0000Toy Factory, Level 2^000000"; + mes "^FF0000Al De Baran Clock Tower, Level 3 Lava Dungeon, Level 2^000000"; + } + next; + mes "[Kafra Voting Staff]"; + mes "If you are interested in"; + mes "a Teleport Service to these"; + mes "areas, then please vote for"; + mes "us. Would you like to vote"; + mes "for the Kafra Corporation?"; + next; + switch(select("No:Yes")) { + case 1: + mes "[Kafra Voting Staff]"; + mes "I understand. But if you"; + mes "happen to change your mind,"; + mes "you are welcome to come back"; + mes "at any time. Thank you and"; + mes "have a good day, adventurer."; + break; + case 2: + set lhz_vote,$DTS_VoteCount+1; + set $DTS_KafraVotes,$DTS_KafraVotes+1; + mes "[Kafra Voting Staff]"; + mes "Thanks for your vote!"; + mes "We'll continue to do our best"; + mes "to provide the highest quality"; + mes "service to our customers. Have"; + mes "a good day and remember that the Kafra service is on your side~"; + break; + } + } + else { + mes "[Kafra Voting Staff]"; + mes "After totalling the number of"; + mes "votes from the last election,"; + mes "we have concluded that the"; + mes "minimum voter participation"; + mes "condition was not satisfied."; + next; + mes "[Kafra Voting Staff]"; + mes "Therefore, another election to"; + mes "determine which company will"; + mes "provide the Dungeon Teleport"; + mes "Service will be held. However,"; + mes "since you've already voted, you cannot vote again in this election."; + next; + mes "[Kafra Voting Staff]"; + mes "Your participation in these"; + mes "elections is much appreciated,"; + mes "and we encourage you to vote"; + mes "again during the next election."; + mes "Thank you and have a nice day~"; + } + } + else { + mes "[Kafra Voting Staff]"; + mes "I'm sorry, but there are"; + mes "no elections taking place at"; + mes "this time. When the polls are"; + mes "open, we encourage you to take"; + mes "part and voice your opinions."; + mes "Thank you for your support~"; + } + //} + break; + case 3: + if ($DTS_Result == 2) { mes "[Kafra Voting Staff]"; - mes "For now, the Dungeon"; - mes "Teleport Service will be"; - mes "provided in a series of trial"; - mes "periods. This way, customers can"; - mes "see the benefits of both companies"; - mes "before making the final decision"; + mes "Thank you for choosing the"; + mes "Dungeon Teleport Service."; + mes "Please keep in mind that the"; + mes "Free Warp Tickets and Kafra"; + mes "Special Reserve Points do not"; + mes "apply in this special service."; next; - mes "[Kafra Voting Staff]"; - mes "If you are qualified,"; - mes "please vote in each election"; - mes "to decide which company will"; - mes "provide the Dungeon Teleport"; - mes "Service for the next trial period."; - mes "Thank you for your support~"; - break; - } - goto Lend; - - Lvote: //If you clicked you wanted to vote - if(dtseligible == 1) goto Leligible; //Var check if eligible - - Lnoteligible: //Text displayed if wanted to vote, but not eligible/voted - switch(getarg(0)){ - case 0: - mes "[Cool Event Corp. Voting Staff]"; - mes "I'm sorry, but you are not"; - mes "eligible to vote at this time."; - mes "Please visit our headquarters"; - mes "in Lighthalzen for information"; - mes "related to acquiring voting"; - mes "rights. Thank you for your time."; - break; - case 1: - mes "[Kafra Voting Staff]"; - mes "Oh, I'm so sorry, but you"; - mes "are currently not qualified to"; - mes "vote. For voting qualification"; - mes "information, please visit the"; - mes "Al De Baran Kafra Headquarters."; - mes "Thank you and have a nice day."; - break; + if ($DTS_KafraWins == 0) { + switch(select("Toy Factory, Level 2 -> 4,000 z:Cancel")) { + case 1: + if (Zeny >= 4000) { + cutin "",255; + set zeny,zeny-4000; + warp "xmas_dun02",130,123; + end; + } + else { + mes "[Kafra Voting Staff]"; + mes "I'm sorry, but you don't"; + mes "have enough money to pay"; + mes "the 4,000 zeny fee to teleport"; + mes "to the Toy Factory. Please"; + mes "check your funds again."; + } + break; + case 2: + mes "[Kafra Voting Staff]"; + mes "We, here at Kafra Corporation,"; + mes "are always endeavoring to provide you with the best services. We hope that we meet your adventuring needs and standards of excellence."; + break; + } + } + else if ($DTS_KafraWins == 1) { + switch(select("Toy Factory, Level 2 -> 4,000 z:Clock Tower, Level 3 -> 4,000 z:Cancel")) { + case 1: + if (Zeny >= 4000) { + set zeny,zeny-4000; + cutin "kafra_09",255; + warp "xmas_dun02",130,123; + end; + } + else { + mes "[Kafra Voting Staff]"; + mes "I'm sorry, but you don't"; + mes "have enough money to pay"; + mes "the 4,000 zeny fee to teleport"; + mes "to the Toy Factory. Please"; + mes "check your funds again."; + } + break; + case 2: + if (Zeny >= 4000) { + set zeny,zeny-4000; + cutin "kafra_09",255; + warp "alde_dun03",265,22; + end; + } + else { + mes "[Kafra Voting Staff]"; + mes "I'm sorry, but you don't"; + mes "have enough money to pay"; + mes "the 4,000 zeny fee to teleport"; + mes "to the Clock Tower. Please"; + mes "check your funds again."; + } + break; + case 3: + mes "[Kafra Voting Staff]"; + mes "We, here at Kafra Corporation,"; + mes "are always endeavoring to provide you with the best services. We hope that we meet your adventuring needs and standards of excellence."; + break; + } + } + else { + switch(select("Toy Factory, Level 2 -> 4,000 z:Clock Tower, Level 3 -> 4,000 z:Lava Dungeon, Level 2 -> 4,000 z:Cancel")) { + case 1: + if (Zeny >= 4000) { + set zeny,zeny-4000; + cutin "kafra_09",255; + warp "xmas_dun02",130,123; + end; + } + else { + mes "[Kafra Voting Staff]"; + mes "I'm sorry, but you don't"; + mes "have enough money to pay"; + mes "the 4,000 zeny fee to teleport"; + mes "to the Toy Factory. Please"; + mes "check your funds again."; + } + break; + case 2: + if (Zeny >= 4000) { + set zeny,zeny-4000; + cutin "kafra_09",255; + warp "alde_dun03",265,22; + end; + } + else { + mes "[Kafra Voting Staff]"; + mes "I'm sorry, but you don't"; + mes "have enough money to pay"; + mes "the 4,000 zeny fee to teleport"; + mes "to the Clock Tower. Please"; + mes "check your funds again."; + } + break; + case 3: + if (Zeny >= 4000) { + set zeny,zeny-4000; + cutin "kafra_09",255; + warp "mag_dun02",47,40; + end; + } + else { + mes "[Kafra Voting Staff]"; + mes "I'm sorry, but you don't"; + mes "have enough money to pay"; + mes "the 4,000 zeny fee to teleport"; + mes "to the Lava Dungeon. Please"; + mes "check your funds again."; + } + break; + case 4: + mes "[Kafra Voting Staff]"; + mes "We, here at Kafra Corporation,"; + mes "are always endeavoring to provide you with the best services. We hope that we meet your adventuring needs and standards of excellence."; + break; + } + } } - goto Lend; - - Leligible: //Text displayed if eligible to vote - if(MISC_QUEST&128 && $dtsday == dtseligible) goto Lnoteligible; //Var check if voted - switch(getarg(0)){ - case 0: - mes "[Cool Event Corp. Voting Staff]"; //Unofficial text - mes "Checking your credentials, you"; - mes "are able to vote for the"; - mes "Dungeon Teleport Service"; - mes "elections. Who would you like"; - mes "to vote for?"; - break; - case 1: + else if ($DTS_Result == 1) { mes "[Kafra Voting Staff]"; - mes "It appears that you qualify"; - mes "to vote for the Dungeon"; - mes "Teleport Service elections."; - mes "Who would you like to vote for"; //End Unofficial text - break; + mes "I'm sorry, but because of"; + mes "the results from the most"; + mes "recent election, Cool Event"; + mes "Corp. is currently handling"; + mes "the Dungeon Teleport Service. We apologize for the inconvenience."; } - next; - menu "Cool Event Corp.",Lvotecool,"Kafra Corp.",Lvotekafra; - - Lvotecool: - set $dtsv,$dtsv+1; //Adds 1 to cool count - set MISC_QUEST,MISC_QUEST|128; //Sets var so that you can't vote over and over - set dtseligible,$dtsday; - switch(getarg(0)){ - case 0: - mes "[Cool Event Corp. Voting Staff]"; - mes "Thank you for voting for us."; - mes "Your vote has been counted,"; - mes "and we appreciate your input"; - mes "Thank you and have a good day."; - break; - case 1: + else { mes "[Kafra Voting Staff]"; - mes "We thank you for your vote."; - mes "Your opinion matters very much"; - mes "and has been counted for Cool"; - mes "Event Corp."; - break; + mes "I'm sorry, but the"; + mes "Dungeon Teleport Service"; + mes "is not active during the voting"; + mes "period. Once the election is"; + mes "over, the Dungeon Teleport"; + mes "Service will become available."; } - goto Lend; + break; + case 4: + mes "[Kafra Voting Staff]"; + mes "We, here at Kafra Corporation,"; + mes "are always endeavoring to provide you with the best services. We hope that we meet your adventuring needs and standards of excellence."; + break; + } + close2; + cutin "",255; + end; +} - Lvotekafra: - setd $dtsv,$dtsv-1; //Adds 1 to kafra count - set MISC_QUEST,MISC_QUEST|128; //Sets var to prevent cheating - set dtseligible,$dtsday; - switch(getarg(0)){ - case 0: - mes "[Cool Event Corp. Voting Staff]"; //Unofficial Text - mes "Thank you for your opinion."; - mes "Your vote for Kafra corp."; - mes "has been counted. Thank"; - mes "you and have a good day."; - break; - case 1: - mes "[Kafra Voting Staff]"; - mes "Your vote for us has been"; - mes "counted. We thank you very"; - mes "much for your input, and"; - mes "we hope that we meet your"; - mes "adventuring needs and"; - mes "standards of excellence."; - break; - } - goto Lend; //End Unofficial text +yuno,162,191,4 script Kafra Voting Staff#yuno 861,{ + callfunc "F_VoteKafra",9; +} +prontera,164,125,4 script Kafra Voting Staff#prt 116,{ + callfunc "F_VoteKafra",2; +} +morocc,164,114,4 script Kafra Voting Staff#moc 116,{ + callfunc "F_VoteKafra",2; +} +geffen,122,37,4 script Kafra Voting Staff#gef 116,{ + callfunc "F_VoteKafra",2; +} +payon,158,182,4 script Kafra Voting Staff#pay 116,{ + callfunc "F_VoteKafra",2; +} +alberta,119,70,4 script Kafra Voting Staff#alb 116,{ + callfunc "F_VoteKafra",2; +} +aldebaran,145,102,4 script Kafra Voting Staff#alde 116,{ + callfunc "F_VoteKafra",2; +} +lighthalzen,163,60,4 script Kafra Voting Staff#lght 861,{ + callfunc "F_VoteKafra",9; +} - Lteleport: //Selected Teleport - switch(getarg(0)){ - case 0: - if($dts&(1<<0)){ +yuno,153,191,6 script Cool Event Staff#yuno::VotingStaffCCE 874,{ + callfunc "F_ClearGarbage"; //Clear outdated, unused variables + cutin "zonda_01",2; + mes "[Cool Event Corp. Voting Staff]"; + mes "Hello! Don't forget to make"; + mes "your voice be heard and make"; + mes "sure you vote in the elections"; + mes "between Cool Event Corp. and"; + mes "Kafra Corporation for control of the Dungeon Teleport Service!"; + next; + switch(select("Reason for Election:Cast a Vote:Use Teleport Service:Cancel")) { + case 1: + mes "[Cool Event Corp. Voting Staff]"; + mes "Cool Event Corp. has been"; + mes "planning to provide a new"; + mes "Dungeon Teleport Service to"; + mes "its customers, a service not"; + mes "already provided by the Kafra"; + mes "Corporation. However..."; + next; + mes "[Cool Event Corp. Voting Staff]"; + mes "Kafra Corporation, which"; + mes "already monopolizes the"; + mes "public teleportation market,"; + mes "actually also had plans to"; + mes "provide a similar service."; + next; + mes "[Cool Event Corp. Voting Staff]"; + mes "Because of technological"; + mes "limitations, only one company"; + mes "can be chosen as the provider"; + mes "of this Dungeon Teleport Service. Hence, we will let the customers"; + mes "decide through these elections."; + next; + mes "[Cool Event Corp. Voting Staff]"; + mes "Multiple elections will be"; + mes "held so that our customers"; + mes "can test out the special services of each company for themselves."; + mes "However, keep in mind that you must be eligible in order to vote."; + next; + mes "[Cool Event Corp. Voting Staff]"; + mes "For voter eligibility"; + mes "details, please visit our"; + mes "headquarters in the city of"; + mes "Lighthalzen located in the"; + mes "Schwaltzvalt Republic."; + mes "Thank you for your time."; + break; + case 2: + //if (lhz_boss < 17) { + // mes "[Cool Event Corp. Voting Staff]"; + // mes "I'm sorry, but you are not"; + // mes "eligible to vote at this time."; + // mes "Please visit our headquarters"; + // mes "in Lighthalzen for information"; + // mes "related to acquiring voting rights. Thank you for your time."; + // close2; + // cutin "zonda_01",255; + // end; + //} + //else { + if ($DTS_Result == 0) { + if (lhz_vote <= $DTRS_VoteCount) { + mes "[Cool Event Corp. Voting Staff]"; + mes "Cool Event Corp.,"; + mes "if chosen to provide the"; + mes "Dungeon Teleport Service,"; + mes "will teleport adventurers to"; + mes "the following dungeons..."; + next; + mes " "; + mes " "; + if ($DTS_JondaWins == 0) { + mes "^FF0000Byalan Dungeon, Level 3^000000"; + } + else if ($DTS_JondaWins == 1) { + mes "^FF0000Byalan Dungeon, Level 3^000000"; + mes "^FF0000Clock Tower, 3rd Floor^000000"; + } + else { + mes "^FF0000Byalan Dungeon, Level 3^000000"; + mes "^FF0000Clock Tower, 3rd Floor^000000"; + mes "^FF0000Glast Heim Entrance^000000"; + } + next; + mes "[Cool Event Corp. Voting Staff]"; + mes "If you are interested in"; + mes "these destinations, then"; + mes "it would be in your best"; + mes "interest to vote for us."; + mes "Would you like to vote"; + mes "for Cool Event Corp.?"; + next; + switch(select("No:Yes")) { + case 1: + mes "[Cool Event Corp. Voting Staff]"; + mes "Ah, I see... Well, if you"; + mes "happen to change your mind,"; + mes "feel free to come back and"; + mes "cast your vote for Cool Event"; + mes "Corp, alright? Have a nice day~"; + break; + case 2: + set lhz_vote,$DTS_VoteCount+1; + set $DTS_JondaVotes,$DTS_JondaVotes+1; + mes "[Cool Event Corp. Voting Staff]"; + mes "Thank you for your vote!"; + mes "It's customers like you who"; + mes "ensure the success and great"; + mes "service that you have come to"; + mes "expect from Cool Event Corp."; + mes "Thank you and have a nice day~"; + break; + } + } + else { + mes "[Cool Event Corp. Voting Staff]"; + mes "I'm sorry, but you've"; + mes "already cast your vote"; + mes "in this election. However,"; + mes "please don't let that stop you"; + mes "from voting for Cool Event"; + mes "Corp. in the next election~"; + } + } + else if ($DTS_Result == 3) { + if (lhz_vote <= $DTRS_VoteCount) { + mes "[Cool Event Corp. Voting Staff]"; + mes "Unfortunately, there wasn't"; + mes "enough voter turnout in the"; + mes "last election, so we're holding"; + mes "another election to determine"; + mes "which company will provide the"; + mes "Dungeon Teleport Service."; + next; + mes "[Cool Event Corp. Voting Staff]"; + mes "Cool Event Corp.,"; + mes "if chosen to provide the"; + mes "Dungeon Teleport Service,"; + mes "will teleport adventurers to"; + mes "the following dungeons..."; + next; + mes " "; + mes " "; + if ($DTS_JondaWins == 0) { + mes "^FF0000Byalan Dungeon, Level 3^000000"; + } + else if ($DTS_JondaWins == 1) { + mes "^FF0000Byalan Dungeon, Level 3^000000"; + mes "^FF0000Clock Tower, 3rd Floor^000000"; + } + else { + mes "^FF0000Byalan Dungeon, Level 3^000000"; + mes "^FF0000Clock Tower, 3rd Floor^000000"; + mes "^FF0000Glast Heim Entrance^000000"; + } + next; + mes "[Cool Event Corp. Voting Staff]"; + mes "If you are interested in"; + mes "these destinations, then"; + mes "it would be in your best"; + mes "interest to vote for us."; + mes "Would you like to vote"; + mes "for Cool Event Corp.?"; + next; + switch(select("No:Yes")) { + case 1: + mes "[Cool Event Corp. Voting Staff]"; + mes "Ah, I see... Well, if you"; + mes "happen to change your mind,"; + mes "feel free to come back and"; + mes "cast your vote for Cool Event"; + mes "Corp, alright? Have a nice day~"; + break; + case 2: + set lhz_vote,$DTS_VoteCount+1; + set $DTS_JondaVotes,$DTS_JondaVotes+1; + mes "[Cool Event Corp. Voting Staff]"; + mes "Thank you for your vote!"; + mes "It's customers like you who"; + mes "ensure the success and great"; + mes "service that you have come to"; + mes "expect from Cool Event Corp."; + mes "Thank you and have a nice day~"; + break; + } + } + else { + mes "[Cool Event Corp. Voting Staff]"; + mes "Unfortunately, there wasn't"; + mes "enough voter turnout in the"; + mes "last election, so we're holding"; + mes "another election to determine"; + mes "which company will provide the"; + mes "Dungeon Teleport Service."; + next; + mes "[Cool Event Corp. Voting Staff]"; + mes "We appreciate that"; + mes "you've already participated"; + mes "in this second election by"; + mes "casting your vote. Thank"; + mes "you for your support~"; + } + } + else { mes "[Cool Event Corp. Voting Staff]"; - mes "I'm sorry, but the"; - mes "Dungeon Teleport Service is"; - mes "unavailable during elections"; - mes "and will be reactivated after the"; - mes "election results are announced."; - mes "Thank you and have a nice day."; - goto Lend; + mes "I'm sorry, but an election is"; + mes "not currently being held at this time. Please come and cast your"; + mes "vote at the next election to decide which company will provide the"; + mes "Dungeon Teleport Service."; + } + //} + break; + case 3: + if ($DTS_Result == 1) { + mes "[Cool Event Corp. Voting Staff]"; + mes "Please remember that we"; + mes "cannot accept Free Warp Tickets"; + mes "or award Special Reserve Points"; + mes "for this service. Now, please"; + mes "choose your destination."; + next; + if ($DTS_JondaWins == 0) { + switch(select("Byalan Dungeon, Level 3 -> 4,000 z:Cancel")) { + case 1: + if (Zeny >= 4000) { + set zeny,zeny-4000; + cutin "zonda_01",255; + warp "iz_dun02",234,206; + end; + } + else { + mes "[Cool Event Corp. Voting Staff]"; + mes "I'm sorry, but you do"; + mes "not have enough zeny to"; + mes "teleport to this destination."; + mes "The teleport fee is 4,000 zeny."; + } + break; + case 2: + mes "[Cool Event Corp. Voting Staff]"; + mes "Always be assured that"; + mes "Cool Event Corp. will do"; + mes "everything in its power to"; + mes "ensure the satisfaction of"; + mes "its customers, young and old"; + mes "and big and small. Thank you~"; + break; + } } - if($dts&(1<<1)) goto Lteleenabled; - mes "[Cool Event Corp. Voting Staff]"; //Text if Kafra won DTS elect. + else if ($DTS_JondaWins == 1) { + switch(select("Byalan Dungeon, Level 3 -> 4,000 z:Clock Tower, 3rd Floor -> 4,000 z:Cancel")) { + case 1: + if (Zeny >= 4000) { + set zeny,zeny-4000; + cutin "zonda_01",255; + warp "iz_dun02",234,206; + end; + } + else { + mes "[Cool Event Corp. Voting Staff]"; + mes "I'm sorry, but you do"; + mes "not have enough zeny to"; + mes "teleport to this destination."; + mes "The teleport fee is 4,000 zeny."; + } + break; + case 2: + if (Zeny >= 4000) { + set zeny,zeny-4000; + cutin "zonda_01",255; + warp "c_tower3",64,143; + end; + } + else { + mes "[Cool Event Corp. Voting Staff]"; + mes "I'm sorry, but you do"; + mes "not have enough zeny to"; + mes "teleport to this destination."; + mes "The teleport fee is 4,000 zeny."; + } + break; + case 3: + mes "[Cool Event Corp. Voting Staff]"; + mes "Always be assured that"; + mes "Cool Event Corp. will do"; + mes "everything in its power to"; + mes "ensure the satisfaction of"; + mes "its customers, young and old"; + mes "and big and small. Thank you~"; + break; + } + } + else { + mes "[Cool Event Corp. Voting Staff]"; + mes "Please remember that we"; + mes "cannot accept Free Warp Tickets"; + mes "or award Special Reserve Points"; + mes "for this service. Now, please"; + mes "choose your destination."; + next; + switch(select("Byalan Dungeon, Level 3 -> 4,000 z:Clock Tower, 3rd Floor -> 4,000 z:Glast Heim Entrance -> 4,000 z:Cancel")) { + case 1: + if (Zeny >= 4000) { + set zeny,zeny-4000; + cutin "zonda_01",255; + warp "iz_dun02",234,206; + end; + } + else { + mes "[Cool Event Corp. Voting Staff]"; + mes "I'm sorry, but you do"; + mes "not have enough zeny to"; + mes "teleport to this destination."; + mes "The teleport fee is 4,000 zeny."; + } + break; + case 2: + if (Zeny >= 4000) { + set zeny,zeny-4000; + cutin "zonda_01",255; + warp "c_tower3",64,143; + end; + } + else { + mes "[Cool Event Corp. Voting Staff]"; + mes "I'm sorry, but you do"; + mes "not have enough zeny to"; + mes "teleport to this destination."; + mes "The teleport fee is 4,000 zeny."; + } + break; + case 3: + if (Zeny >= 4000) { + set zeny,zeny-4000; + cutin "zonda_01",255; + warp "glast_01",368,303; + end; + } + else { + mes "[Cool Event Corp. Voting Staff]"; + mes "I'm sorry, but you do"; + mes "not have enough zeny to"; + mes "teleport to this destination."; + mes "The teleport fee is 4,000 zeny."; + } + break; + case 4: + mes "[Cool Event Corp. Voting Staff]"; + mes "Always be assured that"; + mes "Cool Event Corp. will do"; + mes "everything in its power to"; + mes "ensure the satisfaction of"; + mes "its customers, young and old"; + mes "and big and small. Thank you~"; + break; + } + } + } + else if ($DTS_Result == 2) { + mes "[Cool Event Corp. Voting Staff]"; mes "I'm sorry, but Cool Event"; mes "Corp. does not currently offer"; mes "the Dungeon Teleport Service"; mes "due to the results of the last"; mes "election. Please vote for us"; mes "next time, alright? Good day~"; - break; - case 1: - if($dts&(1<<0)){ - mes "[Kafra Voting Staff]"; - mes "Sorry, but the elections for"; - mes "which Dungeon Teleport System"; - mes "to use is currently going on"; - mes "right now. We are unable to"; - mes "vote until results are announced"; - goto Lend; - } - if($dts&(1<<2)) goto Lteleenabled; - mes "[Kafra Voting Staff]"; - mes "We're sorry, but Kafra Corp"; - mes "doesn't currently offer the"; - mes "Dungeon Teleport System due"; - mes "to last election's results,"; - mes "Please vote for Kafra Corp"; - mes "next time~"; - break; } - goto Lend; - - Lteleenabled: //Shows DTS tele selections - cleararray @dtswarpmap$[0],"",getarraysize(@dtswarpmap$); - cleararray @dtswarp$[0],"",getarraysize(@dtswarp$); - switch(getarg(0)){ - case 0: - mes "[Cool Event Corp. Voting Staff]"; - mes "Please remember that we"; - mes "cannot accept Free Warp Tickets"; - mes "or award Special Reserve Points"; - mes "for this service. Now, please"; - mes "choose your destination."; - setarray @dtswarpmap$[0],"Byalan, Level 4","Clock Tower, Basement 3"; - setarray @dtswarp$[0],@dtswarpmap$[0]+" -> 4,000z", - @dtswarpmap$[1]+" -> 4,000z","Cancel"; - if($dts&(1<<4)){ - set @dtswarpmap$[2],"Glastheim Entrance"; - setarray @dtswarp$[2],@dtswarpmap$[2]+" -> 4,000z","Cancel"; + else { + mes "[Cool Event Corp. Voting Staff]"; + mes "I'm sorry, but the"; + mes "Dungeon Teleport Service is"; + mes "unavailable during elections"; + mes "and will be reactivated after the election results are announced."; + mes "Thank you and have a nice day."; } break; - case 1: - mes "[Kafra Voting Staff]"; - mes "Thank you for choosing the"; - mes "Dungeon Teleport Service"; - mes "Please keep in mind that the"; - mes "Free Warp Tickets and Kafra"; - mes "Special Reserve Points do not"; - mes "apply in this special service."; - setarray @dtswarpmap$[0],"Toy Factory, Level 2","Clock Tower, Level 3"; - setarray @dtswarp$[0],@dtswarpmap$[0]+" -> 4,000z", - @dtswarpmap$[1]+" -> 4,000z","Cancel"; - if($dts&(1<<5)){ - set @dtswarpmap$[2],"Lava Dungeon, Level 2"; - setarray @dtswarp$[2],@dtswarpmap$[2]+" -> 4,000z","Cancel"; - } + case 4: + mes "[Cool Event Corp. Voting Staff]"; + mes "Cool Event Corp. is always"; + mes "working to make sure that"; + mes "not only are our customers"; + mes "satisfied, but that we also"; + mes "exceed your utmost standards."; + mes "Thank you and have a good day."; break; } - next; - switch(select(@dtswarp$[0],@dtswarp$[1],@dtswarp$[2],@dtswarp$[3])){ - case 1: - set @num, 0; - break; - case 2: - set @num, 1; - break; - case 3: - set @num, 2; - break; - case 4: - set @num, 3; - break; + close2; + cutin "zonda_01",255; + end; +} + +prontera,147,125,6 duplicate(VotingStaffCCE) Cool Event Staff#prt 874 +morocc,155,114,6 duplicate(VotingStaffCCE) Cool Event Staff#moc 874 +geffen,117,37,6 duplicate(VotingStaffCCE) Cool Event Staff#gef 874 +payon,153,182,6 duplicate(VotingStaffCCE) Cool Event Staff#pay 874 +alberta,114,70,6 duplicate(VotingStaffCCE) Cool Event Staff#alb 874 +aldebaran,138,102,6 duplicate(VotingStaffCCE) Cool Event Staff#alde 874 +lighthalzen,154,60,6 duplicate(VotingStaffCCE) Cool Event Staff#lhz 874 + +yuno,103,225,0 script Scrutiny Association#5 -1,{ +OnInit: + initnpctimer; + end; + +OnEnable: + initnpctimer; + end; + +OnTimer7200000: + stopnpctimer; + if (($DTS_Result == 0) || ($DTS_Result == 3)) { + announce "Currently, the Dungeon Teleport Service Provider Election is being held in all major cities. Your participation is appreciated.",bc_all,"0x70dbdb"; } - Lwarp: - if (@dtswarp$[@num] == "Cancel") goto Lcancel; - if (Zeny<4000) goto Lnomoney; - set Zeny, Zeny-4000; - if (@dtswarpmap$[@num] == "Toy Factory, Level 2") warp "xmas_dun02",130,123; - //Maps to warp to - if (@dtswarpmap$[@num] == "Clock Tower, Level 3") warp "alde_dun03",265,22; + donpcevent "Scrutiny Association#5::OnEnable"; + end; +} - if (@dtswarpmap$[@num] == "Lava Dungeon, Level 2") warp "mag_dun02",47,40; +einbroch,248,71,0 script Scrutiny Association#6 -1,{ +OnEnable: + initnpctimer; + end; - if (@dtswarpmap$[@num] == "Byalan, Level 4") warp "iz_dun03",32,63; +OnTimer1000: + announce "All the votes for the Dungeon Teleport Service Provider Election have been received and counted.",bc_all,"0x70dbdb"; + end; - if (@dtswarpmap$[@num] == "Clock Tower, Basement 3") warp "alde_dun03",277,178; +OnTimer5000: + announce "The results are now in...",bc_all,"0x70dbdb"; + end; - if (@dtswarpmap$[@num] == "Glastheim Entrance") warp "glast_01",370,304; +OnTimer10000: + announce "This time, Cool Event Corp. will be the Dungeon Teleport Service Provider.",bc_all,"0x70dbdb"; + end; - cutin "", 255; - end; - Lnomoney: - switch(getarg(0)){ - case 0: - mes "[Cool Event Corp. Voting Staff]"; //Unofficial Text - mes "Umm, apparently you don't have"; - mes "adequate funds for your"; - mes "selected warp. Please check"; - mes "that you have the correct amount"; - mes "of money, and try again later"; - break; - case 1: - mes "[Kafra Voting Staff]"; - mes "It appears as if you don't"; - mes "have enough zeny for the warp"; - mes "Please check your funds and"; - mes "try again."; - break; - } - goto Lend; //End unofficial text +OnTimer15000: + announce "Many thanks to all of you who have voted and shown your support.",bc_all,"0x70dbdb"; + stopnpctimer; + end; +} - Lcancel: //Selected Cancel on first menu - switch(getarg(0)){ - case 0: - mes "[Cool Event Corp. Voting Staff]"; - mes "Cool Event Corp. is always"; - mes "working to make sure that"; - mes "not only are our customers"; - mes "satisfied, but that we also"; - mes "exceed your utmost standards."; - mes "Thank you and have a good day."; - break; - case 1: - mes "[Kafra Voting Staff]"; - mes "We, here at Kafra Corporation,"; - mes "are alwyas endeavoring to provide"; - mes "you with the best services. We hope"; - mes "that we meet your adventuring needs"; - mes "and the standards of excellence."; - break; - } - goto Lend; - Lend: - close2; - cutin "", 255; - end; +einbroch,249,71,0 script Scrutiny Association#7 -1,{ +OnEnable: + initnpctimer; + end; + +OnTimer1000: + announce "All the votes for the Dungeon Teleport Service Provider Election have been received and counted.",bc_all,"0x70dbdb"; + end; +OnTimer5000: + announce "The results are now in...",bc_all,"0x70dbdb"; + end; + +OnTimer10000: + announce "This time, Kafra Corporation will be the Dungeon Teleport Service Provider.",bc_all,"0x70dbdb"; + end; + +OnTimer15000: + announce "Many thanks to all of you who have voted and shown your support.",bc_all,"0x70dbdb"; + stopnpctimer; + end; } -//Elections administration NPC (hidden) -- script DTS_Admin -1,{ - OnSun0100: //Works only at 1am on sunday - if($dtsday<4 || $dtsday>=100) set $dtsday,4; - else set $dtsday,$dtsday+1; - if($dts == 0){ - set $dts,$dts|(1<<0); - set $dts,$dts|(1<<3); - } - if($dts&(1<<1) && $dts&(1<<2) || $dts&(1<<0) && $dts&(1<<1) || $dts&(1<<0) && $dts&(1<<2)){ - if($dts&(1<<0)) set $dts,$dts&~(1<<0); - if($dts&(1<<1)) set $dts,$dts&~(1<<1); - if($dts&(1<<2)) set $dts,$dts&~(1<<2); - set $dts,$dts|(1<<0); - } - if($dts&(1<<4) && $dts&(1<<5) || $dts&(1<<3) && $dts&(1<<4) || $dts&(1<<3) && $dts&(1<<5)){ - if($dts&(1<<3)) set $dts,$dts&~(1<<3); - if($dts&(1<<4)) set $dts,$dts&~(1<<4); - if($dts&(1<<5)) set $dts,$dts&~(1<<5); - set $dts,$dts|(1<<3); - } - if($dtsv == 0){ //If tied, gives random side 100 votes - set $@dtstemp,rand(1,2); - if($@dtstemp == 1) set $dtsv,$dtsv+100; - else set $dtsv,$dtsv-100; - } - if($dtsv > 0){ - if($dts&(1<<3)) set $dts,$dts&~(1<<3); - if($dts&(1<<4)) set $dts,$dts&~(1<<4); - if($dts&(1<<5)) set $dts,$dts&~(1<<5); - if($dts&(1<<0)){ - set $dts,$dts&~(1<<0); - set $dts,$dts|(1<<1); - set $dts,$dts|(1<<3); - } - if($dts&(1<<1)) set $dts,$dts|(1<<4); - if($dts&(1<<2)){ - set $dts,$dts&~(1<<2); - set $dts,$dts|(1<<1); - set $dts,$dts|(1<<5); - } - set $dtsv,0; - } - else{ - if($dts&(1<<3)) set $dts,$dts&~(1<<3); - if($dts&(1<<4)) set $dts,$dts&~(1<<4); - if($dts&(1<<5)) set $dts,$dts&~(1<<5); - if($dts&(1<<0)){ - set $dts,$dts&~(1<<0); - set $dts,$dts|(1<<2); - set $dts,$dts|(1<<3); - } - if($dts&(1<<1)){ - set $dts,$dts&~(1<<1); - set $dts,$dts|(1<<2); - set $dts,$dts|(1<<4); +/* +// GM only NPC used for modifying values related to the DTS system. +sec_in02,17,160,4 script Vote Globalvar Girl#yuno 864,{ + mes "[Christy's Maid]"; + mes "Lady Christy!"; + next; + input .@input,0,9000; + if (input == 1854) { + mes "[Christy's Maid]"; + mes "I am Lady Christy's Maid."; + next; + switch(select("Globalvar Check:Setitem Zero:Change Glbalvar")) { + case 1: + mes "Current GlobalVar are"; + next; + mes "[Christy's Maid]"; + mes "Global 1 - Voting Time check : "+$DTS_Time+""; + mes "Global 2 - Cool Event Corp. Vote Numbers : "+$DTS_JondaVotes+""; + mes "Global 3 - Kafra Vote Numbers : "+$DTS_KafraVotes+""; + mes "Global 4 - Winner : "+$DTS_Result+""; + mes "Global 5 - Teleport Service Period Check: "+$DTS_PeriodCheck+""; + mes "Global 6 - Kafra Points : "+$DTS_KafraWins+""; + mes "Global 7 - Cool Event Corp. Points : "+$DTS_JondaWins+""; + mes "Global 8 - Setitem Check : "+$DTS_VoteCount+""; + next; + mes "[Christy's Maid]"; + mes "Current Setitem value is "+lhz_vote+"."; + close; + case 2: + set lhz_vote,0; + close; + case 3: + mes "[Christy's Maid]"; + mes "Which Globalvar value would you like to change?"; + next; + switch(select("1 - Voting Time:2 - Cool Event Corp. Vote Numbers:3 - Kafra Vote Numbers:4 - Winner:5 - Teleport Service Period:6 - Kafra Warp Number:7 - Cool Event Corp. Warp Number:8 - Setitem Value")) { + case 1: + mes "[Christy's Maid]"; + mes "Please enter a number among 0 and 1000."; + next; + input .@input; + if ((.@input < 0) || (.@input > 1000)) { + mes "[Christy's Maid]"; + mes "The value is incorrect."; + close; + } + set $DTS_Time,.@input; + mes "[Christy's Maid]"; + mes "The value has been modified."; + close; + case 2: + mes "[Christy's Maid]"; + mes "Please enter a number among 0 and 1000."; + next; + input .@input; + if ((.@input < 0) || (.@input > 1000)) { + mes "[Christy's Maid]"; + mes "The value is incorrect."; + close; + } + set $DTS_JondaVotes,.@input; + mes "[Christy's Maid]"; + mes "The value has been modified."; + close; + case 3: + mes "[Christy's Maid]"; + mes "Please enter a number among 0 and 1000."; + next; + input .@input; + if ((.@input < 0) || (.@input > 1000)) { + mes "[Christy's Maid]"; + mes "The value is incorrect."; + close; + } + set $DTS_KafraVotes,.@input; + mes "[Christy's Maid]"; + mes "The value has been modified."; + close; + case 4: + mes "[Christy's Maid]"; + mes "Please enter a number among 0 and 3."; + next; + input .@input; + if ((.@input < 0) || (.@input > 3)) { + mes "[Christy's Maid]"; + mes "The value is incorrect."; + close; + } + set $DTS_Result,.@input; + mes "[Christy's Maid]"; + mes "The value has been modified."; + close; + case 5: + mes "[Christy's Maid]"; + mes "Please enter a number among 0 and 1000."; + next; + input .@input; + if ((.@input < 0) || (.@input > 1000)) { + mes "[Christy's Maid]"; + mes "The value is incorrect."; + close; + } + set $DTS_PeriodCheck,.@input; + mes "[Christy's Maid]"; + mes "The value has been modified."; + close; + case 6: + mes "[Christy's Maid]"; + mes "Please enter a number among 0 and 2."; + next; + input .@input; + if ((.@input < 0) || (.@input > 2)) { + mes "[Christy's Maid]"; + mes "The value is incorrect."; + close; + } + set $DTS_KafraWins,.@input; + mes "[Christy's Maid]"; + mes "The value has been modified."; + close; + case 7: + mes "[Christy's Maid]"; + mes "Please enter a number among 0 and 2."; + next; + input .@input; + if ((.@input < 0) || (.@input > 2)) { + mes "[Christy's Maid]"; + mes "The value is incorrect."; + close; + } + set $DTS_JondaWins,.@input; + mes "[Christy's Maid]"; + mes "The value has been modified."; + close; + case 8: + mes "[Christy's Maid]"; + mes "Please enter a number among 0 and 10000."; + next; + input .@input; + if ((.@input < 0) || (.@input > 10000)) { + mes "[Christy's Maid]"; + mes "The value is incorrect."; + close; + } + set $DTS_VoteCount,.@input; + mes "[Christy's Maid]"; + mes "The value has been modified."; + close; } - if($dts&(1<<2)) set $dts,$dts|(1<<5); - set $dtsv,0; } - end; + } + else { + mes "[Christy's Maid]"; + mes "Lady Christy..."; + close; + } } +*/ diff --git a/npc/other/Global_Functions.txt b/npc/other/Global_Functions.txt index 48149a80f..37a3c556c 100644 --- a/npc/other/Global_Functions.txt +++ b/npc/other/Global_Functions.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Lupus, kobra_k88 //===== Current Version: ===================================== -//= 2.13 +//= 2.15 //===== Compatible With: ===================================== //= eAthena 1.0 //===== Description: ========================================= @@ -36,7 +36,8 @@ //= 2.11 Updated function Job_Change to jobchange based on Upper value. [Paradox924X] //= 2.12 Added more unused vars to F_ClearGarbage [Lupus] //= 2.13 Added more unused vars to F_ClearGarbage [Lupus] -//= 2,14 Added old novice variables to F_ClearGarbage. [L0ne_W0lf] +//= 2.14 Added old novice variables to F_ClearGarbage. [L0ne_W0lf] +//= 2.15 Added no unused DTS variables to F_ClearGarbage. [L0ne_W0lf] //============================================================ @@ -111,6 +112,10 @@ function script F_ClearGarbage { set NEW_LVUP1,0; set NEW_JOBLVUP,0; + // Old DTS variables that are no longer used. + set dtseligible,0; + set MISC_QUEST,MISC_QUEST & ~128; + return; } -- cgit v1.2.3-70-g09d2