summaryrefslogtreecommitdiff
path: root/npc/kafras/dts_warper.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/kafras/dts_warper.txt')
-rw-r--r--npc/kafras/dts_warper.txt1333
1 files changed, 1333 insertions, 0 deletions
diff --git a/npc/kafras/dts_warper.txt b/npc/kafras/dts_warper.txt
new file mode 100644
index 000000000..4e373a3fc
--- /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: =========================================
+//= [Official 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;
+ }
+}
+*/