Add legacy compatibility flag for Affect PC nodes in combat mode

This commit is contained in:
2015-06-21 22:55:00 -04:00
parent c5c3e0c681
commit 28014de5d4
3 changed files with 6 additions and 1 deletions

View File

@@ -25,6 +25,7 @@
#define NUM_OF_HORSES 30
/* stuff done flags */
#define SDF_COMBAT_SELECT_PARTY 305][3
#define SDF_SKIP_STARTUP 305][4 // preferably deprecated
#define SDF_LESS_SOUND 305][5
#define SDF_NO_TARGET_LINE 305][6

View File

@@ -310,10 +310,12 @@ void put_party_in_scen(std::string scen_name) {
if(univ.scenario.format.prog_make_ver[0] < 2){
PSD[SDF_RESURRECT_NO_BALM] = 1;
PSD[SDF_NO_BOAT_SPECIALS] = 1;
PSD[SDF_COMBAT_SELECT_PARTY] = 1;
PSD[SDF_TIMERS_DURING_REST] = 0;
} else {
PSD[SDF_RESURRECT_NO_BALM] = 0;
PSD[SDF_NO_BOAT_SPECIALS] = 0;
PSD[SDF_COMBAT_SELECT_PARTY] = 0;
PSD[SDF_TIMERS_DURING_REST] = 1;
}
}

View File

@@ -1965,7 +1965,9 @@ void run_special(eSpecCtx which_mode,short which_type,short start_spec,location
case eSpecCtx::OUTDOOR_ENC: case eSpecCtx::FLEE_ENCOUNTER: case eSpecCtx::WIN_ENCOUNTER:
case eSpecCtx::DROP_ITEM: case eSpecCtx::SHOPPING: case eSpecCtx::STARTUP:
// Default behaviour - select entire party, or active member if split or in combat
if(is_combat()) current_pc_picked_in_spec_enc = &univ.party[current_pc];
// We also have a legacy flag - originally, it always defaulted to whole party
if(is_combat() && !PSD[SDF_COMBAT_SELECT_PARTY])
current_pc_picked_in_spec_enc = &univ.party[current_pc];
else {
if(univ.party.is_split() && cur_node.type != eSpecType::AFFECT_DEADNESS)
current_pc_picked_in_spec_enc = &univ.party.pc_present();