Ñò
Ñ§£Pc        -   @   sá  d  d k  Z  d  d k l Z d  d k Tde Z e d „  e e ƒ Dƒ ƒ Z df Z e d2 „  e e ƒ Dƒ ƒ Z	 e e i
 d" ƒ  dg e e i
 d" ƒ Z e d= „  e e ƒ Dƒ ƒ Z e e i
 d7 ƒ  Z e d> „  e e ƒ Dƒ ƒ Z dh Z e dO „  e e ƒ Dƒ ƒ Z e e i
 d; ƒ  e Z e dP „  e e ƒ Dƒ ƒ Z e d? Z di Z e dU „  e e ƒ Dƒ ƒ Z dj Z e d^ „  e e ƒ Dƒ ƒ Z e e ƒ e e ƒ @p t ‚ d_ „  Z d` „  Z da e f db „  ƒ  YZ dc e f dd „  ƒ  YZ d S(k   iÿÿÿÿN(   t   izip(   t   *t   spottedt   killedt   hitst   he_hitst   piercedt   damageDealtt   damageAssistedt   critst   firec         c   s'   x  |  ] } | d  | d f Vq Wd S(   i   i    N(    (   t   .0t   x(    (    s'   scripts/common/battle_results_shared.pys	   <genexpr>S   s   	 t   healtht   creditst   xpt   shotst   damageReceivedt   shotsReceivedt   damagedt   killst   tdamageDealtt   tkillst   isTeamKillert   capturePointst   droppedCapturePointst   mileaget   lifeTimet   killerIDt   achievementst   repairt   freeXPt   detailst   potentialDamageDealtt   potentialDamageReceivedt   soloHitsAssistedt   isEnemyBaseCapturedt   stuckst   autoAimedShotst   presenceTimet	   spot_listt   damage_listt	   kill_listt   ammot   crewActivityFlagst   seriest   tkillRatingt   tkillLogt   hasTHitc         c   s'   x  |  ] } | d  | d f Vq Wd S(   i   i    N(    (   R   R   (    (    s'   scripts/common/battle_results_shared.pys	   <genexpr>á   s   	 t   accountDBIDt   teamt   typeCompDescrt   goldt	   xpPenaltyt   creditsPenaltyt   creditsContributionInt   creditsContributionOutt   eventIndicest   vehLockTimeFactorc         c   s'   x  |  ] } | d  | d f Vq Wd S(   i   i    N(    (   R   R   (    (    s'   scripts/common/battle_results_shared.pys	   <genexpr>  s   	 c         c   s'   x  |  ] } | d  | d f Vq Wd S(   i   i    N(    (   R   R   (    (    s'   scripts/common/battle_results_shared.pys	   <genexpr>  s   	 t   tmenXPt   eventCreditst	   eventGoldt   eventXPt   eventFreeXPt   eventTMenXPt   autoRepairCostt   autoLoadCostt   autoEquipCostt	   isPremiumt   premiumXPFactor10t   premiumCreditsFactor10t   dailyXPFactor10t   aogasFactor10t   markOfMasteryt   dossierPopUpsc         c   s'   x  |  ] } | d  | d f Vq Wd S(   i   i    N(    (   R   R   (    (    s'   scripts/common/battle_results_shared.pys	   <genexpr>D  s   	 c         c   s'   x  |  ] } | d  | d f Vq Wd S(   i   i    N(    (   R   R   (    (    s'   scripts/common/battle_results_shared.pys	   <genexpr>J  s   	 t   namet   clanDBIDt
   clanAbbrevt   prebattleIDc         c   s'   x  |  ] } | d  | d f Vq Wd S(   i   i    N(    (   R   R   (    (    s'   scripts/common/battle_results_shared.pys	   <genexpr>]  s   	 t   arenaTypeIDt   arenaCreateTimet
   winnerTeamt   finishReasont   durationt	   bonusTypet   guiTypet   vehLockModec         c   s'   x  |  ] } | d  | d f Vq Wd S(   i   i    N(    (   R   R   (    (    s'   scripts/common/battle_results_shared.pys	   <genexpr>u  s   	 c         C   sB   d  g t |  ƒ } x( |  i ƒ  D] \ } } | | | | <q  W| S(   N(   t   Nonet   lent	   iteritems(   t   indicest   dt   lRK   t   index(    (    s'   scripts/common/battle_results_shared.pyt
   dictToList}  s
     c         C   s7   h  } x* t  |  ƒ D] } | | d | | d <q W| S(   Ni    i   (   t	   enumerate(   t   namesR\   R[   R   (    (    s'   scripts/common/battle_results_shared.pyt
   listToDict„  s
     t   _VehicleInteractionDetailsItemc           B   s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s   | |  _  | |  _ d  S(   N(   t&   _VehicleInteractionDetailsItem__valuest&   _VehicleInteractionDetailsItem__offset(   t   selft   valuest   offset(    (    s'   scripts/common/battle_results_shared.pyt   __init__š  s    	c         C   s   |  i  |  i t | S(   N(   Rc   Rd   t   VEH_INTERACTION_DETAILS_INDICES(   Re   t   key(    (    s'   scripts/common/battle_results_shared.pyt   __getitem__ž  s    c         C   s+   t  t | ƒ d ƒ |  i |  i t | <d  S(   Niÿÿ  (   t   mint   intRc   Rd   Ri   (   Re   Rj   t   value(    (    s'   scripts/common/battle_results_shared.pyt   __setitem__¡  s    c         C   s   t  t |  ƒ ƒ S(   N(   t   strt   dict(   Re   (    (    s'   scripts/common/battle_results_shared.pyt   __str__¤  s    c         C   s   t  t |  i |  i ƒ S(   N(   R    t   VEH_INTERACTION_DETAILSRc   Rd   (   Re   (    (    s'   scripts/common/battle_results_shared.pyt   __iter__§  s    (   t   __name__t
   __module__Rh   Rk   Ro   Rr   Rt   (    (    (    s'   scripts/common/battle_results_shared.pyRb   ˜  s
   				t   VehicleInteractionDetailsc           B   sM   e  Z d  „  Z e d „  ƒ Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c            sJ   | |  _  | |  _ t t ƒ ‰  t ‡  f d †  t |  i  ƒ Dƒ ƒ |  _ d  S(   Nc         3   s+   x$ |  ] } | d  | d ˆ  f Vq Wd S(   i   i    N(    (   R   R   (   t   size(    s'   scripts/common/battle_results_shared.pys	   <genexpr>Å  s   	 (   t&   _VehicleInteractionDetails__vehicleIDst"   _VehicleInteractionDetails__valuesRX   Rs   Rq   R_   t#   _VehicleInteractionDetails__offsets(   Re   t
   vehicleIDsRf   (    (   Rx   s'   scripts/common/battle_results_shared.pyRh   ¾  s    		c         C   sj   t  t ƒ } t  |  ƒ t i d | ƒ } t i d | | | f |  ƒ } | |  } | | } t | | ƒ S(   Ns   I%dHs   %dI%dH(   RX   Rs   t   structt   calcsizet   unpackRw   (   t   packedRx   t   countt   unpackedR|   Rf   (    (    s'   scripts/common/battle_results_shared.pyt
   fromPackedÊ  s     

c         C   s„   |  i  i | d  ƒ } | d  j oR |  i i | ƒ t |  i ƒ } t t ƒ } |  i d g | 7_ | |  i  | <n t |  i | ƒ S(   Ni    (	   R{   t   getRW   Ry   t   appendRX   Rz   Rs   Rb   (   Re   t	   vehicleIDRg   Rx   (    (    s'   scripts/common/battle_results_shared.pyRk   Ö  s    c         C   s   | |  i  j S(   N(   R{   (   Re   R†   (    (    s'   scripts/common/battle_results_shared.pyt   __contains__â  s    c         C   s   t  |  i ƒ  ƒ S(   N(   Rp   t   toDict(   Re   (    (    s'   scripts/common/battle_results_shared.pyRr   æ  s    c         C   sS   t  |  i ƒ } t  t ƒ } t i d | |  i Œ t i d | | |  i Œ } | S(   Ns   %dIs   %dH(   RX   Ry   Rs   R}   t   packRz   (   Re   R�   Rx   R€   (    (    s'   scripts/common/battle_results_shared.pyR‰   ë  s
    c      	   C   sL   t  g  } |  i i ƒ  D]+ \ } } | | t  t |  i | ƒ ƒ f q ~ ƒ S(   N(   Rq   R{   RY   Rb   Rz   (   Re   t   _[1]t   vehIDRg   (    (    s'   scripts/common/battle_results_shared.pyRˆ   ô  s    
(
   Ru   Rv   Rh   t   staticmethodRƒ   Rk   R‡   Rr   R‰   Rˆ   (    (    (    s'   scripts/common/battle_results_shared.pyRw   ·  s   						(	   R   R   R   R   R   R   R   R	   R
   (*   R   s   creditsR   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R    R!   R"   R#   R$   R%   R&   R'   R(   R)   R*   R+   R,   R-   R.   R/   R0   (
   R1   R2   R3   R4   R5   R6   R7   R8   R9   R:   (   R;   R<   R=   R>   R?   R@   RA   RB   RC   RD   RE   RF   RG   RH   RI   RJ   (   s   nameRL   RM   RN   R2   (   RO   RP   RQ   RR   RS   RT   RU   RV   (   R}   t	   itertoolsR    t   debug_utilsRs   Rq   R_   Ri   t   VEH_CELL_RESULTSt   VEH_CELL_RESULTS_INDICESR]   t   VEH_BASE_RESULTSt   VEH_BASE_RESULTS_INDICESt   VEH_PUBLIC_RESULTSt   VEH_PUBLIC_RESULTS_INDICESt   VEH_ACCOUNT_RESULTSt   VEH_ACCOUNT_RESULTS_INDICESt   VEH_FULL_RESULTSt   VEH_FULL_RESULTS_INDICESt   VEH_ACCOUNT_RESULTS_START_INDEXt   PLAYER_INFOt   PLAYER_INFO_INDICESt   COMMON_RESULTSt   COMMON_RESULTS_INDICESt   sett   AssertionErrorR^   Ra   t   objectRb   Rw   (    (    (    s'   scripts/common/battle_results_shared.pyt   <module>   sÆ   
<        	                        
                 )(               
           		