summaryrefslogtreecommitdiff
path: root/npc/012-1/guards.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/012-1/guards.txt')
-rw-r--r--npc/012-1/guards.txt202
1 files changed, 201 insertions, 1 deletions
diff --git a/npc/012-1/guards.txt b/npc/012-1/guards.txt
index 4238af41c..be93bc603 100644
--- a/npc/012-1/guards.txt
+++ b/npc/012-1/guards.txt
@@ -186,7 +186,7 @@ OnInit:
// Liberation Day Script
-003-1,122,25,0 script Hurnsguard NPC_PLAYER,{
+012-1,122,25,0 script Hurnsguard NPC_PLAYER,{
query_sql("SELECT online FROM `char` WHERE name='Saulc GM'", .@online);
if (!.@online) {
mesn;
@@ -588,3 +588,203 @@ OnInit:
end;
}
+
+
+012-1,0,0,0 script #HurnscaldSiege NPC_HIDDEN,{
+ end;
+OnBlackScorpionDeath:
+ areamonster("014-3", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, strmobinfo(1, BlackScorpion), BlackScorpion, 1, "#HurnscaldSiege::OnBlackScorpionDeath");
+ getmapxy(.@m$,.@x,.@y,3);
+ if (rand(10000) <= 90+($@SIEGE_HURNS*100))
+ makeitem StrangeCoin, 1, .@m$, .@x, .@y;
+ end;
+
+OnBlackScorpion2Death:
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, strmobinfo(1, BlackScorpion), BlackScorpion, 1, "#HurnscaldSiege::OnBlackScorpion2Death");
+ getmapxy(.@m$,.@x,.@y,3);
+ if (rand(10000) <= 850+($@SIEGE_HURNS*100))
+ makeitem StrangeCoin, 1, .@m$, .@x, .@y;
+ end;
+
+OnGreenSlimeDeath:
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, strmobinfo(1, GreenSlime), GreenSlime, 1, "#HurnscaldSiege::OnGreenSlimeDeath");
+ getmapxy(.@m$,.@x,.@y,3);
+ if (rand(10000) <= 200+($@SIEGE_HURNS*100))
+ makeitem StrangeCoin, 1, .@m$, .@x, .@y;
+ end;
+
+OnCandiedSlimeDeath:
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, strmobinfo(1, CandiedSlime), CandiedSlime, 1, "#HurnscaldSiege::OnCandiedSlimeDeath");
+ getmapxy(.@m$,.@x,.@y,3);
+ if (rand(10000) <= 150+($@SIEGE_HURNS*100))
+ makeitem StrangeCoin, 1, .@m$, .@x, .@y;
+ end;
+
+OnManaGhostDeath:
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, strmobinfo(1, ManaGhost), ManaGhost, 1, "#HurnscaldSiege::OnManaGhostDeath");
+ getmapxy(.@m$,.@x,.@y,3);
+ if (rand(10000) <= 900+($@SIEGE_HURNS*100))
+ makeitem StrangeCoin, 1, .@m$, .@x, .@y;
+ end;
+
+OnLieutenantDeath:
+ getitem StrangeCoin, 1;
+ Karma=Karma+1;
+ mapannounce("012-1", l("##2The Monster Lieutenant was defeated by @@!", strcharinfo(0)), bc_map);
+ end;
+
+OnColonelDeath:
+ getitem StrangeCoin, 1;
+ Karma=Karma+1;
+ $MOST_HEROIC$=strcharinfo(0);
+ mapannounce("012-1", l("##2The Monster Colonel was defeated by @@!", strcharinfo(0)), bc_map);
+ end;
+
+OnMKSiege:
+ addmapmask "012-1", MASK_MATTACK;
+ addmapmask "012-3", MASK_MATTACK;
+ changemusic "012-1", any("mythica.ogg", "eric_matyas_ghouls.ogg", "misuse.ogg", "Arabesque.ogg");
+ disablenpc("Mana Stone");
+ $@SIEGE_HURNS=($@MK_AGGRO/30); // Each 30 aggro raises difficulty in 1
+ pvpon("012-1");
+ pvpon("012-3");
+ announce(("##1WARNING! WARNING! Siege starting at Hurnscald!!"), bc_all);
+ areamonster("012-3", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, strmobinfo(1, BlackScorpion), BlackScorpion, 10, "#HurnscaldSiege::OnBlackScorpionDeath");
+ initnpctimer;
+ end;
+
+// Timers
+OnTimer5000:
+ areamonster("014-3", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, "Black Scorpion", BlackScorpion, 5+$@SIEGE_HURNS, "#HurnscaldSiege::OnBlackScorpionDeath");
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, "Black Scorpion", BlackScorpion, 5+$@SIEGE_HURNS, "#HurnscaldSiege::OnBlackScorpion2Death");
+ mapannounce("012-1", "##2Message to all Hurnscald NPCs: Take shelter!", bc_map);
+ disablenpc "Gwendolyn";
+ disablenpc "Milly";
+ disablenpc "LOFBot";
+ disablenpc "Locamit";
+ disablenpc "Andrei Sakar";
+ disablenpc "Luffyx";
+ disablenpc "Tezzerin";
+ disablenpc "Hinnak";
+ disablenpc "Igor";
+ disablenpc "Dyrin The Traveler";
+ disablenpc "Mahad";
+ disablenpc "Jack";
+ end;
+
+OnTimer15000:
+ areamonster("014-3", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, "Black Scorpion", BlackScorpion, 5+$@SIEGE_HURNS, "#HurnscaldSiege::OnBlackScorpionDeath");
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, "Black Scorpion", BlackScorpion, 5+$@SIEGE_HURNS, "#HurnscaldSiege::OnBlackScorpion2Death");
+ disablenpc "Shoppa Kep";
+ disablenpc "Richard";
+
+ disablenpc "Celestia";
+ disablenpc "Airlia";
+ disablenpc "Nicholas";
+ disablenpc "Wyara";
+ disablenpc "Alan";
+ disablenpc "Khafar";
+ disablenpc "Melina";
+ disablenpc "Helena";
+ disablenpc "Rakinorf, Mayor";
+ end;
+
+OnTimer60000:
+ if ($@SIEGE_HURNS == 1) {
+ mapannounce("012-1", "##1The Monster Lieutenant arrived!", bc_map);
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, ("Monster Lieutenant"), 1077, 1, "#HurnscaldSiege::OnLieutenantDeath");
+ }
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, ("Black Scorpion"), BlackScorpion, 3, "#HurnscaldSiege::OnBlackScorpion2Death");
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, strmobinfo(1, GreenSlime), 1085, 10+$@SIEGE_HURNS, "#HurnscaldSiege::OnGreenSlimeDeath");
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, strmobinfo(1, CandiedSlime), 1089, 1+$@SIEGE_HURNS, "#HurnscaldSiege::OnCandiedSlimeDeath");
+ end;
+
+OnTimer120000:
+ if ($@SIEGE_HURNS == 5) {
+ mapannounce("012-1", "##1The Monster Colonel arrived!", bc_map);
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, ("Monster Colonel"), 1036, 1, "#HurnscaldSiege::OnColonelDeath");
+ }
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, strmobinfo(1, SlimeBlast), 1090, 15);
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, ("Black Scorpion"), BlackScorpion, 1, "#HurnscaldSiege::OnBlackScorpion2Death");
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, strmobinfo(1, GreenSlime), 1085, 10, "#HurnscaldSiege::OnGreenSlimeDeath");
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, strmobinfo(1, ManaGhost), 1068, 2, "#HurnscaldSiege::OnManaGhostDeath");
+ end;
+
+OnTimer180000:
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, strmobinfo(1, SlimeBlast), 1090, 25);
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, ("Black Scorpion"), BlackScorpion, 1, "#HurnscaldSiege::OnBlackScorpion2Death");
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, strmobinfo(1, CandiedSlime), 1089, 10, "#HurnscaldSiege::OnCandiedSlimeDeath");
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, strmobinfo(1, ManaGhost), 1068, 2, "#HurnscaldSiege::OnManaGhostDeath");
+ end;
+
+OnTimer240000:
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, strmobinfo(1, SlimeBlast), 1090, 25);
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, ("Black Scorpion"), BlackScorpion, 1, "#HurnscaldSiege::OnBlackScorpion2Death");
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, strmobinfo(1, ManaGhost), 1068, 2, "#HurnscaldSiege::OnManaGhostDeath");
+ end;
+
+OnTimer300000:
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, strmobinfo(1, SlimeBlast), 1090, 5);
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, strmobinfo(1, CandiedSlime), 1089, 1, "#HurnscaldSiege::OnCandiedSlimeDeath");
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, strmobinfo(1, ManaGhost), 1068, 1, "#HurnscaldSiege::OnManaGhostDeath");
+ end;
+
+OnTimer360000:
+OnTimer420000:
+OnTimer480000:
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, strmobinfo(1, SlimeBlast), 1090, 5+$@SIEGE_HURNS);
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, ("Red Slime"), 1092, 1+$@SIEGE_HURNS);
+ end;
+
+OnTimer540000:
+ mapannounce("012-1", "##1The Monster Army is getting tired of resistance!", bc_map);
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, strmobinfo(1, SlimeBlast), 1090, 5+$@SIEGE_HURNS);
+ areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_X)-20, strmobinfo(1, ManaGhost), 1068, 1, "#HurnscaldSiege::OnManaGhostDeath");
+ end;
+
+OnTimer600000:
+ $@MK_SCENE=MK_NONE;
+ $@MK_AGGRO=$@MK_AGGRO/20;
+ mapannounce("012-1", "##1The Monster King army is preparing to withdraw!", bc_map);
+ end;
+OnTimer630000:
+ removemapmask "012-1", MASK_MATTACK;
+ removemapmask "014-3", MASK_MATTACK;
+ changemusic "012-1", "caketown.ogg"; // Restore to default
+ enablenpc("Mana Stone");
+ $@SIEGE_HURNS=0;
+ killmonsterall("012-1", 0);
+ killmonsterall("014-3", 0);
+ pvpoff("012-1");
+ pvpoff("014-3");
+ announce(("Hurnscald siege is over!"), bc_all);
+ enablenpc "Gwendolyn";
+ enablenpc "Milly";
+ enablenpc "LOFBot";
+ enablenpc "Locamit";
+ enablenpc "Andrei Sakar";
+ enablenpc "Luffyx";
+ enablenpc "Tezzerin";
+ enablenpc "Hinnak";
+ enablenpc "Igor";
+ enablenpc "Dyrin The Traveler";
+ enablenpc "Mahad";
+ enablenpc "Jack";
+ enablenpc "Shoppa Kep";
+ enablenpc "Richard";
+ enablenpc "Celestia";
+ enablenpc "Airlia";
+ enablenpc "Nicholas";
+ enablenpc "Wyara";
+ enablenpc "Alan";
+ enablenpc "Khafar";
+ enablenpc "Melina";
+ enablenpc "Helena";
+ enablenpc "Rakinorf, Mayor";
+ stopnpctimer;
+ end;
+
+OnInit:
+ end;
+}
+