summaryrefslogtreecommitdiff
path: root/npc/001-1/eugene.txt
blob: d931826dd17519ec80a3ea189c9a581b148d38e7 (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
// Evol scripts.
// Authors:
//    Reid
//    Travolta
// Description:
//    Fishman NPC
// Quest variable:
//    ArtisQuests_Fishman
// Quest stages:
//    0 - not started
//    1 - Eugene asked for items
//    2 - completed

001-1,113,120,0	script	Eugene	NPC_EUGENE,{

    .BaitID = SmallTentacles;
    .BaitCount = 10;

    narrator 4,
        l("You see a raijin boy, sitting on the edge of the dock."),
        l("He's holding a fishing rod, and his eyes are pointed towards the surface of the sea.");

    .@q = getq(ArtisQuests_Fishman);
    if (.@q == 1) goto L_CheckItems;
    if (.@q == 2) goto L_QuestDone;

    speech 2,
        l("Ahoi."),
        l("Hey, check out my brand new fishing rod. I bought it only today."),
        l("I was so excited, I wanted to try it as soon as possible."),
        l("So in the hurry, I forgot to take enough bait for fishing."),
        l("Be a friend, and bring me @@ @@s", .BaitCount, getitemlink(.BaitID));

    switch (select(l("I'll be back in no time."),
                   l("Sorry, doing other things at the moment.")))
    {
        case 1:
            setq ArtisQuests_Fishman, 1;
            speech 1,
                l("Thank you. I'll wait here.");
            close;
        case 2:
            speech 1,
                l("But I'm almost out of @@...", getitemlink(.BaitID));
            close;
    }

L_CheckItems:
    if (countitem(.BaitID) < .BaitCount)
    {
        speech
            l("Sorry, but you don't have what I need for bait."),
            l("I need @@ @@.", .BaitCount, getitemlink(.BaitID));
        close;
    }

    speech
        l("That's exactly what I needed."),
        l("As a thank you, accept my old fishing rod."),
        l("It's not as good as my new one, but still useful."),
        l("Just look at the water! There's plenty of fish there."),
        l("With my old fishing rod you can catch something every day."),
        l("You might even get lucky, and get a @@.", getitemlink(GrassCarp)),
        l("Have a good fishing!");

    delitem .BaitID, .BaitCount;
    getitem FishingRod, 1;
    setq ArtisQuests_Fishman, 2;
    close;

L_QuestDone:
    // Idea for future: Eugene telling fishman jokes.
    speech
        l("Ahoy, @@!", strcharinfo(0)),
        l("Is the fish biting today?");
    close;

OnInit:
    setnpcsex G_MALE;
    setnpcdistance 2;
    end;
}