summaryrefslogtreecommitdiff
path: root/npc/008-1/milly.txt
blob: 35c0e6b740f8f87e7c11cce538da40be061fcdca (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
// Evol scripts.
// Author:
//    gumi
// Quest states (inspector):
//    [1] 0  - cannot do the quest
//    [1] 1  - can do the quest
//    [1] 2  - talked to inspector (1) <= start
//    [1] 3  - talked to old woman (1)
//    [1] 4  - talked to old woman (2)
//    [1] 5  - talked to inspector (2)
//    [1] 6  - talked to troupe leader (1)
//    [1] 7  - talked to inspector (3)
//    [1] 8  - talked to old man
//    [1] 9  - talked to old woman (3)
//    [1] 10 - talked to inspector (4)
//    [1] 11 - talked to old woman (4)
//    [1] 12 - talked to malek
//    [1] 13 - searched the bookcase
//    [1] 14 - talked to inspector (5)
//    [1] 15 - talked to troupe leader (2) <= reward
//    [1] 16 - talked to inspector (6) <= reward, end
//    [2] unused
//    [3] unused
//    [t] unused
// Description:
//    robberies in hurnscald

// Give player a Beanie Copter after 1,000,000 kills (server-wide)
function	script	GetBeanieCopter	{
    // Double-check against possible malpractices
    if ($MONSTERS_KILLED % 1000000 == 0) {
         announce(sprintf("Congratulations, \"%s\", on killing the %sth monster!.", strcharinfo(0), format_number($MONSTERS_KILLED)), bc_all);
        getitem BeanieCopter, 1;
        dispbottom l("How strange, this monster dropped a very rare hat!");
    }
    return;
}

008-1,282,114,0	script	Milly	NPC_GIRL_MILLY,{

       // TODO: make the actual beanie copter quest after those are finished:
    // [X] Inspector quest
    // [ ] Bone knife quest
    // [ ] Setzer quest
    // [ ] Rossy quest
    // [ ] Cindy quest

    .@q_inspector = getq(.quest_inspector);

    speech(4,
        l("Hello traveler, welcome to Hurnscald."),
        l("Have you met Kfahr yet?"),
        l("He is the greatest hero that ever walked the land of Hurnscald!"));

    selectd(
        l("Hi! No, I haven't seen him yet."),
        l("Where can I find him?"),
        l("Mh, I don't care for heroes."),
        l("Hello, yes I have met him."),
        rif(.@q_inspector == 2, l("Have you seen anything strange lately?")),
        rif(.@q_inspector == 2, l("Do you know anything about the recent robberies?")));

    switch (@menu)
    {
    case 3:
        speech(4,
            l("What?"),
            l("Surely you do not appreciate what a hero he is!"),
            l("Mh, or perhaps honor is dead in you; for you to be so slow to comprehend the good that his exploits have wrought for us."), // XXX: this sentence seems too complicated to come from a child's mouth
            l("Put on your thinking cap and be propelled into high adventure!"),
            l("Go to Kfahr, and listen to his stories."),
            l("You can't have met him."),
            l("No one who has met him would say such silly things."));
        // fallthrough

    case 1:
        speech(4,
            l("I highly recommend you seek him out!"));
        // fallthrough

    case 2:
        speech(
            l("He is a regular at the inn, located in the north-west part of town."),
            l("If you are lucky he might tell you a story about his adventures."));
        break;

    case 4:
        speech(
            l("Oh, I hope you stayed and listened to his stories about his adventures."));
        break;

    case 5:
        speech(
            l("I haven't seen anything strange."));
        break;

    case 6:
        speech(
            l("No, sorry."));
        break;
    }

    close;

OnInit:
    .quest_inspector = HurnscaldQuests_Inspector;
    .quest_debug = .quest_inspector; // TODO: change this to the milly quest debug when it exists
    .bodytype = BODYTYPE_2;
    .distance = 3;

////////// UNFINISHED //////////
////////////////////////////////
// REMOVE THIS CODE WHEN THIS //
// NPC IS NO LONGER A WIP //////
////////////////////////////////
//if (!debug) disablenpc(.name$);
///////// UNFINISHED ///////////

    end;
}