summaryrefslogtreecommitdiff
path: root/npc/001-2-4/books.txt
blob: 96f9ae5e67d558aa992689ed3212888f1d8d162b (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
// Evol scripts.
// Author:
//    gumi
//    Tirifto
// Description:
//    moar books

001-2-4,28,29,0	script	#001-2-4-Book1	NPC_NO_SPRITE,{

    doevent "@rules::OnShelfUse";
    close;

OnInit:
    .distance = 1;
}

// FIXME: we need a no-sprite npc that is offset 1 tile north
001-2-4,47,28,0	script	#001-2-4-Book2	NPC_NO_SPRITE,{

    function read_book {

        setnpcdialogtitle l(.book_name$);

        narrator S_FIRST_BLANK_LINE | S_LAST_NEXT,
            l("To get started with fishing, you'll need two things: a fishing rod and a bait."),
            l("You just need one fishing rod, although you should take more than one single bait.");

        @menu = 0; // reset for the rif

        do
        {
            narrator S_NO_NPC_NAME,
                l("Please select a chapter:");

            mes "";

            select
                rif(@menu == 1, "► ") + l("Ch 1 — Fishing apparatus"),
                rif(@menu == 2, "► ") + l("Ch 2 — Baits"),
                rif(@menu == 3, "► ") + l("Ch 3 — Location"),
                rif(@menu == 4, "► ") + l("Ch 4 — Casting"),
                rif(@menu == 5, "► ") + l("Ch 5 — Reeling");

            switch(@menu)
            {
                case 1:
                    narrator S_FIRST_BLANK_LINE | S_LAST_NEXT,
                        l("You'll want your fishing rod to be flexible but solid."),
                        l("Comfortable grip is important especially for newcomers, since they'll be holding it for quite a while.");
                    break;
                case 2:
                    narrator S_FIRST_BLANK_LINE | S_LAST_NEXT,
                        l("You can use many diverse items to lure fishes."),
                        l("Some people prefer to catch fish using magic, but calling that \"fishing\" would be an insult to this traditional sport."),
                        l("Most common and widely popular in the fish realm are @@ and pieces of @@.",
                            getitemlink(SmallTentacles), getitemlink(Bread)),
                        l("Some types of fish also enjoy @@ quite a bit.",
                            getitemlink(Aquada)),
                        l("Some people, however, prefer to fish with more unorthodox baits, such as @@ or @@.",
                            getitemlink(UrchinMeat), getitemlink(TortugaTongue));
                    break;
                case 3:
                    narrator S_FIRST_BLANK_LINE | S_LAST_NEXT,
                        l("Find yourself a nice dry spot on a coast where you can easily reach into deep water."),
                        l("Fishing next to shallow water is not going to work well, because fishes seldom go there."),
                        l("You can easily identify fishing spots, small bubbles and fishes are visible from the surface."),
                        l("Don't forget to come as close as possible to these spots!");
                    break;
                case 4:
                    narrator S_FIRST_BLANK_LINE | S_LAST_NEXT,
                        l("Toss the hook into deep water by clicking on where you want to cast it."),
                        l("Make sure to put on a bait after you click, though!"),
                        l("After that, stay still and be patient, but also alert!");
                    break;
                case 5:
                    narrator S_FIRST_BLANK_LINE | S_LAST_NEXT,
                        l("To successfully catch a fish, you need to pull up your hook by clicking it, right after it submerges."),
                        l("Should you be too quick or wait too long, you will most likely fail.");
                    break;
            }
        } while (true);

        end;
    }

OnShelfUse:
    if (openbookshelf())
        read_book;
    closeclientdialog();
    close;

OnUse:
    if (openbook())
        read_book;
    closeclientdialog();
    close;

OnInit:
    .book_name$ = getitemname(FishingGuideVolI);
    .distance = 1;
    end;
}