diff --git a/lua/arc9/common/attachments/default.lua b/lua/arc9/common/attachments/default.lua index f5755bbc..0b32f312 100644 --- a/lua/arc9/common/attachments/default.lua +++ b/lua/arc9/common/attachments/default.lua @@ -207,6 +207,7 @@ ATT.Attachments = { Pos = Vector(0, 0, 0), Ang = Angle(0, 0, 0), KeepBaseIrons = false, + StickerModel = "" -- applies to the current model if one exists } } diff --git a/lua/arc9/common/attachments_bulk/charms_default.lua b/lua/arc9/common/attachments_bulk/charms_default.lua index 36f38eef..d20eac81 100644 --- a/lua/arc9/common/attachments_bulk/charms_default.lua +++ b/lua/arc9/common/attachments_bulk/charms_default.lua @@ -208,3 +208,32 @@ if CLIENT then end ARC9.LoadAttachment(ATT, "charm_gs_clock") + +ATT = {} + +ATT.PrintName = "Sticker Panel" +ATT.CompactName = "STICKER" +ATT.Icon = Material("entities/arc9_att_charm_gs_sticker.png", "mips smooth") +ATT.Free = true + +ATT.Description = [[Allows a sticker to be applied to the screen.]] + +ATT.MenuCategory = "ARC9 - Charms" + +ATT.Model = "models/items/arc9/att_screenbase.mdl" +ATT.BoxModel = "models/items/arc9/att_cardboard_box.mdl" + +ATT.Category = {"charm", "gunscreen"} + +ATT.Attachments = { + { + PrintName = "STICKER", + StickerModel = "models/items/arc9/sticker_screenbase.mdl", + Category = "stickers", + Pos = Vector(0, 0, 0), + Ang = Angle(0, 0, 0), + Icon_Offset = Vector(-2, 0, 0) + } +} + +ARC9.LoadAttachment(ATT, "charm_gs_sticker") diff --git a/lua/weapons/arc9_base/cl_model.lua b/lua/weapons/arc9_base/cl_model.lua index fb4b5555..972e997f 100644 --- a/lua/weapons/arc9_base/cl_model.lua +++ b/lua/weapons/arc9_base/cl_model.lua @@ -492,7 +492,15 @@ function SWEP:SetupModel(wm, lod, cm) stickermodel.slottbl = slottbl stickermodel:AddEffects(EF_BONEMERGE) - stickermodel:SetParent(basemodel) + local stickerparent = basemodel + if slottbl.ParentTable then + if wm then + stickerparent = slottbl.ParentTable.WModel or basemodel + else + stickerparent = slottbl.ParentTable.VModel or basemodel + end + end + stickermodel:SetParent(stickerparent) stickermodel:SetMaterial(atttbl.StickerMaterial) diff --git a/lua/weapons/arc9_base/sh_subatts.lua b/lua/weapons/arc9_base/sh_subatts.lua index a3b2e4af..ff47e04a 100644 --- a/lua/weapons/arc9_base/sh_subatts.lua +++ b/lua/weapons/arc9_base/sh_subatts.lua @@ -137,6 +137,7 @@ function SWEP:BuildSubAttachmentTree(tbl, parenttbl) subatts[i].ToggleNum = tbl.SubAttachments[i].ToggleNum or 1 subatts[i].CorrectiveAng = parenttbl.CorrectiveAng subatts[i].LaserCorrectionAngle = parenttbl.LaserCorrectionAngle + subatts[i].ParentTable = parenttbl if parenttbl.DuplicateModels then subatts[i].DuplicateModels = table.Copy(parenttbl.DuplicateModels) diff --git a/materials/entities/arc9_att_charm_gs_sticker.png b/materials/entities/arc9_att_charm_gs_sticker.png new file mode 100644 index 00000000..012b6b77 Binary files /dev/null and b/materials/entities/arc9_att_charm_gs_sticker.png differ diff --git a/materials/models/sherrifdoggo/gunscreen/gs_screen.vtf b/materials/models/sherrifdoggo/gunscreen/gs_screen.vtf index aedf64ab..b150379e 100644 Binary files a/materials/models/sherrifdoggo/gunscreen/gs_screen.vtf and b/materials/models/sherrifdoggo/gunscreen/gs_screen.vtf differ diff --git a/models/items/arc9/sticker_screenbase.dx80.vtx b/models/items/arc9/sticker_screenbase.dx80.vtx new file mode 100644 index 00000000..8c499191 Binary files /dev/null and b/models/items/arc9/sticker_screenbase.dx80.vtx differ diff --git a/models/items/arc9/sticker_screenbase.dx90.vtx b/models/items/arc9/sticker_screenbase.dx90.vtx new file mode 100644 index 00000000..014d12ef Binary files /dev/null and b/models/items/arc9/sticker_screenbase.dx90.vtx differ diff --git a/models/items/arc9/sticker_screenbase.mdl b/models/items/arc9/sticker_screenbase.mdl new file mode 100644 index 00000000..67fde06a Binary files /dev/null and b/models/items/arc9/sticker_screenbase.mdl differ diff --git a/models/items/arc9/sticker_screenbase.sw.vtx b/models/items/arc9/sticker_screenbase.sw.vtx new file mode 100644 index 00000000..29d0844d Binary files /dev/null and b/models/items/arc9/sticker_screenbase.sw.vtx differ diff --git a/models/items/arc9/sticker_screenbase.vvd b/models/items/arc9/sticker_screenbase.vvd new file mode 100644 index 00000000..3eb1c6f1 Binary files /dev/null and b/models/items/arc9/sticker_screenbase.vvd differ