@@ -258,8 +258,7 @@ export default class Client {
258258 this . inputs . mouse . y = util . constrain ( mouseY , minY , maxY ) ;
259259
260260 const player = camera . cameraData . values . player ;
261- if ( ! Entity . exists ( player ) || ! ( player instanceof TankBody ) ) return ;
262-
261+ if ( ! TankBody . isTank ( player ) ) return ;
263262 // No AI
264263 if ( this . inputs . isPossessing && this . accessLevel !== config . AccessLevel . FullAccess ) return ;
265264
@@ -346,7 +345,7 @@ export default class Client {
346345 if ( camera . cameraData . statsAvailable <= 0 ) return ;
347346
348347 const player = camera . cameraData . values . player ;
349- if ( ! Entity . exists ( player ) || ! ( player instanceof TankBody ) ) return ;
348+ if ( ! TankBody . isTank ( player ) ) return ;
350349
351350 const definition = getTankById ( player . currentTank ) ;
352351 if ( ! definition || ! definition . stats . length ) return ;
@@ -366,7 +365,7 @@ export default class Client {
366365 }
367366 case ServerBound . TankUpgrade : {
368367 const player = camera . cameraData . values . player ;
369- if ( ! Entity . exists ( player ) || ! ( player instanceof TankBody ) ) return ;
368+ if ( ! TankBody . isTank ( player ) ) return ;
370369
371370 const definition = getTankById ( player . currentTank ) ;
372371 const tankId : Tank = r . vi ( ) ^ TANK_XOR ;
@@ -460,7 +459,7 @@ export default class Client {
460459 ai . state = AIState . possessed ;
461460
462461 // Silly workaround to change color of player when needed
463- if ( this . camera ?. cameraData . values . player instanceof ObjectEntity ) {
462+ if ( ObjectEntity . isObject ( this . camera ?. cameraData . values . player ) ) {
464463 const color = this . camera . cameraData . values . player . styleData . values . color ;
465464 this . camera . cameraData . values . player . styleData . values . color = - 1 as Color ;
466465 this . camera . cameraData . values . player . styleData . color = color ;
@@ -480,7 +479,7 @@ export default class Client {
480479 this . camera . cameraData . player = ai . owner ;
481480 this . camera . cameraData . movementSpeed = ai . movementSpeed ;
482481
483- if ( ai . owner instanceof TankBody ) {
482+ if ( TankBody . isTank ( ai . owner ) ) {
484483 // If its a TankBody, set the stats, level, and tank to that of the TankBody
485484 this . camera . cameraData . tank = ai . owner . cameraEntity . cameraData . values . tank ;
486485 this . camera . setLevel ( ai . owner . cameraEntity . cameraData . values . level ) ;
@@ -490,13 +489,13 @@ export default class Client {
490489 for ( let i = 0 ; i < StatCount ; ++ i ) this . camera . cameraData . statNames [ i as Stat ] = ai . owner . cameraEntity . cameraData . statNames . values [ i ] ;
491490
492491 this . camera . cameraData . FOV = ai . owner . cameraEntity . cameraData . FOV ;
493- } else if ( ai . owner instanceof AbstractBoss ) {
492+ } else if ( AbstractBoss . isBoss ( ai . owner ) ) {
494493 this . camera . setLevel ( 75 ) ;
495494 this . camera . cameraData . FOV = 0.35 ;
496495 } else {
497496 this . camera . setLevel ( 30 ) ;
498497 }
499-
498+
500499 this . camera . cameraData . statsAvailable = 0 ;
501500 this . camera . cameraData . score = 0 ;
502501 this . camera . entityState = EntityStateFlags . needsCreate | EntityStateFlags . needsDelete ;
0 commit comments