)$onLevelLoadedc2Cannon%this$p2Cannonmountp2CannonPlayer2ImagesetEnabledcreateProjectileCannonball2t2dStaticSpritescenegraphclassplayershootProjectileenableUpdateCallbacksetImageMapcannonballImageMap1setSizegetRotation%facing_angle_degsetRotationsetLayersetCollisionActivesetCollisionPhysicssetCollisionCallbacksetCollisionPolyCustomsetPositionXgetPositionXsetPositionYgetPositionY%facing_angle_radsetLinearVelocityPolar$speedmultiplier2setDampinggetCurrentCameraAreasceneWindow2d%cameraViewBoundssetWorldLimitkillgetWordgetWidthgetHeightonUpdate$initialspeed2$distancetravelled2VectorDistgetPosition$currentDistance2alxPlayExplosion1$CannonballImpactHandleCannonexplodesafeDelete$damagedone$currentWidth2onCollision%dstObjPlayer1Image$correctdist2$Cannonball2ImpactHandledealDamage%srcObj$correctdist4$GrenadeImpactp2HandletreeFiret2dParticleEffect%cannonExplodeEffect2loadEffectsetEffectLifeModesetPositionplayEffect%treeBurngetBehavior%victim%takesDamageisObjecttakeDamage%amount10.50536-0.388 -0.4030.083 -0.5600.570 -0.1620.467 0.452-0.177 0.594-0.594 0.1622Player1trees~/data/particles/cannonExplosion.effKILL~/data/particles/campfire.effTakesDamageAdvBehavior f@" @V@4@@?(@r@?@D@>@?K>"(#+9PEOEOCOCOCOCOCOCOCOG9PEOCOG9 @PEOCOz"(,/3H-/M69EH-/M69"(H-/M69>H"(,/M69P"(,/3OG9 6P"(OG9P"(OEOG9P"(OC OC OG9P"(OG#+9P"(O"(OG9P"(OC OG9P"(OCOCOG9P"(OCOCOG9P"(OCOG9P"(OC OCOCOC*OC7OCCOCPOG9P"(OP"(,/3OGOG9P"(OP"(,/3OGOG9P"(OG#+9AA"' #*P"(OCOG#+9P"(OF8+ P"(O"(O"(OG9  1=F "#$ %'7(O)g*t+,.2357>9K;Y<a>g@ACDEFIJOPR:VJXWYr[\]^`cefhi lstDuQv^wnxy *+=W9#-  1~jMAp`SF#xa S@'ou Z\INHFG@F8E0DCKKB<p|k{nyf]w\Vyd\MHQND71:.)) 1 $"A~c^gKtFP3;' Zyqm6rZBhO_d=8|Z83_kP)lJN?C9'-6ct-3 i$15 u/*j=VQ>9 }mVE @