diff --git a/common/main/ai.h b/common/main/ai.h index 8e89add6b..04a9aa72a 100644 --- a/common/main/ai.h +++ b/common/main/ai.h @@ -182,7 +182,6 @@ static inline void force_dump_ai_objects_all(const char *msg) namespace dsx { void start_boss_death_sequence(vmobjptr_t objp); extern void ai_init_boss_for_ship(void); -void boss_init_all_segments(const object &boss_objnum); void init_ai_for_ship(); #if defined(DXX_BUILD_DESCENT_II) diff --git a/similar/main/ai.cpp b/similar/main/ai.cpp index 1485d3c7d..4c03d073a 100644 --- a/similar/main/ai.cpp +++ b/similar/main/ai.cpp @@ -154,8 +154,8 @@ static int Overall_agitation; point_seg_array_t Point_segs; point_seg_array_t::iterator Point_segs_free_ptr; static array Ai_cloak_info; -fix64 Boss_cloak_start_time = 0; -fix64 Last_teleport_time = 0; +fix64 Boss_cloak_start_time; +fix64 Last_teleport_time; } namespace dsx { static @@ -170,7 +170,7 @@ const fix Boss_cloak_interval = F1_0*10; // Time between cloaks } namespace dcx { -fix64 Last_gate_time = 0; +fix64 Last_gate_time; static fix64 Boss_dying_start_time; fix Gate_interval = F1_0*6; sbyte Boss_dying, Boss_dying_sound_playing, Boss_hit_this_frame; @@ -475,7 +475,7 @@ void ai_init_boss_for_ship(void) #endif } -void boss_init_all_segments(const object &boss_objnum) +static void boss_init_all_segments(const object &boss_objnum) { if (!Boss_teleport_segs.empty()) return; // already have boss segs @@ -568,7 +568,12 @@ void init_ai_object(vmobjptridx_t objp, ai_behavior behavior, const imsegidx_t h && !EditorWindow #endif ) + { + Last_gate_time = 0; + Last_teleport_time = 0; + Boss_cloak_start_time = 0; boss_init_all_segments(objp); + } } // ---------------------------------------------------------------------------------------------------------------------