Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion maps/m40_60.jm2
Original file line number Diff line number Diff line change
Expand Up @@ -7462,5 +7462,5 @@
0 54 43: 1364
0 55 59: 1361
0 57 57: 1401
0 60 55: 1360
0 61 55: 1360
1 52 37: 1359
2 changes: 2 additions & 0 deletions scripts/areas/area_miscellania/configs/miscellania.constant
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
^to_miscellania_tele_coord = 0_40_60_20_5
^from_miscellania_tele_coord = 0_41_57_5_44
6 changes: 6 additions & 0 deletions scripts/areas/area_miscellania/scripts/etc_fish_monger.rs2
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[opnpc1,etc_fish_monger]
~chatnpc("<p,neutral>Welcome <~get_viking_name>. My fish is fresher than any in Miscellania!");
~openshop_activenpc;

[opnpc3,etc_fish_monger]
~openshop_activenpc;
6 changes: 6 additions & 0 deletions scripts/areas/area_miscellania/scripts/etc_veg_monger.rs2
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[opnpc1,etc_veg_monger]
~chatnpc("<p,neutral>Hello <~get_viking_name>. You've come to the right place for yer greens!");
~openshop_activenpc;

[opnpc3,etc_veg_monger]
~openshop_activenpc;
7 changes: 4 additions & 3 deletions scripts/areas/area_miscellania/scripts/fisherman_frodi.rs2
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,11 @@ if (%misc_quest = ^misc_complete) {
[proc,frodi_intercept_fish](string $fishing_mes)(boolean)
if (inzone(^miscellania_lower_bound, ^miscellania_upper_bound, coord) = true) {
if (%misc_approval < 127) { %misc_approval = add(%misc_approval, 1); }
if (npc_find(0_40_60_16_12, misc_fisherman, 2, 0) = true) {
npc_say("Thanks!");
// Secondary pointer, because if primary, it overrides fishing pointers.
if (.npc_find(0_40_60_16_12, misc_fisherman, 2, 0) = true) {
.npc_say("Thanks!");
if (%misc_approval >= 127) {
~chatnpcnoturn("<p,happy> Don't trouble yourself further, Your Highness, you've already done so much!");
~.chatnpcnoturn("<p,happy> Don't trouble yourself further, Your Highness, you've already done so much!");
}
}
mes("<substring($fishing_mes, 0, sub(string_length($fishing_mes), 1))> and give it to Fisherman Frodi.");
Expand Down
1 change: 1 addition & 0 deletions scripts/areas/area_miscellania/scripts/flower_girl.rs2
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ if (inv_total(inv, coins) >= 15) {
if (inv_total(inv, coins) >= 15) {
inv_del(inv, coins, 15);
inv_add(inv, flowers_waterfall_quest_mixed, 1);
if (%misc_approval < 127) { %misc_approval = add(%misc_approval, 1); }
}

[label,flower_girl_no_thanks]
Expand Down
3 changes: 3 additions & 0 deletions scripts/areas/area_miscellania/scripts/miner_magnus.rs2
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ if (%misc_quest = ^misc_complete) {
[oploc1,misc_dummy_coalrock1] // https://www.youtube.com/watch?v=CB18DoDgCbQ
mes("Miner Magnus is already mining that.");

[oploc2,misc_dummy_coalrock1]
@prospect_rock(finish_prospect_normal);

// This is to intercept mining in miscellania
[proc,magnus_intercept_ore](string $fishing_mes, int $exp)(boolean)
if (inzone(^miscellania_lower_bound, ^miscellania_upper_bound, coord) = true) {
Expand Down
29 changes: 29 additions & 0 deletions scripts/areas/area_miscellania/scripts/misc_banker.rs2
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
[apnpc1,misc_banker]
if (npc_range(coord) > 2) {
p_aprange(2);
return;
}
~chatnpc("<p,neutral>Hi there, can I help you with anything?");
def_int $option = ~p_choice3("Is this a bank?", 1, "Do you get many customers?", 2, "I'd like to access my bank, please.", 3);
switch_int ($option) {
case 1 :
~chatplayer("<p,neutral>Is this a bank?");
~chatnpc("<p,neutral>Why yes, what else would it be?");
~chatnpc("<p,neutral>Anything else?");

case 2 :
~chatplayer("<p,neutral>Do you get many customers?");
~chatnpc("<p,neutral>We're the only bank on these two islands, so business is pretty good.");
~chatnpc("<p,neutral>Anything else?");

case 3 :
~chatplayer("<p,neutral>I'd like to access my bank, please.");
@openbank;
}

[apnpc3,misc_banker]
if (npc_range(coord) > 2) {
p_aprange(2);
return;
}
@openbank;
3 changes: 3 additions & 0 deletions scripts/areas/area_miscellania/scripts/misc_fish_monger.rs2
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
[opnpc1,misc_fish_monger]
~chatnpc("<p,neutral>Greetings, Sir. Get your fresh fish here!");
~chatnpc("<p,neutral>I've heard that the Etceterian fish is stored in a cow shed.");
~openshop_activenpc;

[opnpc3,misc_fish_monger]
~openshop_activenpc;
19 changes: 19 additions & 0 deletions scripts/areas/area_miscellania/scripts/misc_sailor.rs2
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
[opnpc1,misc_sailor]
~chatplayer("<p,neutral>Hello. Can I get a ride on your ship?");
~chatnpc("<p,happy>Hello again, <text_gender("brother", "sister")> <~get_viking_name>. If you're ready to jump aboard, we're all ready to set sail with the tide!");
def_int $choice = ~p_choice2("Let's go!", 1, "Actually, no.", 2);
if ($choice = 2) {
~chatplayer("<p,neutral>Actually, no.");
~chatnpc("<p,neutral>Okay. Suit yourself.");
return;
}
~chatplayer("<p,quiz>Let's go!");
if_openmain(misc_shipjourney);
if_setanim(misc_shipjourney:com_6, misc_shipjourney_to_rellekka);
~music_jingle("sailing journey");
mes("You board the longship...");

p_telejump(^from_miscellania_tele_coord);
p_delay(8);
if_close;
~mesbox("The ship arrives at Rellekka.");
3 changes: 3 additions & 0 deletions scripts/areas/area_miscellania/scripts/misc_veg_monger.rs2
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
[opnpc1,misc_veg_monger]
~chatnpc("<p,neutral>Welcome, Sir. I sell only the finest and freshest vegetables!");
~openshop_activenpc;

[opnpc3,misc_veg_monger]
~openshop_activenpc;
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,16 @@
%open_book = misc_ghrimbook;
@open_misc_ghrimbook;

[oploc1,misc_bookcase]
mes("You search the bookcase...");
p_delay(3);
if(inv_total(inv, misc_ghrimbook) > 0 ) {
mes("You find nothing of interest.");
return;
}
inv_add(inv, misc_ghrimbook, 1);
mes("You find a copy of Advisor Ghrim's book."); // Inauthentic, the new one talks about editions, which doesn't exist when it was only one quest.

[label,open_misc_ghrimbook]
@book_flip_page(0, 0, 5, ghrims_book);

Expand Down
4 changes: 2 additions & 2 deletions scripts/quests/quest_misc/scripts/misc_journal.rs2
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ if(%misc_quest = 0) {
$x = append($x, "@dbl@I can start this quest by talking to @dre@King Vargas@dbl@ in|");
$x = append($x, "@dre@Miscellania@dbl@. To start this quest I need to have completed:|");
if(%heroquest >= ^hero_complete) {
$x = append($x, "@dre@Heroes Quest|");
$x = append($x, "@dre@Hero's Quest|");
} else {
$x = append($x, "@str@Heroes Quest|");
$x = append($x, "@str@Hero's Quest|");
}
if (%viking < ^viking_complete) {
$x = append($x, "@dre@The Fremennik Trials|");
Expand Down
19 changes: 18 additions & 1 deletion scripts/quests/quest_viking/scripts/viking_sailor.rs2
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,24 @@ if(%viking = ^viking_not_started) {
} else if(%viking = ^viking_complete) {
// total guess... changes with miscellania
~chatplayer("<p,neutral>Hello. Can I get a ride on your ship?");
~chatnpc("<p,happy>Hello again, <~get_viking_name>. I still need to fix this longboat.");
//~chatnpc("<p,happy>Hello again, <~get_viking_name>. I still need to fix this longboat.");
~chatnpc("<p,happy>Hello again, <text_gender("brother", "sister")> <~get_viking_name>. If you're ready to jump aboard, we're all ready to set sail with the tide!");
def_int $choice = ~p_choice2("Let's go!", 1, "Actually, no.", 2);
if ($choice = 2) {
~chatplayer("<p,neutral>Actually, no.");
~chatnpc("<p,neutral>Okay. Suit yourself.");
return;
}
~chatplayer("<p,quiz>Let's go!");
if_openmain(misc_shipjourney);
if_setanim(misc_shipjourney:com_6, misc_shipjourney_to_misc);
~music_jingle("sailing journey");
mes("You board the longship...");

p_telejump(^to_miscellania_tele_coord);
p_delay(8);
if_close;
~mesbox("The ship arrives at Miscellania.");
}

[label,viking_sailor_merchant]
Expand Down
1 change: 1 addition & 0 deletions scripts/skill_mining/configs/mine.dbrow
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ data=rock,coalrock1
data=rock,coalrock2
data=rock,macro_coalrock1
data=rock,macro_coalrock2
data=rock,misc_dummy_coalrock1
data=ore_name,coal
data=rock_output,coal
data=rock_level,30
Expand Down
11 changes: 7 additions & 4 deletions scripts/skill_woodcutting/scripts/woodcut.rs2
Original file line number Diff line number Diff line change
Expand Up @@ -129,10 +129,13 @@ if ($respawnrate = 0) {
}
if (stat_random(woodcutting, $tree_chance_low, $tree_chance_high) = true) {
def_namedobj $product = db_getfield($data, woodcutting_trees:product, 0);
if (~leif_intercept_wood("You get some <lowercase(oc_name($product))>.", db_getfield($data, woodcutting_trees:productexp, 0)) = true) { return; } // Intercept for Miscellania, you don't get the wood.
mes("You get some <lowercase(oc_name($product))>.");
stat_advance(woodcutting, db_getfield($data, woodcutting_trees:productexp, 0));
inv_add(inv, $product, 1);
if (~leif_intercept_wood("You get some <lowercase(oc_name($product))>.", db_getfield($data, woodcutting_trees:productexp, 0)) = true) {
// Intercept for Miscellania, you don't get the wood.
} else {
mes("You get some <lowercase(oc_name($product))>.");
stat_advance(woodcutting, db_getfield($data, woodcutting_trees:productexp, 0));
inv_add(inv, $product, 1);
}
if (random($deplete_chance) = 0) {
$respawnrate = ~scale_by_playercount($respawnrate);
loc_change(loc_param(next_loc_stage), $respawnrate);
Expand Down