Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cc820a89d3 | |||
| e8f5fc4b92 | |||
| 0091281e90 | |||
| 0a1fa75a30 | |||
| eac0c12d64 | |||
| 74d77b5269 | |||
| 14e32383c4 | |||
| 0efa3f12c0 | |||
| f38e70dce9 | |||
| 67c91f9225 | |||
| bc0068a79a | |||
| 6ad75df85d | |||
| e8454d4d27 | |||
| e609fb09f4 | |||
| b5209f4b60 | |||
| 3607102698 | |||
| 4ee354662f | |||
| 98df2f2783 |
@@ -1,3 +1,4 @@
|
||||
Pack.gma
|
||||
Changelog.txt
|
||||
Description.txt
|
||||
Description.txt
|
||||
/*.gma
|
||||
|
||||
|
Before Width: | Height: | Size: 269 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 52 KiB |
@@ -1,4 +0,0 @@
|
||||
@ECHO OFF
|
||||
call env.win.bat
|
||||
"%GARRYSMODPATH%\bin\gmad.exe" create -folder "%CD%\Source" -out "%CD%\Pack.gma"
|
||||
PAUSE
|
||||
@@ -1,4 +1,4 @@
|
||||
@ECHO OFF
|
||||
call env.win.bat
|
||||
"%GARRYSMODPATH%\bin\gmpublish.exe" update -id 468149739 -icon "Media\Logo.jpg" -addon "Pack.gma" -changes ""
|
||||
@ECHO OFF
|
||||
call env.win.bat
|
||||
"%GARRYSMODPATH%\bin\gmpublish.exe" update -id 468149739 -icon "media\gamemode_workshop.jpg" -addon "pack.gma" -changes ""
|
||||
PAUSE
|
||||
|
After Width: | Height: | Size: 212 KiB |
|
After Width: | Height: | Size: 177 KiB |
|
After Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 152 KiB After Width: | Height: | Size: 152 KiB |
|
Before Width: | Height: | Size: 1003 KiB After Width: | Height: | Size: 1003 KiB |
|
Before Width: | Height: | Size: 1.0 MiB After Width: | Height: | Size: 1.0 MiB |
@@ -0,0 +1,4 @@
|
||||
@ECHO OFF
|
||||
call env.win.bat
|
||||
"%GARRYSMODPATH%\bin\gmad.exe" create -folder "%CD%\source" -out "%CD%\pack.gma"
|
||||
PAUSE
|
||||
@@ -1,4 +1,4 @@
|
||||
@ECHO OFF
|
||||
call env.win.bat
|
||||
SET "PATH=%CD%;%GARRYSMODPATH%\bin;%PATH%"
|
||||
@ECHO OFF
|
||||
call env.win.bat
|
||||
SET "PATH=%CD%;%GARRYSMODPATH%\bin;%PATH%"
|
||||
CMD
|
||||
|
Before Width: | Height: | Size: 1003 KiB After Width: | Height: | Size: 1003 KiB |
|
Before Width: | Height: | Size: 1.0 MiB After Width: | Height: | Size: 1.0 MiB |
@@ -41,8 +41,8 @@ function GM:Initialize()
|
||||
print("Prop Hunt CL: Initializing Gamemode Data...")
|
||||
self.Data = {}
|
||||
|
||||
print("Prop Hunt CL: Creating Huge Ass Font...")
|
||||
surface.CreateFont("PHHugeAssFont", {font="Roboto Bold Condensed", extended=true, size=160, weight=800, antialias=true})
|
||||
print("Prop Hunt CL: Creating Fonts...")
|
||||
surface.CreateFont("RobotoBoldCondensed160", {font="Roboto Bold Condensed", extended=true, size=160, weight=800, antialias=true})
|
||||
|
||||
print("Prop Hunt CL: Complete.")
|
||||
print("-------------------------------------------------------------------------")
|
||||
@@ -193,28 +193,47 @@ net.Receive( "PlayerViewOffset", function(len, pl)
|
||||
end)
|
||||
|
||||
-- ------------------------------------------------------------------------- --
|
||||
--! Old Code
|
||||
--! Special Drawing
|
||||
-- ------------------------------------------------------------------------- --
|
||||
--[[
|
||||
-- Render halos and player names.
|
||||
function DrawPlayerNames(bDrawingDepth, bDrawingSkybox)
|
||||
for i,v in ipairs(player.GetAll()) do
|
||||
if v:Alive() && v != LocalPlayer() then
|
||||
local pos = v:GetPos() + v:GetViewOffset() + Vector(0, 0, 5)
|
||||
local ang = Angle(0, LocalPlayer():EyeAngles().y - 90, 90 - LocalPlayer():EyeAngles().x)
|
||||
local healthPrc = v:Health() / v:GetMaxHealth()
|
||||
local healthCol = HSVToColor(120 * healthPrc, 1.0, 1.0)
|
||||
|
||||
if v:Team() == TEAM_HUNTERS || LocalPlayer():Team() == TEAM_PROPS then
|
||||
cam.Start3D2D(pos, ang, 0.15)
|
||||
draw.DrawText(v:GetName(), "Trebuchet24", 0, -draw.GetFontHeight("Trebuchet24"), healthCol, TEXT_ALIGN_CENTER)
|
||||
function DrawNamePlates(bDrawingDepth, bDrawingSkybox)
|
||||
if (!GAMEMODE.Config.NamePlates:Show()) then
|
||||
return
|
||||
end
|
||||
|
||||
local scale = GAMEMODE.Config.NamePlates:Scale()
|
||||
local pls = team.GetPlayers(GAMEMODE.Teams.Seekers)
|
||||
if (LocalPlayer():Team() == GAMEMODE.Teams.Hiders) then
|
||||
pls = table.Add(pls, team.GetPlayers(GAMEMODE.Teams.Hiders))
|
||||
end
|
||||
|
||||
for i,v in ipairs(pls) do
|
||||
if (v:Alive() && v != LocalPlayer()) then
|
||||
if (player_manager.GetPlayerClass(v) != "Spectator") then
|
||||
local color = HSVToColor(GAMEMODE.Config.NamePlates:TintHue(),
|
||||
GAMEMODE.Config.NamePlates:TintSaturation(),
|
||||
GAMEMODE.Config.NamePlates:TintValue())
|
||||
if GAMEMODE.Config.NamePlates:TintHealth() then
|
||||
local healthPrc = v:Health() / v:GetMaxHealth()
|
||||
color = HSVToColor(120 * healthPrc, 1.0, 1.0)
|
||||
elseif GAMEMODE.Config.NamePlates:TintTeam() then
|
||||
color = team.GetColor(v:Team())
|
||||
end
|
||||
|
||||
local pos = v:GetPos() + v:GetViewOffset() + Vector(0, 0, GAMEMODE.Config.NamePlates:Height())
|
||||
local ang = Angle(0, LocalPlayer():EyeAngles().y - 90, 90 - LocalPlayer():EyeAngles().x)
|
||||
cam.Start3D2D(pos, ang, scale)
|
||||
draw.DrawText(v:GetName(), "RobotoBoldCondensed160", 0, -draw.GetFontHeight("RobotoBoldCondensed160") / 2, color, TEXT_ALIGN_CENTER)
|
||||
cam.End3D2D()
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
hook.Add("PostDrawTranslucentRenderables", "PH_DrawPlayerNames", DrawPlayerNames)
|
||||
hook.Add("PostDrawTranslucentRenderables", "PHDrawNamePlates", DrawNamePlates)
|
||||
|
||||
-- ------------------------------------------------------------------------- --
|
||||
--! Old Code
|
||||
-- ------------------------------------------------------------------------- --
|
||||
--[[
|
||||
function DrawPlayerHalos(bDrawingDepth, bDrawingSkybox)
|
||||
for i,v in ipairs(player.GetAll()) do
|
||||
if v:Alive() then
|
||||
@@ -40,7 +40,7 @@ function CompatTauntPackLoader()
|
||||
if (ty == "string") then
|
||||
Taunts[#Taunts+1] = t
|
||||
elseif (ty == "table") then
|
||||
Taunts[#Taunts+1] = t[2]
|
||||
Taunts[#Taunts+1] = t[1]
|
||||
-- for j,snd in ipairs(t) do
|
||||
-- HiderTaunts[#HiderTaunts+1] = snd
|
||||
-- end
|
||||
@@ -53,7 +53,7 @@ function CompatTauntPackLoader()
|
||||
if (ty == "string") then
|
||||
Taunts[#Taunts+1] = t
|
||||
elseif (ty == "table") then
|
||||
Taunts[#Taunts+1] = t[2]
|
||||
Taunts[#Taunts+1] = t[1]
|
||||
-- for j,snd in ipairs(t) do
|
||||
-- SeekerTaunts[#SeekerTaunts+1] = snd
|
||||
-- end
|
||||
@@ -241,7 +241,19 @@ function GM:PlayerUse(ply, ent) return player_manager.RunClass(ply, "Use", ent)
|
||||
function GM:AllowPlayerPickup(ply, ent) return player_manager.RunClass(ply, "AllowPickup", ent) end
|
||||
function GM:PlayerSetModel(ply) return player_manager.RunClass(ply, "SetModel") end
|
||||
|
||||
-- Called when an entity takes damage
|
||||
-- Damage
|
||||
function GM:PlayerShouldTakeDamage(victim, attacker)
|
||||
return player_manager.RunClass(victim, "ShouldTakeDamage", attacker)
|
||||
end
|
||||
|
||||
function GM:PlayerHurt(victim, attacker, healthRemaining, damageTaken)
|
||||
player_manager.RunClass(victim, "Hurt", victim, attacker, healthRemaining, damageTaken)
|
||||
|
||||
if (IsValid(attacker) && attacker:IsPlayer()) then
|
||||
player_manager.RunClass(attacker, "Damage", victim, attacker, healthRemaining, damageTaken)
|
||||
end
|
||||
end
|
||||
|
||||
function GM:EntityTakeDamage(ent, dmg)
|
||||
local att = dmg:GetAttacker()
|
||||
|
||||
@@ -96,30 +96,51 @@ function CLASS:ShouldTakeDamage(attacker)
|
||||
local ffmode = GetConVarNumber("mp_friendlyfire")
|
||||
if (ffmode == 0) then -- Not Allowed
|
||||
return false
|
||||
elseif (ffmode == 2) then -- Damage self instead
|
||||
if (IsValid(attacker) && attacker:IsPlayer()) then
|
||||
attacker:SetHealth(attacker:Health() - damageTaken)
|
||||
end
|
||||
return false
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
function CLASS:Damage(victim, attacker, healthRemaining, damageDealt)
|
||||
if ((victim != attacker) && victim:IsPlayer() && attacker:IsPlayer() && (attacker:Team() == victim:Team())) then
|
||||
if (GAMEMODE.Config:DebugLog()) then
|
||||
print("Prop Hunt: Seeker '"..attacker:GetName().."' (SteamID: "..attacker:SteamID()..") damaged seeker '"..victim:GetName().."' (SteamID: "..victim:SteamID()..") with "..damageDealt.." damage.")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function CLASS:Hurt(victim, attacker, healthRemaining, damageTaken)
|
||||
if ((victim != attacker) && victim:IsPlayer() && attacker:IsPlayer() && (attacker:Team() == victim:Team())) then
|
||||
if (GAMEMODE.Config:DebugLog()) then
|
||||
print("Prop Hunt: Seeker '"..victim:GetName().."' (SteamID: "..victim:SteamID()..") was hurt by seeker '"..attacker:GetName().."' (SteamID: "..attacker:SteamID()..") with "..damageTaken.." damage.")
|
||||
end
|
||||
|
||||
if (GetConVarNumber("mp_friendlyfire") == 2) then
|
||||
victim:SetHealth(healthRemaining + damageTaken)
|
||||
attacker:TakeDamage(damageTaken, attacker, attacker)
|
||||
print("Prop Hunt: Seeker '"..victim:GetName().."' (SteamID: "..victim:SteamID()..") reflected "..damageTaken.." to seeker '"..attacker:GetName().."' (SteamID: "..attacker:SteamID()..").")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function CLASS:DamageEntity(ent, att, dmg)
|
||||
if (GAMEMODE.Config:DebugLog()) then print("Prop Hunt: Seeker '"..self.Player:GetName().."' (SteamID: "..self.Player:SteamID()..") damaged entity "..ent:GetClass()..".") end
|
||||
|
||||
if (GAMEMODE:GetRoundState() != GAMEMODE.States.Seek) then return end
|
||||
if (!IsValid(ent) || !IsValid(att)) then return end
|
||||
if (att == ent) then return end
|
||||
|
||||
-- Only take damage during this phase.
|
||||
if (GAMEMODE:GetRoundState() == GAMEMODE.States.Seek) then
|
||||
if IsValid(ent) && (!(ent:IsPlayer())) then
|
||||
if (ent:GetClass() == "ph_prop") then
|
||||
ent:GetOwner():TakeDamageInfo(dmg)
|
||||
self.Player.Data.RandomWeight = self.Player.Data.RandomWeight - 1
|
||||
elseif (ent:GetClass() == "func_breakable") then -- ToDo: Make Configurable which entities don't hurt?
|
||||
else
|
||||
att:TakeDamage(GAMEMODE.Config.Seeker:HealthPenalty(), ent, ent)
|
||||
end
|
||||
if IsValid(ent) && (!(ent:IsPlayer())) then
|
||||
if (ent:GetClass() == "ph_prop") then
|
||||
ent:GetOwner():TakeDamageInfo(dmg)
|
||||
self.Player.Data.RandomWeight = self.Player.Data.RandomWeight - 1
|
||||
elseif (ent:GetClass() == "func_breakable") then
|
||||
elseif (ent:GetClass() == "prop_ragdoll") then
|
||||
else
|
||||
att:TakeDamage(GAMEMODE.Config.Seeker:HealthPenalty(), ent, ent)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -40,7 +40,6 @@ end
|
||||
--! Debug Settings
|
||||
-- ------------------------------------------------------------------------- --
|
||||
-- Debug Mode
|
||||
|
||||
GM.Config.ConVars.Debug = CreateConVarIfNotExists("ph_debug", "0", FCVAR_CHEAT + FCVAR_REPLICATED, "Prop Hunt: Enable Debug Mode")
|
||||
function GM.Config:Debug()
|
||||
return self.ConVars.Debug:GetBool()
|
||||
@@ -86,7 +85,7 @@ function GM.Config.Round:Time()
|
||||
end
|
||||
|
||||
-- For how many seconds are the Seekers blinded? (Seconds)
|
||||
GM.Config.Round.ConVars.BlindTime = CreateConVarIfNotExists("ph_round_blindtime", "-30", FCVAR_REPLICATED, "Round Manager: Blind Time for Seekers (in Seconds, positive takes away from ph_round_timelimit, negative adds extra time to ph_round_timelimit")
|
||||
GM.Config.Round.ConVars.BlindTime = CreateConVarIfNotExists("ph_round_blindtime", "-30", FCVAR_REPLICATED, "Round Manager: Blind Time for Seekers (in Seconds, positive takes away from ph_round_timelimit, negative adds extra time to ph_round_timelimit)")
|
||||
function GM.Config.Round:BlindTime()
|
||||
return self.ConVars.BlindTime:GetFloat()
|
||||
end
|
||||
@@ -98,7 +97,7 @@ GM.Config.Teams = {}
|
||||
GM.Config.Teams.ConVars = {}
|
||||
|
||||
-- Should teams be ranomized each round?
|
||||
GM.Config.Teams.ConVars.Randomize = CreateConVarIfNotExists("ph_teams_randomize", "0", FCVAR_REPLICATED, "Teams: Randomize Each Round")
|
||||
GM.Config.Teams.ConVars.Randomize = CreateConVarIfNotExists("ph_teams_randomize", "0", FCVAR_REPLICATED, "Teams: Randomize Teams instead of swapping each round")
|
||||
function GM.Config.Teams:Randomize()
|
||||
return self.ConVars.Randomize:GetBool()
|
||||
end
|
||||
@@ -410,4 +409,56 @@ if CLIENT then
|
||||
function GM.Config.Camera:Lag()
|
||||
return math.Clamp(self.ConVars.Lag:GetFloat(), self:LagMinimum(), self:LagMaximum())
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- ------------------------------------------------------------------------- --
|
||||
--! Name Plates
|
||||
-- ------------------------------------------------------------------------- --
|
||||
GM.Config.NamePlates = {}
|
||||
GM.Config.NamePlates.ConVars = {}
|
||||
|
||||
if CLIENT then
|
||||
-- Show
|
||||
GM.Config.NamePlates.ConVars.Show = CreateConVarIfNotExists("ph_nameplates_show", "1", FCVAR_ARCHIVE + FCVAR_CLIENTDLL, "Nameplates: Show a name plate above each player in your team (or all players if spectating).")
|
||||
function GM.Config.NamePlates:Show()
|
||||
return self.ConVars.Show:GetBool()
|
||||
end
|
||||
|
||||
-- Scale
|
||||
GM.Config.NamePlates.ConVars.Scale = CreateConVarIfNotExists("ph_nameplates_scale", "0.05", FCVAR_ARCHIVE + FCVAR_CLIENTDLL, "Nameplates: World scale of name plate, a setting of 1 means 1px = 1unit.")
|
||||
function GM.Config.NamePlates:Scale()
|
||||
return self.ConVars.Scale:GetFloat()
|
||||
end
|
||||
|
||||
-- Height
|
||||
GM.Config.NamePlates.ConVars.Height = CreateConVarIfNotExists("ph_nameplates_height", "10", FCVAR_ARCHIVE + FCVAR_CLIENTDLL, "Nameplates: Height above player.")
|
||||
function GM.Config.NamePlates:Height()
|
||||
return self.ConVars.Height:GetFloat()
|
||||
end
|
||||
|
||||
-- Tint Color
|
||||
GM.Config.NamePlates.ConVars.TintHue = CreateConVarIfNotExists("ph_nameplates_tint_hue", "0", FCVAR_ARCHIVE + FCVAR_CLIENTDLL, "Nameplates: Tint hue.")
|
||||
function GM.Config.NamePlates:TintHue()
|
||||
return self.ConVars.TintHue:GetFloat()
|
||||
end
|
||||
GM.Config.NamePlates.ConVars.TintSaturation = CreateConVarIfNotExists("ph_nameplates_tint_saturation", "0", FCVAR_ARCHIVE + FCVAR_CLIENTDLL, "Nameplates: Tint saturation.")
|
||||
function GM.Config.NamePlates:TintSaturation()
|
||||
return self.ConVars.TintSaturation:GetFloat()
|
||||
end
|
||||
GM.Config.NamePlates.ConVars.TintValue = CreateConVarIfNotExists("ph_nameplates_tint_value", "1", FCVAR_ARCHIVE + FCVAR_CLIENTDLL, "Nameplates: Tint value.")
|
||||
function GM.Config.NamePlates:TintValue()
|
||||
return self.ConVars.TintValue:GetFloat()
|
||||
end
|
||||
|
||||
-- Tint By Health
|
||||
GM.Config.NamePlates.ConVars.TintHealth = CreateConVarIfNotExists("ph_nameplates_tint_health", "0", FCVAR_ARCHIVE + FCVAR_CLIENTDLL, "Nameplates: Tint the nameplate using their health percent.")
|
||||
function GM.Config.NamePlates:TintHealth()
|
||||
return self.ConVars.TintHealth:GetBool()
|
||||
end
|
||||
|
||||
-- Tint By Team
|
||||
GM.Config.NamePlates.ConVars.TintTeam = CreateConVarIfNotExists("ph_nameplates_tint_team", "0", FCVAR_ARCHIVE + FCVAR_CLIENTDLL, "Nameplates: Tint the nameplate with the team colors.")
|
||||
function GM.Config.NamePlates:TintTeam()
|
||||
return self.ConVars.TintTeam:GetBool()
|
||||
end
|
||||
end
|
||||
@@ -26,8 +26,8 @@
|
||||
--! Gamemode Information
|
||||
-- ------------------------------------------------------------------------- --
|
||||
GM.Name = "Prop Hunt Extended"
|
||||
GM.Author = "Michael 'Xaymar' Dirks (Based on Kow@lskis Version, Original by AMT)"
|
||||
GM.Email = "michael.fabian.dirks@gmail.com"
|
||||
GM.Author = "Michael Fabian 'Xaymar' Dirks"
|
||||
GM.Email = "info@xaymar.com"
|
||||
GM.Website = "http://xaymar.com/"
|
||||
|
||||
GM.TeamBased = true
|
||||
@@ -104,17 +104,6 @@ function GM:PlayerTick(ply, mv)
|
||||
return player_manager.RunClass(ply, "Tick", mv)
|
||||
end
|
||||
|
||||
function GM:PlayerHurt(victim, attacker, healthRemaining, damageTaken)
|
||||
player_manager.RunClass(victim, "Hurt", victim, attacker, healthRemaining, damageTaken)
|
||||
|
||||
if (IsValid(attacker) && attacker:IsPlayer()) then
|
||||
player_manager.RunClass(attacker, "Damage", victim, attacker, healthRemaining, damageTaken)
|
||||
end
|
||||
end
|
||||
function GM:PlayerShouldTakeDamage(victim, attacker)
|
||||
return player_manager.RunClass(victim, "ShouldTakeDamage", attacker)
|
||||
end
|
||||
|
||||
-- ------------------------------------------------------------------------- --
|
||||
--! Gamemode Functionality
|
||||
-- ------------------------------------------------------------------------- --
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 152 KiB After Width: | Height: | Size: 152 KiB |
@@ -15,6 +15,7 @@
|
||||
"text" "Enable Debug Mode"
|
||||
"type" "CheckBox"
|
||||
"default" "0"
|
||||
"help" "Prop Hunt: Enable Debug Mode"
|
||||
}
|
||||
|
||||
2
|
||||
@@ -23,221 +24,352 @@
|
||||
"text" "Enable Debug Logging"
|
||||
"type" "CheckBox"
|
||||
"default" "1"
|
||||
"help" "Prop Hunt: Enable Debug Logging"
|
||||
}
|
||||
|
||||
// Basic Settings
|
||||
11
|
||||
100
|
||||
{
|
||||
"name" "ph_gametype"
|
||||
"text" "Game Type to use"
|
||||
"type" "Numeric"
|
||||
"default" "0"
|
||||
"help" "Prop Hunt: Which Game Type should be played?"
|
||||
}
|
||||
|
||||
12
|
||||
101
|
||||
{
|
||||
"name" "mp_timelimit"
|
||||
"text" "Map Time Limit"
|
||||
"type" "Numeric"
|
||||
"default" "0"
|
||||
"help" "Map Time Limit (in Minutes)"
|
||||
}
|
||||
|
||||
13
|
||||
102
|
||||
{
|
||||
"name" "ph_sprinting"
|
||||
"text" "Enable Sprinting"
|
||||
"type" "CheckBox"
|
||||
"name" "mp_friendlyfire"
|
||||
"text" "Friendly fire"
|
||||
"type" "Numeric"
|
||||
"default" "0"
|
||||
"help" "Allow friendly fire? (0 = No, 1 = Yes, 2 = Reflect)"
|
||||
}
|
||||
|
||||
// Round Settings
|
||||
21
|
||||
200
|
||||
{
|
||||
"name" "ph_round_limit"
|
||||
"text" "Maximum Rounds Played"
|
||||
"type" "Numeric"
|
||||
"default" "10"
|
||||
}
|
||||
|
||||
22
|
||||
"help" "Round Manager: Maximum Rounds to Play on a single Map"
|
||||
}
|
||||
201
|
||||
{
|
||||
"name" "ph_round_timelimit"
|
||||
"text" "Time Limit per Round"
|
||||
"type" "Numeric"
|
||||
"default" "180"
|
||||
}
|
||||
|
||||
23
|
||||
"help" "Round Manager: Time Limit per Round (in Seconds)"
|
||||
}
|
||||
202
|
||||
{
|
||||
"name" "ph_round_blindtime"
|
||||
"text" "Seeker Blind time per Round"
|
||||
"type" "Numeric"
|
||||
"default" "-30"
|
||||
"help" "Round Manager: Blind Time for Seekers (in Seconds, positive takes away from ph_round_timelimit, negative adds extra time to ph_round_timelimit)"
|
||||
}
|
||||
|
||||
// Team Settings
|
||||
31
|
||||
300
|
||||
{
|
||||
"name" "ph_teams_randomize"
|
||||
"text" "Randomize Teams"
|
||||
"type" "CheckBox"
|
||||
"default" "1"
|
||||
}
|
||||
|
||||
32
|
||||
"help" "Teams: Randomize Teams instead of swapping each round"
|
||||
}
|
||||
301
|
||||
{
|
||||
"name" "ph_teams_weighted"
|
||||
"text" "Randomize with weighted Score"
|
||||
"type" "CheckBox"
|
||||
"default" "1"
|
||||
}
|
||||
|
||||
33
|
||||
"help" "Teams: Use Weighted Randomization"
|
||||
}
|
||||
302
|
||||
{
|
||||
"name" "ph_teams_seekerpct"
|
||||
"text" "Pct of Pl. becoming Seeker"
|
||||
"type" "Numeric"
|
||||
"default" "25"
|
||||
"help" "Teams: Initial percentage of Seekers in Dead Hunt Game Type"
|
||||
}
|
||||
|
||||
|
||||
// Seeker Settings
|
||||
41
|
||||
400
|
||||
{
|
||||
"name" "ph_seeker_health"
|
||||
"text" "Seeker Health"
|
||||
"type" "Numeric"
|
||||
"default" "100"
|
||||
"help" "Seekers: Initial Health"
|
||||
}
|
||||
|
||||
42
|
||||
401
|
||||
{
|
||||
"name" "ph_seeker_health_max"
|
||||
"text" "Seeker Max Health"
|
||||
"type" "Numeric"
|
||||
"default" "100"
|
||||
"help" "Seekers: Maximum Health"
|
||||
}
|
||||
|
||||
43
|
||||
402
|
||||
{
|
||||
"name" "ph_seeker_health_bonus"
|
||||
"text" "Seeker Health Kill-Bonus"
|
||||
"type" "Numeric"
|
||||
"default" "20"
|
||||
"help" "Seekers: Health Bonus per Kill"
|
||||
}
|
||||
|
||||
44
|
||||
403
|
||||
{
|
||||
"name" "ph_seeker_health_penalty"
|
||||
"text" "Seeker Health Penalty"
|
||||
"type" "Numeric"
|
||||
"default" "5"
|
||||
"help" "Seekers: Health Penalty per wrong Shot"
|
||||
}
|
||||
|
||||
45
|
||||
404
|
||||
{
|
||||
"name" "ph_seeker_weapons"
|
||||
"text" "Seeker Weapons"
|
||||
"type" "Text"
|
||||
"default" "weapon_crowbar,weapon_pistol,weapon_ph_smg,weapon_shotgun"
|
||||
"help" "Seekers: Initial Weapons (Weapon,Weapon,...)"
|
||||
}
|
||||
|
||||
46
|
||||
405
|
||||
{
|
||||
"name" "ph_seeker_ammo"
|
||||
"text" "Seeker Ammo"
|
||||
"type" "Text"
|
||||
"default" "Pistol:100,SMG1:300,SMG1_Grenade:1,Buckshot:64"
|
||||
"help" "Seekers: Initial Ammo (Ammo:Amount,Ammo:Amount,...)"
|
||||
}
|
||||
406
|
||||
{
|
||||
"name" "ph_seeker_walk_speed"
|
||||
"text" "Seeker Walk Speed"
|
||||
"type" "Numeric"
|
||||
"default" "250"
|
||||
"help" "Seekers: Walk Speed"
|
||||
}
|
||||
407
|
||||
{
|
||||
"name" "ph_seeker_sprint"
|
||||
"text" "Seeker Sprint Allowed"
|
||||
"type" "CheckBox"
|
||||
"default" "1"
|
||||
"help" "Seekers: Allow Sprinting"
|
||||
}
|
||||
408
|
||||
{
|
||||
"name" "ph_seeker_sprint_speed"
|
||||
"text" "Seeker Sprint Speed"
|
||||
"type" "Numeric"
|
||||
"default" "500"
|
||||
"help" "Seekers: Sprint Speed"
|
||||
}
|
||||
409
|
||||
{
|
||||
"name" "ph_seeker_jump_power"
|
||||
"text" "Seeker Jump Power"
|
||||
"type" "Numeric"
|
||||
"default" "200"
|
||||
"help" "Seekers: Jump Power"
|
||||
}
|
||||
|
||||
// Hider Settings
|
||||
51
|
||||
500
|
||||
{
|
||||
"name" "ph_hider_health"
|
||||
"text" "Hider Health"
|
||||
"type" "Numeric"
|
||||
"default" "100"
|
||||
"help" "Hiders: Initial Health"
|
||||
}
|
||||
|
||||
52
|
||||
501
|
||||
{
|
||||
"name" "ph_hider_health_max"
|
||||
"text" "Hider Max Health"
|
||||
"type" "Numeric"
|
||||
"default" "100"
|
||||
"help" "Hiders: Maximum Health"
|
||||
}
|
||||
|
||||
53
|
||||
502
|
||||
{
|
||||
"name" "ph_hider_health_scaling"
|
||||
"text" "Hider Enable Health Scaling"
|
||||
"type" "CheckBox"
|
||||
"default" "1"
|
||||
"help" "Hiders: Enable Health Scaling"
|
||||
}
|
||||
|
||||
54
|
||||
503
|
||||
{
|
||||
"name" "ph_hider_health_scaling_max"
|
||||
"text" "Hider Scaled Max Health"
|
||||
"type" "Numeric"
|
||||
"default" "200"
|
||||
"help" "Hiders: Maximum scaled Health"
|
||||
}
|
||||
|
||||
55
|
||||
504
|
||||
{
|
||||
"name" "ph_hider_allow_full_rotation"
|
||||
"text" "Hider 3-Dimensional Rotation"
|
||||
"type" "CheckBox"
|
||||
"default" "0"
|
||||
"help" "Hiders: Enable full 3D Rotation"
|
||||
}
|
||||
505
|
||||
{
|
||||
"name" "ph_hider_walk_speed"
|
||||
"text" "Hider Walk Speed"
|
||||
"type" "Numeric"
|
||||
"default" "250"
|
||||
"help" "Hiders: Walk Speed"
|
||||
}
|
||||
506
|
||||
{
|
||||
"name" "ph_hider_sprint"
|
||||
"text" "Hider Sprint Allowed"
|
||||
"type" "CheckBox"
|
||||
"default" "0"
|
||||
"help" "Hiders: Allow Sprinting"
|
||||
}
|
||||
507
|
||||
{
|
||||
"name" "ph_hider_sprint_speed"
|
||||
"text" "Hider Sprint Speed"
|
||||
"type" "Numeric"
|
||||
"default" "500"
|
||||
"help" "Hiders: Sprint Speed"
|
||||
}
|
||||
507
|
||||
{
|
||||
"name" "ph_hider_jump_power"
|
||||
"text" "Hider Jump Power"
|
||||
"type" "Numeric"
|
||||
"default" "200"
|
||||
"help" "Hiders: Jump Power"
|
||||
}
|
||||
|
||||
// Whitelist & Blacklist
|
||||
61
|
||||
600
|
||||
{
|
||||
"name" "ph_list_class_whitelist"
|
||||
"text" "Allowed Entity Classes"
|
||||
"type" "Text"
|
||||
"default" "ph_prop,prop_physics,prop_physics_multiplayer,prop_physics_respawnable"
|
||||
}
|
||||
|
||||
62
|
||||
"help" "Anti-Cheat: Whitelisted Hider Classes"
|
||||
}
|
||||
601
|
||||
{
|
||||
"name" "ph_list_abuse_blacklist"
|
||||
"text" "Abuse Blacklist"
|
||||
"type" "Text"
|
||||
"default" "func_button,func_door,func_door_rotation,prop_door_rotation,func_tracktrain,func_tanktrain,func_breakable"
|
||||
}
|
||||
|
||||
63
|
||||
"help" "Anti-Cheat: Entity Abuse Blacklist"
|
||||
}
|
||||
602
|
||||
{
|
||||
"name" "ph_list_model_blacklist"
|
||||
"text" "Model Blacklist"
|
||||
"type" "Text"
|
||||
"default" "models/props/cs_assault/dollar.mdl,models/props/cs_assault/money.mdl,models/props/cs_office/snowman_arm.mdl,models/props/cs_office/projector_remote.mdl"
|
||||
"help" "Anti-Cheat: Model Abuse Blacklist"
|
||||
}
|
||||
|
||||
// Taunts
|
||||
71
|
||||
700
|
||||
{
|
||||
"name" "ph_taunt_cooldown"
|
||||
"text" "Cooldown for Taunts"
|
||||
"type" "Numeric"
|
||||
"default" "5"
|
||||
"help" "Prop Hunt: Cooldown between Taunts"
|
||||
}
|
||||
|
||||
72
|
||||
701
|
||||
{
|
||||
"name" "ph_taunt_seekers"
|
||||
"text" "Seeker Taunts"
|
||||
"type" "Text"
|
||||
"default" "bot/a_bunch_of_them.wav,bot/come_out_and_fight_like_a_man.wav,bot/come_out_wherever_you_are.wav,bot/come_to_papa.wav,bot/dont_worry_hell_get_it.wav,bot/hang_on_i_heard_something.wav,bot/hang_on_im_coming.wav,bot/i_dont_think_so.wav,bot/i_have_the_hostages.wav,bot/i_see_our_target.wav,bot/im_waiting_here.wav,bot/keeping_an_eye_on_the_hostages.wav,bot/nnno_sir.wav,bot/spotted_the_delivery_boy.wav,bot/target_acquired.wav,bot/target_spotted.wav,bot/you_heard_the_man_lets_go.wav"
|
||||
"help" "Prop Hunt: Seeker Taunts"
|
||||
}
|
||||
|
||||
73
|
||||
702
|
||||
{
|
||||
"name" "ph_taunt_hiders"
|
||||
"text" "Hider Taunts"
|
||||
"type" "Text"
|
||||
"default" "ambient/alarms/apc_alarm_pass1.wav,ambient/alarms/manhack_alert_pass1.wav,ambient/alarms/razortrain_horn1.wav,ambient/alarms/scanner_alert_pass1.wav,ambient/alarms/train_horn2.wav,ambient/alarms/train_horn_distant1.wav,ambient/alarms/warningbell1.wav,ambient/energy/whiteflash.wav,ambient/intro/alyxremove.wav,ambient/intro/logosfx.wav,ambient/levels/launch/1stfiringwarning.wav,ambient/levels/launch/rockettakeoffblast.wav,ambient/misc/ambulance1.wav,ambient/misc/carhonk1.wav,ambient/misc/carhonk2.wav,ambient/misc/carhonk3.wav,ambient/outro/gunshipcrash.wav,ambient/3dmeagle.wav,beams/beamstart5.wav,buttons/bell1.wav,buttons/weapon_cant_buy.wav,common/bass.wav,common/bugreporter_failed.wav,common/warning.wav,doors/door_squeek1.wav,friends/friend_join.wav,friends/friend_online.wav,friends/message.wav,hostage/hunuse/comeback.wav,hostage/hunuse/dontleaveme.wav,hostage/hunuse/yeahillstay.wav,items/gift_drop.wav,music/radio1.mp3,phx/eggcrack.wav,plats/elevbell1.wav,player/headshot1.wav,player/headshot2.wav,player/sprayer.wav,radio/enemydown.wav,radio/go.wav,radio/locknload.wav,radio/negative.wav,radio/rounddraw.wav,radio/takepoint.wav,resource/warning.wav,ui/achievement_earned.wav,ui/freeze_cam.wav,vehicles/junker/radar_ping_friendly1.wav,weapons/c4/c4_beep1.wav,weapons/c4/c4_click.wav,weapons/awp/awp1.wav,vo/canals/female01/gunboat_giveemhell.wav,vo/canals/female01/gunboat_justintime.wav,vo/canals/female01/stn6_incoming.wav,vo/canals/male01/gunboat_giveemhell.wav,vo/canals/male01/gunboat_justintime.wav,vo/canals/male01/stn6_incoming.wav,vo/canals/al_radio_stn6.wav,vo/canals/arrest_getgoing.wav,vo/canals/arrest_helpme.wav,vo/canals/arrest_lookingforyou.wav,vo/canals/boxcar_lethimhelp.wav,vo/canals/matt_closecall.wav,vo/canals/premassacre.wav,vo/ravenholm/aimforhead.wav,vo/ravenholm/bucket_patience.wav,vo/ravenholm/madlaugh01.wav,vo/ravenholm/madlaugh02.wav,vo/ravenholm/madlaugh03.wav,vo/ravenholm/madlaugh04.wav,weapons/strider_buster/ol12_stickybombcreator.wav,weapons/c4/c4_explode1.wav,weapons/357/357_fire2.wav,weapons/357/357_fire3.wav,weapons/scout/scout_fire-1.wav,weapons/smokegrenade/sg_explode.wav,weapons/grenade_launcher1.wav,weapons/explode3.wav,weapons/underwater_explode3.wav,items/nvg_on.wav,hostage/huse/letsdoit.wav,hostage/huse/illfollow.wav,hostage/huse/getouttahere.wav,doors/door_screen_move1.wav,doors/heavy_metal_stop1.wav,doors/default_move.wav,common/stuck2.wav,ambient/water_splash1.wav,ambient/water_splash2.wav,ambient/water_splash3.wav,ambient/weather/thunder1.wav,ambient/weather/thunder2.wav,ambient/weather/thunder3.wav,ambient/weather/thunder4.wav,ambient/weather/thunder5.wav,ambient/weather/thunder6.wav,ambient/outro/thunder7.wav,ambient/voices/crying_loop1.wav,ambient/voices/playground_memory.wav,ambient/voices/f_scream1.wav,ambient/voices/m_scream1.wav,ambient/voices/cough1.wav,ambient/voices/cough2.wav,ambient/voices/cough3.wav,ambient/voices/cough4.wav,ambient/overhead/plane1.wav,ambient/overhead/plane2.wav,ambient/overhead/plane3.wav,ambient/overhead/hel1.wav,ambient/overhead/hel2.wav,ambient/misc/truck_backup1.wav,ambient/misc/truck_drive1.wav,ambient/misc/truck_drive2.wav,ambient/machines/pneumatic_drill_1.wav,ambient/machines/pneumatic_drill_2.wav,ambient/machines/pneumatic_drill_3.wav,ambient/machines/pneumatic_drill_4.wav,ambient/machines/station_train_squeel.wav,ambient/machines/ticktock.wav,ambient/creatures/teddy.wav,ambient/creatures/town_child_scream1.wav,ambient/creatures/town_moan1.wav,ambient/creatures/town_muffled_cry1.wav,ambient/creatures/town_scared_breathing1.wav,ambient/creatures/town_scared_breathing2.wav,ambient/creatures/town_scared_sob1.wav,ambient/creatures/town_scared_sob2.wav,ambient/creatures/town_zombie_call1.wav"
|
||||
"help" "Prop Hunt: Hider Taunts"
|
||||
}
|
||||
|
||||
// Camera
|
||||
800
|
||||
{
|
||||
"name" "ph_camera_allow_noclip"
|
||||
"text" "Camera Noclip Allowed"
|
||||
"type" "CheckBox"
|
||||
"default" "0"
|
||||
"help" "Camera: Allow clients to disable camera collision"
|
||||
}
|
||||
801
|
||||
{
|
||||
"name" "ph_camera_distance_max"
|
||||
"text" "Camera Distance Max."
|
||||
"type" "Numeric"
|
||||
"default" "150"
|
||||
"help" "Camera: Maximum allowed distance to player."
|
||||
}
|
||||
802
|
||||
{
|
||||
"name" "ph_camera_distance_min"
|
||||
"text" "Camera Distance Min."
|
||||
"type" "Numeric"
|
||||
"default" "30"
|
||||
"help" "Camera: Minimum allowed distance to player."
|
||||
}
|
||||
803
|
||||
{
|
||||
"name" "ph_camera_distance_right_range"
|
||||
"text" "Camera Horizontal Offset Range"
|
||||
"type" "Numeric"
|
||||
"default" "20"
|
||||
"help" "Camera: Horizontal allowed camera distance range."
|
||||
}
|
||||
803
|
||||
{
|
||||
"name" "ph_camera_distance_up_range"
|
||||
"text" "Camera Vertical Offset Range"
|
||||
"type" "Numeric"
|
||||
"default" "20"
|
||||
"help" "Camera: Vertical allowed camera distance range."
|
||||
}
|
||||
803
|
||||
{
|
||||
"name" "ph_camera_lag_min"
|
||||
"text" "Camera Lag Min."
|
||||
"type" "Numeric"
|
||||
"default" "0"
|
||||
"help" "Camera: Minimum Camera Lag."
|
||||
}
|
||||
803
|
||||
{
|
||||
"name" "ph_camera_lag_max"
|
||||
"text" "Camera Lag Max."
|
||||
"type" "Numeric"
|
||||
"default" "0.95"
|
||||
"help" "Camera: Maximum Camera Lag."
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||