summaryrefslogtreecommitdiff
path: root/npc/001-1/manhole.txt
blob: 856689a32ea6d2617a7bfcc2c521cac1a86c469a (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
// Evol scripts.
// Author:
//    Reid
// Description:
//    A manhole near Mona's house.
// Variable:
//    ArtisQuests_MonaDad
// Quest states:
//    0  - Quest not started
//    1  - Mona explained that her dad was missing

001-1,152,52,0	script	#manhole1-001-1	NPC_NO_SPRITE,{

    if (getq(ArtisQuests_MonaDad) < 1) {
        end;
    }

    narrator(S_LAST_BLANK_LINE | S_LAST_NEXT,
        l("You hear some creeping and crawling sounds from the murkiness below."),
        l("..."),
        l("Do you want to enter in sewer?"));

    closeclientdialog();
    if (askyesno() == 1) slide_or_warp("001-3-0", 152, 56);
    close;

OnTouch:
    // (has_instance2 wasn't checked if it works)
    if (getq(ArtisQuests_MonaDad) == 2 && has_instance2("mona@"+strcharinfo(0)) >= 0) {
    mesn l("Mundane");
    mesq l("Thanks for saving me. This is enough, I'll watch if Mona is fine and return to Sewers later.");
    next;
    inventoryplace WoodenBow, 1;
    mesn l("Mundane");
    mesq lg("Here, take this @@ as a gift. I'm sure someone as skilled you will make a good use of my old weapon.", "Here, take this @@ as a gift. I'm sure someone as skilled you will make a good use of my old weapon.", getitemlink(WoodenBow));
    getitem WoodenBow, 1;
    setq(ArtisQuests_MonaDad, 3);
    }
    end;

OnInit:
    .sex = G_OTHER;
    .distance = 1;
    end;
}

001-1,196,35,0	script	#manhole2-001-1	NPC_NO_SPRITE,{

    .@i=manhole_interact("001-3-0");
    closeclientdialog();
    if (.@i == -1) {
        slide_or_warp("001-3-0", 196, 36);
    } else if (.@i == TrainingArrow || .@i == WoodenBow) {
        npctalk3 l("Mundane: Hey! Is someone there? Please, help, it's so dark down here!");
    }
    close;

OnInit:
    .sex = G_OTHER;
    .distance = 1;
    end;
}

001-1,146,123,0	script	#manhole3-001-1	NPC_NO_SPRITE,{

    .@i=manhole_interact("001-3-0");
    closeclientdialog();
    if (.@i == -1) {
        // Not a fan of calling strong players as weak, so take STR in account
        // If you have enough STR, you get an Easter Egg about the engine :)
        if (readparam(bStr) < 50) {
            mesc l("The lid is sealed shut, and you are too weak to open it.");
        } else {
            mesc l("Even with your Hercules strength, this lid is hopelessly struck.");
        }
    } else if (.@i == TrainingArrow || .@i == WoodenBow) {
        // This is the wrong lid for Mundane Quest
        npctalk3 l("...");
    }
    close;

OnInit:
    .sex = G_OTHER;
    .distance = 1;
    end;
}

// This lid can only be used to leave
001-1,86,131,0	script	#manhole4-001-1	NPC_NO_SPRITE,{

    .@i=manhole_interact("001-3-0");
    closeclientdialog();
    if (.@i == -1) {
        mesc l("Strangely enough, this lid can only be open from inside.");
    } else if (.@i == TrainingArrow || .@i == WoodenBow) {
        // This is the wrong lid for Mundane Quest
        npctalk3 l("...");
    }
    close;

OnInit:
    .sex = G_OTHER;
    .distance = 1;
    end;
}

// To quickly create more sewer mouths we can use:
//001-1,86,131,0	duplicate(#manhole3-001-1)	#manhole4-001-1	NPC_NO_SPRITE