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
1 change: 0 additions & 1 deletion cfg/SurfTimer/server_settings.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@ mp_spectators_max 64
mp_humanteam ct
mp_disconnect_kills_players 1
mp_solid_teammates 0
mp_solid_enemies 0
mp_respawn_on_death_ct 1
mp_respawn_on_death_t 1
mp_ct_default_secondary weapon_usp_silencer
Expand Down
12 changes: 11 additions & 1 deletion src/ST-Events/Tick.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,21 @@ namespace SurfTimer;

public partial class SurfTimer
{
public static void OnTick()
public void OnTick()
{
if (CurrentMap == null)
return;

foreach (var player in playerList.Values)
{
player.Timer.Tick();
player.ReplayRecorder.Tick(player);
player.HUD.Display();
if (player.Controller.Collision == null) continue;
if ((CollisionGroup)player.Controller.Collision.CollisionGroup == CollisionGroup.COLLISION_GROUP_DEBRIS) continue;
player.Controller.SetCollisionGroup(CollisionGroup.COLLISION_GROUP_DEBRIS);
}

// Need to disable maps from executing their cfgs. Currently idk how (But seriusly it a security issue)
ConVar? bot_quota = ConVar.Find("bot_quota");

Expand Down
11 changes: 11 additions & 0 deletions src/ST-UTILS/Extensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,17 @@ public static void Teleport(this CBaseEntity entity, VectorT? position = null, Q
public static VectorT ToVector_t(this Vector vec) => new(vec.Handle);
public static QAngleT ToQAngle_t(this QAngle vec) => new(vec.Handle);

public static void SetCollisionGroup(this CCSPlayerController controller, CollisionGroup collisionGroup)
{
if (!controller.IsValid || controller.Collision == null) return;
controller.Collision.CollisionAttribute.CollisionGroup = (byte)collisionGroup;
controller.Collision.CollisionGroup = (byte)collisionGroup;

Utilities.SetStateChanged(controller, "CColisionProperity", "m_collisionGroup");
Utilities.SetStateChanged(controller, "CCollisionProperty", "m_collisionAttribute");
}


/// <summary>
/// Checks whether an IP is a local one. Allows testing the plugin in a local environment setup for GeoIP
/// </summary>
Expand Down