Fixed spawner pasting offsets

This commit is contained in:
Garrett 2018-10-25 21:46:14 -04:00
parent 1a96ff48e8
commit 827339e40d

View File

@ -143,18 +143,23 @@ function ENT:SetDupeInfo( HeadEnt, EntityTable, ConstraintTable )
if(!self.DupeAngle)then self.DupeAngle = self:GetAngles() end
if(!self.EntAngle)then self.EntAngle = EntityTable[HeadEnt].PhysicsObjects[0].Angle end
if(!self.Offset)then self.Offset = self.EntityTable[HeadEnt].PhysicsObjects[0].Pos end
self.EntityTable[HeadEnt].PhysicsObjects[0].Pos = Vector(0,0,0)
local headpos, headang = EntityTable[HeadEnt].PhysicsObjects[0].Pos, EntityTable[HeadEnt].PhysicsObjects[0].Angle
for k, v in pairs(EntityTable) do
for o, p in pairs(v.PhysicsObjects) do
p.LPos, p.LAngle = WorldToLocal(p.Pos, p.Angle, headpos, headang)
end
end
end
function ENT:DoSpawn( ply )
self.EntityTable[self.HeadEnt].PhysicsObjects[0].Pos = self:GetPos()
self.EntityTable[self.HeadEnt].PhysicsObjects[0].Angle = self:GetAngles()
for k,v in pairs(self.Ghosts)do
self.EntityTable[k].PhysicsObjects[0].Pos = v:GetPos()
self.EntityTable[k].PhysicsObjects[0].Angle = v:GetAngles()
for k, v in pairs(self.EntityTable) do
for o, p in pairs(v.PhysicsObjects) do
p.Pos, p.Angle = self:LocalToWorld(p.LPos), self:LocalToWorldAngles(p.LAngle)
end
end
/*local AngleOffset = self.EntAngle
@ -165,7 +170,7 @@ function ENT:DoSpawn( ply )
AngleOffset2:RotateAroundAxis(self:GetRight(),AngleOffset.p)
AngleOffset2:RotateAroundAxis(self:GetForward(),AngleOffset.r)*/
local Ents, Constrs = AdvDupe2.duplicator.Paste(ply, table.Copy(self.EntityTable), table.Copy(self.ConstraintTable), nil, nil, Vector(0,0,0), true)
local Ents, Constrs = AdvDupe2.duplicator.Paste(ply, self.EntityTable, self.ConstraintTable, nil, nil, Vector(0,0,0), true)
local i = #self.UndoList+1
self.UndoList[i] = Ents