summaryrefslogtreecommitdiff
path: root/npc/081-1/dungeon.txt
blob: f23434a19a4fbd38bb294d65aa04c50ebee6e1fc (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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
// TMW Script.
// Author:
//    Jesusalva
// Notes:
//    Christmas 2021 - Northen Lights Dungeon Entrance

081-1,68,30,0	script	#0811Nexit	NPC_HIDDEN,0,0,{
    end;
OnTouch:
    if (!isChristmas21()) end;

    /* We need to determine if instance exists and is needed */
    X21INIT();

	.@mapa$="0812@"+X21ID2();
    warp .@mapa$, 90, 298;
    end;
}

081-1,64,34,0	script	#X21_SIGN01	NPC_NO_SPRITE,{
    if (!isChristmas21()) end;
    npctalk3 l("Northern Lights Dungeon - Form a party to join or enter alone. Be careful!");
    end;
OnInit:
    .distance=5;
    end;
}

020-1,78,85,0	script	Santa Helper#Fake	NPC435,{
    function soon;
    function complete;
    function dowarp;
    if (!isChristmas21()) soon();
    if (X21ED2_CLEAR()) complete();
    do
    {
        mesn;
        mesq l("Santa has been so worried this year... What'll I do...");
        select
            rif(X21_START(), l("Can you bring me back to Santa?")),
            l("[Information]"),
            l("Not my problem."),
            rif(X21_START(), l("What's the Frontier of Existence?"));
        mes "";
        switch (@menu) {
        case 1:
            dowarp(); end;
        case 2:
            mesn;
            mesq l("Ah, well, you see... Santa has this... uh... unique friend, let's call him.");
            next;
            mesn;
            mesq l("Actually, is it even right to call a skeleton a \"him\"? With them being undead and all... Wait, I'm getting sidetracked here.");
            next;
            mesn;
            mesq l("So, you see, Santa made this friend called %s. Creepy fella, but Santa has never been one to really judge others.", b("Gak"));
            next;
            mesn;
            mesq l("Really, to make friends with undead, I'll never understand these Sages of Kaizei... Damn, I'm really getting sidetracked today. Sorry.");
            next;
            mesn;
            mesq l("Anyway. Santa is worried about Gak. I think it is anniversary of the death of his wife or something. To be honest, how an undead would mourn the dead is so... Sidetracked. Again.");
            next;
            mesn;
            mesq l("Look, you know Santa and Nikolai are both on the same circle, the Sages of Kaizei, right? Nikolai was representing this order during the %s.", "[@@https://forums.themanaworld.org/viewtopic.php?f=1&t=20921|"+l("Doomsday's Sage Council")+"@@]");
            next;
            mesn;
            mesq l("The biggest meeting of... Sorry. Well, things changed. I don't know how, I'm not a wizard, but Santa went to investigate. Something about cheering his friend up.");
            next;
            mesn;
            mesq l("He is worried with Gak, and we are worried with him; The Sages of Kaizei specialize in transport magic, not on combat magic. If brave adventurers could help him...");
            next;
            select
                l("Why don't you go yourself?"),
                l("Don't worry, I'll help."),
                l("Not my business.");
            mes "";
            if (@menu == 1) {
                mesn;
                mesq l("Didn't you hear me earlier? The Sages of Kaizei specialize in transport magic. Geez, and I was the one getting side-tracked here!");
                next;
            }
            else if (@menu == 2) {
                X21_DOSTART();
                mesn;
                mesq l("Really? You'll do it? Thank you! That's much appreciated!");
                next;
                mesn;
                if (getcharid(1) > 0)
                    mesq l("I hope you and your friends can do it!");
                else
                    mesq l("You may consider forming a party to do it, but who am I to judge if you want to do it alone!");
                next;
                mesn;
                mesq l("I can warp you to where Santa is once you're ready. Be prepared. I believe the place is called... %s.", b(l("The Frontier Of Existence")));
            }
            break;
        case 4:
            mesn;
            mesq l("Where Santa is, obviously.");
            next;
            mesn;
            mesq l("It's the absolute limit between what exists and what doesn't. If you fall in the æther, you'll cease to exist and nothing can bring you back.");
            next;
            mesn;
            mesq l("...Normally, but whatever the %s set off in motion makes fun of the concept of existence itself.", "[@@https://forums.themanaworld.org/viewtopic.php?f=1&t=20921|"+l("Doomsday's Sage Council")+"@@]");
            next;
            mesn;
            mesq l("Just be careful, I never even heard about æther before Santa decided to help Gak, so I'm pretty sure the regular magic laws are worthless past this point.");
            break;
        }
    while (@menu != 3);
    npctalkonce l("Merry Christmas!");
    closeclientdialog;
    close;

function soon {
    mesn;
    mesq l("Hey there, %s. It's not Christmas time right now, so I am just appreciating the view.", strcharinfo(0));
    next;
    mesn;
    mesq l("Christmas Event will happen from %s to %s this year. You can click %s for more details.", b(l("Dec 12th")), b(l("Dec 26th")), "[@@https://forums.themanaworld.org/viewtopic.php?f=68&t=21296|"+l("here")+"@@]");
    close;
}

function complete {
    mesn;
    mesq l("Thanks for helping Santa yet again.");
    next;
    mesn;
    mesq l("I believe he has been trading %s... Do you want to meet him again?", getitemlink(AquaTicket));
    next;
    if (askyesno() == ASK_YES) dowarp();
    close;
}

function dowarp {
    dispbottom l("Santa Helper : Fly awayyy!!");
    warp "081-1", 58, 103;
    closeclientdialog;
    close;
}

OnInit:
    .distance=5;
    end;
}


081-1,56,63,0	script	Santa	NPC_SANTA,{
    mesn;
    mesq l("Hohohoh!");
    close;

OnInit:
    .distance=5;
    end;
}