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
|
// 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 S_LAST_NEXT,
l("You see a raijin boy, sitting on the edge of the dock."),
l("He's holding a fishing rod, while gazing out at the sea.");
.@q = getq(ArtisQuests_Fishman);
if (.@q == 1) goto L_CheckItems;
if (.@q == 2) goto L_QuestDone;
speech S_LAST_BLANK_LINE,
l("Ahoi."),
l("Hey, check out my brand new fishing rod. I bought it just today."),
l("I was so excited, I wanted to try it as soon as possible."),
l("So in a hurry, I forgot to take enough bait for fishing."),
lg("Be a friend and bring me @@ @@.", "Be a friend and bring me @@ @@.", .BaitCount, getitemlink(.BaitID));
switch (select(l("I'll be back in no time."),
l("Sorry, I'm doing other things at the moment.")))
{
case 1:
setq ArtisQuests_Fishman, 1;
speech S_FIRST_BLANK_LINE,
l("Thank you. I'll wait here.");
close;
case 2:
speech S_FIRST_BLANK_LINE,
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."),
l("I need @@ @@.", .BaitCount, getitemlink(.BaitID));
close;
}
speech
l("That's exactly what I needed!"),
l("To thank you, accept my old fishing rod."),
l("It's not as good as my new one, but still very useful."),
l("Just look at that water! There's a whole bunch of fish down there."),
l("Oh, and you will need this book too, it will help you learn the basics of fishing."),
lg("You might even get lucky, and get a @@.",
"You might even get lucky, and get a @@.", getitemlink(GrassCarp)),
l("Have a good time fishing!");
delitem .BaitID, .BaitCount;
getitembound FishingRod, 1, IBT_ACCOUNT;
getitem FishingGuideVolI, 1;
setq ArtisQuests_Fishman, 2;
close;
L_QuestDone:
// Idea for future: Eugene telling fishman jokes.
speech
l("Ahoy, @@!", strcharinfo(0)),
l("Are the fish biting today?");
close;
OnInit:
.bodytype = BODYTYPE_3;
.distance = 2;
end;
}
|