simulated final function vector CalcDrawOffsetClient( int Hand )
{
local vector DrawOffset, WeaponBob;
local Pawn PawnOwner;
PawnOwner = Pawn(Owner);
if( PawnOwner==None )
return Location;
if( Hand==0 )
{
DrawOffset.X = Default.PlayerViewOffset.X * 0.88;
DrawOffset.Y = -0.2 * Default.PlayerViewOffset.Y;
DrawOffset.Z = Default.PlayerViewOffset.Z * 1.12;
//DrawScale3D.Y = 1.f;
}
else
{
DrawOffset = Default.PlayerViewOffset;
DrawOffset.Y*=Hand;
if( RightHandedModel==None )
{
if(class==class'Enforcer')
DrawScale3D.Y = Hand;
else if(class==class'ShockRifle')
DrawScale3D.Y = Hand;
else if(class==class'PulseGun')
DrawScale3D.Y = Hand;
else if(class==class'Minigun2')
DrawScale3D.Y = Hand;
else if(class==class'Ripper')
DrawScale3D.Y = Hand;
else if(class==class'UT_FlakCannon')
DrawScale3D.Y = Hand;
else if(class==class'UT_EightBall')
DrawScale3D.Y = Hand;
else if(class==class'WarHeadLauncher')
DrawScale3D.Y = Hand;
else
DrawScale3D.Y = -Hand;
}
}
DrawOffset = (DrawOffset >> PawnOwner.ViewRotation);
DrawOffset += (PawnOwner.EyeHeight * vect(0,0,1));
WeaponBob = BobDamping * PawnOwner.WalkBob;
WeaponBob.Z = (0.45 + 0.55 * BobDamping) * PawnOwner.WalkBob.Z;
DrawOffset += WeaponBob;
return DrawOffset;
}