Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
1b52a7d
New Slasher: Postal Dude
eno26 Aug 3, 2026
d2cfc78
Eh, can't get it to work
eno26 Aug 3, 2026
7f827a1
small changes
eno26 Aug 3, 2026
07d0f52
Fix sounds not sounding right
eno26 Aug 3, 2026
e23617a
Lots of Postal Dude changes
eno26 Aug 4, 2026
042e131
Merge remote-tracking branch 'upstream/beta' into postaldude
eno26 Aug 4, 2026
be35968
RAPHEAL MY KING!!!!!
eno26 Aug 4, 2026
e41da2f
a little retarded eh?
eno26 Aug 4, 2026
e782a26
Merge remote-tracking branch 'upstream/beta' into postaldude
eno26 Aug 5, 2026
4ae86f0
Merge remote-tracking branch 'upstream/beta' into postaldude
eno26 Aug 5, 2026
b19a83d
More Postal updates
eno26 Aug 5, 2026
528ebdb
Raphael requested fixes for postalammo.lua
eno26 Aug 5, 2026
b0aaf7c
Postal Document
eno26 Aug 5, 2026
f509452
Add underscores
eno26 Aug 5, 2026
4eb164f
Temporarily revert until I fix it
eno26 Aug 5, 2026
3f410c6
Fixes
eno26 Aug 5, 2026
6826ca4
completely revert for now until I bother with it later
eno26 Aug 5, 2026
7a4e9e4
Postal Dude updates
eno26 Aug 5, 2026
dd4e67f
Hotfix for Postal Dude's yapping
eno26 Aug 6, 2026
6570539
Xerk's fixes + translations
eno26 Aug 9, 2026
fa726c0
increase volume a bit
eno26 Aug 10, 2026
11b4dcc
Fix Postal Hud
eno26 Aug 12, 2026
22e5845
Fix Postal M4 sound
eno26 Aug 12, 2026
0f8f70b
More Postal sound fixes
eno26 Aug 13, 2026
3f25d3e
Postal code clean-up
eno26 Aug 13, 2026
441b511
Postal Ammo clean-up
eno26 Aug 13, 2026
494380d
More, more! Change Postal more!
eno26 Aug 14, 2026
240b812
Final Postal shit??
eno26 Aug 14, 2026
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
69 changes: 69 additions & 0 deletions gamemodes/slashco/entities/entities/sc_postalammo.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
AddCSLuaFile()

local SlashCo = SlashCo

ENT.Type = "anim"
ENT.ClassName = "sc_postalammo"
ENT.PrintName = "Ammo"
ENT.Author = "eno"
ENT.Contact = ""
ENT.Purpose = "Guns don't kill people, I do."
ENT.Instructions = ""
ENT.IsSelectable = false
ENT.PingType = "AMMO"

local function DeagleBulletsAmount(slasher)
return slasher:GetNW2Float("DeagleBulletsAmount", 0)
end

local function DeagleBulletsControl(slasher, bullets)
slasher:SetNW2Float("DeagleBulletsAmount", math.Clamp(DeagleBulletsAmount(slasher) + bullets, 0, 6))
end

local function MGBulletsAmount(slasher)
return slasher:GetNW2Float("MGBulletsAmount", 0)
end

local function MGBulletsControl(slasher, bullets)
slasher:SetNW2Float("MGBulletsAmount", math.Clamp(MGBulletsAmount(slasher) + bullets, 0, 20))
end

local modelList = {
"models/Items/357ammo.mdl",
"models/Items/BoxSRounds.mdl",
"models/Items/BoxMRounds.mdl",
}

function ENT:Initialize()
if CLIENT then return end

self:SetUseType(SIMPLE_USE)
self:SetCollisionGroup(COLLISION_GROUP_PASSABLE_DOOR) --Collide with everything but the player
self:SetModel(modelList[math.random(#modelList)])
self:SetSolid(SOLID_VPHYSICS)
self:PhysicsInit(SOLID_VPHYSICS)
self:SetMoveType(MOVETYPE_VPHYSICS)
self:PhysWake()
end

if SERVER then
function ENT:Use(activator)
if activator:Team() ~= TEAM_SLASHER then return end
if activator:GetNWString("Slasher") ~= "PostalDude" then return end

DeagleBulletsControl(activator, 2)
MGBulletsControl(activator, 5)

SlashCo.AudioSystem.PlaySound({
soundPath = "slashco/slasher/postaldude/dude_ammo_pickup.ogg",
identifier = "PostalAmmoPickUp",
minDistance = 200,
maxDistance = 400,
entity = activator,
volume = 1.0,
})

SlashCo.CreateItem("sc_postalammo", SlashCo.RandomPosLocator(), Angle(0, 0, 0))
self:Remove()
end
end
2 changes: 1 addition & 1 deletion gamemodes/slashco/gamemode/slasher/sv_slasher_func.lua
Original file line number Diff line number Diff line change
Expand Up @@ -401,7 +401,7 @@ function SlashCo.StartChaseMode(slasher, forceChase)
looping = true,
entity = slasher,
volume = 0.7,
fadeIn = 1,
fadeIn = 0,
})

SlashCo.AddFog({
Expand Down
27 changes: 27 additions & 0 deletions lua/slashco/lang/en.lua
Original file line number Diff line number Diff line change
Expand Up @@ -617,6 +617,30 @@ SlashCo.LangTable["Hoovydundy_tip"] = "-Never try to stun him."
SlashCo.LangTable["genblock"] = "block generator"
SlashCo.LangTable["entangle"] = "entangle"

--Postal Dude
SlashCo.LangTable["PostalDude"] = "Postal Dude"
SlashCo.LangTable["PostalDude_desc"] = [[A very tactical slasher with an emphasis on all round range combat, short chases
and general versisitility.

-Your patience meter depletes over time when in chase, reducing your speed
-Patience will deplete in chase and by dealing damage
-You have an arsenal of weapons suitable at all ranges, unlocked as the game progresses
-You may pick up gas cans to use them offensively instead, pouring gas on the ground and igniting it with matches]]
SlashCo.LangTable["PostalDude_tip"] = "-Postal Dude relies on ambushing unsuspecting or out of position players, make sure to pay attention to a subtle change in the ambience and plan accordingly especially when out in the open!"


SlashCo.LangTable["patience"] = "patience"
SlashCo.LangTable["shovel"] = "shovel"
SlashCo.LangTable["deagle"] = "deagle"
SlashCo.LangTable["m4"] = "m4"
SlashCo.LangTable["kick"] = "kick"
SlashCo.LangTable["shovel_bash"] = "shovel bash"
SlashCo.LangTable["shoot"] = "shoot"
SlashCo.LangTable["pour"] = "pour"
SlashCo.LangTable["ignite"] = "ignite"
SlashCo.LangTable["deagle_ammo"] = "deagle ammo"
SlashCo.LangTable["m4_ammo"] = "m4 ammo"

--misc from maptools
SlashCo.LangTable["spectators_can_ping"] = "Spectators can now ping for survivors."
SlashCo.LangTable["unhide"] = "unhide" -- for dolphinman to unhide
Expand Down Expand Up @@ -750,6 +774,9 @@ SlashCo.LangTable["Watcher_docDescAdd"] = [[This Slasher cannot passively gain [
SlashCo.LangTable["Hoovydundy_docDesc"] = [[What began as mere rumors turned out to be true. A Slashco crew was sent out to perform their daily routine, but they encountered HIM. Only one of our loyal employees manages to survive to tell us about his encounter with the entity.]]
SlashCo.LangTable["Hoovydundy_docDescAdd"] = [[This slasher is slow and always emits a red light around him, making it easy to spot and avoid. It can grab his victims with a rope that comes from his body. He is able to interfere with REFUELING generators. It is strongly recommended that you DO NOT ATTEMPT to stun this slasher under any circumstances.]]

SlashCo.LangTable["PostalDude_docDesc"] = [[After leaving edensin and stumbling upon yet another town The Dude found himself in need of money once more. Learning from his past endevours he quickly stumbled upon a company that after seeing his talent, offered him a position as a natural deterrent for their {Very important and totally not expendable} employees. You may ask yourself "Why would they do such a thing, wouldnt this be counter productive?". And you would be right if SlashCo didint extort the money directly from the government by artificially raising the threat level. Business is booming as they say.]]
SlashCo.LangTable["PostalDude_docDescAdd"] = [[This slasher gets stronger the more generator progress is done gaining new abilities and running out of patience faster, he is best played as an ambusher due to said patience meter, completing all generators is sure to piss him off. Patience depletes out of chase making him faster and vice versa, he automatically enters chase upon dealing damage and raises his patience meter by dealing said damage. Shovel is an all purpose melee tool, deagle is good at longer ranges and the m4 will shred your hp up close but proove uneffective at longer ranges due to its recoil. The Dude may pick up gas cans and pour gas on the ground igniting it with matches, dont get caught in the flames. You can kick to deal damage and bust open doors, in his last ditch rage mode this will straight up break them open.]]

-- Perks

SlashCo.LangTable["perk_nameui"] = "NAME: \""
Expand Down
Loading