summaryrefslogtreecommitdiff
path: root/npc/015-8-1/campaign.txt
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2019-06-06 17:36:09 -0300
committerJesusaves <cpntb1@ymail.com>2019-06-06 17:36:09 -0300
commit69a12bcf1d5e4bf45bafbef173397e2d84debc8d (patch)
tree47f920f82b89e890917b024af1b1e52fe152cb5c /npc/015-8-1/campaign.txt
parenta3dbadcf2135c9bead3ada6aa2b9c3d5487658ea (diff)
downloadserverdata-69a12bcf1d5e4bf45bafbef173397e2d84debc8d.tar.gz
serverdata-69a12bcf1d5e4bf45bafbef173397e2d84debc8d.tar.bz2
serverdata-69a12bcf1d5e4bf45bafbef173397e2d84debc8d.tar.xz
serverdata-69a12bcf1d5e4bf45bafbef173397e2d84debc8d.zip
Give Sagratha an extra spawn node, rebalance
Diffstat (limited to 'npc/015-8-1/campaign.txt')
-rw-r--r--npc/015-8-1/campaign.txt38
1 files changed, 28 insertions, 10 deletions
diff --git a/npc/015-8-1/campaign.txt b/npc/015-8-1/campaign.txt
index ae1ca0eaa..af4f01c22 100644
--- a/npc/015-8-1/campaign.txt
+++ b/npc/015-8-1/campaign.txt
@@ -8,14 +8,15 @@
// Not in instance, we don't care.
if (instance_id() < 0)
end;
-
+ if (!.SAGRATHA)
+ dispbottom l("I cannot read the signs from this far away.");
end;
// There is no instance init
OnBegin:
.@m$=getmap();
.@n$=instance_npcname(.name$);
- 'MAPID=getmap();
+ .MAPID=getmap();
// 255 = PCBLOCK_ATTACK|PCBLOCK_SKILL|PCBLOCK_USEITEM|PCBLOCK_COMMANDS|PCBLOCK_SITSTAND|PCBLOCK_IMMUNE|PCBLOCK_CHAT|PCBLOCK_MOVE
setpcblock(255, true);
@@ -27,13 +28,16 @@ OnBegin:
unitstop(.SAGRATHA);
unitstop(.BOSS);
+ sc_start(SC_STUN, 4500, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .SAGRATHA);
+ sc_start(SC_STUN, 4500, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .BOSS);
+ // FIXME: Seems like this is an "unsafe command" in 4144's opinion
// Prevent players from engaging Sagratha and allies
- clientcommand "/addignoreattack Sagratha";
- clientcommand "/addignoreattack "+l(strmobinfo(1, Mouboo));
- clientcommand "/addignoreattack "+l(strmobinfo(1, ForestMushroom));
- clientcommand "/addignoreattack "+strmobinfo(1, Mouboo);
- clientcommand "/addignoreattack "+strmobinfo(1, ForestMushroom);
+ clientcommand "addignoreattack Sagratha";
+ clientcommand "addignoreattack "+l(strmobinfo(1, Mouboo));
+ clientcommand "addignoreattack "+l(strmobinfo(1, ForestMushroom));
+ clientcommand "addignoreattack "+strmobinfo(1, Mouboo);
+ clientcommand "addignoreattack "+strmobinfo(1, ForestMushroom);
unittalk(.SAGRATHA, l("What are you doing here, @@!", get_race()));
@@ -104,6 +108,7 @@ OnW01:
.@n$=instance_npcname(.name$);
unittalk(.BOSS, l("Kill 'em all!"));
+ unittalk(.SAGRATHA, l("It's an ambush!"));
monster .@m$, 39, 39, strmobinfo(1, HoodedNinja), HoodedNinja, 1, .@n$+"::OnError";
monster .@m$, 60, 39, strmobinfo(1, HoodedNinja), HoodedNinja, 1, .@n$+"::OnError";
@@ -135,13 +140,25 @@ OnW03:
monster .@m$, 49, 34, strmobinfo(1, Mouboo), Mouboo, 1, .@n$+"::OnError", Size_Medium, 2;
monster .@m$, 47, 36, strmobinfo(1, Assassin), Assassin, 1, .@n$+"::OnError";
monster .@m$, 52, 36, strmobinfo(1, Assassin), Assassin, 1, .@n$+"::OnError";
+ addtimer(20000, .@n$+"::OnW04");
+ end;
+
+OnW04:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ unittalk(.SAGRATHA, l("It's far from over! You cannot defeat me!"));
+
+ monster .@m$, 46, 59, strmobinfo(1, Wolvern), Wolvern, 1, .@n$+"::OnError", Size_Medium, 2;
+ monster .@m$, 44, 61, strmobinfo(1, ForestMushroom), ForestMushroom, 1, .@n$+"::OnError", Size_Medium, 2;
+ monster .@m$, 49, 61, strmobinfo(1, PoisonSpikyMushroom), PoisonSpikyMushroom, 1, .@n$+"::OnError", Size_Medium, 2;
end;
// Assassin, HoodedNinja, HoodedAssassin (boss)
// Mouboo, ForestMushroom, Fluffy, Sagratha (boss)
OnSagrathaDie:
.@n$=instance_npcname(.name$);
- maptimer('MAPID, 70, .@n$+"::OnSagrathaReallyDie");
+ maptimer(.MAPID, 70, .@n$+"::OnSagrathaReallyDie");
end;
OnSagrathaReallyDie:
@@ -151,8 +168,9 @@ OnSagrathaReallyDie:
deltimer(.@n$+"::OnW01");
deltimer(.@n$+"::OnW02");
deltimer(.@n$+"::OnW03");
+ killmonster(.@m$, .@n$+"::OnError");
+ mapannounce(.@m$, "##2"+l("You lose!"), 0);
- npctalk "Defeat!";
dispbottom l("You failed to protect Sagratha..."); // and will need to start the quest again...");
setq1 HurnscaldQuest_Sagratha, 3;
setq3 HurnscaldQuest_Sagratha, 0;
@@ -161,7 +179,7 @@ OnSagrathaReallyDie:
OnSagrathaWin:
.@n$=instance_npcname(.name$);
- maptimer('MAPID, 70, .@n$+"::OnSagrathaReallyWin");
+ maptimer(.MAPID, 70, .@n$+"::OnSagrathaReallyWin");
end;
OnSagrathaReallyWin: