// TMW2 scripts.
// Authors:
// Jesusalva
// Description:
// Part of the Doctor's Quest.
// NOTE: Several things could be done to ensure the original owner is fighting.
// I did none.
// But if at any moment the boss is alone in the room, the fight resets.
// Dead bodies should be warped out automagically.
// Reward is 400,000 experience points (almost enough to level up a Lv 61)
// But the reward is only given when cutscene is completed
// Meaning if you merely espectate/help you won't get it.
// For helpers (Everyone on map) they'll get 30,000 exp
// Therefore, experience given is 30k + 370k
032-5,37,34,0 script #EpShow NPC_HIDDEN,2,0,{
end;
OnInit:
.ctrl = false;
.platy = 0;
.razor = 0;
end;
OnTouch:
if (mobcount("032-5", "all")) end;
if (getq(LoFQuest_EPISODE) != 15) end;
if (getq2(LoFQuest_EPISODE) != 2); end;
if (.ctrl) end;
.ctrl=true;
initnpctimer;
end;
OnTimer1000:
.platy=monster("032-5", 39, 55, 1, strmobinfo(1, RedQueen), RedQueen);
.razor=monster("032-5", 37, 57, 1, "The Black Razor", RedFollower);
immortal(.platy);
setunitdata(.platy, UDT_MODE, MD_BOSS|MD_PLANT|MD_NOKNOCKBACK);
immortal(.razor);
setunitdata(.razor, UDT_MODE, MD_BOSS|MD_PLANT|MD_NOKNOCKBACK);
end;
OnTimer5000:
unittalk(.razor, "Uh?");
end;
OnTimer10000:
unittalk(.razor, "Who are you people!");
end;
OnTimer15000:
unittalk(.razor, "Don't tell me... You're with Prsm!");
end;
OnTimer20000:
unittalk(.platy, "They think they can conspire about us.");
end;
OnTimer25000:
unittalk(.platy, "But I am the original queen and no one can steal this from me.");
maptimer("032-5", 3000, "#EpShow::OnWarn1");
end;
OnWarn1:
dispbottom l("On your marks!");
sleep2(1000);
dispbottom l("Ready...");
sleep2(1000);
dispbottom l("FIGHT!");
end;
OnTimer30000:
unitwarp(.platy, "001-3-1", 19, 21);
unitwarp(.razor, "001-3-1", 19, 21);
sleep(25);
unitkill(.platy);
unitkill(.razor);
sleep(25);
.platy=monster("032-5", 39, 55, strmobinfo(1, RedQueen), RedQueen, 1, "#EpShow::OnPlaty");
.razor=monster("032-5", 37, 57, "The Black Razor", RedFollower, 1, "#EpShow::OnRazor");
// The Black Razor needs tweaks
setunitdata(.razor, UDT_MAXHP, 24000);
setunitdata(.razor, UDT_HP, 24000);
setunitdata(.razor, UDT_HIT, 24000);
setunitdata(.razor, UDT_ADELAY, 1272);
setunitdata(.razor, UDT_DMOTION, 48);
setunitdata(.razor, UDT_SPEED, 480);
// The Red Queen doesn't, but we need spawns and victory conditions
areamonster("032-5", 21, 35, 58, 77, strmobinfo(1, RedFollower), RedFollower, 12, "#EpShow::OnMini");
areamonster("032-5", 21, 35, 58, 77, strmobinfo(1, RedFollowerF), RedFollowerF, 12, "#EpShow::OnMini");
stopnpctimer;
.ctrl = false;
end;
OnMini:
if (.razor)
unittalk(.razor, "My fallen comrade, you'll be avenged!");
end;
OnRazor:
if (.platy)
unittalk(.platy, "Razor, no!");
.razor = 0;
end;
OnPlaty:
if (.razor)
unittalk(.razor, "My queen!");
.platy = 0;
end;
}