;ò ÜÎ}Gc@s±dkTdkTdkZdkZdkTdkZdkZdklZdZ dZ dZ dZ dZ dZd ZdZdZd Zd Zgad „Zd efd„ƒYZdS((s*N(sAirObjii?i–i,f0.96999999999999997f0.11if1.0i cCs>x7tddƒD]&}d|}titi|ƒƒqWdS(Nii@s bomb%02d.gif(srangesloopsfilenamesimagessappendsgfxsload(sloopsfilename((sO/mnt/gmirror/ports/games/farblazer/work/farblazer-0.7/code/sprites/objrocket.pysload_game_resourcess  sRocketcBsbtZdZeeeed„Zd„Zd„Z d„Z d„Z d„Z d„Z d„ZRS( sÛparameters: lock = None, 0, 1 - If 1, rocket 'locks on' to player fuel = None, integer - Units of fuel thrust = None, float - constant multiplier of standard thrust cCs3ti|dtƒti|i|_d|_t |_ t |_ t |_ t|_t|_t|iddddƒd|_ |i |i |_|iiƒ|_t|_||_||_d|_d|_|i|ig|i_|ii|ii|_|ii|ii |_!ti"iti#|_$ti"i%ti#|_&ti'i ti#|_(ti'i)|ii*|_+ti,|_-d|_.||_/||_0ti1|_2t3|_4t5||_7||_8d|_9t:|_;||_=ti>|_?d|_@d|_Ad|_Bd|_C|i/iD|i|iƒd S( screate a new rocketsrocketif360.0f128.0f64.0i@f0.0iÈN(EsAirObjs__init__sselfsNonesgames point_tblsnames pointvaluesdeadsimagess STARTIMAGEsimagenumsMAXIMAGEsmaximages DIRECTIONs directionsFACINGsfacingsintsimagesget_rectsrectslastrectsxsysdxsdystopleftscenterxsleftsxoffsetscenterystopsyoffsetsarenas rocket_ranges range_leftsrights range_rights groundarenas range_topsbottomsheights range_bottomsrocket_gravitysgravityslauncheds exhaustobjslock_onsrocket_maxthrusts maxthrustsFRICTIONsfrictionsTHRUSTsthrust_multipliers thrustvalsfuels thrusttimersTHRUST_INTERVALsthrustintervals start_seqsstartseq_timerscollision_timers collidetimersthrustsxthrustsythrusts player_dists add_particle(sselfsxsys exhaustobjs start_seqslock_onsfuelsthrust_multiplier((sO/mnt/gmirror/ports/games/farblazer/work/farblazer-0.7/code/sprites/objrocket.pys__init__-sT      &                     cCs/||iƒ|ioti|iƒndS(N(s backgroundsselfslastrectsdeadsgfxsdirty(sselfs background((sO/mnt/gmirror/ports/games/farblazer/work/farblazer-0.7/code/sprites/objrocket.pyserasems  cCs;|ii|i|iƒ}|i||iƒ||_dS(N( sgfxssurfacesblitsselfsimagesrectsrsdirty2slastrect(sselfsgfxsr((sO/mnt/gmirror/ports/games/farblazer/work/farblazer-0.7/code/sprites/objrocket.pysdrawsscCs#|ii|ƒodSndSdS(Nii(sselfsrects colliderect(sselfsrect((sO/mnt/gmirror/ports/games/farblazer/work/farblazer-0.7/code/sprites/objrocket.pyscollideyscCsÑ|iƒ|iƒ|i|i7_|i|i7_|iti joti |_n$|itijoti|_n|iti joti |_n$|itijoti|_n|i |i|ti 7_ |i |i|7_ |i |i jo d|_n!|i |ijo d|_n|i |ijo d|_n|i |ijo"|i|_ d|_d|_n|i|i|_|iiƒ|_|i |i g|i_dS(Nii(sselfsthinksphysicssdxsxthrustsdysythrustsgamesrocket_max_velsxs speedadjusts groundspeedsys range_leftsdeads range_rights range_tops range_bottoms explodingsimagessimagenumsimagesget_rectsrectstopleft(sselfs speedadjust((sO/mnt/gmirror/ports/games/farblazer/work/farblazer-0.7/code/sprites/objrocket.pystick€s6        cCs|id7_|i|idjodSn|id7_|idjod}|i}n³|i|if\}}ttii |i ƒ}ttii |i ƒ}t |d|dƒ|_|djo d}ntt||ƒƒ }tiidjo ||_n|djo |djoJttt||ƒƒddƒ}|djod|}n||_n |i}t|dd dd ƒd |_|i|i|_|iiƒ|_|iƒ|_t|iƒ}t |ƒ|i|_!t"|ƒ |i|_#dS( Niiiÿÿÿÿif180.0iZihf360.0f128.0f64.0i@($sselfs thrusttimersthrustintervalsstartseq_timersdxsdysfloatsgamesplayersxsxdistsysydistssqrts player_distsangle_to_playersdegsatan2sdeads directionsfmodsfacingsintsimagenumsimagessimagesget_rectsrectsimpulsesthrustsrads rad_anglescossxthrustssinsythrust(sselfsydistsxdistsfacingsdxsdys rad_anglesangle_to_player((sO/mnt/gmirror/ports/games/farblazer/work/farblazer-0.7/code/sprites/objrocket.pysthink§s:    "   #cCs>|i|i|_|idjo|i|i|_ndS(Ni(sselfsdysfrictionsfuelsgravity(sself((sO/mnt/gmirror/ports/games/farblazer/work/farblazer-0.7/code/sprites/objrocket.pysphysicsÜscCsò|id7_|idjod|_dSn¿|iddjoZ|i|i}|i|i}tii||ddfƒo|i i ||ƒqžn|i djo9|i djo|id7_|i dSqî|i Sn|i SdS(Niÿÿÿÿiiii–i(sselfsfuelsxsxoffsetsysyoffsetsgames groundarenascontainss exhaustobjs add_particleslock_ons player_dists thrustval(sselfsysx((sO/mnt/gmirror/ports/games/farblazer/work/farblazer-0.7/code/sprites/objrocket.pysimpulseâs  (s__name__s __module__s__doc__s START_SEQsLOCK_ONsFUELsTHRUST_MULTIPLIERs__init__serasesdrawscollidesticksthinksphysicssimpulse(((sO/mnt/gmirror/ports/games/farblazer/work/farblazer-0.7/code/sprites/objrocket.pysRocket%s @    ' 5 (smathsmiscmathsrandomspygames pygame.localssgamesgfxs baseairobjsAirObjs STARTIMAGEsMAXIMAGEs DIRECTIONsFACINGsFRICTIONsTHRUSTsTHRUST_INTERVALsLOCK_ONsFUELsTHRUST_MULTIPLIERs START_SEQsimagessload_game_resourcessRocket(sgfxsAirObjsRocketsload_game_resourcess STARTIMAGEsrandoms DIRECTIONsFRICTIONsTHRUST_MULTIPLIERsFACINGsFUELsgamespygamesMAXIMAGEsTHRUSTs START_SEQsLOCK_ONsTHRUST_INTERVAL((sO/mnt/gmirror/ports/games/farblazer/work/farblazer-0.7/code/sprites/objrocket.pys?s(