Add legacy compatibility flag for Affect PC nodes in combat mode
This commit is contained in:
@@ -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
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
||||
|
@@ -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();
|
||||
|
Reference in New Issue
Block a user