Skip to content
Open
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
6 changes: 5 additions & 1 deletion .github/workflows/compile.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
name: Compile

on:
push:
branches:
- resilient
pull_request:
branches: master
branches:
- master

jobs:
build:
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@ name: Package

on:
push:
branches: master
branches:
- resilient
pull_request:
branches:
- master

jobs:
build:
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Alterative gamemodes can be created using the same plugin, some ones already mad
This plugin uses different features which may cause some other plugins to misbehave:
- Uses it's own chat processor for proximity chat which causes other chat processors to not function (See scp_sf.inc about SCPSF_CanTalkTo)
- Team 0 (Unassigned) is used as a playable team (Check if a player is alive along with team check)
- Pop up menus during gameplay can be neagtive to weapon switching
- Pop up menus during gameplay can be negative to weapon switching
- Player's class swap often for plugins that may check one time
- Without SendProxy can cause trippy viewmodels
- Custom model plugins may not function at all
Expand Down
82 changes: 40 additions & 42 deletions addons/sourcemod/configs/scp_sf/maps/scp_turtle_support.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
"14" "set_human"
"15" "set_special"
"16" "dboi"
"17" "set_human"
"17" "set_blu"
"18" "set_human"
"19" "set_scp"
"20" "set_human"
Expand All @@ -72,7 +72,7 @@
"waves" // Respawn waves
{
"type" "Gamemode_WaveRespawnTickets" // Internal respawn ticket system
"time" "180.0;240.0"
"time" "200.0;260.0"
"pretime" "8.0" // Give the map a notification a few seconds before spawn happens
// NOTE: this only works on the ticket system!

Expand All @@ -86,35 +86,34 @@
"1" "chaos1"
"2" "chaos1"
"3" "chaos1"
"4" "chaos3"
"5" "chaos2"
"6" "set_ht"
"4" "set_ht"
"5" "chaos3"
"6" "chaos1"
"7" "chaos2"
"8" "chaos1"
"9" "chaos2"
"10" "chaos3"
"11" "set_ht"
"10" "set_ht"
"11" "chaos1"
"12" "chaos1"
"13" "chaos2"
"14" "chaos1"
"15" "chaos3"
"16" "set_ht"
"17" "chaos1"
"18" "chaos2"
"16" "chaos1"
"17" "chaos2"
"18" "set_ht"
"19" "chaos1"
"20" "chaos2"
"21" "chaos3"
"22" "set_ht"
"23" "chaos1"
"24" "chaos2"
"25" "chaos1"
"26" "chaos2"
"27" "chaos3"
"28" "chaos1"
"21" "chaos1"
"22" "chaos1"
"23" "chaos2"
"24" "chaos1"
"25" "chaos3"
"26" "chaos1"
"27" "chaos2"
"28" "set_ht"
"29" "chaos2"
"30" "chaos1"
"31" "chaos2"
"32" "chaos3"
"30" "chaos3"
"31" "chaos1"
}
"2"
{
Expand All @@ -128,9 +127,8 @@
"1" "mtf3"
"2" "set_mtf"
"3" "mtf3"
"4" "set_mtf"
"5" "set_ht"
"6" "mtf3"
"4" "set_ht"
"5" "set_mtf"
}
}

Expand Down Expand Up @@ -173,7 +171,7 @@
{
"type" "Gamemode_PresetRandom" // Choose randomly
"1" "set_scp"
"2" "ht3"
"2" "ht3"
}
"set_mtf"
{
Expand All @@ -197,6 +195,7 @@
"3" "sci"
"4" "sci"
"5" "janitor"
"6" "set_badguy"
}
}

Expand Down Expand Up @@ -971,7 +970,7 @@
"class" "heavy"
"model" "models/hatturtle/hatturtle_heavy.mdl"
"modelalt" "models/player/heavy.mdl"
"health" "175"
"health" "300"
"regen" "0"
"speed" "210"
"cansprint" "1"
Expand All @@ -986,7 +985,7 @@
"items"
{
"1" "15" // Minigun
"2" "30011" // Keycard
"2" "30009" // Keycard
"3" "30758" // Machete
"4" "30015" // Adrenaline
"5" "30089" // Red Metal
Expand All @@ -1007,7 +1006,7 @@
"class" "sniper"
"model" "models/hatturtle/hatturtle_sniper.mdl"
"modelalt" "models/player/soldier.mdl"
"health" "150"
"health" "200"
"regen" "0"
"speed" "230"
"cansprint" "1"
Expand All @@ -1022,7 +1021,7 @@
"items"
{
"1" "30665" // Blaster Rifle
"2" "30011" // Keycard
"2" "30009" // Keycard
"3" "30758" // Machete
"4" "30014" // Health Kit
"5" "58" // Flash Grenade
Expand All @@ -1044,7 +1043,7 @@
"class" "scout"
"model" "models/hatturtle/hatturtle_scout.mdl"
"modelalt" "models/player/soldier.mdl"
"health" "125"
"health" "150"
"regen" "0"
"speed" "250"
"cansprint" "1"
Expand All @@ -1060,7 +1059,7 @@
{
"1" "30666" // Blaster Pistol
"2" "30758" // Machete
"3" "30011" // Keycard
"3" "30009" // Keycard
"4" "58" // Flash Grenade
"5" "1083" // Frag Grenade
"6" "30089" // Red Metal
Expand Down Expand Up @@ -1107,15 +1106,14 @@

"items"
{
"1" "209" // COM-18 Sidearm
"2" "30758" // Prinny Machete
"3" "30003" // Keycard
"4" "30019" // Light Armor
"5" "5" // None
"1" "203" // Crossvec
"2" "30003" // Keycard
"3" "30020" // Combat Armor
"4" "5" // None
}
"ammo"
{
"2" "30" // 9mm
"2" "80" // 9mm
}
"downloads"
{
Expand Down Expand Up @@ -2270,7 +2268,7 @@
"15" // Minigun
{
"classname" "tf_weapon_minigun"
"attributes" "1 ; 0.9 ; 6 ; 0.8 ; 28 ; 0.5 ; 86 ; 1.2 ; 183 ; 0.7 ; 106 ; 0.5"
"attributes" "6 ; 0.9 ; 28 ; 0.5 ; 106 ; 0.5 ; 183 ; 0.8"
"type" "1"
"ammo" "300"
"bullet" "2"
Expand Down Expand Up @@ -2782,7 +2780,7 @@
"30088" // Shell Armor
{
"classname" "tf_weapon_fists"
"attributes" "57 ; 2 ; 64 ; 0.75 ; 66 ; 0.75 ; 252 ; 0.25 ; 476 ; 0"
"attributes" "57 ; 3 ; 64 ; 0.9 ; 66 ; 0.8 ; 252 ; 0.25 ; 476 ; 0"
"type" "6"
"hide" "1"

Expand All @@ -2804,7 +2802,7 @@
"30089" // Red Metal
{
"classname" "tf_weapon_fists"
"attributes" "881 ; -2 ; 252 ; 0.25 ; 476 ; 0 ; 269 ; 1 ; 62 ; 0.4 ; 64 ; 0.4 ; 66 ; 0.4 ; 206 ; 0.4"
"attributes" "881 ; -3 ; 252 ; 0.25 ; 476 ; 0 ; 269 ; 1 ; 62 ; 0.3 ; 64 ; 0.3 ; 66 ; 0.3 ; 206 ; 0.3"
"type" "5"
"hide" "1"

Expand Down Expand Up @@ -2834,7 +2832,7 @@
"30666" // Blaster Pistol
{
"classname" "tf_weapon_pistol"
"attributes" "2 ; 1.9 ; 4 ; 2 ; 5 ; 1.3 ; 182 ; 2 ; 397 ; 10 ; 647 ; 1 ; 106 ; 0.5"
"attributes" "2 ; 2.1 ; 4 ; 2 ; 5 ; 1.3 ; 182 ; 2 ; 397 ; 10 ; 647 ; 1 ; 106 ; 0.5"
"strip" "1"
"type" "1"
"clip" "24"
Expand All @@ -2855,7 +2853,7 @@
"30665" // Blaster Rifle
{
"classname" "tf_weapon_smg"
"attributes" "2 ; 2.2 ; 4 ; 2 ; 6 ; 0.75 ; 96 ; 8 ; 397 ; 10 ; 647 ; 1 ; 106 ; 0.1"
"attributes" "2 ; 2.4 ; 4 ; 2 ; 6 ; 0.75 ; 96 ; 8 ; 397 ; 10 ; 647 ; 1 ; 106 ; 0.1"
"strip" "1"
"type" "1"
"clip" "50"
Expand Down
38 changes: 9 additions & 29 deletions addons/sourcemod/scripting/scp_sf.sp
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,8 @@ bool SourceComms = false; // SourceComms++
bool BaseComm = false; // BaseComm
#endif

char realSCPList[PLATFORM_MAX_PATH];

Handle HudPlayer;
Handle HudClass;
Handle HudGame;
Expand Down Expand Up @@ -597,7 +599,8 @@ public void OnRoundEnd(Event event, const char[] name, bool dontBroadcast)
NoMusicRound = false;
EndRoundIn = 0.0;
NextHintAt = FAR_FUTURE;

strcopy(realSCPList, sizeof(realSCPList), "");

for(int client=1; client<=MaxClients; client++)
{
if(!IsValidClient(client))
Expand Down Expand Up @@ -1459,9 +1462,7 @@ public Action OnSayCommand(int client, const char[] command, int args)

if (Enabled)
{
#if SOURCEMOD_V_MAJOR==1 && SOURCEMOD_V_MINOR>10
Client[client].IdleAt = GetGameTime()+2.5;
#endif
}

for(int target=1; target<=MaxClients; target++)
Expand Down Expand Up @@ -2468,7 +2469,7 @@ public Action OnPlayerRunCmd(int client, int &buttons)
{
// kill counter + how many dbois/scientists left
SetHudTextParamsEx(-1.0, 0.1, 0.35, Client[client].Colors, Client[client].Colors, 0, 0.1, 0.05, 0.05);
ShowSyncHudText(client, HudClass, "%t", "kill_counter", Client[client].Kills, VIPsAlive, MTFsAlive, ChaosAlive);
ShowSyncHudText(client, HudClass, "%s\n%s\n%t", "[SCP]", realSCPList, "kill_counter", Client[client].Kills, VIPsAlive, MTFsAlive, ChaosAlive);
}
}

Expand Down Expand Up @@ -3195,57 +3196,36 @@ public void FixUpDoors()

// go backwards the list since we can remove elements, we don't need to test a name again if we found that door already
// go through normal doors first, they are the most likely ones to be found first
bool found_door = false;
for (int i = doorlist_normal.Length - 1; i >= 0; i--)
for (int i = 0; i < doorlist_normal.Length; i++)
{
doorlist_normal.GetString(i, temp, sizeof(temp));
if (StrEqual(temp, name, false))
{
SetEntProp(entity, Prop_Data, DOOR_ID_PROP, DOOR_ID_NORMAL);
doorlist_normal.Erase(i);
found_door = true;
break;
}
}

if (found_door)
continue;

// checkpoint doors...
for (int i = doorlist_checkpoint.Length - 1; i >= 0; i--)
for (int i = 0; i < doorlist_checkpoint.Length; i++)
{
doorlist_checkpoint.GetString(i, temp, sizeof(temp));
if (StrEqual(temp, name, false))
{
SetEntProp(entity, Prop_Data, DOOR_ID_PROP, DOOR_ID_CHECKPOINT);
doorlist_checkpoint.Erase(i);
found_door = true;
break;
}
}

if (found_door)
continue;

// special trigger doors
for (int i = doorlist_trigger.Length - 1; i >= 0; i--)
for (int i = 0; i < doorlist_trigger.Length; i++)
{
doorlist_trigger.GetString(i, temp, sizeof(temp));
if (StrEqual(temp, name, false))
{
SetEntProp(entity, Prop_Data, DOOR_ID_PROP, DOOR_ID_TRIGGER);
// store the relay so we can trigger it later
SetEntProp(entity, Prop_Send, DOOR_ENTREF_PROP, relayentlist_trigger.Get(i));

doorlist_trigger.Erase(i);
relayentlist_trigger.Erase(i);
//found_door = true;
break;
}
}

//if (found_door)
// continue;
}

delete doorlist_normal;
Expand Down Expand Up @@ -3449,4 +3429,4 @@ public Action SendProp_OnClientClass(int entity, const char[] propname, int &val
value = view_as<int>(Client[entity].WeaponClass);
return Plugin_Changed;
}
#endif
#endif
17 changes: 17 additions & 0 deletions addons/sourcemod/scripting/scp_sf/classes.sp
Original file line number Diff line number Diff line change
Expand Up @@ -455,6 +455,23 @@ void Classes_PlayerSpawn(int client)
TF2_AddCondition(client, TFCond_NoHealingDamageBuff, 1.0);
TF2_AddCondition(client, TFCond_DodgeChance, 3.0);
TF2Attrib_SetByDefIndex(client, 49, 1.0);

if (IsSCP(client))
{
if (!StrEqual(class.Name, "scp0492"))
{
if (StrEqual(realSCPList, ""))
{
FormatEx(realSCPList, sizeof(realSCPList), "%s", class.Name);
}
else
{
char buffer[19];
FormatEx(buffer, sizeof(buffer), " | %s", class.Name);
StrCat(realSCPList, sizeof(realSCPList), buffer);
}
}
}
}
}
}
Expand Down
Loading