@@ -322,18 +322,44 @@ DLL_Pure *CEntity::_construct ()
322
322
323
323
const u32 FORGET_KILLER_TIME = 180000 ;
324
324
325
- void CEntity::shedule_Update (u32 dt)
325
+ void CEntity::shedule_Update (u32 dt)
326
326
{
327
- inherited::shedule_Update (dt);
328
- if (!getDestroy () && !g_Alive () && (m_killer_id != u16 (-1 ))) {
329
- if (Device.dwTimeGlobal > m_level_death_time + FORGET_KILLER_TIME) {
330
- m_killer_id = u16 (-1 );
331
- NET_Packet P;
332
- u_EventGen (P,GE_ASSIGN_KILLER,ID ());
333
- P.w_u16 (u16 (-1 ));
334
- if (IsGameTypeSingle ()) u_EventSend (P);
327
+ inherited::shedule_Update (dt);
328
+ BOOL lDestroy = TRUE ;
329
+ BOOL lAlive = TRUE ;
330
+ BOOL lKillerId = TRUE ;
331
+ try {
332
+ lDestroy = getDestroy ();
333
+ }
334
+ catch (std::exception& e) {
335
+ Msg (" RELEASE CONFIGURATION FIX: lDestroy failed" );
336
+ }
337
+ try {
338
+ lAlive = g_Alive ();
339
+ }
340
+ catch (std::exception& e) {
341
+ Msg (" RELEASE CONFIGURATION FIX: lAlive failed" );
342
+ }
343
+ try {
344
+ lKillerId = m_killer_id != u16 (-1 );
345
+ }
346
+ catch (std::exception& e) {
347
+ Msg (" RELEASE CONFIGURATION FIX: lKillerId failed" );
348
+ }
349
+ try {
350
+ if (!lDestroy && !lAlive && lKillerId) {
351
+ if (Device.dwTimeGlobal > m_level_death_time + FORGET_KILLER_TIME) {
352
+ m_killer_id = u16 (-1 );
353
+ NET_Packet P;
354
+ u_EventGen (P, GE_ASSIGN_KILLER, ID ());
355
+ P.w_u16 (u16 (-1 ));
356
+ if (IsGameTypeSingle ()) u_EventSend (P);
357
+ }
335
358
}
336
359
}
360
+ catch (std::exception& e) {
361
+ Msg (" RELEASE CONFIGURATION FIX: if block failed" );
362
+ }
337
363
}
338
364
339
365
void CEntity::on_before_change_team ()
0 commit comments