summaryrefslogtreecommitdiff
path: root/npc/003-1/aidan.txt
blob: 0a52454ecae8af2e7db6044a07f040405d61027a (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
// TMW-2 Script
// Author: Crazyfefe, Jesusalva
// Desc:   Originally a Tmw script

003-1,95,97,0	script	Aidan	NPC_PLAYER,{

    function Register
    {
        mesn l("Aidan, the Monster Guide");
        mesq l("Oh my, you don't seem to be registered as a Monster Hunting Quest Participant. Would you like to register?");
        next;
        mesn l("Aidan, the Monster Guide");
        mesq l("The register fee is 2000 GP.");
        
        do
        { 
            select
            rif(Zeny >= 2000, l("Register")),
            rif(Zeny < 2000, l("How do I get so much money?!")),
            l("Not at the moment"),
            l("Information");
        
        switch (@menu)
        {
            case 1:
                mes "";
                Zeny=Zeny-2000;
                MPQUEST=1;
                mesn l("Aidan, the Monster Guide");
                mesq l("Give me a second to look over your paperwork.");
                next;
                mesn l("Aidan, the Monster Guide");
                mes l("\"Well, looks like you qualify!");
                mes l("Welcome to the questing world!\"");
                close;
                break;
            case 2:
                mes "";
                mesn l("Aidan, the Monster Guide");
                mesq l("Sell old equipment and items you won't use. For example, what should you do with a @@ or an @@? Sell it!", getitemlink(Topaz), getitemlink(ScorpionStinger));
                close;
                break;
            case 3:
                mes "";
                mesn l("Aidan, the Monster Guide");
                mesq l("Very well, you don't know what you're missing.");
                close;
                break;
            case 4:
                mes "";
                mesn l("Aidan, the Monster Guide");
                mesq l("You see, because the Monster King, monsters have been running rampant. If they grow too much in numbers, cities may be overrun.");
                next;
                mesn l("Aidan, the Monster Guide");
                mesq l("Therefore, the Alliance created a system so when you kill a monster, depending on its strength, you'll get Monster Points.");
                next;
                mesn l("Aidan, the Monster Guide");
                mesq l("To prevent abuse, a registering fee is charged. Nothing major.");
                next;
                mesn l("Aidan, the Monster Guide");
                mesq l("So whaddaya say, sign up won't you?");
                next;
                mes "";
                Register;
                break;
        }
        } while (@menu != 4);
    }

    if (MPQUEST == 0)
        Register;

    mesn l("Aidan, the Monster Guide");
    mesq l("You currently have @@ Monster Points. These points are acquired while killing monsters.", Mobpt);
    if (getq(General_Hunter) == 0) goto L_Register;
    mesn;
    mesq l("Current Progress: @@/1000 kills", getq2(General_Hunter));
    if (getq2(General_Hunter) >= 1000) goto L_Finish;
    close;

L_Register:
    next;
    mesn;
    mesq l("We have a special program, where you kill 1000 of a monster and get great rewards!");
    select
        l("I'm not interested."),
        l("(Lv 20) Maggots"),
        l("(Lv 60) Snakes");

    switch (@menu) {
    case 2:
        setq(General_Hunter, 1);
        mesn;
        mesq l("Good luck! Don't come back until you reach 1000 kills!");
        close;
        break;
    case 3:
        setq(General_Hunter, 2);
        mesn;
        mesq l("Good luck! Don't come back until you reach 1000 kills!");
        close;
        break;
    default:
        close;
    }

L_Finish:
    switch (getq(General_Hunter)) {
    case 1:
        setq General_Hunter, 0, 0;
        Zeny=Zeny+5000;
        mesn;
        mesq l("Good job, here is 5,000 GP.");
        close;
    case 2:
        setq General_Hunter, 0, 0;
        Zeny=Zeny+25000;
        mesn;
        mesq l("Good job, here is 25,000 GP.");
        close;
    }

OnInit:
    .@npcId = getnpcid(0, .name$);
    setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
    setunitdata(.@npcId, UDT_HEADMIDDLE, LegionCopperArmor);
    setunitdata(.@npcId, UDT_HEADBOTTOM, CottonTrousers);
    setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots); // Boots
    setunitdata(.@npcId, UDT_HAIRSTYLE, 3);
    setunitdata(.@npcId, UDT_HAIRCOLOR, 3);

    .sex = G_MALE;
    .distance = 5;
    end;


OnNPCKillEvent:
    if (getq(General_Hunter) == 0) end;
    if (getq(General_Hunter) == 1 && killedrid == Maggot)
        setq2 General_Hunter, getq2(General_Hunter)+1;
    if (getq(General_Hunter) == 2 && killedrid == Snake)
        setq2 General_Hunter, getq2(General_Hunter)+1;
    end;
}