summaryrefslogtreecommitdiff
path: root/npc/032-5/episode.txt
blob: 89ec02a67836a8c42572586001996a0cfbd822c1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
// 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;
}