diff options
author | euphyy <euphyy@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-07-13 03:35:32 +0000 |
---|---|---|
committer | euphyy <euphyy@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-07-13 03:35:32 +0000 |
commit | b07b02bc7899abd47d043731869b4bfa7626f8e4 (patch) | |
tree | f1551836c875e25ac4995e17e121953836b8ccf8 /npc/custom/events | |
parent | f05fd3073a27cfb8f8432f25917aad974ad9c1a6 (diff) | |
download | hercules-b07b02bc7899abd47d043731869b4bfa7626f8e4.tar.gz hercules-b07b02bc7899abd47d043731869b4bfa7626f8e4.tar.bz2 hercules-b07b02bc7899abd47d043731869b4bfa7626f8e4.tar.xz hercules-b07b02bc7899abd47d043731869b4bfa7626f8e4.zip |
* Added mine and tr0n's quest scripts to /custom/quests/
* Added GmOcean's Disguise Event, Mysterious' Mushroom Event, and Keale's Cluckers Event (all edited) to /custom/events/
* Moved Quest Warper into /etc/
* Deleted custom Fashionable Glasses quest, duplicate of official NPC "Zic" (custom/quests/fashion.txt)
* Deleted custom Hyegun event (custom/events/hyegun_event.txt)
* Deleted custom Dracula event (custom/events/draculax.txt)
* Deleted custom Wizard Hat quest (custom/quests/magicalhatquest.txt)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16421 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc/custom/events')
-rw-r--r-- | npc/custom/events/cluckers.txt | 114 | ||||
-rw-r--r-- | npc/custom/events/disguise.txt | 244 | ||||
-rw-r--r-- | npc/custom/events/draculax.txt | 129 | ||||
-rw-r--r-- | npc/custom/events/hyegun_event.txt | 77 | ||||
-rw-r--r-- | npc/custom/events/mushroom_event.txt | 62 |
5 files changed, 420 insertions, 206 deletions
diff --git a/npc/custom/events/cluckers.txt b/npc/custom/events/cluckers.txt new file mode 100644 index 000000000..9d0253164 --- /dev/null +++ b/npc/custom/events/cluckers.txt @@ -0,0 +1,114 @@ +//===== rAthena Script =======================================
+//= Cluck! Cluck! Boom!
+//===== By: ==================================================
+//= Keale
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= Click the chicken and try retrieve the item at a low
+//= chance. If you fail he will nuke, freeze, stone,
+//= stun, or make you fall asleep.
+//= The prize is configurable and triggered by the NPC.
+//===== Additional Comments: =================================
+//= 1.0 First release.
+//= 1.1 Using 'switch rand' instead.
+//= 1.2 Cleaned and standardized. [Euphy]
+//============================================================
+
+prontera,156,219,4 script Cluckers 800,{
+
+ set .@GMAccess,80; // GM level required to access NPC
+
+ if (.startcluck) {
+ specialeffect2 2;
+ switch(rand(15)) {
+ case 0: npctalk "CLUUUUUUCK!!!"; atcommand "@nuke "+strcharinfo(0); emotion 23; break;
+ case 1: npctalk "Cluuuuuck!~"; break;
+ case 2: atcommand "@nuke "+strcharinfo(0); break;
+ case 3: sc_start SC_Freeze,10000,0; break;
+ case 4: npctalk "CLUUUUUUUUUCK!!!"; atcommand "@nuke "+strcharinfo(0); emotion 23; break;
+ case 5: sc_start SC_Sleep,10000,0; break;
+ case 6: sc_start SC_Stone,10000,0; emotion 29; break;
+ case 7: npctalk "CLUUUUUUCK!!!"; atcommand "@nuke "+strcharinfo(0); emotion 23; break;
+ case 8: npctalk "Cluck! CLUUUCK!!"; atcommand "@nuke "+strcharinfo(0); emotion 23; break;
+ case 9: sc_start SC_Stun,10000,0; break;
+ case 10: sc_start SC_Sleep,10000,0; emotion 29; break;
+ case 11: npctalk "Cluck! Cluck!"; break;
+ case 12: sc_start SC_Stun,10000,0; break;
+ case 13: atcommand "@nuke "+strcharinfo(0); break;
+ default:
+ if (rand(50) < 4) {
+ npctalk "WOOF!...........";
+ specialeffect2 72;
+ announce "[Cluck! Cluck! Boom!] " + strcharinfo(0) + " squeezed out the prize! Well done!",0;
+ getitem $cluck_item_id,$cluck_item_amount;
+ set .startcluck,0;
+ } else {
+ npctalk "Cluck! CLUUUCK!!";
+ atcommand "@nuke "+strcharinfo(0);
+ }
+ break;
+ }
+ end;
+ }
+ mes "[Cluckers]";
+ if (getgmlevel() >= .@GMAccess) {
+ mes "Cluck cluck! Cluuuuuck? ^FF0000~Hi GM " + strcharinfo(0) + ", Wanna play today?~^000000";
+ mes "Cluck cluck... CLUCK! ^FF0000~Just tell me what to do!~^000000";
+ next;
+ while(1) switch(select("Start Event:Check Prize:Set Prize:Not today Cluckers")) {
+ case 1:
+ mes "[Cluckers]";
+ mes "CLUCK! ^FF0000~Sure thing!~^000000";
+ emotion 33;
+ close2;
+ announce "[Cluck! Cluck! Boom!] is about to start in Prontera!",bc_blue;
+ initnpctimer;
+ end;
+ case 2:
+ mes "[Cluckers]";
+ mes "Cluck, cluck cluck... Cluck! ^FF0000~The current prize is^000000 ^008000"+ $cluck_item_amount +" "+ getitemname($cluck_item_id) +".^000000";
+ next;
+ break;
+ case 3:
+ mes "[Cluckers]";
+ mes "Cluck cluck? Cluck??? ^FF0000~What should the prize for winning be? Please input the ID.~^000000";
+ input $cluck_item_id;
+ next;
+ mes "[Cluckers]";
+ mes "Cluck? cluuuck? ^FF0000~How many if this item should I give away?~^000000";
+ input $cluck_item_amount;
+ next;
+ mes "[Cluckers]";
+ mes "Cluck cluck..? Cluck. ^FF0000~So, the prize is^000000 ^008000"+ $cluck_item_amount +" "+ getitemname($cluck_item_id) +"^000000? ^FF0000Great.~^000000";
+ emotion 33;
+ next;
+ break;
+ case 4:
+ mes "[Cluckers]";
+ mes "Cluck cluck cluck...";
+ close;
+ }
+ }
+ mes "Cluck cluck! Cluuuuuck?";
+ mes "Cluck....";
+ close;
+
+OnTimer10000:
+ announce "Please hurry behind the fountain if you want to play with the crazy chicken!",bc_blue;
+ end;
+OnTimer20000:
+ announce "Cluckers has eaten one of my items! I'm too scared to retrieve it!",bc_blue;
+ end;
+OnTimer30000:
+ announce "Click the insane chicken and try squeeze out the item, if you're lucky you'll win! Are you ready?",bc_blue;
+ end;
+OnTimer40000:
+ announce "GO! Click the chicken to get the prize!",bc_blue;
+ if (!$cluck_item_id) set $cluck_item_id,512;
+ if (!$cluck_item_amount) set $cluck_item_amount,1;
+ set .startcluck,1;
+ end;
+}
\ No newline at end of file diff --git a/npc/custom/events/disguise.txt b/npc/custom/events/disguise.txt new file mode 100644 index 000000000..12db534df --- /dev/null +++ b/npc/custom/events/disguise.txt @@ -0,0 +1,244 @@ +//===== rAthena Script =======================================
+//= Disguise Event
+//===== By: ==================================================
+//= GmOcean
+//===== Current Version: =====================================
+//= 5.1
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Additional Comments: =================================
+//= 5.0 Last update by GmOcean.
+//= 5.1 Cleaned and standardized, mostly. [Euphy]
+//============================================================
+
+prontera,160,155,4 script Disguise Event 795,{
+
+ // Currently set to run every two hours.
+ // To change times, edit the OnClock labels below.
+
+ set .@GMLevel,60; // GM level required to access NPC.
+ set .@n$,"[^0000FFDisguise NPC^000000]";
+
+ if (getgmlevel()>=.@GMLevel) {
+ mes .@n$;
+ mes "Select an option.";
+ next;
+ switch(select("Turn ON/OFF Event:Event Settings")) {
+ case 1:
+ mes .@n$;
+ if ($@EventON) {
+ mes "The Event is currently: [^0000FFON^000000]";
+ mes "Would you like to turn it OFF?"; }
+ else {
+ mes "The Event is currently: [^FF0000OFF^000000]";
+ mes "Would you like to turn it ON?"; }
+ if(select("Yes:No")==2) close;
+ if ($@EventON) {
+ set $@EventON,0; set $@Timer,0;
+ setnpctimer 0; stopnpctimer;
+ announce "A GM has decided to turn the Disguise Event off. As a result no further prizes will be given.",bc_map | bc_blue;
+ deletepset 1;
+ setnpcdisplay "Disguise Event",795;
+ close; }
+ set $@EventON,1; set $@Timer,1; setnpctimer 0; initnpctimer;
+ set $@ResetCounter,$@ResetCounter+1;
+ announce "The Disguise Event will begin in 3 minutes.",bc_all | bc_blue;
+ announce "The Event is being held in Prontera.",bc_all | bc_blue;
+ close;
+ case 2:
+ mes .@n$;
+ mes "Pick a setting to modify.";
+ next;
+ switch(select("Monster Display:Number of Rounds:Prize Settings")) {
+ case 1:
+ setarray .@r$[0],"Disguise as all monsters.","Disguise as MVPs only.";
+ mes .@n$;
+ mes "Choose a disguise rule.";
+ next;
+ set $Rule, select(implode(.@r$,":"));
+ mes .@n$;
+ mes "The Disguise Rule has been set:";
+ mes " > ^0055FF"+.@r$[$Rule-1]+"^000000";
+ close;
+ case 2:
+ mes .@n$;
+ mes "Input the number of rounds you want the event to last.";
+ mes "Current number: [^0000FF"+$Rounds+"^000000]";
+ next;
+ input .@Rounds;
+ set $Rounds,.@Rounds;
+ mes .@n$;
+ mes "The number of rounds has been changed to "+$Rounds+".";
+ close;
+ case 3:
+ mes .@n$;
+ mes "Input the Item ID of the prize given each round.";
+ mes "Current item: [^0000FF"+getitemname($Prize)+"^000000] (ID #"+$Prize+")";
+ next;
+ input .@Prize;
+ mes .@n$;
+ if (getitemname(.@Prize)=="" || getitemname(.@Prize)=="null") {
+ mes "That item does not exist. Please try again.";
+ close; }
+ set $Prize,.@Prize;
+ mes "Input the amount to be given.";
+ next;
+ input .@amount;
+ mes .@n$;
+ if (.@amount<=0 || .@amount>=10000) {
+ mes "That amount is invalid. Using default ammount of 1.";
+ set .@amount,1;
+ next;
+ mes .@n$; }
+ set $PrizeAmt,.@amount;
+ mes "The Prize has been changed successfully.";
+ mes "Prize: "+$PrizeAmt+"x [^0000FF"+getitemname($Prize)+"^000000]";
+ close;
+ }
+ }
+ }
+ if ($@EventON) end;
+ mes .@n$;
+ mes "Welcome.";
+ mes "How may I be of assistance?";
+ if(select("Information:Nothing, just passing through.")==2) close;
+ next;
+ mes .@n$;
+ mes "This event is quite simple.";
+ mes "At the start of the event, I will";
+ mes "disguise myself as a random";
+ mes "monster. You have to shout";
+ mes "that monter's name out loud.";
+ next;
+ mes "If you are correct, you will receive";
+ mes "a prize. If not, keep trying!";
+ mes "That's all that there is to this event.";
+ close;
+
+OnInit:
+ defpattern 1,"([^:]+):.\\s*OMFGBBQLEETSAUCEGMOCEANRULESHAI!!.*", "iCorrect";
+ activatepset 1;
+ set $@EventON,0;
+ set $@Wait,0;
+ set $@Winner,0;
+ set $@ResetCounter,0;
+ set $Points,$Points;
+ if (!$Rounds) set $Rounds,10;
+ else set $Rounds,$Rounds;
+ if (!$Prize) set $Prize,512;
+ else set $Prize,$Prize;
+ if (!$PrizeAmt) set $PrizeAmt,1;
+ else set $PrizeAmt,$PrizeAmt;
+ if ($Rule) set $Rule,1;
+ else set $Rule,$Rule;
+ setarray $@MVP[0],1038,1039,1046,1059,1086,1087,1112,1115,1147,1150,1157,1159,1190,1251,1252,1272,1312,1373,
+ 1389,1399,1418,1492,1502,1511,1583,1623,1630,1646,1647,1648,1649,1650,1651,1658,1685,1688,
+ 1708,1719,1734,1751,1768,1779,1785,1802,1832,1871,1874,1885,1917,1980,2022,2068,2087,2131,
+ 2156,2165;
+ setarray $@BlackList[0], 1003,1006,1017,1021,1022,1027,1043,1075,1136,1137,1168,1171,1172,1173,1181,1210,1217,1218,
+ 1222,1223,1224,1225,1226,1227,1228,1233,1284,1407,1411,1414,1495,1501,1900,1996,2000,2001,
+ 2002,2003,2004,2005,2006,2007,2011,2012,2025,2028,2029,2030,2031,2032,2033,2034,2035,2036,
+ 2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049,2050,2051,2052,2053,2054,
+ 2055,2056,2057,2058,2059,2060,2061,2062,2063,2064,2065,2066,2067,2075,2076,2077,2078,2079,
+ 2080,2081,2083,2084,2085,2086,2087,2088,2089,2090,2091,2092,2093,2094,2095,2096,2097,2098,
+ 2099,2100,2101,2012,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115,2116,
+ 2117,2118;
+ setarray $@BlackList2[0],2119,2120,2121,2123,2124,2125,1496;
+ end;
+OnClock0000:
+OnClock0200:
+OnClock0400:
+OnClock0600:
+OnClock0800:
+OnClock1000:
+OnClock1200:
+OnClock1400:
+OnClock1600:
+OnClock1800:
+OnClock2000:
+OnClock2200:
+ set $@ResetCounter,$@ResetCounter+1;
+ set $@EventON,1;
+ set $@Timer,1;
+ set $@Wait,1;
+ announce "The Disguise Event will begin in 3 minutes.",bc_all | bc_blue;
+ announce "The Event is being held in Prontera.",bc_all | bc_blue;
+ setnpctimer 0;
+ initnpctimer;
+ end;
+OnTimer10000:
+ if ($@Timer || $@Change) end;
+ set $@Wait,0;
+ goto iDisguise;
+ end;
+OnTimer30000:
+ if ($@Timer) end;
+ set $@Change,0;
+ setnpcdisplay "Disguise Event",795;
+ npctalk "You took too long to guess what I was. Please wait 10 seconds while I disguise again.";
+ specialeffect 725;
+ set $MonsterName$,"";
+ deletepset 1;
+ stopnpctimer;
+ setnpctimer 0;
+ initnpctimer;
+ end;
+OnTimer60000:
+ if ($@Timer!=1) end;
+ announce "The Disguise Event will begin in 2 minutes.",bc_all | bc_blue;
+ announce "The Event is being held in Prontera.",bc_all | bc_blue;
+ end;
+OnTimer120000:
+ if ($@Timer!=1) end;
+ announce "The Disguise Event will begin 1 minute.",bc_all | bc_blue;
+ announce "The Event is being held in Prontera.",bc_all | bc_blue;
+ end;
+OnTimer180000:
+ if ($@Timer!=1) end;
+ announce "The Disguise Event has begun!",bc_all | bc_blue;
+ announce "The Event is being held in Prontera.",bc_all | bc_blue;
+ set $@Timer,0; stopnpctimer;
+ setnpctimer 0; initnpctimer;
+ goto iDisguise;
+ end;
+iDisguise:
+ if ($Rule==1) {
+ set $@Winner,0;
+ set $@Monster,1000+rand(1,995);
+ for(set .@BL,0; .@BL<getarraysize($@BlackList); set .@BL,.@BL+1)
+ if ($@Monster==$@BlackList[.@BL] || $@Monster==$@BlackList2[.@BL]) goto iDisguise;
+ if ($@Monster==$@LastMonster) goto iDisguise;
+ set $@LastMonster,$@Monster;
+ set $MonsterName$,getmonsterinfo($@Monster,0); }
+ if ($Rule==2) {
+ set $@Winner,0;
+ set $@Monster,rand(49);
+ set $MonsterName$,getmonsterinfo($@MVP[$@Monster],0); }
+ deletepset 1;
+ defpattern 1,"([^:]+):.\\s*"+$MonsterName$+".*", "iCorrect";
+ activatepset 1;
+ if ($Rule==1) setnpcdisplay "Disguise Event",$@Monster;
+ if ($Rule==2) setnpcdisplay "Disguise Event",$@MVP[$@Monster];
+ set $@Change,1;
+ setnpctimer 0;
+ end;
+iCorrect:
+ if ($@Winner) {
+ dispbottom "Someone has already won this round."; end; }
+ set $@Winner,1;
+ set $@RoundCount,$@RoundCount+1;
+ deletepset 1;
+ activatepset 1;
+ getitem $Prize,$PrizeAmt;
+ announce strcharinfo(0)+" is correct! I was disguised as: "+$MonsterName$+"",bc_map | bc_blue;
+ if ($@RoundCount>=$Rounds) {
+ setnpcdisplay "Disguise Event",795;
+ set $@RoundCount,0; set $@Change,0; set $@EventON,0;
+ setnpctimer 0; stopnpctimer;
+ npctalk "Thank you all for playing. That was the last round of the Disguise Event. Come play again later.";
+ end; }
+ setnpcdisplay "Disguise Event",795;
+ set $@Change,0;
+ setnpctimer 0;
+ end;
+}
\ No newline at end of file diff --git a/npc/custom/events/draculax.txt b/npc/custom/events/draculax.txt deleted file mode 100644 index 13eb8fc8f..000000000 --- a/npc/custom/events/draculax.txt +++ /dev/null @@ -1,129 +0,0 @@ -//===== rAthena Script ======================================= -//= Dracula X -//===== By: ================================================== -//= valaris (1.0) -//===== Current Version: ===================================== -//= 1.0a -//===== Compatible With: ===================================== -//= rAthena SVN -//===== Description: ========================================= -//= Custom Dracula X Event -//============================================================ - -mag_dun02,72,182,1 script Dracula's Coffin::Dracula_Init -1,{ - -OnInit: - set $dracula_event,0; - end; - -OnKilled: - MapAnnounce "mag_dun02","Dracula's curse has been lifted!",17; - set $dracula_event,0; - initnpctimer; - end; - -OnTimer7200000: - if($dracula_event==0) - stopnpctimer; - enablenpc "Dracula_Event"; - end; -} - -mag_dun02,72,182,1 script Dracula's Coffin::Dracula_Event 801,{ - - if($dracula_event==1) - close; - - set $dracula_event,1; - MapAnnounce "mag_dun02","Count Dracula : Who has awakened me from my slumber?",17; - npcskilleffect 21,10,66,175; - initnpctimer; - end; - -OnTimer500: - npcskilleffect 21,10,74,187; - end; - -OnTimer1000: - npcskilleffect 21,10,80,180; - end; - -OnTimer1500: - npcskilleffect 21,10,79,183; - end; - -OnTimer2000: - npcskilleffect 21,10,66,175; - end; - -OnTimer2500: - npcskilleffect 21,10,63,186; - end; - -OnTimer3000: - npcskilleffect 21,10,75,186; - end; - -OnTimer3500: - npcskilleffect 21,10,75,173; - end; - -OnTimer4000: - npcskilleffect 21,10,80,170; - end; - -OnTimer4500: - npcskilleffect 21,10,60,179; - end; - -OnTimer5000: - npcskilleffect 21,10,74,187; - end; - -OnTimer6000: - npcskilleffect 21,10,69,182; - end; - -OnTimer6500: - npcskilleffect 21,10,80,180; - end; - -OnTimer7000: - npcskilleffect 21,10,60,179; - end; - -OnTimer7500: - npcskilleffect 21,10,66,175; - end; - -OnTimer8000: - npcskilleffect 21,10,80,187; - end; - -OnTimer8500: - npcskilleffect 21,10,75,186; - end; - -OnTimer9000: - npcskilleffect 21,10,75,173; - end; - -OnTimer9500: - npcskilleffect 21,10,80,170; - end; - -OnTimer10000: - npcskilleffect 21,10,63,186; - end; - -OnTimer10500: - npcskilleffect 21,10,74,187; - end; - -OnTimer11000: - npcskilleffect 21,10,72,182; - monster "mag_dun02",72,182,"Count Dracula",1389,1,"Dracula_Init::OnKilled"; - stopnpctimer; - disablenpc "Dracula_Event"; - end; -} diff --git a/npc/custom/events/hyegun_event.txt b/npc/custom/events/hyegun_event.txt deleted file mode 100644 index 084df8eca..000000000 --- a/npc/custom/events/hyegun_event.txt +++ /dev/null @@ -1,77 +0,0 @@ -//===== rAthena Script ======================================= -//= HyeGun Event -//===== By: ================================================== -//= Synesthesia -//===== Current Version: ===================================== -//= 1.0 -//===== Compatible With: ===================================== -//= rAthena SVN -//===== Description: ========================================= -//= Event similar to iRO's Christmas event when searching for Antonios. -//===== Additional Comments: ================================= -//= Drink Jakada! -//============================================================ - -//HyeGun Mob spawning -anthell01,0,0,0,0 monster Hyegun 1512,3,180000,30000,0 -mag_dun01,0,0,0,0 monster Hyegun 1512,3,180000,30000,0 -alde_dun01,0,0,0,0 monster Hyegun 1512,3,180000,30000,0 -in_sphinx1,0,0,0,0 monster Hyegun 1512,3,180000,30000,0 - -//Munak Quest -pay_dun01,53,269,6 script Munak 1026,{ - if(event_hyegun==3) goto Lfinished; - mes "[^FF0000Munak^000000]"; - mes "Hello, kinda strange talking to a Munak huh?"; - mes "I'm a friendly Munak that wants to tell you something."; - menu "Listen to her story",Lok,"Leave",Lno; - -Lok: - mes "[^FF0000Munak^000000]"; - mes "Well see our father ^666600HyeGun^000000 has been terrible to us Munaks."; - mes "We would like you to get revenge for what he has done to us."; - next; - mes "When you find him, kill him."; - mes "He will drop an item that you will have to bring to me to prove his death."; - mes "Bring me ^FF00003 ^008800Yggdrasil Dew^000000 and I'll give you a reward."; - mes "Remember, you may only do this quest ^FF00003 times."; - menu "Info about HyeGun",Lhyeinfo,"Give her the items",Litem,"Leave",Lno; - -Lhyeinfo: - mes "[^FF0000Munak^000000]"; - mes "- HyeGun looks like us but he's a tanish color type with long hair."; - mes "- He's been last seen in the first level of the 4 most popular dungeons."; - mes "He doesn't hang out here because there's so many of us."; - mes "Anything else?"; - menu "Info about HyeGun",Lhyeinfo,"Give her the items",Litem,"Leave",Lno; - -Litem: - mes "[^FF0000Munak^000000]"; - mes "Ahh so you've completed the task so soon?"; - mes "Good job"; - mes "Let's see if you've got the right stuff."; - next; - if (countitem(7141) < 3)goto Lnoitem; - mes "Good job, here's your reward."; - next; - delitem 7141,3; - getitem 617,1; - set event_hyegun,event_hyegun+1; - close; - -Lfinished: - mes "[^FF0000Munak^000000]"; - mes "I'm sorry, you've already completed my task 3 times."; - close; - -Lno: - mes "[^FF0000Munak^000000]"; - mes "Okay then, when you feel brave enough, come on back."; - close; - -Lnoitem: - mes "[^FF0000Munak^000000]"; - mes "Hey, you don't have the Yggdrasil Dew."; - mes "Come back when you've gotten 3 of them."; - close; -} diff --git a/npc/custom/events/mushroom_event.txt b/npc/custom/events/mushroom_event.txt new file mode 100644 index 000000000..bbb8e91ab --- /dev/null +++ b/npc/custom/events/mushroom_event.txt @@ -0,0 +1,62 @@ +//===== rAthena Script =======================================
+//= Find the Mushroom
+//===== By: ==================================================
+//= Mysterious
+//===== Current Version: =====================================
+//= 3.6a
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= Find the Mushroom - random amount of Mushrooms spawns in random maps.
+//= Players need to find these mushrooms and kill them to gain prizes!
+//===== Additional Comments: =================================
+//= 3.0 Fully Functional with Rewritten script. [Mysterious]
+//= 3.6a Slightly edited. [Euphy]
+//============================================================
+
+prontera,142,228,6 script Find the Mushroom 1084,{
+ mes "[ Find The Mushroom ]";
+ if (!.Status)
+ mes "There is no event at the moment!";
+ else {
+ mes "There are "+.Spawn+" Mushrooms left in "+.Map$+"!";
+ mes "Find and kill the mushrooms to gain "+getitemname(.Prize)+"!";
+ }
+ if (.Status || getgmlevel() < .GM) close;
+ mes "Start the event?";
+ next;
+ if(select("- No:- Yes") == 1) close;
+ donpcevent strnpcinfo(0)+"::OnMinute10";
+ mes "[ Find The Mushroom ]";
+ mes "Event started!";
+ close;
+
+OnInit:
+ set .Prize,512; // Reward item ID
+ set .Amount,10; // Reward item amount
+ set .GM,60; // GM level required to access NPC
+ setarray .Maps$[0],"izlude","geffen","morocc","prontera"; // Possible maps
+ end;
+
+OnMinute10: // Start time (every hour)
+ if (.Status) end;
+ set .Status,1;
+ set .Spawn,rand(1,10); // How many Mushrooms should spawn?
+ set .Map$,.Maps$[rand(getarraysize(.Maps$))];
+ killmonster .Map$,"All";
+ monster .Map$,0,0,"Please don't kill me!",1084,.Spawn,strnpcinfo(0)+"::OnMobKilled";
+ announce "Find the Mushroom : Total of "+.Spawn+" Mushrooms have been spawned in "+.Map$+"!",0;
+ sleep 2500;
+ announce "Find the Mushroom : Every Mushroom you kill will give you "+getitemname(.Prize)+"!",0;
+ end;
+
+OnMobKilled:
+ set .Spawn, .Spawn - 1;
+ getitem .Prize, .Amount;
+ if (.Spawn) announce "[ "+strcharinfo(0)+" ] has killed a Mushroom. There are now "+.Spawn+" Mushroom(s) left.",bc_map;
+ else {
+ announce "The Find the Mushroom Event has ended. All the Mushrooms have been killed.",0;
+ set .Status,0;
+ }
+ end;
+}
\ No newline at end of file |