Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 0 additions & 52 deletions addons/source-python/data/source-python/entities/CBaseEntity.ini
Original file line number Diff line number Diff line change
Expand Up @@ -23,64 +23,12 @@

[keyvalue]

avelocity = avelocity
base_velocity = basevelocity
class_name = classname
damage_filter = damagefilter
effects = effects
friction = friction
global_name = globalname
gravity = gravity
hammerid = hammerid
health = health
ltime = ltime
max_health = max_health
parent_name = parentname
render_color = rendercolor
render_mode = rendermode
shadow_cast_dist = shadowcastdist
spawn_flags = spawnflags
speed = speed
target = target
velocity = velocity
view_ofs = view_ofs
water_level = waterlevel

# =========================================================================
# >> Hard-coded KeyValues
# =========================================================================

[[angles]]
name = angles
type = VECTOR

[[origin]]
name = origin
type = VECTOR

[[render_amt]]
name = renderamt
type = SHORT

[[target_name]]
name = targetname
type = STRING


[property]

maxs = m_Collision.m_vecMaxs
mins = m_Collision.m_vecMins
solid_type = m_Collision.m_nSolidType
solid_flags = m_Collision.m_usSolidFlags
collision_group = m_CollisionGroup
rotation = m_angRotation
render = m_clrRender
elasticity = m_flElasticity
ground_entity = m_hGroundEntity
owner_handle = m_hOwnerEntity
team_index = m_iTeamNum
render_fx = m_nRenderFX
render_mode_prop = m_nRenderMode
move_type = movetype
parent_inthandle = m_pParent
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,8 @@ players._base module
:members:
:undoc-members:
:show-inheritance:

.. autoclass:: _players.PlayerMixin
:members:
:undoc-members:
:show-inheritance:
26 changes: 3 additions & 23 deletions addons/source-python/packages/source-python/players/_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
from memory import get_object_pointer
from memory import make_object
# Players
from _players import PlayerMixin
from players.constants import PlayerStates
from players.helpers import address_from_playerinfo
from players.helpers import get_client_language
Expand All @@ -73,7 +74,7 @@
# =============================================================================
# >> CLASSES
# =============================================================================
class Player(Entity):
class Player(Entity, PlayerMixin):
"""Class used to interact directly with players."""

def __init__(self, index):
Expand Down Expand Up @@ -380,33 +381,12 @@ def set_eye_location(self, eye_location):

eye_location = property(Entity.get_eye_location, set_eye_location)

@property
def view_vector(self):
"""Return the view vector of the player.

:rtype: Vector
"""
eye_angle = self.eye_angle

yaw = math.radians(eye_angle.y)
pitch = math.radians(eye_angle.x)

sy = math.sin(yaw)
cy = math.cos(yaw)
sp = math.sin(pitch)
cp = math.cos(pitch)

return Vector(cp * cy, cp * sy, -sp)

def get_view_angle(self):
"""Return the player's view angle.

:rtype: QAngle
"""
eye_angle = self.eye_angle
eye_angle_y = eye_angle.y
eye_angle_y = (eye_angle_y + 360) if eye_angle_y < 0 else eye_angle_y
return QAngle(eye_angle.x, eye_angle_y, self.rotation.z)
return super().view_angle

def set_view_angle(self, angle):
"""Set the player's view angle."""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ class Player(_Player):

def _get_kills(self):
"""Return the number of kills the player has."""
return self.__getattr__('kills')
return super().kills

def _set_kills(self, value):
"""Set the number of kills the player has."""
Expand All @@ -54,7 +54,7 @@ def _set_kills(self, value):

def _get_deaths(self):
"""Return the number of deaths the player has."""
return self.__getattr__('deaths')
return super().deaths

def _set_deaths(self, value):
"""Set the number of deaths the player has."""
Expand All @@ -65,7 +65,7 @@ def _set_deaths(self, value):

def _get_assists(self):
"""Return the number of assists the player has."""
return self.__getattr__('assists')
return super().assists

def _set_assists(self, value):
"""Set the number of assists the player has."""
Expand Down
2 changes: 2 additions & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -381,6 +381,7 @@ Set(SOURCEPYTHON_PHYSICS_MODULE_SOURCES
# ------------------------------------------------------------------
Set(SOURCEPYTHON_PLAYERS_MODULE_HEADERS
core/modules/players/players_wrap.h
core/modules/players/players_entity.h
core/modules/players/players_generator.h
core/modules/players/${SOURCE_ENGINE}/players_constants_wrap.h
core/modules/players/${SOURCE_ENGINE}/players_wrap.h
Expand All @@ -389,6 +390,7 @@ Set(SOURCEPYTHON_PLAYERS_MODULE_HEADERS
Set(SOURCEPYTHON_PLAYERS_MODULE_SOURCES
core/modules/players/players_bots_wrap.cpp
core/modules/players/players_constants_wrap.cpp
core/modules/players/players_entity.cpp
core/modules/players/players_helpers_wrap.cpp
core/modules/players/players_wrap.cpp
core/modules/players/players_generator.cpp
Expand Down
2 changes: 1 addition & 1 deletion src/core/modules/entities/entities_entity.h
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ class IServerUnknownExt
//-----------------------------------------------------------------------------
class CBaseEntityWrapper: public IServerEntity
{
private:
protected:
// Make sure that nobody can call the constructor/destructor
CBaseEntityWrapper() {}
~CBaseEntityWrapper() {}
Expand Down
8 changes: 8 additions & 0 deletions src/core/modules/entities/entities_entity_wrap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -328,6 +328,14 @@ void export_base_entity(scope _entity)
":rtype: int"
);

BaseEntity.add_property(
"parent_name",
&CBaseEntityWrapper::GetParentName,
&CBaseEntityWrapper::SetParentName,
"Get/set the entity's parent name.\n\n"
":rtype: str"
);

BaseEntity.add_property(
"shadow_cast_distance",
&CBaseEntityWrapper::GetShadowCastDistance,
Expand Down
Loading