summaryrefslogtreecommitdiff
path: root/npc/018-2-1/dustman.txt
blob: cb34214beea2f4bea4c11e3596995e8875db1979 (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
// TMW2/LoF scripts.
// Authors:
//    TMW-LoF Team
//    Jesusalva
// Description:
//    Take care of hardcore players

018-2-1,22,29,0	script	Colonel DUSTMAN	NPC_CRUSADER,{
    .@cod=getq(LoFQuest_COD);
    .@hh=getq(LoFQuest_HH);
    mesn;
    mesq l("Hello adventurer. Are you interested in the Heroes Hold, or in the Call Of Dusty?");
    next;
    select
        l("Heroes Hold"),
        l("Call Of Dusty"),
        l("Neither, sorry");
    if (@menu == 3)
        close;
    else if (@menu == 2)
        goto L_COD;

    mes "";
    if (BaseLevel < 40) {
        mesn;
        mesq l("Well, my men went down and still haven't returned.");
        next;
        mesn;
        mesq l("I'm worried with them. Anyway, I think only heroes are allowed inside, and you are a few levels short of being a Hero...");
        next;
        mesn;
        mesq l("Take care, adventurer!");
        close;
    }
    mesn;
    mesq l("This whole region is called the Heroes Hold. It's designed for hard core, bragging-rights-hunters, high level, supreme players.");
    next;
    mesn;
    mesq l("This is the main hall. Below this stairs, you'll find the Heroes Hold Main Dungeon. It's a cave in a... uhm. Water.");
    mesq l("I thought it was meant to be lava, this being in the Land Of Fire and all, but seems like someone must bug Saulc to fix it.");
    if (.@hh > 0) {
        next;
        mesn;
        mesq l("Hm, good luck out there.");
        if (getq2(LoFQuest_HH) & HH_MASTER) {
            mes "";
            mesn;
            mesq l("I see you finished the Master Dungeon and didn't found my men. I'll think on something.");
            mesq l("Unfortunately, the main reward of this quest is still a ##1Work In Progress##0.");
            mesq l("However, I can restart the Heroes Hold, if you want. You'll get a reward, but will need to start from scratch. Should I do it?");
            inventoryplace SilverGift, 1, MercBoxA, 5, CasinoCoins, 3, HeroCoin, 60;
            next;
            if (askyesno() == ASK_YES) {
                mes "";
                mesn;
                mesc l("@@ hits himself in the head and forgot you ever went after his men.", .name$);
                //setq2 LoFQuest_HH, HH_MASTER;
                setq LoFQuest_HH, 0, 0;
                getitem SilverGift, 1;
                getitem MercBoxA, 5;
                getitem CasinoCoins, 3;
                getitem HeroCoin, 60;
            }
        }
    } else if (.@hh == 0) {
        next;
        mesn;
        mesq l("So, let's return to the bussiness at hand. My men went down and haven't returned. That was long ago, by the way.");
        mesq l("I can send you to at least five from the seven cave levels this dungeon have.");
        next;
        mesn;
        mesq l("Do you want to try to find them? Just search the first five floors: Novice, Intermediary, Advanced, Expert and Master.");
        mesq l("The Supreme and Ultimate floors are just a WIP bonus. So if you don't find them on the five and report back, that'll do.");
        next;
        mesc l("Accept quest?");
        if (askyesno() == ASK_YES) {
            mes "";
            mesn;
            mesq l("Wonderful! You must finish Novice, Intermediary, Advanced and Expert levels before I unlock Master level for you.");
            mesq l("I don't really understand how the dungeon works. I promise you a reward when you finish the task.");
            next;
            mesc l("You need to choose a Heroes Hold Group. This currently makes absolutely no difference whatsoever."), 1;
            mesc l("However, each group may be expanded later. You can reset group by clearing the Master Floor.", 1);
            mesc l("PS. The group names still aren't set. You're free to pinch in suggestions at LoF Discord (Legacy #discussion) :>");
            next;
            select
                l("The Loyalists"),
                l("The Wildlife");
            setq LoFQuest_HH, 1, 0, (@menu-1);
        }
    }
    close;

L_COD:
    mes "";
    if (BaseLevel >= 50 && .@cod < 1) {
        mesn;
        mesq l("Hey, do you know the ##BCall Of Dusty##b event?");
        next;
        if (#RARE_POINTS || countitem(TimeFlask)) {
            mesn;
            mesq l("Also, you seem like you are from around LoF. Why don't you take a free @@?", getitemlink(BottledDust));
            next;
            getitem BottledDust, 1;
        }
        setq LoFQuest_COD, 1;
    }
    mesn;
    mesq l("Just @@ ago, thiefs stole Pihro & Pyndragon weapons.", FuzzyTime(1542570030));
    next;
    if (BaseLevel >= 50 && .@cod < 2) {
        mesn;
        mesq l("Pyndragon said he'll do a @@ to however reduces them to dust. Interested?", getitemlink(Dustynator)); // BottledDust, Dustynator
        mesc l("Note: Dustynator is a high level weapon. You might not have enough level to use it yet.");
        next;
    } else if (BaseLevel < 50) {
        mesn;
        mesq l("It was a real problem, threating them to go out of business. I think they are trying to recover the lost weapons.");
        mesc l("Attain level 50 to try this quest.");
        close;
    } else {
        mesn;
        mesq l("Well, you already got the Dustynator, but you might want to collect more @@. They keep coming back, after all.", getitemlink(BottledDust));
        mesc l("Note: Killing enemies there with the Dustynator grants more dusty in a bottle.");
        next;
    }
    if (askyesno() == ASK_YES) {
        mes "";
        mesn;
        mesq l("Too bad, because that wasn't implemented yet!");
        mesc l("Report this to Jesusalva and he may finish this quest."), 1;
    }
    close;

OnInit:
    .sex=G_MALE;
    .distance=5;
    end;
}