summaryrefslogtreecommitdiff
path: root/npc/007-1/skydg.txt
blob: 1a1d0940f534c4525d2d1b5442644951f96cd3bb (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
// TMW2 Script
// Author:
//    SkyDragon!
// Reviewer:
//    Jesusalva
// Description:
//    Miner

007-1,165,144,0	script	Miner#SkyDG	NPC_PLAYER,{
    .@Miner = getq(MineQuests_Miner);
    if (BaseLevel < 25) goto L_TooWeak;
    if (.@Miner == 1) goto L_Check;
    if (.@Miner == 2) goto L_Complete;

L_GiveTask:
    mesn;
    mesq lg("Hello, wanderer!");
    next;
    mesq l("How did you end up here?");
    next;

    menu
        l("To be honest, I don't know. I was only walking, seeking for adventure!"), L_Quest,
        l("It's none of your business."), L_Quit;


L_Quest:
    mes "";
    mesn;
    mesq l("You perchance said in adventure? Then you've came to the right place! I can ask you for some stuff, and in exchange, I'll give some useful gloves!");
    next;

    menu
        l("Really? What do you need?"), L_Start,
        l("Better do this some other time..."), L_Quit;


L_Start:
    setq MineQuests_Miner, 1;
    mes "";
    mesn;
    mesq l("Ok, what I need is:");
    goto L_Lista;

L_Quit:
    mes "";
    mesn;
    mesq l("Alright.");
    close;

L_Lista:
    mes "";
    mesn;
    mes " * 25 " + getitemlink(MaggotSlime);
    mes " * 20 " + getitemlink(BugLeg);
    mes " * 08 " + getitemlink(RedScorpionStinger);
    mes " * 15 " + getitemlink(BatWing);
    mes " * 10 " + getitemlink(BatTeeth);
    mes " * 10 " + getitemlink(CactusDrink);
    mes " * 03 " + getitemlink(ScorpionClaw);
    close;

L_Check:
    mesn;
    mesq l("Did you brought me everything I asked for?");
    next;
    menu
        l("Yes!"), L_Give,
        l("I forgot what you need!"), L_Lista,
        l("No!"), L_Quit;

L_Give:
    if (
        countitem(MaggotSlime)          < 25 ||
        countitem(BugLeg)               < 20 ||
        countitem(RedScorpionStinger)   < 8  ||
        countitem(BatWing)              < 15 ||
        countitem(BatTeeth)             < 10 ||
        countitem(CactusDrink)          < 10 ||
        countitem(ScorpionClaw)         < 3
        ) goto L_Lying;

    inventoryplace MinerGloves, 1;

    delitem(MaggotSlime, 25);
    delitem(BugLeg, 20);
    delitem(RedScorpionStinger, 8);
    delitem(BatWing, 15);
    delitem(BatTeeth, 10);
    delitem(CactusDrink, 10);
    delitem(ScorpionClaw, 3);

    getitem(MinerGloves, 1);
    getexp(150, 0);
    setq(MineQuests_Miner, 2);

    mes "";
    mesn;
    mesq l("Here, all yours. Thank you.");
    close;

L_Complete:
    mesn;
    mesq l("Wandering too much? Take care to don't get lost.");
    close;

// Funnier to write than to read, but the player lied. :angel:
L_Lying:
    mesn;
    mesq l("No no no, that's wrong.");
    next;
    mes col("The miner goes to count your stuff again.", 9);
    next;
    mes col("And again.", 9);
    next;
    mes col("And again, and again.", 9);
    next;
    mes col("And again, and again, again.", 9);
    next;
    mes col("You wonder, maybe he entered on an infinite loop? Hellooo, anybody home?", 9);
    next;
    mesn;
    mesq l("No no no, you don't have everything I've asked for!");
    next;
    goto L_Lista;

L_TooWeak:
    mesn;
    mesq l("Wanderer, here is dangerous! Go back!");
    close;

OnInit:
    .@npcId = getnpcid(0, .name$);
    setunitdata(.@npcId, UDT_HEADTOP, MinerHat);
    setunitdata(.@npcId, UDT_HEADMIDDLE, LeatherShirt);
    setunitdata(.@npcId, UDT_HEADBOTTOM, BromenalPants);
    setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots);
    setunitdata(.@npcId, UDT_HAIRSTYLE, 4);
    setunitdata(.@npcId, UDT_HAIRCOLOR, 3);

    .sex = G_MALE;
    .distance = 4;

    end;
}