don't call town entrance special node when debug warping
This commit is contained in:
@@ -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() {
|
||||
|
@@ -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) ||
|
||||
|
@@ -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++)
|
||||
|
@@ -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) ;
|
||||
|
Reference in New Issue
Block a user