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
|
#define NUM_OF_HORSES 30
|
||||||
|
|
||||||
/* stuff done flags */
|
/* stuff done flags */
|
||||||
|
#define SDF_COMBAT_SELECT_PARTY 305][3
|
||||||
#define SDF_SKIP_STARTUP 305][4 // preferably deprecated
|
#define SDF_SKIP_STARTUP 305][4 // preferably deprecated
|
||||||
#define SDF_LESS_SOUND 305][5
|
#define SDF_LESS_SOUND 305][5
|
||||||
#define SDF_NO_TARGET_LINE 305][6
|
#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){
|
if(univ.scenario.format.prog_make_ver[0] < 2){
|
||||||
PSD[SDF_RESURRECT_NO_BALM] = 1;
|
PSD[SDF_RESURRECT_NO_BALM] = 1;
|
||||||
PSD[SDF_NO_BOAT_SPECIALS] = 1;
|
PSD[SDF_NO_BOAT_SPECIALS] = 1;
|
||||||
|
PSD[SDF_COMBAT_SELECT_PARTY] = 1;
|
||||||
PSD[SDF_TIMERS_DURING_REST] = 0;
|
PSD[SDF_TIMERS_DURING_REST] = 0;
|
||||||
} else {
|
} else {
|
||||||
PSD[SDF_RESURRECT_NO_BALM] = 0;
|
PSD[SDF_RESURRECT_NO_BALM] = 0;
|
||||||
PSD[SDF_NO_BOAT_SPECIALS] = 0;
|
PSD[SDF_NO_BOAT_SPECIALS] = 0;
|
||||||
|
PSD[SDF_COMBAT_SELECT_PARTY] = 0;
|
||||||
PSD[SDF_TIMERS_DURING_REST] = 1;
|
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::OUTDOOR_ENC: case eSpecCtx::FLEE_ENCOUNTER: case eSpecCtx::WIN_ENCOUNTER:
|
||||||
case eSpecCtx::DROP_ITEM: case eSpecCtx::SHOPPING: case eSpecCtx::STARTUP:
|
case eSpecCtx::DROP_ITEM: case eSpecCtx::SHOPPING: case eSpecCtx::STARTUP:
|
||||||
// Default behaviour - select entire party, or active member if split or in combat
|
// 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 {
|
else {
|
||||||
if(univ.party.is_split() && cur_node.type != eSpecType::AFFECT_DEADNESS)
|
if(univ.party.is_split() && cur_node.type != eSpecType::AFFECT_DEADNESS)
|
||||||
current_pc_picked_in_spec_enc = &univ.party.pc_present();
|
current_pc_picked_in_spec_enc = &univ.party.pc_present();
|
||||||
|
|||||||
Reference in New Issue
Block a user