diff options
Diffstat (limited to 'npc')
-rw-r--r-- | npc/023-3-1/logic.txt | 74 |
1 files changed, 72 insertions, 2 deletions
diff --git a/npc/023-3-1/logic.txt b/npc/023-3-1/logic.txt index 5b2858217..c1e4751a3 100644 --- a/npc/023-3-1/logic.txt +++ b/npc/023-3-1/logic.txt @@ -148,12 +148,79 @@ OnE06: setpcblock(255, false); unittalk(@ISBAMUTH, l("LET'S DANCE!")); + mapannounce(.@m$, "##2"+l("Victory Conditions: Survive!"), 0); + mapannounce(.@m$, "##1"+l("Defeat Conditions: Your death!"), 0); addtimer(15000, .@n$+"::OnW01"); addtimer(60000, .@n$+"::OnW02"); addtimer(180000, .@n$+"::OnE07"); end; +OnE07: + .@m$=getmap(); + .@n$=instance_npcname(.name$); + + @SCOUT=monster(.@m$, 43, 29, l("Assassin"), HoodedNinja, 1, .@n$+"::OnMobDie"); + sc_start(SC_STUN, 7500, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, @SCOUT); + + unitemote(@SCOUT, E_KITTY); + unitstop(@ISBAMUTH); + + deltimer(.@n$+"::OnW01"); + deltimer(.@n$+"::OnW02"); + addtimer(1500, .@n$+"::OnE08"); + end; + +OnE08: + .@m$=getmap(); + .@n$=instance_npcname(.name$); + + unittalk(@ISBAMUTH, l("What's it, scout.")); + unitwalk(@ISBAMUTH, 45, 34); + + addtimer(1500, .@n$+"::OnE09"); + end; + +OnE09: + .@m$=getmap(); + .@n$=instance_npcname(.name$); + + unitemote(@SCOUT, E_THUMBUP); + unittalk(@ISBAMUTH, l("So, it is ready?")); + + addtimer(1500, .@n$+"::OnE10"); + end; + +OnE10: + .@m$=getmap(); + .@n$=instance_npcname(.name$); + + unittalk(@ISBAMUTH, l("I hate to leave you now, @@, but I have more important things to do.", strcharinfo(0))); + + addtimer(1500, .@n$+"::OnE11"); + end; + +OnE11: + .@m$=getmap(); + .@n$=instance_npcname(.name$); + + unittalk(@ISBAMUTH, l("Enjoy this world while it lasts. Heh. It's time to... detonate.")); + + addtimer(1500, .@n$+"::OnE12"); + end; + +OnE12: + .@m$=getmap(); + .@n$=instance_npcname(.name$); + + // A warp to non-instanced version to prevent death sprite from showing up. + unitwarp(@ISBAMUTH, "023-3-1", 45, 45); + unitkill(@ISBAMUTH); + @ISBAMUTH=0; + mapannounce(.@m$, "##2"+l("Victory Conditions: Defeat all enemies!"), 0); + mapannounce(.@m$, "##1"+l("Defeat Conditions: Your death!"), 0); + end; + // War events OnW01: .@m$=getmap(); @@ -178,9 +245,12 @@ OnW02: addtimer(60000, .@n$+"::OnW02"); end; -// Secret events +// Secret events. Do not handle Isbamuth death as it should be impossible... OnIsbamuthDefeat: - dispbottom l("Are you crazy?"); + Exception(l("Why do you bully me! - This is a bug: 02331.LOGIC.OID")) + deltimer(.@n$+"::OnW01"); + deltimer(.@n$+"::OnW02"); + getexp 0, 1000; end; // For mobcount() only |