|
| 1 | +local playerMeta = FindMetaTable("Player") |
| 2 | +function playerMeta:isWepRaised() |
| 3 | + local weapon = self:GetActiveWeapon() |
| 4 | + local override = hook.Run("ShouldWeaponBeRaised", self, weapon) |
| 5 | + if override ~= nil then return override end |
| 6 | + if IsValid(weapon) then |
| 7 | + if weapon.IsAlwaysRaised or weapon.AlwaysRaised or ALWAYS_RAISED and ALWAYS_RAISED[weapon:GetClass()] then |
| 8 | + return true |
| 9 | + elseif weapon.IsAlwaysLowered or weapon.NeverRaised then |
| 10 | + return false |
| 11 | + end |
| 12 | + end |
| 13 | + |
| 14 | + if self:getNetVar("restricted") then return false end |
| 15 | + if lia.config.get("wepAlwaysRaised", true) then return true end |
| 16 | + local raised = self:getNetVar("raised") |
| 17 | + if raised ~= nil then return raised end |
| 18 | + raised = self:getNetVar("wepRaised") |
| 19 | + if raised ~= nil then return raised end |
| 20 | + return false |
| 21 | +end |
| 22 | + |
| 23 | +function playerMeta:WepRaised() |
| 24 | + return self:isWepRaised() |
| 25 | +end |
| 26 | + |
| 27 | +if SERVER then |
| 28 | + function playerMeta:setWepRaised(state) |
| 29 | + state = tobool(state) |
| 30 | + self:setNetVar("raised", state) |
| 31 | + self:setNetVar("wepRaised", state) |
| 32 | + local weapon = self:GetActiveWeapon() |
| 33 | + if IsValid(weapon) then |
| 34 | + weapon:SetNextPrimaryFire(CurTime() + 1) |
| 35 | + weapon:SetNextSecondaryFire(CurTime() + 1) |
| 36 | + end |
| 37 | + end |
| 38 | + |
| 39 | + function playerMeta:SetWepRaised(state) |
| 40 | + self:setWepRaised(state) |
| 41 | + end |
| 42 | + |
| 43 | + function playerMeta:toggleWepRaised() |
| 44 | + self:setWepRaised(not self:isWepRaised()) |
| 45 | + local weapon = self:GetActiveWeapon() |
| 46 | + if not IsValid(weapon) then return end |
| 47 | + if self:isWepRaised() and isfunction(weapon.OnRaised) then |
| 48 | + weapon:OnRaised() |
| 49 | + elseif not self:isWepRaised() and isfunction(weapon.OnLowered) then |
| 50 | + weapon:OnLowered() |
| 51 | + end |
| 52 | + end |
| 53 | + |
| 54 | + function playerMeta:ToggleWepRaised() |
| 55 | + self:toggleWepRaised() |
| 56 | + end |
| 57 | +end |
0 commit comments