Allow specials to trigger while in a boat.
This commit is contained in:
@@ -46,6 +46,7 @@
|
||||
#define SDF_SKIP_STARTUP 305][4 // preferably deprecated
|
||||
#define SDF_LESS_SOUND 305][5
|
||||
#define SDF_NO_TARGET_LINE 305][6
|
||||
#define SDF_NO_BOAT_SPECIALS 305][7
|
||||
#define SDF_RESURRECT_NO_BALM 305][8
|
||||
#define SDF_HOSTILES_PRESENT 305][9
|
||||
#define SDF_NO_MAPS 306][0
|
||||
|
||||
@@ -527,8 +527,10 @@ void put_party_in_scen(std::string scen_name)
|
||||
// Compatibility flags
|
||||
if(scenario.format.prog_make_ver[0] < 2){
|
||||
PSD[SDF_RESURRECT_NO_BALM] = 1;
|
||||
PSD[SDF_NO_BOAT_SPECIALS] = 1;
|
||||
} else {
|
||||
PSD[SDF_RESURRECT_NO_BALM] = 0;
|
||||
PSD[SDF_NO_BOAT_SPECIALS] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -238,8 +238,13 @@ bool check_special_terrain(location where_check,eSpecCtx mode,short which_pc,sho
|
||||
*forced = true;
|
||||
}
|
||||
*spec_num = univ.town->spec_id[i];
|
||||
if(!is_blocked(where_check) || ter_special == eTerSpec::CHANGE_WHEN_STEP_ON
|
||||
|| ter_special == eTerSpec::CALL_SPECIAL) {
|
||||
bool runSpecial = false;
|
||||
if(!is_blocked(where_check)) runSpecial = true;
|
||||
if(ter_special == eTerSpec::CHANGE_WHEN_STEP_ON) runSpecial = true;
|
||||
if(ter_special == eTerSpec::CALL_SPECIAL) runSpecial = true;
|
||||
if(!PSD[SDF_NO_BOAT_SPECIALS] && univ.party.in_boat >= 0 && scenario.ter_types[ter].boat_over)
|
||||
runSpecial = true;
|
||||
if(runSpecial) {
|
||||
give_help(54,0);
|
||||
run_special(mode,2,univ.town->spec_id[i],where_check,&s1,&s2,&s3);
|
||||
if (s1 > 0)
|
||||
|
||||
Reference in New Issue
Block a user