
Pc           @   sO  d  d k  Z  d  d k Z d  d k Z d  d k Z d  d k Z e i   e  i   Z d e d <d e d <d e d <d e d	 <d
 e d <h  Z e i	 d  Z
 e i	 d  Z e g  Z e i	 d  D] Z e e e i f q [  Z e  i d  Z e  i   Z d d d d d d d f Z d d d d d d d d d d  f
 Z d!   Z e   Z d" e f d#     YZ d$ e f d%     YZ d& e f d'     YZ d( e f d)     YZ d*   Z e  d+  Z! d,   Z" e  d-  Z# d.   Z$ d/   Z% d0   Z& d1   Z' d2   Z( d3   Z) d4   Z* d5   Z+ d6   Z, d7   Z- d8   Z. d9   Z/ d:   Z0 e0   d S(;   iNs%   Playerlib EventScripts python libraryt   names   250-r860t   versions   Don and the ES development teamt   authorss.   http://python.eventscripts.com/pages/Playerlibt   urls$   Provides and sets player informationt   descriptions   #primarys
   #secondarys   #allt   eventscripts_lastgivet   ammot   clipt   weaponindext   distancet   obstructionbetweent
   nearplayert   closestplayerbyteamt   pusht   noclipt   noblockt   jetpackt   freezet   flasht   godmodet   burnt
   extinguisht   uniqueidc           C   sT  t  d3 j o d Sn<t  d j o d Sn't  d j o d Snt  d4 j o d Sn t  d5 j o d Sn t  d j o d Sn t  d6 j o d Sn t  d j o d  Sn t  d! j o d" Sn t  d# j o d$ Sn t  d7 j o d' Snj t  d( j o d) SnU t  d* j o d+ Sn@ t  d, j o d- Sn+ t  d. j o d/ Sn t  d0 j o d1 Sn d2 S(8   Nt   cstriket	   left4deadt
   left4dead2s   CCSPlayer.m_angEyeAngles[%s]t   dods   CDODPlayer.m_angEyeAngles[%s]t   tfs+   CTFPlayer.tfnonlocaldata.m_angEyeAngles[%s]t   hl2mpt   ageofchivalryt   dipript   fistful_of_fragst   gesourcet   hl2ctft	   smashballt   sot   sourcefortst   synergyt   zombie_mastert   zpss    CHL2MP_Player.m_angEyeAngles[%s]t   hl2t   episodict   ep2s   CBaseFlex.m_vecViewOffset[%s]t   portals!   CPortal_Player.m_angEyeAngles[%s]t   ag2t	   Jailbreaks2   CHL2MP_Player.hl2mpnonlocaldata.m_angEyeAngles[%s]t   dystopias   CDYSPlayer.m_angEyeAngles[%s]t   esmods   CESPlayer.m_angEyeAngles[%s]t   FortressForevers   CFFPlayer.m_angEyeAngles[%s]t   empirest   hiddens   CSDKPlayer.m_angEyeAngles[%s]t   hl1mps    CHL1MP_Player.m_angEyeAngles[%s]t
   insurgencys&   CINSPlayer.sensdata.m_angEyeAngles[%s]t   NeotokyoSources   CNEOPlayer.m_angEyeAngles[%s]t   pvkiis   CPVK2Player.m_angEyeAngles[%s]t   sgtlss*   CTLSPlayer.nonlocaldata.m_angEyeAngles[%s]t    (   R   R   R   (   R   R   R   R   R    R!   R"   R#   R$   R%   R&   R'   (   R(   R)   R*   (   R,   R-   (   R1   R2   (   t	   _gamename(    (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   _getEyeAngle'   sD    
t   _PlayerlibErrorc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyR;   P   s    t   UseridErrorc           B   s   e  Z RS(    (   R<   R=   (    (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyR>   R   s    t   PlayerErrorc           B   s   e  Z RS(    (   R<   R=   (    (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyR?   T   s    t   Playerc           B   s  e  Z d  dn d     YZ d e f d     YZ d e f d     YZ d Z h  Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z  d   Z! d  d!  Z" d"   Z# d#   Z$ d$   Z% d%   Z& d&   Z' d'   Z( d(   Z) d)   Z* d*   Z+ d+   Z, d,   Z- d-   Z. d.   Z/ d/   Z0 d0   Z1 d1   Z2 d2   Z3 d3   Z4 d4   Z5 d5   Z6 d6   Z7 d7   Z8 d8   Z9 d9   Z: d:   Z; d;   Z< do d<  Z> e? d=  Z@ d>   ZA d? d@  ZB dA   ZC dB   ZD dC   ZE dD   ZF dE   ZG dF   ZH dG   ZI dH   ZJ dI   ZK dJ   ZL dK   ZM dL   ZN dM   ZO dN   ZP dO   ZQ dP   ZR dQ   ZS e? dR  ZT dS   ZU do dT  ZV dU   ZW dV   ZX dW   ZY dX   ZZ dY   Z[ dZ   Z\ d[   Z] d\   Z^ d]   Z_ d^   Z` d_   Za d`   Zb da   Zc do db  Zd dc   Ze dd   Zf d? de  Zg df   Zh dg   Zi dh   Zj di   Zk dj   Zl do dk  Zm e? do dl  Zn e? do dm  Zo RS(p   t   ReturnValuec           B   s\   e  Z d  Z d	 Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z d   Z RS(
   s   
        Allows integer or float return values to be coerced into other data types.
        This class preserves backwards-compatibility while also allowing more intuitive comparisons.
        c         C   s   t  |  |  _ d  S(   N(   t   strt   value(   t   selfRC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   __init__h   s    c         C   s?   t  t |  o+ t  t i |  o t t |   |  Sn d  S(   N(   t   hasattrRB   R@   RA   t   getattr(   RD   RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   __getattr__j   s    $c         O   s-   t  |  i  p t d  n |  i | |   S(   Ns$   'ReturnValue' object is not callable(   t   callablet	   call_funct	   TypeError(   RD   t   at   kw(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   __call__m   s    c         C   s   |  i  S(   N(   RC   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   __str__q   s    c         C   s   t  |  i  S(   N(   t   intRC   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   __int__s   s    c         C   s   t  |  i  S(   N(   t   floatRC   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt	   __float__u   s    c         C   s   t  t |    S(   N(   t   boolRP   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   __nonzero__w   s    c         C   s   t  | t  o |  i | f Snm t  | t  o t |   | f SnI t  | t  o t |   | f Sn% t  | t  o t |   | f Sn d  S(   N(   t
   isinstanceRB   RC   RP   RT   RR   t   None(   RD   t   other(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt
   __coerce__y   s    N(   R<   R=   t   __doc__RW   RJ   RE   RH   RN   RO   RQ   RS   RU   RY   (    (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyRA   b   s   							t   AttributeLevelc           B   sG   e  Z d  Z d Z d Z d   Z d   Z d   Z d   Z	 d   Z
 RS(   sI    Provides a sub-attribute level for any get/set attributes requiring it. R8   c         C   s   | |  _  | |  _ d  S(   N(   t   _parentt   _name(   RD   t   parentR    (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyRE      s    	c         C   sZ   t  t i |  o t |  |  Sn y |  i |  SWn t j
 o } t |  n Xd  S(   N(   RF   R@   R[   RG   t   __getitem__t   KeyErrort   AttributeError(   RD   R    t   e(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyRH      s    c         C   ss   | i  d  p t t i |  o t i |  | |  n6 y |  i | |  Wn t j
 o } t |  n Xd  S(   Nt   _(	   t
   startswithRF   R@   R[   t   objectt   __setattr__t   __setitem__R`   Ra   (   RD   R    RC   Rb   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyRf      s    #c         C   s   |  i  i |  i |  S(   N(   R\   t   getR]   (   RD   R    (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyR_      s    c         C   s   |  i  i |  i | | f  S(   N(   R\   t   setR]   (   RD   R    RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyRg      s    N(   R<   R=   RZ   RW   R\   R]   RE   RH   Rf   R_   Rg   (    (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyR[      s   				t   LockedDictionaryc           B   sq   e  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z RS(   s_    Creates a dictionary that can be initialized but not changed -- created for player attributes c         C   s   |  i    d  S(   N(   t   _error(   RD   R    (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   __detattr__   s    c         C   s   |  i    d  S(   N(   Rk   (   RD   R    (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   __delitem__   s    c         C   s   |  i    d  S(   N(   Rk   (   RD   R    RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyRf      s    c         C   s   |  i    d  S(   N(   Rk   (   RD   R    RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   __setattribute__   s    c         C   s   |  i    d  S(   N(   Rk   (   RD   R    RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyRg      s    c         C   s   |  i    d  S(   N(   Rk   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   clear   s    c         O   s   |  i    d  S(   N(   Rk   (   RD   RL   RM   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   pop   s    c         C   s   |  i    d  S(   N(   Rk   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   popitem   s    c          G   s   t  i   d  S(   N(   RD   Rk   (   RL   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt
   setdefault   s    c         O   s   |  i    d  S(   N(   Rk   (   RD   RL   RM   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   update   s    c         C   s   t  d  d  S(   Ns,   LockedDictionary instances cannot be changed(   R`   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyRk      s    (   R<   R=   RZ   Rl   Rm   Rf   Rn   Rg   Ro   Rp   Rq   Rr   Rs   Rk   (    (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyRj      s   										i    c         C   ss   t  |  i   p t d t  |  d  n t |  |  _ |  i   p t d t  |  d  n |  i   d S(   s/    Initialization of Player class with a userid. t   's   ' is an invalid useridN(   RB   t   isdigitRK   RP   t   useridt   isOnlineR>   t   refreshAttributes(   RD   t   playerid(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyRE      s    c         C   s   yw t  i |  i  |  i |  _ d |  i j o2 t i |  i d  } | o | |  i d <qa n |  i |  i  |  _ Wn t j
 o t d  n Xd S(   s   
        Refresh the attributes for this player from ES. These are cached in
        the player object for performance.
        t   weapons   Player has left serverN(	   t   est   createplayerlistRv   t
   attributest	   weaponlibt	   getWeaponRj   R`   R?   (   RD   t	   newweapon(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyRx      s    c         C   sW   t  t |  o t |  |  Sn3 y |  i |  SWn t j
 o } t |  n Xd S(   s   
        Returns normal class attributes and passes unknown attributes to
        __getitem__ for a possible use with the "get" function.
        N(   RF   R@   RG   R_   R`   Ra   (   RD   R    Rb   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyRH      s    c         C   s   | t  j o |  i |  |  Sn d } y |  i |  } Wn t j
 o } d } n X| t j o) |  i |  } t |  d |  | _ n | d j o | d j	 o t |  n | Sd S(   s   
        Passes the item name to the "get" function and returns the result.
        If the item requires sub-attributes we return an AttributeLevel class instead.
        Rc   N(	   t   _attribute_recursionR[   RW   Rh   R`   t   _callable_attributesRA   RG   RJ   (   RD   R    Rb   t
   return_val(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyR_      s    c         C   sp   | i  d  p t t |  o t i |  | |  n6 y |  i | |  Wn t j
 o } t |  n Xd S(   s   
        Sets normal class attributes and passes unknown attributes to
        __setitem__ for possible use with the "set" function.
        Rc   N(   Rd   RF   R@   Re   Rf   Rg   R`   Ra   (   RD   R    RC   Rb   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyRf      s     c         C   s   |  i  | |  d S(   s>    Passes the item name and desired value to the "set" function N(   Ri   (   RD   R    RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyRg     s    c         C   s   |  i  S(   sS    Returns the integer userid of the player when the instance is cast to an integer. (   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyRQ     s    c         C   s   t  |  i  S(   sM    Returns the string of the player's userid mostly for string formatting (%s) (   RB   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyRO     s    c         C   s6   x& t  D] } |  i |  o | Sq q W|  i d  S(   sX    Returns the name of the player's primary weapon returning False if no weapon is found. t   0(   t   _primary_weaponst   getWeaponIndexRA   (   RD   Rz   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt
   getPrimary  s
     c         C   s6   x& t  D] } |  i |  o | Sq q W|  i d  S(   sZ    Returns the name of the player's secondary weapon returning False if no weapon is found. R   (   t   _secondary_weaponsR   RA   (   RD   Rz   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getSecondary!  s
     c         C   s   t  i |  i d  S(   s3    Returns the number of HE grenades the player has. s!   CBasePlayer.localdata.m_iAmmo.011(   R{   t   getplayerpropRv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getHE(  s    c         C   s   t  i |  i d  S(   s2    Returns the number of flashbangs the player has. s!   CBasePlayer.localdata.m_iAmmo.012(   R{   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getFB,  s    c         C   s   t  i |  i d  S(   s6    Returns the number of smoke grenades the player has. s!   CBasePlayer.localdata.m_iAmmo.013(   R{   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getSG0  s    c         C   s$   |  i  |  i d  o d n d  S(   s<    Returns True if the player has C4 otherwise returns False. t	   weapon_c4t   1R   (   RA   R   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   hasC44  s    c         C   sx   | d j o |  i    } n- | d j o |  i   } n t i |  } | p |  i d  Sn t i |  i t |  S(   s   
        Returns the player's ammo for the specified weapon or weapon type, returning
        False if the player has no corresponding weapon.
        "weapon" parameter is either a weapon name, 'primary' (or '1') or 'secondary' (or '2').
        R   t   primaryt   2t	   secondaryi    (   R   s   primary(   R   s	   secondary(	   R   R   R~   R   RA   R{   R   Rv   t   _weapons_ammo(   RD   Rz   t   weapon_name(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getAmmo8  s    c         C   s   | d j o |  i    } n- | d j o |  i   } n t i |  } | p |  i d  Sn |  i |  } | p t d |  n t d j o t i	 | d  Sn t i	 | d	  Sd
 S(   s   
        Returns the player's clip amount for the specified weapon or weapon type, returning
        False if the player has no corresponding weapon.
        "weapon" parameter is either a weapon name, 'primary' (or '1') or 'secondary' (or '2').
        R   R   R   R   R   s   Player has no '%s' weaponR   s   CBaseCombatWeapon.m_iClip1s*   CBaseCombatWeapon.LocalWeaponData.m_iClip1N(   R   s   primary(   R   s	   secondary(
   R   R   R~   R   RA   R   t
   ValueErrorR9   R{   t   getindexprop(   RD   Rz   R   t   index(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getClipH  s    c         C   sx   t  i |  } | d j o t d |  n t i |  i  } x2 | i D]' } t i | d  | j o | SqI qI Wd S(   s   
        Returns the index of the specified weapon held by the player.
        Returns 0 if the player doesn't have the specified weapon.
        s   '%s' is not a valid weapons   CBaseCombatWeapon.m_hOwneri    N(	   R~   R   RW   R   R{   t   getplayerhandleRv   t	   indexlistR   (   RD   Rz   t   weapon_to_findt   handleR   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyR   ^  s    
 c         C   sc   t  i |  i  } g  } xD t i   D]6 \ } } t  i | d  | j o | i |  q% q% W| S(   sL    Returns a list of the player's weapons (only weapons with unique indexes). s   CBaseEntity.m_hOwnerEntity(   R{   R   Rv   R~   t   getWeaponIndexListR   t   append(   RD   R   t
   weaponlistR   Rz   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getWeaponListl  s     c         C   s   t  i d  d j o t d t d  n t i |  i d  i d  d } t i |  i t  d  } t i |  i t  d  } | | d j  o | d	 n | t |  f S(
   s"    Returns the player's view angle. s   %si   s$   getViewAngle does not support game "t   "s   CBaseEntity.m_angRotationt   ,i   i    ih  (	   t	   _eyeanglet   countt   NotImplementedErrorR9   R{   R   Rv   t   splitRR   (   RD   t
   myRotationt   myEyeAngle0t   myEyeAngle1(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getViewAngleu  s    "c         C   s   t  i |  i d  S(   s#    Returns the player's cash amount. s   CCSPlayer.m_iAccount(   R{   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getCash~  s    c         C   s   t  i |  i d  S(   s%    Returns the player's health amount. s   CBasePlayer.m_iHealth(   R{   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt	   getHealth  s    c         C   s   t  i |  i d  S(   s$    Returns the player's armor amount. s   CCSPlayer.m_ArmorValue(   R{   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getArmor  s    c         C   s   t  i |  i d  S(   s(    Returns the player's speed multiplier. s-   CBasePlayer.localdata.m_flLaggedMovementValue(   R{   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getSpeed  s    c         C   s   t  i |  i d  d S(   s?    Returns 1 if the player has a defuse kit otherwise returns 0. s   CCSPlayer.m_bHasDefuseri   (   R{   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt
   hasDefuser  s    c         C   s   t  i d  d j o t d t d  n t i |  i t  d  } t i |  i t  d  } t i t i	 |   } t i
 t i	 |   } d t i
 t i	 |   } | | | f S(   s#    Returns the player's view vector. s   %si   s"   viewVector does not support game "R   i    i(   R   R   R   R9   R{   R   Rv   t   matht   cost   radianst   sin(   RD   R   R   t   myXt   myYt   myZ(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt
   viewVector  s    t   xyzc         C   s  t  | d  o9 t | t  o t d  n t t |  \ } } } n( t |  i } t i	 |  \ } } } t i	 |  i  \ } } }	 | | }
 | | } |	 | } | d j o |
 Sn | d j o | Sn | d j o | Sn | d j o |
 d | d d Snx | d	 j o |
 d | d d SnS | d
 j o | d | d d Sn. | d j o  |
 d | d | d d Sn |  i
 d  S(   s   
        Returns the player's distance to a player or coordinate on the given plane.
        "value" parameter can either be a three-element iterable of coordinates or a userid.
        t   __iter__s-   getDistance coordinates cannot be type 'dict't   xt   yt   zt   xyi   g      ?t   xzt   yzR   R   (   RF   RV   t   dictRK   t   mapRR   t	   getPlayerRv   R{   t   getplayerlocationRA   (   RD   RC   t   planet   his_xt   his_yt   his_zt   target_useridt   my_xt   my_yt   my_zR   R   R   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getDistance  s2    


 c         C   s0   |  i  t i |  i d  d j o d n d  S(   sG    Returns True if the player is in noclip mode otherwise returns False. s   CBaseEntity.movetypei   R   R   (   RA   R{   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt	   getNoClip  s    c         C   s0   |  i  t i |  i d  d j o d n d  S(   sH    Returns True if the player is in noblock mode otherwise returns False. s   CBaseEntity.m_CollisionGroupi   R   R   (   RA   R{   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt
   getNoBlock  s    c         C   s0   |  i  t i |  i d  d j o d n d  S(   sH    Returns True if the player is in jetpack mode otherwise returns False. s   CBaseEntity.movetypei   R   R   (   RA   R{   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt
   getJetpack  s    c         C   s0   |  i  t i |  i d  d j o d n d  S(   s?    Returns True if the player is frozen otherwise returns False. s   CBaseEntity.movetypei    R   R   (   RA   R{   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt	   getFreeze  s    c         C   s   t  i |  i  S(   s9    Returns the player's location in a three-element tuple. (   R{   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getLocation  s    c         C   s   t  i |  i d  S(   s4    Returns the player's flash alpha value (0 to 255). s   CCSPlayer.m_flFlashMaxAlpha(   R{   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getFlashAlpha  s    c         C   s   t  i |  i d  S(   s1    Returns the player's flash duration in seconds. s   CCSPlayer.m_flFlashDuration(   R{   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getFlashDuration  s    c         C   s   |  i    |  i   f S(   sU    Returns a two-element tuple of the player's flash alpha and duration, respectively. (   R   R   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getFlash  s    c         C   sQ   t  i |  i d  } t d   | d @| d @d ?| d @d ?| d @d	 ?f D  S(
   sD    Returns a four-element tuple of the player's color in RGBA format. s   CBaseEntity.m_clrRenderc         s   s   x |  ] } t  |  Vq Wd  S(   N(   RP   (   t   .0R   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pys	   <genexpr>  s    i   i   i   i   i   l      ~ i   (   R{   R   Rv   t   tuple(   RD   t   color(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getColor  s    c         C   s7   |  i  i d d  } | o t i |  Sn t i   S(   s=    Returns the player's language setting for use with langlib. t   languagei    (   R}   Rh   t   langlibt   getLangAbbreviationt   getDefaultLang(   RD   t   lang(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getLanguage  s    c         C   s   t  i |  i d  d S(   s8    Returns 1 if the player is ducked otherwise returns 0. s'   CBasePlayer.localdata.m_Local.m_bDuckedi   (   R{   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   isDucked  s    c         C   s   t  i |  i d  d S(   s?    Returns 1 if the player has night vision otherwise returns 0. s   CCSPlayer.m_bHasNightVisioni   (   R{   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   hasNightvision  s    c         C   s   t  i |  i d  d S(   sB    Returns 1 if the player's nightvision is on otherwise returns 0. s   CCSPlayer.m_bNightVisionOni   (   R{   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getNightvisionState  s    c         O   s   |  i  | |   S(   s    Wraps getNightvisionState (   R   (   RD   RL   RM   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getNightvisionOn  s    c         C   s   t  i |  i d  d S(   s?    Returns 1 if the player is in a buy zone otherwise returns 0. s   CCSPlayer.m_bInBuyZonei   (   R{   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt	   inBuyZone  s    c         C   s   t  i |  i d  d S(   s@    Returns 1 if the player is in a bomb zone otherwise returns 0. s   CCSPlayer.m_bInBombZonei   (   R{   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt
   inBombZone  s    c         C   s   t  i |  i d  d S(   sB    Returns 1 if the player is in a rescue zone otherwise returns 0. s    CCSPlayer.m_bInHostageRescueZonei   (   R{   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   inRescueZone  s    c         C   s   t  i |  i d  d S(   sC    Returns 1 if the player is defusing the bomb otherwise returns 0. s   CCSPlayer.m_bIsDefusingi   (   R{   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt
   isDefusing  s    c         C   s   t  i |  i d  d S(   s;    Returns 1 if the player has a helmet otherwise returns 0. s   CCSPlayer.m_bHasHelmeti   (   R{   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt	   hasHelmet	  s    c         C   s   t  i |  i d  d @S(   s?    Returns 1 if the player is on the ground otherwise returns 0. s   CBasePlayer.m_fFlagsi   (   R{   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   onGround  s    c         C   s   t  i |  i d  S(   sD    Returns True if the player is in god mode otherwise returns False. s   CBasePlayer.m_lifeState(   R{   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt	   inGodMode  s    c         C   s~   |  i  |  i d   } | oR t i | d  } t d   | d @| d @d ?| d @d ?| d	 @d
 ?f D  Sn
 t d  d S(   s2    Returns the color of the player's active weapon. Rz   s   CBaseEntity.m_clrRenderc         s   s   x |  ] } t  |  Vq Wd  S(   N(   RP   (   R   R   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pys	   <genexpr>  s    i   i   i   i   i   l      ~ i   s   Player has no active weaponN(   R   t   getAttributeR{   R   R   R`   (   RD   R   R   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getWeaponColor  s
    @c         C   sA   t  i i d |  i  t  i t d  } t  i i d t  | S(   sH    Returns the coordinates where the player's aiming reticle is pointing. s<   es_xprop_dynamic_create %s props_c17/tv_monitor01_screen.mdls   CBaseEntity.m_vecOrigins   es_xremove (   R{   t   servert   cmdRv   R   t	   _lastgive(   RD   t   location(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getViewCoord  s    c            s,   t    f d   t t i   i   D  S(   s/    Returns the coordinates of the player's eyes. c         3   s@   x9 |  ]2 \ } } t  i   i d  t |  d  | Vq Wd S(   s&   CBasePlayer.localdata.m_vecViewOffset[t   ]N(   R{   R   Rv   RB   (   R   R   R   (   RD   (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pys	   <genexpr>'  s    (   R   t	   enumerateR{   R   Rv   (   RD   (    (   RD   sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getEyeLocation%  s    c         C   sa  t  | d  o0 t |  d j o t d  n t |  } n9 t i |  o t t i |   i   } n
 t d  |  i   } |  i   } |  i	 |  d j o t
 Sn |  i |  t t |  i   i d   } t } x] d D]U } t | | | |  | | j o t | | | |  j n p t
 } Pq q Wt i i d
 |  i f |  | S(   s   
        Returns True if there is a wall between the line of sight between the player
        and another player or set of coordinates, otherwise returns False.
        R   i   sA   isObstructionBetween coordinates must have exactly three elementssQ   isObstructionBetween requires a three-element iterable of coordinates or a useridi(   R   i    i   i   s   es_xsetang %s %s %s %s(   i    i   i   (   RF   t   lenR   t   listR{   t	   getuseridR   R   R   R   t   Falset   lookAtR   RR   R   R   t   Truet   mint   maxR   R   Rv   (   RD   RC   t   end_locationt   start_eyeanglet   start_locationt   view_locationt   resultR   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   isObstructionBetween)  s*    	 D	c   
      C   s   g  } t  |  } t i |  i  \ } } } x t i   D] } | |  i j or t i | d  o^ t i |  \ } } }	 | | d | | d | |	 d d | j o | i |  q q: q: W| S(   sa    Returns a list of userids of players within the distance specified by the "distance" parameter. s   CBasePlayer.pl.deadflagi   g      ?(   RP   R{   R   Rv   t   getUseridListR   R   (
   RD   R	   t   nearlistt   x1t   y1t   z1t   idt   x2t   y2t   z2(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getNearPlayersJ  s     $1c   
      C   s   t  i |  i  \ } } } | p
 d } n t |  f } g  } x t  i   D] } |  i | j o} t  i |  | j og t  i | d  oS t  i |  \ } } }	 | i | | d | | d | |	 d d | f  qN qN W| o t |  n d S(   sK    Returns the userid of the closest player, on a certain team if specified. i   i   s   CBasePlayer.pl.deadflagg      ?(   i   i   N(   NN(
   R{   R   Rv   RP   R  t   getplayerteamR   R   R   RW   (
   RD   t   teamR  R  R  t   player_distanceR	  R
  R  R  (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getClosestPlayerV  s    
 :?c         C   s   t  i |  i  } d | j oP t  i |  i  |  i d i d  d } d t |  | i d d  f } n5 | d j o' | o  d	 t  i |  i  i   } n | S(
   s_    Returns a unique id for the player. Call without underscore, i.e.: player.uniqueid([botname]) t   LANt   addresst   :i    s	   LAN_%d:%st   .R8   t   BOTs   BOT_%s(	   R{   t   getplayersteamidRv   R|   R   R   t   replacet   getplayernamet   upper(   RD   t   botnameR   R  (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt	   _uniqueidd  s    *& c         C   s   |  i  | S(   s7    Returns attributes obtained with es.createplayerlist. (   R}   (   RD   t	   attribute(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyR   q  s    R8   c         C   s  t  |  i   } | d j o |  i   Sni| d j o |  i   SnN| d j o |  i   Sn3| d j o |  i   Sn| d j o |  i   Sn| d j o |  i   Sn| d j o |  i |  Sn| d j o |  i	 |  Sn| d	 j o |  i
 |  Sn| d
 j o |  i   Snm| d j o |  i   SnR| d j o |  i   Sn7| d j o |  i   Sn| d j o |  i   Sn| d j o |  i   Sn| d j o |  i   Sn| d j o |  i   Sn| d j oK t | d  o! t | t  o t d  q-n
 | f } |  i |   SnX| d j o |  i   Sn=| d j o |  i   Sn"| d j o |  i   Sn| d j o |  i   Sn| d j o |  i   Sn| d j o |  i   Sn| d j o |  i   Sn| d j o |  i   Sn| d j o |  i    Sne| d j o |  i!   SnJ| d j o |  i"   Sn/| d  j o |  i#   Sn| d: j o |  i$   Sn| d# j o |  i%   Sn| d$ j o |  i&   Sn| d% j o |  i'   Sn| d& j o |  i(   Sn| d; j o |  i)   Snr| d) j o |  i*   SnW| d* j o |  i+   Sn<| d+ j o |  i,   Sn!| d, j o |  i-   Sn| d- j o |  i.   Sn | d. j o |  i/   Sn | d/ j o |  i0 |  Sn | d< j o |  i1 |  Sn | d= j o |  i2 |  Snv | d4 j o |  i3 |  SnX | d5 j o |  i4 Sn@ | d6 j o |  i5 d7  Sn" | |  i6 j o |  i5 |  Sn t7 d8 |  d9 S(>   s   
        Including all parameters from the original playerget, this function takes string parameters
        for all player information the Player class can provide.
        This is the original method playerlib used to provide information.
        R   R   t   het   fbt   sgt   c4R   R   R   R   t	   viewanglet   casht   healtht   armort   speedt   defusert
   viewvectorR	   R   s4   getDistance userid/coordinates cannot be type 'dict'R   R   R   R   R   t
   flashalphat   flashdurationR   R   R   t   isduckedt   nightvisiont   nightvisionont   nightvisionstatet	   inbuyzonet
   inbombzonet   inrescuezonet
   isdefusingt	   hashelmett   helmett   ongroundR   t   weaponcolort	   viewcoordt   eyeanglet   eyelocationR
   R   t   nearplayerst   closestplayerR   R   Rv   R  t   teamids   Cannot get '%s' info for playerN(   R-  R.  (   R3  R4  (   R   R:  (   R;  R   (8   RB   t   lowerR   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   RF   RV   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   t   getEyeAngleR   R  R  R  R  Rv   R   R}   R`   (   RD   t   paramt	   passparam(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyRh   v  s    	c         C   sP   t  i |  } | d j o t d |  n t i |  i | i t |   d S(   sW    Sets the ammo for the specified weapon or raises ValueError if the weapon is invalid. s   '%s' is an invalid weaponN(	   R~   R   RW   R   R{   t   setplayerpropRv   t   propRP   (   RD   Rz   RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   setAmmo  s    c         C   s:   |  i    } | d j o t d  n |  i | |  d S(   sg    Sets the ammo for the player's primary weapon or raises KeyError if the player has no primary weapon. s   Player has no primary weaponN(   R   RW   R`   RC  (   RD   RC   Rz   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   setPrimaryAmmo!  s    c         C   s:   |  i    } | d j o t d  n |  i | |  d S(   sk    Sets the ammo for the player's secondary weapon or raises KeyError if the player has no secondary weapon. s   Player has no secondary weaponN(   R   RW   R`   RC  (   RD   RC   Rz   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   setSecondaryAmmo(  s    c         C   s   t  i |  } | d j o t d |  n |  i |  } | o; t d j o t i | d |  q t i | d |  n t d |  d S(   s^    Sets the clip amount for the specified weapon or raises ValueError if the weapon is invalid. s   '%s' is an invalid weaponR   s   CBaseCombatWeapon.m_iClip1s*   CBaseCombatWeapon.LocalWeaponData.m_iClip1s   Player has no '%s' weaponN(	   R~   R   RW   R   R   R9   R{   t   setindexpropR`   (   RD   Rz   RC   R   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   setClip/  s    c         C   s:   |  i    } | d j o t d  n |  i | |  d S(   sn    Sets the clip amount for the player's primary weapon or raises KeyError if the player has no primary weapon. s   Player has no primary weaponN(   R   RW   R`   RG  (   RD   RC   Rz   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   setPrimaryClip=  s    c         C   s:   |  i    } | d j o t d  n |  i | |  d S(   s   
       Sets the clip amount of the player's secondary weapon or raises KeyError
       if the player has no secondary weapon.
       s   Player has no secondary weaponN(   R   RW   R`   RG  (   RD   RC   Rz   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   setSecondaryClipD  s    c         C   s   t  i |  i d |  d S(   s"    Sets the player's health amount. s   CBasePlayer.m_iHealthN(   R{   RA  Rv   (   RD   RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt	   setHealthN  s    c         C   s   t  i |  i d |  d S(   s!    Sets the player's armor amount. s   CCSPlayer.m_ArmorValueN(   R{   RA  Rv   (   RD   RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   setArmorR  s    c         C   s   t  i |  i d |  d S(   s%    Sets the player's speed multiplier. s-   CBasePlayer.localdata.m_flLaggedMovementValueN(   R{   RA  Rv   (   RD   RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   setSpeedV  s    c         C   s   t  i |  i d |  d S(   s     Sets the player's cash amount. s   CCSPlayer.m_iAccountN(   R{   RA  Rv   (   RD   RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   setCashZ  s    c         C   s   t  i |  i d |  d S(   s^    Set to one to give the player a defuse kit or set to zero to remove the player's defuse kit. s   CCSPlayer.m_bHasDefuserN(   R{   RA  Rv   (   RD   RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt
   setDefuser^  s    c         C   s   t  i |  i d |  d S(   sb    Set to one to give the player a night vision or set to zero to remove the player's night vision. s   CCSPlayer.m_bHasNightVisionN(   R{   RA  Rv   (   RD   RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   setNightvisionb  s    c         C   s   t  i |  i d |  d S(   sk    Set to one to toggle the player's night vision on or set to zero to toggle the player's night vision off. s   CCSPlayer.m_bNightVisionOnN(   R{   RA  Rv   (   RD   RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   setNightvisionStatef  s    c         O   s   |  i  | |   d S(   s    Wraps setNightvisionState N(   RP  (   RD   RL   RM   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   setNightvisionOnj  s    c         C   s   |  i  t |  i    d S(   s3    Sets the player's view to look at another player. N(   t	   viewCoordR   R   (   RD   RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt
   viewPlayern  s    c      
   C   s  |  i    } t i | d | d | d  } t i | d | d | d  } t i | |  } t i |  } |  i   } t i t i t	 | d  t	 | d    } t	 | d  d j  o | d } n, t	 | d  d j  o | d } n | } | }	 d t i t i | d t i
 t i t	 | d  d  t i t	 | d  d     }
 t i i d |  i |
 |	 | d f  d S(   s;    Sets the player's view to look at a specified coordinate. i    i   i   i   ih  s   es_xsetang %s %s %s %sN(   R   R{   t   createvectorstringt   createvectorfrompointst   splitvectorstringR   R   t   degreest   atanRR   t   sqrtt   powR   R   Rv   (   RD   RC   t
   myLocationt   myVectort	   theVectort	   ourVectort   myViewAnglet   ourAtant	   RealAnglet   yAnglet   xAngle(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyRR  r  s    !!0]c         C   s2   t  | d  o |  i |  n |  i |  d S(   sC    Set's the player's view to look at either a userid or coordinate. R   N(   RF   RR  RS  (   RD   RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyR     s    c   	      C   s   |  i    } t |  t | d  } t |  t | d  } t |  d j o t | d  t |  } n | } t i | | |  } t i |  i d |  d S(   s   
        Pushes the player along his or her view vector.
        Call without underscore, i.e.: player.push(horiz, vert, vert_override)
        i    i   R   i   s'   CBasePlayer.localdata.m_vecBaseVelocityN(   R   RR   RB   R{   RT  RA  Rv   (	   RD   t   horizt   vertt   vert_overrideR\  t   horzXt   horzYt   vertZt   myNewVector(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   _push  s    c         C   s   | i  d d  } | i d  p d | } n | i d  p | d } n |  i   } t i |  i d t i |   |  i |   d S(   s    Sets the player's model. s   \t   /s   models/s   .mdls   CBaseEntity.m_nModelIndexN(	   R  Rd   t   endswithR   R{   RA  Rv   t   precachemodelt   setColor(   RD   RC   t   myModelt   original_color(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   setModel  s    c         C   s   t  |  t  |  d >t  |  d >} | d j o | |  i   d d >7} n | t  |  d >7} | d j o | d 8} n t i |  i d t i |  i d  d	 B t i |  i d
 t i |  i d
  d B t i |  i d |  d S(   sK    Sets the player's color with RGBA format. The alpha value can be omitted. i   i   i   i   i   i   i    s   CBaseEntity.m_nRenderModei   s   CBaseEntity.m_nRenderFXi   s   CBaseEntity.m_clrRenderNl        l        (   RP   RW   R   R{   RA  Rv   R   (   RD   t   rt   gt   bRL   R   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyRo    s    ())c         C   s   t  | t  o t |  } n t |  } | d j o t i |  i d d  n9 | d j o t i |  i d d  n t d | d  d S(	   sV    Sets the player's noclip status. Call without underscore, i.e.: player.noclip(value) R   s   CBaseEntity.movetypet   8R   R   Rt   s   ' invalid value for noclipN(   RV   RT   RP   RB   R{   RA  Rv   R   (   RD   RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   _noclip  s    c         C   s   t  | t  o t |  } n t |  } | d j o t i |  i d d  n9 | d j o t i |  i d d  n t d | d  d S(	   s   
        Set to one to trigger noblock for the player or set to zero to remove noblock.
        Call without underscore, i.e.: player.noblock(value)
        R   s   CBaseEntity.m_CollisionGroupR   R   t   5Rt   s   ' invalid value for noblockN(   RV   RT   RP   RB   R{   RA  Rv   R   (   RD   RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   _noblock  s    c         C   s   t  | t  o t |  } n t |  } | d j o t i |  i d d  n9 | d j o t i |  i d d  n t d | d  d S(	   s   
        Set to one to trigger jetpack for the player or set to zero to remove jetpack.
        Call without underscore, i.e.: player.jetpack(value)
        R   s   CBaseEntity.movetypet   4R   R   Rt   s   ' invalid value for jetpackN(   RV   RT   RP   RB   R{   RA  Rv   R   (   RD   RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   _jetpack  s    c         C   s   t  | t  o t |  } n t |  } | d j o t i |  i d d  n9 | d j o t i |  i d d  n t d | d  d S(   s   
        Set to one to freeze the player or set to zero to unfreeze the player.
        Call without underscore, i.e.: player.freeze(value)
        R   s   CBaseEntity.movetypeR   R   Rt   s   ' invalid value for freezeN(   RV   RT   RP   RB   R{   RA  Rv   R   (   RD   RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   _freeze  s    c         C   s   t  | t  o t |  } n t |  } | d j o t i |  i d d  n9 | d j o t i |  i d d  n t d | d  d S(   sO    Set to one to put the player in god mode or set to zero to take normal damage R   s   CBasePlayer.m_lifeStateR   t   512Rt   s   ' invalid value for godmodeN(   RV   RT   RP   RB   R{   RA  Rv   R   (   RD   RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   _godmode  s    c         C   sQ   t  |  d j o t d  n t i i d |  i d i t t |    d S(   sM    Sets the player's location to a coordinate in a three-element storage type. i   s&   setLocation takes exactly three valuess   es_xsetpos %s t    N(	   R   R   R{   R   R   Rv   t   joinR   RB   (   RD   RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   setLocation  s    c         C   sJ   t  t i |   } | d d | d <| d d | d <|  i |  d S(   sD    Moves the player to be near another player as specified by userid. i    i2   i   i
   N(   R   R{   R   R  (   RD   RC   t   hisLocation(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   moveTo  s    c         C   s\   t  i |  i d d  t  i |  i d d  t  i |  i d |  t  i |  i d |  d S(   s   
        Blinds the player as if he or she were hit by a flashbang.
        Call without underscore, i.e.: player.flash(alpha, duration)
        s   CCSPlayer.m_flFlashMaxAlphai    s   CCSPlayer.m_flFlashDurationN(   R{   RA  Rv   (   RD   t   alphat   duration(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   _flash  s    c         O   s   |  i  | |   d S(   s    Wrapper for _flash function. N(   R  (   RD   RL   RM   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   blind  s    c         C   s   t  i |  i d |  d S(   s%    Sets the player's HE grenade count. s!   CBasePlayer.localdata.m_iAmmo.011N(   R{   RA  Rv   (   RD   RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   setHE  s    c         C   s   t  i |  i d |  d S(   s$    Sets the player's flashbang count. s!   CBasePlayer.localdata.m_iAmmo.012N(   R{   RA  Rv   (   RD   RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   setFB  s    c         C   s   t  i |  i d |  d S(   s(    Sets the player's smoke grenade count. s!   CBasePlayer.localdata.m_iAmmo.013N(   R{   RA  Rv   (   RD   RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   setSG  s    c         C   s   t  i |  i d |  d S(   s@    Sets whether or not the player has a helmet (1 = yes, 0 = no). s   CCSPlayer.m_bHasHelmetN(   R{   RA  Rv   (   RD   RC   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt	   setHelmet   s    c         C   s  | | d >| d >} t  i |  i  } | d j o | |  i   d d >7} n | | d >7} | d j o | d 8} n |  i |  i d   } | o] t  i | d	 t  i | d	  d
 B t  i | d t  i | d  d B t  i | d |  n
 t	 d  d S(   st   
        Sets the player's active weapon to a color in RGBA format.
        The alpha value can be omitted.
        i   i   i   i   i   i   i    Rz   s   CBaseEntity.m_nRenderModei   s   CBaseEntity.m_nRenderFXi   s   CBaseEntity.m_clrRenders   Player has no active weaponNl        l        (
   R{   R   Rv   RW   R   R   R   RF  R   R`   (   RD   Rs  Rt  Ru  RL   R   R   R   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   setWeaponColor$  s    ##c         C   s   t  i i d |  i  d S(   sG    Sets the player on fire. Call without underscore, i.e.: player.burn() s   es_xfire %s !self igniteN(   R{   R   R   Rv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   _burn8  s    c         C   sa   t  i |  i  } xH t  i d  D]7 } t  i | d  | j o t  i | d d  Pq" q" Wd S(   s}   
        Extinguishes the player if he or she is on fire.
        Call without underscore, i.e.: player.extinguish()
        t   entityflames   CEntityFlame.m_hEntAttacheds   CEntityFlame.m_flLifetimei    N(   R{   R   Rv   t   createentitylistR   RF  (   RD   R   t   flame_entity(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   _extinguish<  s     c         C   s  t  |  i   } | d j o t  | d  } | d, j o |  i | d  q | d- j o |  i | d  q t i | d  } | d+ j o t d | d  n |  i | | d  nA| d	 j o t  | d  } | d. j o |  i	 | d  q | d/ j o |  i
 | d  q t i | d  } | d+ j o t d | d  n |  i | | d  n| d
 j o |  i |  nu| d j o |  i |  nW| d j o |  i |  n9| d j o |  i |  n| d j o |  i |  n| d j o |  i |  n| d0 j o |  i |  n| d j oK t | d  o! t | t  o t d  qn
 | f } |  i |   ni| d j o |  i |  nK| d j o |  i |  n-| d j o |  i |   n| d j o |  i |  n| d j o |  i |   n| d j o |  i |  n| d j o |  i |  n| d j o |  i |  ny| d j o |  i |  n[| d j o |  i  |  n=| d j o |  i! |  n| d  j o |  i" |  n| d! j o |  i# |   n | d" j o |  i$ |  n | d# j o |  i% |  n | d$ j o |  i& |  n | d1 j o |  i' |  nk | d' j o |  i( t) t* |    nD | d( j o |  i+   n) | d) j o |  i,   n t- d* |  d+ S(2   s  
        Including all parameters from the original playerset (except "add" commands), this function
        takes string parameters for all player information the Player class can alter.
        This is the original method playerlib used to alter information.
        R   i    R   R   i   R   R   s   Player has no '%s' weaponR   R$  R%  R&  R#  R'  R,  R-  R.  t
   viewplayerR   s'   viewPlayer userid cannot be type 'dict'R7  t   lookatR   t   modelR   R   R   R   R   R   R   t   movetoR   R  R  R   R3  R4  R6  R   R   s   Cannot set '%s' info for playerN(   R   s   primary(   R   s	   secondary(   R   s   primary(   R   s	   secondary(   s   nightvisionons   nightvisionstate(   s	   hashelmets   helmet(.   RB   R=  RD  RE  R~   R   RW   R   RC  RH  RI  RG  RJ  RK  RL  RM  RN  RO  RP  RF   RV   R   RS  RR  R   Rk  Rr  Ro  Rw  Ry  R{  R|  R~  R  R  R  R  R  R  R  R  R   RP   R  R  R`   (   RD   R?  RC   t   myWeapon(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyRi   H  s    	c         C   s  t  |  i   } | d j o` t i | d  } | d j o t d | d  n |  i | |  i |  t | d   n3| d j o` t i | d  } | d j o t d | d  n |  i	 | |  i
 |  t | d   n | d j o! |  i |  i   t |   n | d j o! |  i |  i   t |   nj | d j o! |  i |  i   t |   n< | d	 j o! |  i |  i   t |   n t d
 |  d S(   sB  
        Including all parameters from the original playerset "add" commands, this function takes string
        parameters for all player information the Player class can alter and are frequently added to.
        This is the original method playerlib used to add to the values of frequently altered information.
        R   i    s   '%s' is an invalid weaponi   R   R$  R%  R&  R#  s!   Adding player %s is not supportedN(   RB   R=  R~   R   RW   R   RC  R   RP   RG  R   RJ  R   RK  R   RL  R   RR   RM  R   R`   (   RD   R?  RC   R  (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   add  s(    ++!!!!c         C   s
   |  i    S(   N(   Rw   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt	   getOnline  s    c         C   s   t  i d |  i  S(   NRv   (   R{   t   existsRv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyRw     s    c         C   s   t  i i d |  i  d S(   s%    Slays the player in this gameframe. s   es_xsexec %d killN(   R{   R   t   queuecmdRv   (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   kill  s    c         C   s   |  i    d  S(   N(   R  (   RD   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   slay  s    c         C   s   | d j	 oa | i d d  i d d  } | i d  d o | d 7} n t i i d |  i | f  n t i i d t |  i   d S(	   s;    Kicks the player from the server with an optional reason. t   ;R8   s   //R   i   s   kickid %d %ss   kickid N(   RW   R  R   R{   R   R  Rv   RB   (   RD   t   reason(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   kick  s    !c         C   sz   | o4 | d j o' t i i d | |  i d  f  n< t i i d | |  i d  f  | o |  i |  n d S(   sN    Bans the player from the server by SteamID with an optional kick and reason. s   banid %d %s kick;writeidt   steamids   banid %d %s;writeidN(   RW   R{   R   R  R   R  (   RD   t   timeR  R  (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   banId  s
    '#c         C   sL   t  i i d | |  i d  i d  d f  | o |  i |  n d S(   sQ    Bans the player from the server by IP address witn an optional kick and reason. s   addip %d %s;writeipR  R  i    N(   R{   R   R  R   R   R  (   RD   R  R  R  (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   banAddr  s    0(    N(p   R<   R=   RA   Re   R[   R   Rj   Rv   R}   RE   Rx   RH   R_   Rf   Rg   RQ   RO   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   R   R   R   R   R  R  RW   R  R   R  R   Rh   RC  RD  RE  RG  RH  RI  RJ  RK  RL  RM  RN  RO  RP  RQ  RS  RR  R   Rk  Rr  Ro  Rw  Ry  R{  R|  R~  R  R  R  R  R  R  R  R  R  R  R  Ri   R  R  Rw   R  R  R  R  R  (    (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyR@   a   s   "																											 																										!								
																											{	$					c         C   s6   y t  |   SWn! t t f j
 o } |  n Xd S(   sD    Returns an instance of the Player class based on the given userid. N(   R@   R>   RK   (   Rv   Rb   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyR     s    c            s   t  t t i    } |  d	 j	 o |  i d d  }  x |  i d  D]j     i d
  p t |  d  n   i d  o t	 t
   d |  } qD t	   f d   |  } qD Wn | S(   s?    Retrieves a list of Player objects based on the given filter. R  R8   R   t   #t   !s     is not a valid playerlib filteri   c            s   t    d  |   S(   i   (   t   filters(   R   (   R   (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   <lambda>0  s    N(   R  R  (   R   R   R{   R  RW   R  R   Rd   R`   t   filterR  (   t
   filternamet
   playerlist(    (   R   sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   getPlayerList   s      c         C   s   |  p g  Sn |  d j o t  i   Sn |  d d j o t t t |    Sn, t  i |   } | d j o g  Sn | g Sd S(   se    Returns either a list of filtered players or a userid if used with a partial name or exact steamid. s   #alli    s   #!N(   R{   R  R   RP   R  R   (   t   userspecRv   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyR  4  s    c         C   s   |  \ } } } g  } xn t  |  D]` } t i |  \ } }	 }
 | | d | |	 d | |
 d d | j o | i |  q" q" W| S(   s|   
    Returns a list of userids within the distance (specified by the "distance"
    parameter) of the given coordinate.
    i   g      ?(   R  R{   R   R   (   R   R	   R  R  R  R  R  R	  R
  R  R  (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt	   nearCoord@  s    1c         O   s   t  |   i | |   S(   s8    Wrapper of the _uniqueid function of the Player class. (   R   R   (   Rv   RL   RM   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyR   L  s    c         C   s   | t  |  <d S(   s@    Registers a player filter for getPlayerList and getUseridList. N(   R  (   R  t   filterfunction(    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   registerPlayerListFilterR  s    c         C   s   |  t  j o t  |  =n d S(   s    Unregisters a player filter. N(   R  (   R  (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   unregisterPlayerListFilterV  s    c         C   s   t  S(   s    Returns True. (   R   (   R   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt	   returnAll[  s    c         C   s   |  i  d  d j S(   sL    Returns True if the userid parameter is on team 0 otherwise returns False. R<  i    (   R   (   R   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   returnTeam0_  s    c         C   s   |  i  d  d j S(   sL    Returns True if the userid parameter is on team 1 otherwise returns False. R<  i   (   R   (   R   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   returnTeam1c  s    c         C   s   |  i  d  d j S(   sL    Returns True if the userid parameter is on team 2 otherwise returns False. R<  i   (   R   (   R   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   returnTeam2g  s    c         C   s   |  i  d  d j S(   sL    Returns True if the userid parameter is on team 3 otherwise returns False. R<  i   (   R   (   R   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   returnTeam3k  s    c         C   s   t  |  i d   S(   sH    Returns True if the userid parameter is alive otherwise returns False. t   isdead(   RT   R   (   R   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   returnAliveo  s    c         C   s   t  |  i d   S(   sG    Returns True if the userid parameter is dead otherwise returns False. R  (   RT   R   (   R   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt
   returnDeads  s    c         C   s%   t  |  i d  o |  i d   S(   sJ    Returns True if the userid parameter is a human otherwise returns False. t   isbott   ishltv(   RT   R   (   R   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   returnHumanw  s    c         C   s   t  |  i d   S(   sH    Returns True if the userid parameter is a bot otherwise returns False. R  (   RT   R   (   R   (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt	   returnBot{  s    c           C   s%  t  d t  t  d t  t  d t  t  d t  t  d t  t  d t  t  d t  t d j o t  d	 t	  t  d
 t
  n t d j o t  d t	  t  d t
  nW t d j o t  d t	  t  d t
  n, t d j o t  d t	  t  d t
  n t  d t	  t  d t
  d S(   s    Registers default filters. t   allt   alivet   deadt   humant   bott   unt   specR   RL   R   t   hl2dmRs  t   cR   Ru  R   t   st   it   tt   ctN(   R  R  R  R  R  R  R  R  R9   R  R  (    (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pyt   _registerDefaultFilters  s*    (1   R{   R   R   R~   t   psycot   fullt	   AddonInfot   infoR  R   R   R   R   t   _[1]Rz   RB  R   t	   ServerVarR   t   getGameNameR9   R   R   R:   R   t	   ExceptionR;   R>   R?   Re   R@   R   RW   R  R  R  R   R  R  R  R  R  R  R  R  R  R  R  R  (    (    (    sP   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/playerlib.pys   <module>   s^   





9$	#	    															