summaryrefslogtreecommitdiff
path: root/npc/042-10/ctrl.txt
blob: 6b595d7d5ba124d71ceb498370026de9acf40772 (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
// TMW 2 Script
// Author:
//  Jesusalva
//  Micksha
// Description:
//  Controls the great hall

// None of the exits work
042-10,86,139,0	script	#KDoor04210a	NPC_HIDDEN,3,0,{
    end;

OnTouch:
    .@g=getcharid(2);
    if (.@g < 1) percentheal -100, -100;
    dispbottom l("OH NOES! The ceiling seems to have collapsed. I hope we got the key, or the quest is over for us!");
    end;
}

042-10,149,136,0	duplicate(#KDoor04210a)	#KDoor04210b	NPC_HIDDEN,0,0
042-10,21,139,0	duplicate(#KDoor04210a)	#KDoor04210c	NPC_HIDDEN,2,0
042-10,20,80,0	duplicate(#KDoor04210a)	#KDoor04210d	NPC_HIDDEN,0,6


// Boss Room control
042-10,142,20,0	script	#KDoor04210e	NPC_HIDDEN,4,0,{
    end;

OnTouch:
    .@g=getcharid(2);
    if (.@g < 1) percentheal -100, -100;
    if (!($KAMELOT_QUEST[.@g] & 8) || !($KAMELOT_QUEST[.@g] & 16) || !($KAMELOT_QUEST[.@g] & 32)) goto L_NoAccess;
    warp "042-11@"+.@g, 41, 56;
    // TODO Fire Events
    end;

L_NoAccess:
    dispbottom l("This door is locked, if we only had a %s...", getitemlink(KamelotKey));
    end;
}

// Boss Room Warning
042-10,150,25,0	script	Warning#Kamelot	NPC_HIDDEN,{
    mesc ".:: "+l("DANGER!")+" ::.", 1;
    mes "";
    mesc l("I've sealed a massive amount of dark magic here."), 1;
    mesc l("Do not break my seal to prevent the curse from reaching Kamelot."), 1;
    mes "";
    mes l("-- Merlin");
    end;
OnInit:
    .distance=4;
    end;
}

// Magic Seal Main
042-10,135,42,0	script	#KamelotSeal	NPC_HIDDEN,0,4,{
    end;

OnTouch:
    .@g=getcharid(2);
    if (.@g < 1) percentheal -100, -100;
    if (!($KAMELOT_QUEST[.@g] & 16) && !($KAMELOT_QUEST[.@g] & 8)) goto L_NoAccessBlock;
    if (!($KAMELOT_QUEST[.@g] & 16) || !($KAMELOT_QUEST[.@g] & 8)) goto L_NoAccess;
    // You can pass freely, so we do nothing
    end;

L_NoAccess:
    slide 127, 36;
    percentheal -5, -5;
    dispbottom l("A powerful magic seal repeals you!");
    dispbottom l("It's weaker than before, probably only one is working right now.");
    end;

L_NoAccessBlock:
    slide 127, 36;
    percentheal -10, -10;
    dispbottom l("A powerful magic seal repeals you!");
    dispbottom l("We need to find what powers these two seals and disable it.");
    end;
}

////////////////////////////////////////////////////////////////////
// TODO: Catazuli spots
// TODO: Door Mechanism
// TODO: Spawn monsters

042-10,128,85,0	script	#Katazuli01	NPC_SUMMONING_CIRC,0,0,{
    dispbottom l("This is probably related to the magical seals.");
    end;

OnInit:
    .distance=2;
    end;

OnTouch:
    npctalk l("TODO FIXME"); // TODO FIXME
    end;
}

042-10,32,108,0	script	#Katazuli02	NPC_SUMMONING_CIRC,0,0,{
    dispbottom l("This is probably related to the magical seals.");
    end;

OnInit:
    .distance=2;
    end;

OnTouch:
    npctalk l("TODO FIXME"); // TODO FIXME
    end;
}