… | |
… | |
11 | }, |
11 | }, |
12 | { |
12 | { |
13 | name => "Gramp Malone Earhorn", |
13 | name => "Gramp Malone Earhorn", |
14 | match => ['flag', 'quest_gramp_malones_earhorn'], |
14 | match => ['flag', 'quest_gramp_malones_earhorn'], |
15 | difficulty => 'be observant', |
15 | difficulty => 'be observant', |
16 | start => 'Go to the hoves in the south west of scorn, go into the south east house from the four houses and ask the woman and/or grandpa malone about his earhorn. H<you will have to find it, maybe it\'s not even on the same map>', |
16 | start => 'Go to the hoves in the south west of scorn, go into the south east house from the four houses and ask the woman and/or grandpa malone about his earhorn. H<You will have to find it, maybe it\'s not even on the same map>', |
17 | spoiler_cost => 50000, |
17 | spoiler_cost => 50000, |
18 | spoiler => "You will find his earhorn in the tavern \"The Barking Mule\", he left it in a workbench there.", |
18 | spoiler => "You will find his earhorn in the tavern \"The Barking Mule\", he left it in a workbench there.", |
19 | }, |
19 | }, |
20 | { |
20 | { |
21 | name => "Gramp Malone Walkingstick", |
21 | name => "Gramp Malone Walkingstick", |
22 | match => ['flag', 'quest_gramp_malones_walking_stick'], |
22 | match => ['flag', 'quest_gramp_malones_walking_stick'], |
23 | difficulty => 'be observant', |
23 | difficulty => 'be observant', |
24 | start => 'Go to the hoves in the south west of scorn, go into the south east house from the four houses and ask the woman and/or grandpa malone about his walking stick. H<you will have to find it, maybe it\'s not even on the same map>', |
24 | start => 'Go to the hoves in the south west of scorn, go into the south east house from the four houses and ask the woman and/or grandpa malone about his walking stick. H<You will have to find it, maybe it\'s not even on the same map>', |
25 | spoiler_cost => 50000, |
25 | spoiler_cost => 50000, |
26 | spoiler => "The walking stick was lost in the four houses called the \"Riverside Manor\" in the south of Scorn. The House to the very south east has a table, beneath it you will find gramps walking stick." |
26 | spoiler => "The walking stick was lost in the four houses called the \"Riverside Manor\" in the south of Scorn. The House to the very south east has a table, beneath it you will find gramps walking stick." |
27 | }, |
27 | }, |
28 | { |
28 | { |
29 | name => 'Hero of Scorn', |
29 | name => 'Hero of Scorn', |
… | |
… | |
44 | name => "Mike Miller House", |
44 | name => "Mike Miller House", |
45 | match => ['marker', 'quest_mike_millers_house'], |
45 | match => ['marker', 'quest_mike_millers_house'], |
46 | difficulty => 'tricky', |
46 | difficulty => 'tricky', |
47 | start => "In the north west of scorn you will find the 'West Scorn Trademarket', just south from the weapons shop. The first neighbour house to the east of the trademarket, just right next to the street, is Mike Miller's house. Speak to him. H<He wants the angry pixie's head, which you should drop right next to him.>", |
47 | start => "In the north west of scorn you will find the 'West Scorn Trademarket', just south from the weapons shop. The first neighbour house to the east of the trademarket, just right next to the street, is Mike Miller's house. Speak to him. H<He wants the angry pixie's head, which you should drop right next to him.>", |
48 | }, |
48 | }, |
|
|
49 | { |
|
|
50 | name => "Jeweler Quest", |
|
|
51 | match => ['flag', 'jeweler_quest_1'], |
|
|
52 | difficulty => 'tough fighting', |
|
|
53 | start => "You have to travel to Valleynoy. You find a ship to Valleynoy in Navar. Take it and search the valley of the jeweler town. Go to the welcome house and speak to the old man there." |
|
|
54 | } |
49 | ); |
55 | ); |
50 | |
56 | |
51 | sub name2quest { |
57 | sub name2quest { |
52 | my ($n) = @_; |
58 | my ($n) = @_; |
53 | for my $q (@QUESTS) { |
59 | for my $q (@QUESTS) { |
… | |
… | |
56 | } |
62 | } |
57 | } |
63 | } |
58 | return undef; |
64 | return undef; |
59 | } |
65 | } |
60 | |
66 | |
61 | # this is the main command interface for the IPO NPC |
67 | # this is the main command interface for the NPC |
62 | cf::register_script_function "quest_master::talk" => sub { |
68 | cf::register_script_function "quest_master::talk" => sub { |
63 | my ($who, $msg, $npc) = @_; |
69 | my ($who, $msg, $npc) = @_; |
64 | my ($cmd, $arguments) = split /\s+/, $msg, 2; |
70 | my ($cmd, $arguments) = split /\s+/, $msg, 2; |
65 | $cmd = lc $cmd; |
71 | $cmd = lc $cmd; |
66 | |
72 | |
… | |
… | |
139 | my $q = name2quest ($arguments); |
145 | my $q = name2quest ($arguments); |
140 | if ($q) { |
146 | if ($q) { |
141 | if ($who->pay_amount ($q->{spoiler_cost})) { |
147 | if ($who->pay_amount ($q->{spoiler_cost})) { |
142 | $who->reply ($npc, |
148 | $who->reply ($npc, |
143 | "Ok, I received ".cf::cost_string_from_value ($q->{spoiler_cost}) |
149 | "Ok, I received ".cf::cost_string_from_value ($q->{spoiler_cost}) |
144 | ." from you. This is the spoiler for the quest " |
150 | . " from you. This is the spoiler for the quest " |
145 | ."'$q->{name}': $q->{spoiler}" |
151 | . "'$q->{name}': $q->{spoiler}" |
146 | ); |
152 | ); |
147 | } else { |
153 | } else { |
148 | $who->reply ($npc, |
154 | $who->reply ($npc, |
149 | "I'm sorry, but you don't have enough money to pay the spoiler " |
155 | "I'm sorry, but you don't have enough money to pay the spoiler " |
150 | ."for the quest '$q->{name}', it would cost you " |
156 | . "for the quest '$q->{name}', it would cost you " |
151 | . cf::cost_string_from_value ($q->{spoiler_cost}) . "." |
157 | . cf::cost_string_from_value ($q->{spoiler_cost}) . "." |
152 | ); |
158 | ); |
153 | } |
159 | } |
154 | |
160 | |
155 | } else { |
161 | } else { |
… | |
… | |
178 | } |
184 | } |
179 | |
185 | |
180 | } else { |
186 | } else { |
181 | $who->reply ($npc, <<REPL); |
187 | $who->reply ($npc, <<REPL); |
182 | Welcome adventurer! What do you want to do? |
188 | Welcome adventurer! What do you want to do? |
|
|
189 | |
183 | Do you want me to list your finished quests? |
190 | Do you want me to list your finished quests? |
184 | Or do you want a list of unfinished quests? |
191 | Or do you want a list of unfinished quests? |
185 | Or do you want a start point or even a spoiler to a quest? |
192 | Or maybe you want a starting point, or even a spoiler, for a quest? |
186 | REPL |
193 | REPL |
187 | } |
194 | } |
188 | |
195 | |
189 | 1 |
196 | 1 |
190 | }; |
197 | }; |