"spawn as props" bone scale retention (#1305)

added set bone scale to spawn as contraption
This commit is contained in:
Heatwu 2023-08-21 18:20:00 -04:00 committed by GitHub
parent 9d56c2d8ec
commit 9bb07ff3f6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 1 deletions

View File

@ -27,6 +27,10 @@ function pacx.PartToContraptionData(part, tbl)
data.mat = part:GetMaterial()
data.mdl = part:GetModel()
data.skn = part:GetSkin()
local size = part:GetSize()
data.scale = part:GetScale()*size
data.id = part.UniqueID
table.insert(tbl, data)

View File

@ -43,6 +43,16 @@ local function spawn(val,ply)
if phys:IsValid() then
phys:EnableMotion(false)
local maxabs = 150
val.scale.X = math.Clamp(val.scale.X,-maxabs,maxabs)
val.scale.Y = math.Clamp(val.scale.Y,-maxabs,maxabs)
val.scale.Z = math.Clamp(val.scale.Z,-maxabs,maxabs)
for i=0, ent:GetBoneCount()-1 do
ent:ManipulateBoneScale( i, val.scale )
end
undo.Create("Prop")
undo.SetPlayer(ply)
undo.AddEntity(ent)