From ad9d0424bce8f526868b87fb0de33cac6fd4bde4 Mon Sep 17 00:00:00 2001 From: toasterpanic Date: Thu, 4 Jun 2026 22:41:58 -0400 Subject: [PATCH] General cleanup mostly --- README.md | 4 +- lua/autorun/client/zcnpci_menu.lua | 3 - lua/entities/v1.old | 92 -------------- lua/entities/v2.old | 99 --------------- lua/entities/v3.old | 94 -------------- lua/entities/v4.old | 191 ----------------------------- 6 files changed, 1 insertion(+), 482 deletions(-) delete mode 100644 lua/entities/v1.old delete mode 100644 lua/entities/v2.old delete mode 100644 lua/entities/v3.old delete mode 100644 lua/entities/v4.old diff --git a/README.md b/README.md index 716d7b9..dfb94a8 100644 --- a/README.md +++ b/README.md @@ -17,8 +17,7 @@ This addon is based off of Kazarei's Euphoria, which in turn is a fork of Fedhor ## Known issues - Bandages, tourniquets, etc. that are on the ragdoll or NPC body will not be there when they get back up. Don't know how to fix this right now, though if anyone experienced with Z-City's codebase would know how to I would appreciate knowing. -- The NPC getting up animation is quite ridiculous and a little ugly. Honestly, getting it to work that much was a struggle in itself and I'm terrified of trying to do anything more than that. If anyone else would like to do that, however, feel free to create a discussion and I can send you the source code link. -- Occasionally the game thinks that all damage is bullet damage? God knows why. I'll figure it out eventually. +- The NPC getting up animation is a little ugly. However, creating that animation was an adventure on levels that I would personally dislike re-experiencing. ## Compatibility @@ -38,7 +37,6 @@ MUST BE DONE BEFORE RELEASE: - Fire / falling / pain reaction (more rapid flailing) - NPCs should not unfake if being grabbed -- Fix combine targeting players when ai_ignoreplayers = 1. This is caused by an npc_bullseye that is always on the player. I don't know why it's always there but I don't like it. Will probably override it with my own npc_ragdoll_target entity. Stuff to do: diff --git a/lua/autorun/client/zcnpci_menu.lua b/lua/autorun/client/zcnpci_menu.lua index 848185f..4d9c5d7 100644 --- a/lua/autorun/client/zcnpci_menu.lua +++ b/lua/autorun/client/zcnpci_menu.lua @@ -6,9 +6,6 @@ local function PopulateAISBXToolMenu(pnl) pnl:ControlHelp("Should NPCs target the player's head? This can result in more effective targeting.") pnl:CheckBox("NPCs shouldn't target unconscious NPCs", "zcnpci_no_unconscious_targeting") - - pnl:CheckBox("NPCs shouldn't target unconscious players", "zcnpci_no_unconscious_targeting_players") - pnl:ControlHelp("This may or may not work.") end local function PopulateCustomNPCSBXToolMenu(pnl) diff --git a/lua/entities/v1.old b/lua/entities/v1.old deleted file mode 100644 index 6376c95..0000000 --- a/lua/entities/v1.old +++ /dev/null @@ -1,92 +0,0 @@ -AddCSLuaFile() - -ENT.Type = "anim" -ENT.Base = "base_anim" -ENT.AutomaticFrameAdvance = true - -local bones_to_animate = { - "ValveBiped.Bip01_Pelvis", - "ValveBiped.Bip01_Spine2", - "ValveBiped.Bip01_Head1", - "ValveBiped.Bip01_R_Thigh", - "ValveBiped.Bip01_L_Thigh", - "ValveBiped.Bip01_L_Calf", - "ValveBiped.Bip01_R_Calf", - "ValveBiped.Bip01_R_Foot", - "ValveBiped.Bip01_L_Foot", - "ValveBiped.Bip01_R_Upperarm", - "ValveBiped.Bip01_L_Upperarm", - "ValveBiped.Bip01_R_Forearm", - "ValveBiped.Bip01_L_Forearm", - "ValveBiped.Bip01_R_Hand", - "ValveBiped.Bip01_L_Hand", -} - -function ENT:Initialize() - if SERVER then - print("I AM SERVERSIDE") - self:SetModel("models/dav0r/hoverball.mdl") - end - - if CLIENT then - print("I AM CLIENTSIDE") - timer.Simple(0.2, function() - - end) - end -end - -function ENT:Draw() - if CLIENT then - local old_ragdoll = self:GetNWEntity("parent") - if IsValid(old_ragdoll) then - if !self.ready_to_unfake then - self:SetModel(old_ragdoll:GetModel()) - - self.bone_list = {} - - self:SetupBones() - - for i,name in pairs(bones_to_animate) do - local bone_index = old_ragdoll:LookupBone(name) - - self.bone_list[name] = old_ragdoll:GetBoneMatrix(bone_index) - end - - print("BONES:"..self:GetBoneCount()) - - self.ready_to_unfake = true - end - - self:SetPos(old_ragdoll:GetPos()) - - for name,matrix in pairs(self.bone_list) do - local bone_index = self:LookupBone(name) - if bone_index == -1 then - print(name.." does not exist, skipping...") - continue - end - - print(name) - --local bone_matrix = old_ragdoll:GetBoneMatrix(bone_index) - - self:SetBoneMatrix(bone_index, matrix) - end - end - end - - self:DrawModel() -end - -function ENT:Think() - - return true -end - -function ENT:OnRemove() - if CLIENT then - if self.anim_ragdoll then - self.anim_ragdoll:Remove() - end - end -end \ No newline at end of file diff --git a/lua/entities/v2.old b/lua/entities/v2.old deleted file mode 100644 index 163649b..0000000 --- a/lua/entities/v2.old +++ /dev/null @@ -1,99 +0,0 @@ -AddCSLuaFile() - -ENT.Type = "anim" -ENT.Base = "base_anim" -ENT.AutomaticFrameAdvance = true - -local bones_to_animate = { - "ValveBiped.Bip01_Pelvis", - "ValveBiped.Bip01_Spine2", - "ValveBiped.Bip01_Head1", - "ValveBiped.Bip01_R_Thigh", - "ValveBiped.Bip01_L_Thigh", - "ValveBiped.Bip01_L_Calf", - "ValveBiped.Bip01_R_Calf", - "ValveBiped.Bip01_R_Foot", - "ValveBiped.Bip01_L_Foot", - "ValveBiped.Bip01_R_Upperarm", - "ValveBiped.Bip01_L_Upperarm", - "ValveBiped.Bip01_R_Forearm", - "ValveBiped.Bip01_L_Forearm", - "ValveBiped.Bip01_R_Hand", - "ValveBiped.Bip01_L_Hand", -} - -function ENT:Initialize() - if SERVER then - print("I AM SERVERSIDE") - self:SetModel("models/dav0r/hoverball.mdl") - end - - if CLIENT then - print("I AM CLIENTSIDE") - timer.Simple(0.2, function() - - end) - end -end - -function ENT:Draw() - if CLIENT then - local old_ragdoll = self:GetNWEntity("parent") - if IsValid(old_ragdoll) then - if !self.ready_to_unfake then - self:SetModel(old_ragdoll:GetModel()) - - self.bone_list = {} - self.bone_original_positions = {} - - self:SetupBones() - - for i,name in pairs(bones_to_animate) do - local bone_index = old_ragdoll:LookupBone(name) - - self.bone_list[name] = old_ragdoll:GetBoneMatrix(bone_index) - self.bone_original_positions[name] = self:GetBoneMatrix(bone_index) - end - - print("BONES:"..self:GetBoneCount()) - - self.ready_to_unfake = true - end - - self:SetPos(old_ragdoll:GetPos()) - - for name,matrix in pairs(self.bone_list) do - local bone_index = self:LookupBone(name) - if bone_index == -1 then - print(name.." does not exist, skipping...") - continue - end - - print(name) - --local bone_matrix = old_ragdoll:GetBoneMatrix(bone_index) - - local original_position = self.bone_original_positions[name]:GetTranslation() - local goal_position = matrix:GetTranslation() - - print((original_position - goal_position)) - - self:ManipulateBonePosition(bone_index, Vector(0, 0, 16)) - end - end - end - - self:DrawModel() -end - -function ENT:Think() - - return true -end - -function ENT:OnRemove() - if CLIENT then - if self.anim_ragdoll then - self.anim_ragdoll:Remove() - end - end -end \ No newline at end of file diff --git a/lua/entities/v3.old b/lua/entities/v3.old deleted file mode 100644 index 09a1eab..0000000 --- a/lua/entities/v3.old +++ /dev/null @@ -1,94 +0,0 @@ -AddCSLuaFile() - -ENT.Type = "anim" -ENT.Base = "base_anim" -ENT.AutomaticFrameAdvance = true - -local bones_to_animate = { - "ValveBiped.Bip01_Pelvis", - "ValveBiped.Bip01_Spine2", - "ValveBiped.Bip01_Head1", - "ValveBiped.Bip01_R_Thigh", - "ValveBiped.Bip01_L_Thigh", - "ValveBiped.Bip01_L_Calf", - "ValveBiped.Bip01_R_Calf", - "ValveBiped.Bip01_R_Foot", - "ValveBiped.Bip01_L_Foot", - "ValveBiped.Bip01_R_Upperarm", - "ValveBiped.Bip01_L_Upperarm", - "ValveBiped.Bip01_R_Forearm", - "ValveBiped.Bip01_L_Forearm", - "ValveBiped.Bip01_R_Hand", - "ValveBiped.Bip01_L_Hand", -} - -function ENT:Initialize() - if SERVER then - print("I AM SERVERSIDE") - self:SetModel("models/dav0r/hoverball.mdl") - end - - if CLIENT then - print("I AM CLIENTSIDE") - timer.Simple(0.2, function() - - end) - end -end - -function ENT:Draw() - if CLIENT then - local old_ragdoll = self:GetNWEntity("parent") - if IsValid(old_ragdoll) then - if !self.ready_to_unfake then - self.ragdoll = ClientsideModel(old_ragdoll:GetModel()) - self.ragdoll:SetModel(old_ragdoll:GetModel()) - - self.bone_list = {} - - self.ragdoll:SetupBones() - - for i,name in pairs(bones_to_animate) do - local bone_index = old_ragdoll:LookupBone(name) - - self.bone_list[name] = old_ragdoll:GetBoneMatrix(bone_index) - end - - print("BONES:"..self.ragdoll:GetBoneCount()) - - self.ready_to_unfake = true - end - - self.ragdoll:SetPos(old_ragdoll:GetPos()) - - for name,matrix in pairs(self.bone_list) do - local bone_index = self.ragdoll:LookupBone(name) - if bone_index == -1 then - print(name.." does not exist, skipping...") - continue - end - - print(name) - --local bone_matrix = old_ragdoll:GetBoneMatrix(bone_index) - - self.ragdoll:SetBoneMatrix(bone_index, matrix) - end - end - end - - self:DrawModel() - self.ragdoll:DrawModel() -end - -function ENT:Think() - - return true -end - -function ENT:OnRemove() - if CLIENT then - if self.anim_ragdoll then - self.anim_ragdoll:Remove() - end - end -end diff --git a/lua/entities/v4.old b/lua/entities/v4.old deleted file mode 100644 index 1341984..0000000 --- a/lua/entities/v4.old +++ /dev/null @@ -1,191 +0,0 @@ -AddCSLuaFile() - -ENT.Type = "anim" -ENT.Base = "base_anim" -ENT.AutomaticFrameAdvance = true - - - -local bones_to_animate = { - "ValveBiped.Bip01_Pelvis", - "ValveBiped.Bip01_Spine2", - "ValveBiped.Bip01_Head1", - "ValveBiped.Bip01_R_Thigh", - "ValveBiped.Bip01_L_Thigh", - "ValveBiped.Bip01_L_Calf", - "ValveBiped.Bip01_R_Calf", - "ValveBiped.Bip01_R_Foot", - "ValveBiped.Bip01_L_Foot", - "ValveBiped.Bip01_R_Upperarm", - "ValveBiped.Bip01_L_Upperarm", - "ValveBiped.Bip01_R_Forearm", - "ValveBiped.Bip01_L_Forearm", - "ValveBiped.Bip01_R_Hand", - "ValveBiped.Bip01_L_Hand", -} - -local function GetBoneLocalOffsetMatrix(ent, bone_index) - local parent = ent:GetBoneParent(bone_index) - local parent_matrix = Matrix(ent:GetBoneMatrix(parent)) - parent_matrix:Invert() - parent_matrix:Mul(ent:GetBoneMatrix(bone_index)) - - return parent_matrix -end - -local function GetGlobalMatrixFromLocal(ent, bone_index, local_matrix) - local parent = ent:GetBoneParent(bone_index) - local parent_matrix = Matrix(ent:GetBoneMatrix(parent)) - parent_matrix:Mul(local_matrix) - - return parent_matrix -end - -function ENT:Initialize() - if SERVER then - print("I AM SERVERSIDE") - self:SetModel("models/dav0r/hoverball.mdl") - end - - if CLIENT then - print("I AM CLIENTSIDE") - timer.Simple(0.2, function() - - end) - end -end - -function ENT:Draw() - if CLIENT then - local old_ragdoll = self:GetNWEntity("parent") - local old_npc = self:GetNWEntity("parent_npc") - if IsValid(old_ragdoll) and IsValid(old_npc) then - if !self.ready_to_unfake then - self:SetModel(old_ragdoll:GetModel()) - - self.bone_list = {} - self.bone_list_end = {} - self.bone_list_end_offset = {} - - self:SetupBones() - - local i = 0 - while i < self:GetBoneCount() do - local name = self:GetBoneName(i) - if name == "__INVALIDBONE__" then - i = i + 1 - continue - end - - table.insert(bones_to_animate, name) - - local matrix = Matrix() - - local position, angle = old_ragdoll:GetBonePosition(i) - if position == old_ragdoll:GetPos() then - get_matrix = old_ragdoll:GetBoneMatrix(i) - if get_matrix then - position = get_matrix:GetTranslation() - end - end - matrix:Translate(position) - matrix:Rotate(angle) - - self.bone_list[name] = matrix - - local matrix = Matrix() - - local npc_bone_index = old_npc:LookupBone(name) - - local position, angle = old_npc:GetBonePosition(npc_bone_index) - if position == old_npc:GetPos() then - print("DINGUS!!!! "..name) - self.bone_list_end_offset[name] = GetBoneLocalOffsetMatrix(self, npc_bone_index) - - get_matrix = old_npc:GetBoneMatrix(npc_bone_index) - if get_matrix then - position = get_matrix:GetTranslation() - end - else - matrix:Translate(position) - matrix:Rotate(angle) - - - self.bone_list_end[name] = matrix - end - - - - i = i + 1 - end - - PrintTable(bones_to_animate) - - --[[for i,name in pairs(bones_to_animate) do - local bone_index = old_ragdoll:LookupBone(name) - if bone_index == nil then continue end - - self.bone_list[name] = Matrix(old_ragdoll:GetBoneMatrix(bone_index)) - end]] - - print("BONES:"..self:GetBoneCount()) - - self.ready_to_unfake = true - end - - self:SetPos(old_ragdoll:GetPos()) - - self:SetupBones() - - local fake_start = self:GetNWFloat("fake_start") - local fake_end = self:GetNWFloat("fake_end") - - local progress = (CurTime() - fake_start) / (fake_end - fake_start) - - for name,matrix in pairs(self.bone_list) do - local bone_index = self:LookupBone(name) - if bone_index == -1 then - print(name.." does not exist, skipping...") - continue - end - - local matrix_end = self.bone_list_end[name] - - if matrix_end == nil then - if (self.bone_list_end_offset[name] == nil) then - print("OH FUCKKKKKKKK! No matrix end for "..name) - continue - end - - matrix_end = GetGlobalMatrixFromLocal(self, bone_index, self.bone_list_end_offset[name]) - end - - local final_matrix = Matrix() - final_matrix:Translate(LerpVector(progress, matrix:GetTranslation(), matrix_end:GetTranslation())) - final_matrix:Rotate(LerpAngle(progress, matrix:GetAngles(), matrix_end:GetAngles())) - - --print(name) - --local bone_matrix = old_ragdoll:GetBoneMatrix(bone_index) - - if matrix:GetTranslation():DistToSqr(self:GetPos()) == 1 then continue end - - self:SetBoneMatrix(bone_index, final_matrix) - end - end - end - - self:DrawModel() -end - -function ENT:Think() - - return true -end - -function ENT:OnRemove() - if CLIENT then - --[[if self.anim_ragdoll then - self.anim_ragdoll:Remove() - end]] - end -end \ No newline at end of file