From 8832adba3ec9df0f7f890154f69f0993b8d1d8e5 Mon Sep 17 00:00:00 2001 From: daegaladh Date: Wed, 1 Aug 2012 04:29:56 +0000 Subject: Full npc folder reorganization. (I hope I didn't break anything D:) -Now common scripts goes to the main npc folder, and pre-re-only/re-only ones goes to their respective folders. -NPCs with practically the same script but little differences have been left in the main folder and uses the command checkre() for the differences. -For those NPCs with different coordinates but same script, the script has been left in the main folder but the NPCs splitted as duplicates. -All pre-renewal files has been reverted back to their pre-renewal behavior. TODO: -Correct pre-re quest rewards. -Check for pre-re/re differences in mapflags. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16545 54d463be-8e91-2dee-dedb-b68131a5f0ec --- npc/kafras/dts_warper.txt | 1333 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1333 insertions(+) create mode 100644 npc/kafras/dts_warper.txt (limited to 'npc/kafras/dts_warper.txt') diff --git a/npc/kafras/dts_warper.txt b/npc/kafras/dts_warper.txt new file mode 100644 index 000000000..ad5a82ab5 --- /dev/null +++ b/npc/kafras/dts_warper.txt @@ -0,0 +1,1333 @@ +//===== rAthena Script ======================================= +//= Dungeon Teleport Service +//===== By: ================================================== +//= Evera +//===== Current Version: ===================================== +//= 2.8 +//===== Compatible With: ===================================== +//= rAthena 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. +// +// 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: ================================= +//= 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] +//= 1.2 Mushed some variables together, optimized a bit [Evera] +//= 1.3 Removed selfconfig [Evera] +//= 1.4 Changed global variables to read from 3 global variables, updated names, +//= fixed array bug [Evera] +//= 1.5 Mushed voting varialbes into 1 variable. [Evera] +//= 1.6 Removed Duplicates [Silent] +//= 1.7 Fixed bug of DTS_Admin not running by itself [Evera] +//= 1.8 Changed requirement to lvl 60 [Evera] +//= 1.9 Removed global eligibility option [Evera] +//= 2.0 Fixed zeny bug [Evera] +//= 2.1 Fixed headers with and updated with newer information [Evera] +//= 2.2 Changed dtseligible 2 to MISC_QUEST|128, to clean up variable usage. [Evera] +//= Also added F_ClearGarbage function to the scripts. [Evera] +//= 2.3 Changed dtseligible to be $dtsday when MISC_QUEST|128 +//= Added $dtsday for vote session counter +//= Fixed bug that involved having both warpers enabled at the same time. [Evera] +//= New $dtsday system and bug fix[Evera] +//= 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] +//= 2.6 Moved Morroc NPCs to Morroc Ruins. [L0ne_W0lf] +//= 2.7 Fixed a typo, a - to a +. Not sure how that happened. [L0ne_w0lf] +//= 2.8 Corrected another typo this time in a variable. +//============================================================ + +einbroch,246,70,0 script Vote Timer#ein -1,{ +OnInit: + if ($dts) { + set $dts,0; + set $dtsvote,0; + set $dtsday,0; + } + initnpctimer; + end; + +OnEnable: + initnpctimer; + end; + +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"; + } + else if ($DTS_JondaWins == 1) { + if ($DTS_KafraWins < 2) { + donpcevent "Vote Timer2#ein::OnEnable"; + } + else { + donpcevent "Vote Timer3#ein::OnEnable"; + } + } + else { + if ($DTS_KafraWins < 2) { + donpcevent "Vote Timer2#ein::OnEnable"; + } + else { + donpcevent "Vote Timer3#ein::OnEnable"; + } + } + stopnpctimer; + } + else if ($DTS_Result == 2) { + if ($DTS_JondaWins == 0) { + donpcevent "Vote Timer2#ein::OnEnable"; + } + else if ($DTS_JondaWins == 1) { + if ($DTS_KafraWins < 2) { + donpcevent "Vote Timer2#ein::OnEnable"; + } + else { + donpcevent "Vote Timer4#ein::OnEnable"; + } + } + else { + if ($DTS_KafraWins < 2) { + donpcevent "Vote Timer2#ein::OnEnable"; + } + else { + donpcevent "Vote Timer4#ein::OnEnable"; + } + } + 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"; + } + } + } + } + else { + set $DTS_Result,3; + set $DTS_Time,0; + donpcevent "Vote Timer#ein::OnEnable"; + } + } + else { + set $DTS_Time,$DTS_Time+1; + donpcevent "Vote Timer#ein::OnEnable"; + } + } + end; +} + +einbroch,245,71,0 script Vote Timer2#ein -1,{ +OnEnable: + initnpctimer; + end; + +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; +} + +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"; + } + 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 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: + 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 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 for the next trial period. Thank you for your support~"; + break; + 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 "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; + 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; + } + } + } + else if ($DTS_Result == 1) { + mes "[Kafra Voting Staff]"; + 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."; + } + else { + mes "[Kafra Voting Staff]"; + 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."; + } + 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; +} + +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; +} +moc_ruins,97,133,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; +} + +- script Cool Event Staff::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 <= $DTS_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 <= $DTS_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 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; + } + } + 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~"; + } + 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 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; + } + close2; + cutin "zonda_01",255; + end; +} + +yuno,153,191,6 duplicate(VotingStaffCCE) Cool Event Staff#yuno 874 +prontera,147,125,6 duplicate(VotingStaffCCE) Cool Event Staff#prt 874 +moc_ruins,104,133,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"; + } + donpcevent "Scrutiny Association#5::OnEnable"; + end; +} + +einbroch,248,71,0 script Scrutiny Association#6 -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, Cool Event Corp. 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; +} + +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; +} + +/* +// 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; + } + } + } + else { + mes "[Christy's Maid]"; + mes "Lady Christy..."; + close; + } +} +*/ -- cgit v1.2.3-60-g2f50