don't call town entrance special node when debug warping

This commit is contained in:
2025-03-16 14:47:42 -05:00
parent 0e0a715c29
commit cf33980fec
4 changed files with 6 additions and 5 deletions

View File

@@ -2190,7 +2190,7 @@ void debug_enter_town() {
else if(univ.party.direction == 4) find_direction_from = 0;
else if(univ.party.direction < 4) find_direction_from = 3;
else find_direction_from = 1;
start_town_mode(town, find_direction_from);
start_town_mode(town, find_direction_from, true);
}
void debug_refresh_stores() {

View File

@@ -486,7 +486,7 @@ static void handle_scenario_args() {
town_location = *scen_arg_loc;
}
force_town_enter(*scen_arg_town, town_location);
start_town_mode(*scen_arg_town, town_entrance);
start_town_mode(*scen_arg_town, town_entrance, true);
}else if(scen_arg_out_sec){
if(!party_in_memory || !univ.party.is_in_scenario() ||
univ.scenario.outdoors.width() < (scen_arg_out_sec->x + 1) ||

View File

@@ -69,7 +69,7 @@ void force_town_enter(short which_town,location where_start) {
}
//short entry_dir; // if 9, go to forced
void start_town_mode(short which_town, short entry_dir) {
void start_town_mode(short which_town, short entry_dir, bool debug_enter) {
short town_number;
short former_town;
bool monsters_loaded = false,town_toast = false;
@@ -326,7 +326,8 @@ void start_town_mode(short which_town, short entry_dir) {
if(no_thrash.count(&monst) == 0)
monst.active = eCreatureStatus::DEAD;
}
handle_town_specials(town_number, (short) town_toast,(entry_dir < 9) ? univ.town->start_locs[entry_dir] : town_force_loc);
if(!debug_enter)
handle_town_specials(town_number, (short) town_toast,(entry_dir < 9) ? univ.town->start_locs[entry_dir] : town_force_loc);
// Flush excess doomguards and viscous goos
for(short i = 0; i < univ.town.monst.size(); i++)

View File

@@ -3,7 +3,7 @@
#include "scenario/outdoors.hpp"
void force_town_enter(short which_town,location where_start);
void start_town_mode(short which_town, short entry_dir);
void start_town_mode(short which_town, short entry_dir, bool debug_enter = false);
location end_town_mode(bool switching_level,location destination,bool debug_leave=false); // returns new party location
void handle_leave_town_specials(short town_number, short which_spec,location start_loc) ;
void handle_town_specials(short town_number, bool town_dead,location start_loc) ;