Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
502 commits
Select commit Hold shift + click to select a range
4bd14fe
Added information on two slasher documents
Xerkdot Aug 4, 2025
ee22e7a
gamemode: properly handle player disconnects while waiting for everyo…
RaphaelIT7 Aug 5, 2025
bacf7e7
gamemode: flash the window when being asked
RaphaelIT7 Aug 5, 2025
a7cc21a
gamemode: reduce spectator light size & increase its brightness.
RaphaelIT7 Aug 5, 2025
d6a2c50
gamemode: solve some errors
RaphaelIT7 Aug 5, 2025
18e6ffe
gamemode: add slashco_announcement
RaphaelIT7 Aug 5, 2025
f3f7eb3
effects: fix invisibility effect not disabling player shadow
RaphaelIT7 Aug 5, 2025
24f9620
slashers: do very basic balancement based on player count that probab…
RaphaelIT7 Aug 5, 2025
bfabb45
gamemode: try to support late join of expected players
RaphaelIT7 Aug 5, 2025
7c56154
gamemode: actually check the round time
RaphaelIT7 Aug 5, 2025
026d618
gamemode: fix an error
RaphaelIT7 Aug 6, 2025
1d74716
trollge: reduce balancement speed
RaphaelIT7 Aug 6, 2025
823e7f6
audiosystem: throw an error only once and not every few seconds
RaphaelIT7 Aug 6, 2025
28c66f7
gamemode: fix late joining not working
RaphaelIT7 Aug 6, 2025
8a41cba
gamemode: solve PlayerSelectSpawn warnings
RaphaelIT7 Aug 6, 2025
1f87699
gamemode: fix an lua error in the lobby
RaphaelIT7 Aug 8, 2025
b22eb53
gamemode: fix late join spawning people in before the round started
RaphaelIT7 Aug 8, 2025
4397093
sid: eat the cookie if a player is holding one
RaphaelIT7 Aug 8, 2025
a1fbe09
gamemode: cleanup the code of the crimclone
RaphaelIT7 Aug 8, 2025
322b175
gamemode: handle rare failure of SlashCo.LocalizedTraceHullLocator pr…
RaphaelIT7 Aug 8, 2025
80f9738
repo: upload workshop script to make updating easier
RaphaelIT7 Aug 9, 2025
073a29a
tyler: let the background music get more silent when he's close to en…
RaphaelIT7 Aug 9, 2025
808eea4
gamemode: fix a typo in sc_crimclone's lua file
RaphaelIT7 Aug 9, 2025
349d1d1
gamemode: make the lobby elevator proceed after 30 seconds
RaphaelIT7 Aug 9, 2025
0d8ba8a
audiosystem: solve some issues
RaphaelIT7 Aug 9, 2025
1a0931b
tyler: fix my math for the background music fading out
RaphaelIT7 Aug 9, 2025
0b70c8b
gamemode: fix fuel can sound having a way too big range
RaphaelIT7 Aug 9, 2025
7e10eb9
tyler: spawn the fuel in front of him if we have the space
RaphaelIT7 Aug 9, 2025
8b9d735
audiosystem: solve a rare error
RaphaelIT7 Aug 9, 2025
fb65f7a
gamemode: make batteries play a sound in overtime just like fuelcans
RaphaelIT7 Aug 9, 2025
c869bad
gamemode: fix some rare errors
RaphaelIT7 Aug 9, 2025
11a8dc5
gamemode: make the generators use the new audiosystem
RaphaelIT7 Aug 9, 2025
38bdef8
tyler: change a lot of stuff
RaphaelIT7 Aug 9, 2025
e5617db
gamemode: allow disconnected players to reconnect in the late join time
RaphaelIT7 Aug 9, 2025
b9cab23
gamemode: remove slashco_dynamicfog convar since it gave others a pos…
RaphaelIT7 Aug 9, 2025
fc1d65c
gamemode: do some cleanup
RaphaelIT7 Aug 9, 2025
a681bde
sounds: add some for the future
RaphaelIT7 Aug 10, 2025
8f16560
gamemode: fix late join failing since I used the wrong variable
RaphaelIT7 Aug 10, 2025
95c731f
gamemode: do some cleanup for dynamic lights
RaphaelIT7 Aug 10, 2025
511b1c4
gamemode: don't reset the lobby just because a survivor or slasher di…
RaphaelIT7 Aug 10, 2025
01dc75f
gamemode: try to fix criminal after I somehow broke him
RaphaelIT7 Aug 13, 2025
530401c
balance covenant
Xerkdot Aug 13, 2025
929a03c
gamemode: add a new slasher function
RaphaelIT7 Aug 14, 2025
476e1b8
gamemode: fix another error in crimclone
RaphaelIT7 Aug 14, 2025
36cf697
princess: reduce the chase speed less when below the default
RaphaelIT7 Sep 1, 2025
503bd87
repo: fix indents for files
RaphaelIT7 Sep 1, 2025
2f3592a
slashers: a lot of balancement changes
RaphaelIT7 Sep 1, 2025
26d50ee
amogus: try to fix fuel can sometimes being stuck on hip level
RaphaelIT7 Sep 1, 2025
12c5359
tyler: fix him marking players as seen when he shouldn't
RaphaelIT7 Sep 1, 2025
574f82a
repo: fix some errors & fix document UI showing slasher name when you…
RaphaelIT7 Sep 1, 2025
4e01a91
repo: make the awareness effect also have an outline around the slasher
RaphaelIT7 Sep 1, 2025
8db2677
sid: actually make him eat the cookies of survivors now
RaphaelIT7 Sep 1, 2025
9ee82a5
repo: slight code changes
RaphaelIT7 Sep 1, 2025
b2d2717
brick: make it more brick like
RaphaelIT7 Sep 1, 2025
d5feb5d
spawning: spawn one more generator for every 8 additional players
RaphaelIT7 Sep 1, 2025
031ab67
tyler: make this function a global
RaphaelIT7 Sep 1, 2025
f129d85
sound: add some sounds for very soon use
RaphaelIT7 Sep 1, 2025
e5bae65
database: setup new Experience column for future use
RaphaelIT7 Sep 1, 2025
e48b0df
spawning: fix generator balancement not working & change it a bit
RaphaelIT7 Sep 1, 2025
b81c461
slasher: fix a potential error
RaphaelIT7 Sep 1, 2025
f5da147
gamemode: don't remove these on cleanup
RaphaelIT7 Sep 3, 2025
e10d4ae
gamemode: fix SlashCo.BustDoor being broken
RaphaelIT7 Sep 3, 2025
6e53e3f
content: change hatman files
RaphaelIT7 Sep 3, 2025
109e4fc
gamemode: add beerkeg
RaphaelIT7 Sep 3, 2025
911115f
models: push all new models
RaphaelIT7 Sep 4, 2025
94a6d09
gamemode: change it from slashco to slashco_beta to not conflict with…
RaphaelIT7 Sep 5, 2025
ead84b9
abomignat: change some sounds
RaphaelIT7 Sep 5, 2025
03768c8
repo: push current changes
RaphaelIT7 Sep 5, 2025
1bd4142
beerkeg: fix it
RaphaelIT7 Sep 6, 2025
c3f5f3b
repo: revert this from 94a6d09ec6c386718c6a467544601d16d9f95f58
RaphaelIT7 Sep 6, 2025
c595c4d
items: beerkeg and costcopizza changes
Xerkdot Sep 7, 2025
1b40446
Do some changes
RaphaelIT7 Sep 9, 2025
8ecbb18
Mark Newports as finished
RaphaelIT7 Sep 9, 2025
e7a0a7e
Do more changes and fixes
RaphaelIT7 Sep 9, 2025
64dec84
tyler: lil fix
Xerkdot Sep 9, 2025
ca72ef3
slashers: little balance changes
Xerkdot Sep 9, 2025
949eff1
gamemode: fix a bug with the jonkler cart
RaphaelIT7 Sep 10, 2025
45230d7
gamemode: fix slasher selection & fix a possible exploit
RaphaelIT7 Sep 14, 2025
d438a8f
repo: fix a few reported errors
RaphaelIT7 Sep 14, 2025
b600fe0
repo: update the audiosystem to support new stuff
RaphaelIT7 Sep 18, 2025
fdf671f
audiosystem: add delta recovery system & fix sounds not stopping on e…
RaphaelIT7 Sep 29, 2025
eda2e77
watcher: fix it using the wrong variable causing an error
RaphaelIT7 Sep 29, 2025
ca86f83
repo: do a lot of changes
RaphaelIT7 Sep 29, 2025
36464d8
tyler: fix an error
RaphaelIT7 Oct 17, 2025
0c831c8
repo: few changes
Xerkdot Nov 2, 2025
63a1371
dolfin: prevent DolfinClick to play while hiding
Xerkdot Nov 3, 2025
b4a85ca
gamemode: rework lobby slasher selection to be cleaner
RaphaelIT7 Nov 27, 2025
98faaf3
audiosystem: solve two issues
RaphaelIT7 Nov 27, 2025
1264315
gamemode: play random ambient sounds
RaphaelIT7 Nov 27, 2025
ccf3e80
gamemode: some code cleanup
RaphaelIT7 Nov 27, 2025
4118f55
gamemode: fix two things
RaphaelIT7 Nov 28, 2025
81d45aa
audiosystem: add group volume control
RaphaelIT7 Nov 29, 2025
89fb3c1
gamemode: fix helicopter possibly leaking seats
RaphaelIT7 Nov 29, 2025
703b41d
gamemode: multiple changes
RaphaelIT7 Nov 29, 2025
dee4b71
gamemode: more changes
RaphaelIT7 Nov 29, 2025
42fea2a
gamemode: properly throw an error of SQL encounters one
RaphaelIT7 Nov 30, 2025
a14c173
gamemode: add missing translations & remove debug stuff
RaphaelIT7 Nov 30, 2025
566acdb
gamemode: try to fix an error that someone is getting
RaphaelIT7 Nov 30, 2025
8a558f3
gamemode: some fixes
RaphaelIT7 Nov 30, 2025
2fb7340
gamemode: fill new db fields with empty strings by default
RaphaelIT7 Nov 30, 2025
7383514
gamemode: try to solve all new db issues
RaphaelIT7 Nov 30, 2025
c912ed5
gamemode: fix some things
RaphaelIT7 Nov 30, 2025
262c341
repo: small update
RaphaelIT7 Dec 15, 2025
26229c6
gamemode: fix a typo from testing
RaphaelIT7 Dec 15, 2025
eeca5a2
Borgmire: reworked his gameplay a bit
Xerkdot Dec 19, 2025
0ff2511
Borgmire: little change
Xerkdot Dec 19, 2025
2402db7
gamemode: finish lobby playerlist rework
RaphaelIT7 Dec 23, 2025
6794a64
gamemode: rework slasher document list
RaphaelIT7 Dec 23, 2025
da56f50
repo: mapping stuff
RaphaelIT7 Dec 26, 2025
a0fc7bc
sid: adding new animation
Xerkdot Dec 31, 2025
a35019d
sid: prevent funny thing from happening
Xerkdot Dec 31, 2025
7f4ab65
sid: fixed animation and cookie not working
Xerkdot Dec 31, 2025
aac028b
repo: bug fixes
RaphaelIT7 Jan 1, 2026
0eabf64
slashers: removed mindblower
Xerkdot Jan 1, 2026
e10eb52
gamemode: impervious change
Xerkdot Jan 1, 2026
0734fe9
repo: finish half-reworked effect system
RaphaelIT7 Jan 1, 2026
97476a9
gamemode: add the debug print to documents
RaphaelIT7 Jan 1, 2026
8ad9be8
gamemode: fix ping being broken
RaphaelIT7 Jan 1, 2026
5ecadbb
gamemode: fix a typo in audiosystem
RaphaelIT7 Jan 2, 2026
e4da451
slashers: added Bren
Xerkdot Jan 3, 2026
3b6c4df
bren: code clean up
Xerkdot Jan 3, 2026
a9b75f4
repo: some error fixes
RaphaelIT7 Jan 4, 2026
a9b1c56
bren: small cleanups to use the proper functions
RaphaelIT7 Jan 4, 2026
22a6ade
bren: fixed two issues
Xerkdot Jan 4, 2026
74dca0c
repo: some offering chanegs
RaphaelIT7 Jan 4, 2026
83bccd8
gamemode: add fallback method in case GetBrushSurfaces fails on the w…
RaphaelIT7 Jan 4, 2026
f55e312
gamemode: fix clientside document list containing invalid entries
RaphaelIT7 Jan 4, 2026
d909455
repo: remove unused files & fix hatman missing textures
RaphaelIT7 Jan 4, 2026
b84e8fd
repo: small changes
RaphaelIT7 Jan 6, 2026
376481e
bren: use SlasherHudFunc for disabling controls during noclip
Xerkdot Jan 8, 2026
08e6b82
bren: also remove this lol
Xerkdot Jan 8, 2026
f167485
bren: another hud change to use proper functions
Xerkdot Jan 8, 2026
d0e2c35
repo: some changes
RaphaelIT7 Jan 8, 2026
806cbc8
repo: doing some fixes again
RaphaelIT7 Jan 10, 2026
30b6d63
repo: fix lobby spawns
RaphaelIT7 Jan 12, 2026
82070a6
gamemode: allow the use of flashlights in a blackout
RaphaelIT7 Jan 12, 2026
b71a2eb
repo: doing changes
RaphaelIT7 Jan 12, 2026
db97a14
Borgmire: Fixed being able to punch or throw while sprinting/kicking
Xerkdot Jan 14, 2026
125eae8
gamemode: remove debug error as I got my results
RaphaelIT7 Jan 18, 2026
478ef0b
gamemode: two small fixes
RaphaelIT7 Jan 18, 2026
9c88a9f
gamemode: few changes
Xerkdot Jan 19, 2026
41c1c52
abomignat: fix controls not going visible again when crawling is canc…
Xerkdot Jan 19, 2026
c3f4d5f
abomignat: small audio system change
Xerkdot Jan 20, 2026
ace4f49
dolphinman: fixed not gaining Hunt Power when the helicopter is called
Xerkdot Jan 22, 2026
620cd6a
dolphinman: fixed not gaining HuntPower when he kills without hiding …
Xerkdot Jan 22, 2026
3e56a20
thirsty: fixed milkjug wrong position in hand
Xerkdot Jan 24, 2026
314595d
manspider: i'll probably regret this
Xerkdot Jan 24, 2026
ffd28da
manspider: try to do some cleanup
RaphaelIT7 Jan 26, 2026
4c30813
gamemode: show battery halos in spectator
Xerkdot Jan 28, 2026
445f936
documents: added language support
Xerkdot Jan 29, 2026
0d01db1
male07: fixed not spawning with the correct speed values
Xerkdot Jan 31, 2026
6337a68
gamemode: added a command to give points
Xerkdot Feb 1, 2026
e06ab72
thirsty: slightly 'nerfed'
Xerkdot Feb 4, 2026
f0b05cb
manspider: switch the scream sound to use the audio system
Xerkdot Feb 10, 2026
8bba455
gamemode: readd debug stuff as GMod got a change that we need to test
RaphaelIT7 Feb 11, 2026
4d55639
manspider: now uses anger system
Xerkdot Feb 13, 2026
6a6517a
repo: expose GetSlasherAnger stuff for the client to simplify some th…
RaphaelIT7 Feb 15, 2026
e1aa535
manspider: code cleanup to avoid whole player -> steamid -> player co…
RaphaelIT7 Feb 15, 2026
edfd253
gamemode: add some valid checks to avoid errors
RaphaelIT7 Feb 15, 2026
be2ebb2
repo: another update
RaphaelIT7 Feb 16, 2026
ace1293
repo: change how PlayersToBecomePartOfCovenant stores things & fix a bug
RaphaelIT7 Feb 16, 2026
b7681bb
Fix some bugs (Bababooey cooldown issue, additional beacons not worki…
Duck375 Feb 16, 2026
461848f
repo: fix some new issues
RaphaelIT7 Feb 16, 2026
12b3fed
gamemode: don't error when input.LookupBinding fails
RaphaelIT7 Feb 16, 2026
d2f8c8c
bababooey: fix some possible errors
RaphaelIT7 Feb 16, 2026
73a3d1e
lang: updated spanish translation
Xerkdot Feb 16, 2026
273b569
lang: small change
Xerkdot Feb 16, 2026
1f74098
repo: quick update
Xerkdot Feb 16, 2026
4908c86
gamemode: fix an possible error
RaphaelIT7 Feb 17, 2026
b04f3eb
gamemode: show objectives to spectators too
RaphaelIT7 Feb 17, 2026
bb42765
gamemode: lower lobby background music to be only 40%
RaphaelIT7 Feb 17, 2026
7c3d78b
manspider: few changes
Xerkdot Feb 19, 2026
0d48c8a
slashers: quick fixes
Xerkdot Feb 19, 2026
c62cc9b
audiosystem: rework networking of the audiosystem
RaphaelIT7 Feb 22, 2026
99ce6c6
gamemode: fix gasFuelMeter checking the wrong key
RaphaelIT7 Feb 22, 2026
de8b6c5
audiosystem: remove debug error code
RaphaelIT7 Feb 22, 2026
465c11e
gamemode: make everything have a load function
RaphaelIT7 Feb 22, 2026
1ab759a
gamemode: fix slashco_debug_lobbybot not working
RaphaelIT7 Feb 22, 2026
7dafcd6
gamemode: add a IsValid check
RaphaelIT7 Feb 22, 2026
0cb039c
audiosystem: network the missing bit
RaphaelIT7 Feb 22, 2026
8052e7c
audiosystem: fix an error when trying to play a sound only for a spec…
RaphaelIT7 Feb 22, 2026
67c302d
audiosystem: check if the boundConVar even exists
RaphaelIT7 Feb 22, 2026
5686e99
audiosystem: cleanup stuff to hopefully fix it
RaphaelIT7 Feb 22, 2026
e300014
slashers: switched all sounds to use the audiosystem
Xerkdot Feb 23, 2026
fb12e54
manspider: little fix
Xerkdot Feb 23, 2026
1b0eaa9
freesmiley: animations update
Xerkdot Feb 23, 2026
094923e
gamemode: some fixes
RaphaelIT7 Feb 28, 2026
5e8fdfd
gamemode: fix slashco_openkeyboardbinds throwing an error
RaphaelIT7 Feb 28, 2026
cff2695
repo: prepare for merge
RaphaelIT7 Feb 28, 2026
37cc329
repo: rebalance, changelog update and extras
Xerkdot Feb 28, 2026
24bda6e
changelog: updated with latest change
Xerkdot Feb 28, 2026
b9d0f3e
changelog: include perks
Xerkdot Feb 28, 2026
edc2794
changelog: silly mistake here
Xerkdot Feb 28, 2026
56844f7
gamemode: make survivor models work in stage 0
Xerkdot Mar 1, 2026
79ec175
changelog: work it a bit more out
RaphaelIT7 Mar 1, 2026
cd14c42
repo: a lot of changes
RaphaelIT7 Mar 1, 2026
4a96c6c
repo: use color_black & change upload-workshop script
RaphaelIT7 Mar 1, 2026
3b5ffa0
gamemode: unify chat/voice chat to use the same logic
RaphaelIT7 Mar 1, 2026
f56eb4a
gamemode: fix an error with pensive smiley
RaphaelIT7 Mar 1, 2026
c16ab3a
male07: fixed it using a sound name and not a sound file, causing an …
RaphaelIT7 Mar 1, 2026
4c3ef06
gamemode: fix pings being nuked on autorefresh
RaphaelIT7 Mar 1, 2026
11e1ebb
gamemode: rename this function and avoid calling it when unnecessary
RaphaelIT7 Mar 1, 2026
c46bda0
gamemode: rework pings
RaphaelIT7 Mar 1, 2026
283c542
gamemode: fix AskToBecomeSlasher UI showing key numbers instead of name
RaphaelIT7 Mar 1, 2026
ad1c232
gamemode: unset slasher selection privilege if time ran out to avoid …
RaphaelIT7 Mar 1, 2026
bc55fc3
repo: few changes
Xerkdot Mar 1, 2026
584ca73
borgmire: reduced distance of chase sounds.
Xerkdot Mar 1, 2026
04a240e
speedrunner ore: use audiosystem for the survivor sounds
Xerkdot Mar 1, 2026
a76bd3f
items: updated files a bit
Xerkdot Mar 3, 2026
42e6851
lobby: updated map
Xerkdot Mar 4, 2026
6dae166
items: fixed typos
Xerkdot Mar 4, 2026
f05766e
freesmiley: fixed animations sometimes not playing(?
Xerkdot Mar 5, 2026
95f4cfd
survivors: reduce speed when holding a gascan (150hu)
Xerkdot Mar 6, 2026
fd825d9
repo: increased failsafe timer + updated changelog
Xerkdot Mar 12, 2026
9e59e83
sid: move the cookie stealing to OnPrimaryFire
Xerkdot Mar 14, 2026
da35522
repo: some fixes
RaphaelIT7 Mar 15, 2026
defea16
trollge: block his attack during the dash cooldown
Xerkdot Mar 16, 2026
302d3de
sid: prevent spamming m1 to force an unfair kill
Xerkdot Mar 16, 2026
b19ca82
repo: fix some reported issues
RaphaelIT7 Mar 16, 2026
f90171a
gamemode: fix slasher's seeing survivor and spectator pings
RaphaelIT7 Mar 16, 2026
d1af16c
changelog: updated a bit more
Xerkdot Mar 16, 2026
e9d46ae
audiosystem: fix GetSoundFileFromSource not stripping away ( & )
RaphaelIT7 Mar 19, 2026
6f70b12
slashers: few changes
Xerkdot Mar 19, 2026
cfcc3d7
criminal: reduced clones volume.
Xerkdot Mar 21, 2026
576fd27
abomignat: fixes
Xerkdot Mar 21, 2026
fea1e4a
dolphinman: balances
Xerkdot Mar 21, 2026
4ef1f0f
changelog: updated with recent changes
Xerkdot Mar 21, 2026
14a2312
criminal: added background music
Xerkdot Mar 21, 2026
f27e229
repo: some fixes
RaphaelIT7 Mar 22, 2026
4f0ac4e
gamemode: fix pinging a player in the lobby resulting in an error
RaphaelIT7 Mar 22, 2026
569d37d
gamemode: make SlasherIDToSlasher not be case-sensitive
RaphaelIT7 Mar 22, 2026
9af8072
sid: fix an error
RaphaelIT7 Mar 22, 2026
122450a
ore: fixed an error with CancelMining function
Xerkdot Mar 22, 2026
5d2d5e1
helicopter: temp solution to handle extra players
Xerkdot Mar 23, 2026
8e2dfb0
tyler: keep endless chase song if tyler has less than 50% anger.
Xerkdot Mar 24, 2026
cf9b1b5
speedrunner: added mining and stun animations
Xerkdot Mar 24, 2026
d25f979
speedrunner: redid this properly
Xerkdot Mar 25, 2026
f63c121
slashers: small cleanup
Xerkdot Mar 26, 2026
a96ceda
criminal: tiny change on his background music
Xerkdot Mar 27, 2026
adf9dd0
slashers: balance stuff
Xerkdot Mar 27, 2026
fd0bbea
speedrunner: fixed pickaxe being in the wrong hand
Xerkdot Mar 28, 2026
89f9e19
criminal: fixed background music not working
Xerkdot Mar 30, 2026
777891a
repo: fixing stuff and balance
Xerkdot Apr 2, 2026
22bbcc6
lang: temp fix for extra slashers
Xerkdot Apr 3, 2026
bfb4dbf
changelog: updated
Xerkdot Apr 4, 2026
1c80d13
tyler: also check for not endlessChase just in case.
Xerkdot Apr 4, 2026
055819d
repo: last stuff
Xerkdot Apr 4, 2026
925ff61
slashers: fixing fixing
Xerkdot Apr 7, 2026
587ba6f
repo: add SLASHER.OnPlayerDeath
RaphaelIT7 Apr 7, 2026
74b5718
changelog: update
Xerkdot Apr 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@ maps/sc_highschool.bsp
maps/sc_hospital.bsp
/.idea/
maps/sc_redforest.bsp
*.bak
_workshop/**
367 changes: 367 additions & 0 deletions CHANGELOG.md

Large diffs are not rendered by default.

75 changes: 75 additions & 0 deletions gamemodes/slashco/entities/effects/rocks_lightning.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
local mat = Material("cable/blue_elec")
function EFFECT:Init(data)
self.StartPos = data:GetStart()
self.HitPos = data:GetOrigin()
self.fDelta = 3
self.Entity:SetRenderBoundsWS(self.StartPos, self.HitPos)
self.BeamSize = 16
self.DieTime = CurTime() + math.Rand(0.5,1.0)
end

function EFFECT:Think()
return not (CurTime() > self.DieTime)
end

local rng_vec = Vector()
local color = Color(143, 167, 240, 255)
function EFFECT:Render()
self.fDelta = math.Max(self.fDelta - 0.5, 0)
self.BeamSize = math.Max(self.BeamSize - 0.05, 0)
render.SetMaterial(mat)

local start_pos = self.StartPos
local end_pos = self.HitPos
local dir = (end_pos - start_pos)
local increment = dir:Length() / 12
dir:Normalize()

// set material
render.SetMaterial(mat)

// start the beam with 14 points
render.StartBeam(14)

local curTime = CurTime()

// add start
render.AddBeam(
start_pos, // Start position
self.BeamSize, // Width
curTime, // Texture coordinate
color // Color
)

for i = 1, 12 do
// get point
local point = start_pos + dir
point:Mul(i * increment)

rng_vec:Random(-1, 1)
point:Add(rng_vec)
point:Mul(math.random(1, 8))

// texture coords
local tcoord = curTime + (1 / 12) * i

// add point
render.AddBeam(
point,
self.BeamSize,
tcoord,
color
)
end

// add the last point
render.AddBeam(
end_pos,
self.BeamSize,
curTime + 1,
color
)

// finish up the beam
render.EndBeam()
end
28 changes: 14 additions & 14 deletions gamemodes/slashco/entities/effects/sid_muzzle.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ function EFFECT:Init(data)
local vOffset = data:GetOrigin()
--local Dir = data:GetStart()

local Dir = Entity(1):EyeAngles():Forward()
local Dir = data:GetEntity():EyeAngles():Forward()

local NumParticles = 32

Expand Down Expand Up @@ -66,19 +66,19 @@ function EFFECT:Init(data)

particleflash:SetAngleVelocity(Angle(math.Rand(-25, 25), math.Rand(-25, 25), math.Rand(-25, 25)))
end

if i == 1 then
local dlight = DynamicLight(24984)
if dlight then
dlight.pos = vOffset
dlight.r = 255
dlight.g = 100
dlight.b = 100
dlight.brightness = 3
dlight.Decay = 1000
dlight.Size = 150
dlight.DieTime = CurTime() + 0.12
end
end

if GameData.CURRENT_SID then
local dlight = DynamicLight(MAX_EDICT + GameData.CURRENT_SID:EntIndex())
if dlight then
dlight.pos = vOffset
dlight.r = 255
dlight.g = 100
dlight.b = 100
dlight.brightness = 3
dlight.Decay = 1000
dlight.Size = 150
dlight.DieTime = CurTime() + 0.12
end
end

Expand Down
38 changes: 38 additions & 0 deletions gamemodes/slashco/entities/entities/func_sc_limitedzone.lua
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,44 @@ function ENT:Leave(ent)
end
end

hook.Add("SlashCo:Precache", "PrecacheZone", function()
for k=1, 5 do
SlashCo.PrecacheSound("physics/flesh/flesh_impact_bullet" .. k .. ".wav")
end

SlashCo.PrecacheSound("physics/flesh/flesh_bloody_break.wav")

for k=1, 3 do
SlashCo.PrecacheSound("physics/flesh/flesh_strider_impact_bullet" .. k .. ".wav")
end

for k=1, 4 do
SlashCo.PrecacheSound("physics/glass/glass_pottery_break" .. k .. ".wav")
end

for k=1, 4 do
SlashCo.PrecacheSound("physics/glass/glass_strain" .. k .. ".wav")
end

for k=1, 4 do
SlashCo.PrecacheSound("physics/flesh/flesh_squishy_impact_hard" .. k .. ".wav")
end

SlashCo.PrecacheSound("physics/flesh/flesh_bloody_break.wav")

for k=1, 4 do
SlashCo.PrecacheSound("physics/flesh/flesh_squishy_impact_hard" .. k .. ".wav")
end

for k=1, 4 do
SlashCo.PrecacheSound("physics/glass/glass_pottery_break" .. k .. ".wav")
end

for k=1, 4 do
SlashCo.PrecacheSound("physics/glass/glass_strain" .. k .. ".wav")
end
end)

local damageSounds = {
[1] = function(ent, damage)
--default
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
ENT.Type = "brush"

function ENT:Initialize()
self:SetTrigger(true)

GameData.PlayersInElevatorZone = GameData.PlayersInElevatorZone or {}
end

function ENT:StartTouch(ent)
if not ent:IsPlayer() then return end

-- RaphaelIT7: We reference count to avoid the case that a mapper screwed up if they put zones INTO each other.
GameData.PlayersInElevatorZone[ent] = (GameData.PlayersInElevatorZone[ent] or 0) + 1
end

function ENT:EndTouch(ent)
if not ent:IsPlayer() then return end

GameData.PlayersInElevatorZone[ent] = GameData.PlayersInElevatorZone[ent] - 1
if GameData.PlayersInElevatorZone[ent] == 0 then
GameData.PlayersInElevatorZone[ent] = nil
end
end
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ function ENT:OnSpawn()
Ent:SetPos(pos)
Ent:SetAngles(ang)
Ent:Spawn()
Ent:AddEFlags(EFL_KEEP_ON_RECREATE_ENTITIES)

return Ent
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
--[[
Map entity meant to only be used in the Lobby.
]]

ENT.Type = "point"

if CLIENT then return end

GameData.TrollgePaths = GameData.TrollgePaths or {}
function ENT:Initialize()
GameData.TrollgePaths[self.PathName] = self
end

function ENT:OnRemove()
GameData.TrollgePaths[self.PathName] = nil
end

local PATH_TYPE_START = 0
local PATH_TYPE_MOVE = 1
local PATH_TYPE_DOOR = 2
local PATH_TYPE_FINISH = 3

local PATH_AREA_INSIDE = 0
local PATH_AREA_OUTSIDE = 1

function SlashCo.FindNextBlackoutPath(inside, currentPath, backwards)
if not currentPath then
for _, path in pairs(GameData.TrollgePaths) do
if path.PathType == PATH_TYPE_START then
if inside and path.PathArea == PATH_AREA_INSIDE then
return path.PathName, path:GetPos()
end

if not inside and path.PathArea == PATH_AREA_OUTSIDE then
return path.PathName, path:GetPos()
end
end
end

return nil, nil
end

local path = GameData.TrollgePaths[currentPath]
if not IsValid(path) then return nil, nil end
if backwards then
for _, prev in pairs(GameData.TrollgePaths) do
if prev.NextPath == currentPath then
return prev.PathName, prev:GetPos(), prev.PathType == PATH_TYPE_DOOR
end
end

return nil, nil
end

if not path.NextPath then return nil, nil end

local nextPath = GameData.TrollgePaths[path.NextPath]
if not IsValid(nextPath) then return nil, nil end

return nextPath.PathName, nextPath:GetPos(), nextPath.PathType == PATH_TYPE_DOOR
end

function ENT:KeyValue(key, value)
key = string.lower(key)
if key == "path_type" then
self.PathType = tonumber(value)
return
end

if key == "path_area" then
self.PathArea = tonumber(value)
return
end

if key == "path_name" then
self.PathName = value
return
end

if key == "path_next" then
self.NextPath = value
return
end
end
6 changes: 6 additions & 0 deletions gamemodes/slashco/entities/entities/info_sc_document/init.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
ENT.Type = "point"
ENT.Base = "sc_forciblespawnbase"

function ENT:OnSpawn()
return SlashCo.CreateDocument(self:GetPos(), self:GetAngles())
end
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ function ENT:OnSpawn()
Ent:SetPos(pos)
Ent:SetAngles(ang)
Ent:Spawn()
Ent:AddEFlags(EFL_KEEP_ON_RECREATE_ENTITIES)

return Ent
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
ENT.Type = "point"

function ENT:Initialize()
SetGlobal2Vector("SlashCo:BriefingUIPos", self:GetPos())
SetGlobal2Angle("SlashCo:BriefingUIAng", self:GetAngles())
end

ENT.OnMapToolRedo = ENT.Initialize
ENT.OnMapToolUndo = ENT.Initialize

-- Call this once you changed the Global2 values above to your new values
concommand.Add("slashco_maptool_applybriefingscreen", function(ply)
if not ply or (IsValid(ply) and not ply:IsListenServerHost()) then return end

local ent = ents.FindByClass("info_sc_lobby_briefingscreen")[1]
if not IsValid(ent) then return end

SlashCo.MapTools.SetEntityPositionAndAngle(ent, GetGlobal2Vector("SlashCo:BriefingUIPos"), GetGlobal2Angle("SlashCo:BriefingUIAng"))
end)

local angRotation = Angle(0, 90, 90)
concommand.Add("slashco_maptool_setbriefingscreen", function(ply)
if not ply or (IsValid(ply) and not ply:IsListenServerHost()) then return end

SlashCo.MapTools.IsEnabled()
local eyeTrace = ply:GetEyeTrace()
SetGlobal2Vector("SlashCo:BriefingUIPos", eyeTrace.HitPos)

local traceAngle = eyeTrace.HitNormal:Angle()
traceAngle:Add(angRotation)
SetGlobal2Angle("SlashCo:BriefingUIAng", traceAngle)
end)
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
ENT.Type = "point"

function ENT:Initialize()
SetGlobal2Vector("SlashCo:DocumentUIPos", self:GetPos())
SetGlobal2Angle("SlashCo:DocumentUIAng", self:GetAngles())
end

ENT.OnMapToolRedo = ENT.Initialize
ENT.OnMapToolUndo = ENT.Initialize

-- Call this once you changed the Global2 values above to your new values
concommand.Add("slashco_maptool_applydocumentscreen", function(ply)
if not ply or (IsValid(ply) and not ply:IsListenServerHost()) then return end

local ent = ents.FindByClass("info_sc_lobby_documentscreen")[1]
if not IsValid(ent) then return end

SlashCo.MapTools.SetEntityPositionAndAngle(ent, GetGlobal2Vector("SlashCo:DocumentUIPos"), GetGlobal2Angle("SlashCo:DocumentUIAng"))
end)

local angRotation = Angle(0, 90, 90)
concommand.Add("slashco_maptool_setdocumentscreen", function(ply)
if not ply or (IsValid(ply) and not ply:IsListenServerHost()) then return end

SlashCo.MapTools.IsEnabled()
local eyeTrace = ply:GetEyeTrace()
SetGlobal2Vector("SlashCo:DocumentUIPos", eyeTrace.HitPos)

local traceAngle = eyeTrace.HitNormal:Angle()
traceAngle:Add(angRotation)
SetGlobal2Angle("SlashCo:DocumentUIAng", traceAngle)
end)
Original file line number Diff line number Diff line change
@@ -1,13 +1,3 @@
ENT.Type = "point"
ENT.Base = "sc_spawnbase"
ENT.Team = TEAM_SURVIVOR

function ENT:Initialize()
self.TimerIndex = math.random(1000000000)
end

function ENT:OnSpawn()
timer.Create("SlashCoSpawn_" .. self.TimerIndex, 5, 1, function()
self.SpawnedEntity = nil
end)
end
ENT.Team = TEAM_SURVIVOR
Loading