Exemple #1
0
        public TricoProjectile3(Trico mobile)
            : base(mobile, ShotType.SS, Parameter.ProjectileTricoSSExplosionRadius, Parameter.ProjectileTricoSSBaseDamage)
        {
            Mobile = mobile;

            rotationExplosionOffset = mobile.Facing == Facing.Left ? -1 : 1;

            //Initializing Flipbook
            FlipbookList.Add(new Flipbook(
                                 mobile.Crosshair.CannonPosition, new Vector2(40, 17),
                                 66, 36, "Graphics/Tank/Trico/Bullet3",
                                 new AnimationInstance()
            {
                StartingFrame = 0, EndingFrame = 7, TimePerFrame = 1 / 19f
            },
                                 DepthParameter.Projectile, angle));

            hasExploded    = false;
            explosionTimer = 0;

            //Physics/Trajectory setups
            mass          = Parameter.ProjectileTricoSSMass;
            windInfluence = Parameter.ProjectileTricoSSWindInfluence;

            SpawnTime = 0.5f;
        }
Exemple #2
0
        public static void Shot2(Trico mobile)
        {
            float angleModifier = mobile.Facing == Facing.Left ? -1 : 1;

            mobile.UninitializedProjectileList.Add(new TricoBaseProjectile2(mobile, new Vector2(35, 0), angleModifier));
            mobile.UninitializedProjectileList.Add(new TricoBaseProjectile2(mobile, Vector2.Zero, angleModifier));
            mobile.UninitializedProjectileList.Add(new TricoBaseProjectile2(mobile, new Vector2(-35, 0), angleModifier));
        }
Exemple #3
0
        public TricoProjectile2(Trico mobile)
            : base(mobile, ShotType.S2, Parameter.ProjectileTricoS2ExplosionRadius, Parameter.ProjectileTricoS2BaseDamage)
        {
            //Initializing Flipbook
            FlipbookList.Add(new Flipbook(
                                 mobile.Crosshair.CannonPosition, new Vector2(16, 16),
                                 32, 32, "Graphics/Tank/Trico/Bullet2",
                                 new List <AnimationInstance>()
            {
                new AnimationInstance()
                {
                    StartingFrame = 0, EndingFrame = 7, TimePerFrame = 1 / 20f
                }
            },
                                 DepthParameter.Projectile, angle));

            FlipbookList[0].SetTransparency(0);
        }
Exemple #4
0
        public TricoBaseProjectile2(Trico mobile, Vector2 positionOffset, float angleModifier)
            : base(mobile, ShotType.S2, 0, 0, canCollide: false)
        {
            projectile = new TricoProjectile2(mobile);

            rotationAngle      = 0;
            offset             = positionOffset;
            this.angleModifier = angleModifier;

            SpawnTime    = 0.7f;
            offsetFactor = 0;

            projectile.OnFinalizeExecutionAction = OnFinalizeExecutionAction;

            //Physics/Trajectory setups
            mass          = Parameter.ProjectileTricoS2Mass;
            windInfluence = Parameter.ProjectileTricoS2WindInfluence;
        }
Exemple #5
0
        public TricoProjectile1(Trico mobile)
            : base(mobile, ShotType.S1, Parameter.ProjectileTricoS1ExplosionRadius, Parameter.ProjectileTricoS1BaseDamage)
        {
            //Initializing Flipbook
            FlipbookList.Add(new Flipbook(
                                 mobile.Crosshair.CannonPosition, new Vector2(16, 16),
                                 32, 32, "Graphics/Tank/Trico/Bullet1",
                                 new List <AnimationInstance>()
            {
                new AnimationInstance()
                {
                    StartingFrame = 0, EndingFrame = 7, TimePerFrame = 1 / 20f
                }
            }, DepthParameter.Projectile, angle));

            //Physics/Trajectory setups
            mass          = Parameter.ProjectileTricoS1Mass;
            windInfluence = Parameter.ProjectileTricoS1WindInfluence;

            SpawnTime = 0.7;
        }
Exemple #6
0
        public static Mobile BuildMobile(MobileType mobileType, Player player, Vector2 position, bool isInGame = true)
        {
            Mobile mobile = null;

            switch (mobileType)
            {
            case MobileType.Random:       mobile = new Random(player, position);       break;

            case MobileType.Armor:        mobile = new Armor(player, position);        break;

            case MobileType.Bigfoot:      mobile = new Bigfoot(player, position);      break;

            case MobileType.Dragon:       mobile = new Dragon(player, position);       break;

            case MobileType.Mage:         mobile = new Mage(player, position);         break;

            case MobileType.Ice:          mobile = new Ice(player, position);          break;

            case MobileType.Knight:       mobile = new Knight(player, position);       break;

            case MobileType.RaonLauncher: mobile = new RaonLauncher(player, position); break;

            case MobileType.Trico:        mobile = new Trico(player, position);        break;

            case MobileType.Turtle:       mobile = new Turtle(player, position);       break;

            case MobileType.Lightning:    mobile = new Lightning(player, position);    break;
            }

            if (isInGame)
            {
                mobile.HideLobbyExclusiveAvatars();
            }

            return(mobile);
        }