Esempio n. 1
0
 void InitMovement(Game_Pawn aPawn)
 {
     aPawn.SetPhysics(Movement);
     aPawn.GroundSpeed = GroundSpeed;
     //aPawn.bCanWalk = GroundSpeed > 0.00000000;
     aPawn.AirSpeed = AirSpeed;
     //aPawn.bCanFly = AirSpeed > 0.00000000;
     //aPawn.MinFlySpeed = AirMinSpeed;
     aPawn.AirControl = AirControl;
     //aPawn.bCanStrafe = CanStrafe;
     //aPawn.bCanRest = CanRest;
     //aPawn.bCanWalkBackwards = CanWalkBackwards;
     //if (aPawn.bCanFly)
     //{
     //    aPawn.CharacterStats.mBaseMovementSpeed = (int)AirSpeed;
     //}
     //else
     {
         aPawn.CharacterStats.mBaseMovementSpeed = (int)GroundSpeed;
     }
     if (CombatSpeed >= 0)
     {
         aPawn.CharacterStats.mMovementSpeedMultiplier[1] = CombatSpeed / GroundSpeed;
     }
     if (GroundSpeed >= 1)
     {
         aPawn.WalkingPct = StrollSpeed / GroundSpeed;
     }
     aPawn.WaterSpeed = WaterSpeed;
     //aPawn.bCanSwim = WaterSpeed > 0.00000000;
     aPawn.JumpZ = JumpSpeed;
     //aPawn.bCanJump = JumpSpeed > 0.00000000;
     //aPawn.LadderSpeed = ClimbSpeed;
     //aPawn.bCanClimbLadders = ClimbSpeed > 0.00000000;
     aPawn.AccelRate          = AccelRate;
     aPawn.RotationRate.Yaw   = (int)TurnSpeed;
     aPawn.RotationRate.Pitch = (int)TurnSpeed;
     aPawn.RotationRate.Roll  = (int)TurnSpeed;
     //aPawn.bAlignToFloor = bAlignToFloor;
     //aPawn.bAlignToFloorRoll = bAlignToFloorRoll;
     //aPawn.bAlignToFloorPitch = bAlignToFloorPitch;
     //aPawn.bForceSkelUpdate = bForceAttachmentUpdates;
     aPawn.SetCollisionSize(GetCollisionRadius(), GetCollisionHeight());
     //aPawn.mMaxDamageFallSpeed = TerminalVelocity;
     //aPawn.mMinDamageFallSpeed = TerminalVelocity * 0.75000000;
     //if (Movement == Actor.EPhysics.PHYS_Flying)
     //{
     //    aPawn.bCanFly = true;
     //}
 }
Esempio n. 2
0
        public Game_Appearance CreateAppearance(Game_Pawn aPawn, Game_Appearance aAppearance, bool aShifting)
        {
            float R;
            float H;

            aPawn.SkillRadius = GetSkillRadius();
            if (!aShifting)
            {
                R = GetCollisionRadius();
                H = GetCollisionHeight();
                if (R >= 0 && H >= 0)
                {
                    aPawn.SetCollisionSize(R, H);
                }
            }
            if (aAppearance != null)
            {
                switch (Voice)
                {
                case 0:
                    aAppearance.SetVoice(255);
                    break;

                case 9:
                    if (aAppearance.IsKid())
                    {
                        if (aAppearance.GetGender() == 0)
                        {
                            aAppearance.SetVoice(Rand(1));
                        }
                        else
                        {
                            aAppearance.SetVoice(Rand(2));
                        }
                    }
                    else
                    {
                        aAppearance.SetVoice((byte)(10 + Rand(14)));
                    }
                    break;

                default:
                    aAppearance.SetVoice((byte)(Voice - 1));
                    break;
                }
                //aAppearance.SetAvatarTexture(AvatarTexture);
            }
            return(aAppearance);
        }