summaryrefslogtreecommitdiff
path: root/npc/023-3/logic.txt
blob: 5c38bff77c613d31d72b68bad02f83c3a800f5db (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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
// TMW2 scripts.
// Author:
//    Jesusalva
// Description:
//    023-3 Abandoned Ice Caves Configuration File

023-3	mapflag	zone	MMO

023-3,63,220,0	script	#Exit0233	NPC_HIDDEN,0,0,{
    end;

OnTouch:
    .@q=getq(General_Narrator);
    .@q2=getq2(General_Narrator);
    // Cheater Detected
    if (.@q < 15) { 
        warp "Save", 0, 0;
        percentheal -100, -100;
        return false;
    }

	mesc l("Return to Frostia's Castle?");
	if (askyesno() == ASK_YES) {
		.@mapn$="024-16";
	    warp .@mapn$, 30, 26;
	}
	closeclientdialog;
	close;
}

023-3,48,22,0	script	#Finish0233	NPC_HIDDEN,0,0,{
    end;

OnTouch:
    .@q=getq(General_Narrator);
    .@q2=getq2(General_Narrator);
    // Cheater Detected
    if (.@q < 13) { 
        warp "Save", 0, 0;
        percentheal -100, -100;
        return false;
    }

	.@mapn$="001-7";
    warp .@mapn$, 91, 90;
    end;
}

001-7,91,89,0	script	#Init0233	NPC_HIDDEN,0,0,{
    end;

OnTouch:
    .@q=getq(General_Narrator);
    .@q2=getq2(General_Narrator);
    // Cheater Detected
    if (.@q < 13) { 
        warp "Save", 0, 0;
        percentheal -100, -100;
        return false;
    }
    if (.@q == 15) {
        dispbottom lg("I'm not a coward! I must press forward!");
        end;
    }
	.@mapn$="023-3";
    warp .@mapn$, 48, 23;
    end;
}

// A simple random treasure chest - to be sure players were introduced to this
// awesome system. Same rules as any treasure box still applies.
023-3,94,212,0	script	#chest_02330	NPC_CHEST,{

    TreasureBox();
    specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
    close;

OnInit:
    .distance = 2;
    end;
}


// Miniboss fight must be enabled on right npc. No passing before that.
023-3,120,103,0	script	#MiniBossTrap0233	NPC_HIDDEN,0,2,{
    end;

OnTouch:
    .@q=getq(FrostiaQuest_Homunculus);
    if (!.@q) {
        dispbottom l("A powerful magic barrier repels you!");
        getmapxy(.@m$, .@x, .@y, 0);
        slide .@x-2, .@y;
        sit();
    }
    end;
}


// The scout which went ahead of you
023-3,86,88,0	script	Elite Scout#MB0233	NPC_DARKSABER,{
    mesn;
    mesq l("Uhm, I'm looking for a way out...");
    close;

OnInit:
    .distance = 5;
    end;
}


// Cannot flee from Miniboss Fight
023-3,80,84,0	script	#MiniBossTrapB0233	NPC_HIDDEN,5,0,{
    end;

OnTouch:
    .@q=getq(FrostiaQuest_Homunculus);
    .@q2=getq(FrostiaQuest_Homunculus);
    if (!.@q && .@q2) {
        dispbottom l("A powerful magic barrier repels you!");
        slide 81, 86;
        sit();
    }
    end;
}

// A not-so-simple treasure chest from Sagratha's Dungeon