public DragonProjectile3SS(Dragon mobile, Vector2 initialPosition, Vector2 finalPosition, float spawnTime) : base(mobile, ShotType.SS, Parameter.ProjectileDragonSSExplosionRadius, Parameter.ProjectileDragonSSBaseDamage, projectileInitialPosition: initialPosition) { //Calculate the angle of the swords double angle = (float)Helper.AngleBetween(finalPosition, initialPosition); //Initializing Flipbook FlipbookList.Add(new Flipbook( initialPosition, new Vector2(49.5f, 40), 99, 80, "Graphics/Tank/Dragon/Shot3", new List <AnimationInstance>() { new AnimationInstance() { StartingFrame = 0, EndingFrame = 17, TimePerFrame = 1 / 20f }, new AnimationInstance() { StartingFrame = 18, EndingFrame = 40, TimePerFrame = 1 / 20f }, }, DepthParameter.Projectile, rotation: (float)angle)); SpawnTime = spawnTime; animationState = ProjectileAnimationState.Spawning; IsAbleToRefreshPosition = false; InitializeMovement(); }
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; }
public TurtleProjectile3SS(Turtle mobile, Vector2 positionModifier, float force, float angle) : base(mobile, ShotType.SS, Parameter.ProjectileTurtleSSEExplosionRadius, Parameter.ProjectileTurtleSSEBaseDamage, projectileInitialPosition: positionModifier) { //Initializing Flipbook FlipbookList.Add(new Flipbook( positionModifier, new Vector2(15, 13.5f), 30, 27, "Graphics/Tank/Turtle/Shot3", new AnimationInstance() { StartingFrame = 0, EndingFrame = 14, TimePerFrame = 1 / 20f }, DepthParameter.Projectile, angle)); FlipbookList[0].JumpToRandomAnimationFrame(); //Physics/Trajectory setups mass = Parameter.ProjectileTurtleSSMass; windInfluence = Parameter.ProjectileTurtleSSWindInfluence; xSpeedComponent = (float)Math.Round(Math.Cos(angle), 3); ySpeedComponent = (float)Math.Round(Math.Sin(angle), 3); yMovement.Preset(ySpeedComponent * force * Parameter.ProjectileMovementForceFactor / mass, Parameter.ProjectileMovementGravity + ywSpeedComponent * wForce * windInfluence); xMovement.Preset(xSpeedComponent * force * Parameter.ProjectileMovementForceFactor / mass, xwSpeedComponent * wForce * windInfluence); }
public ArmorProjectile2(Armor mobile) : base(mobile, ShotType.S2, Parameter.ProjectileArmorS2ExplosionRadius, Parameter.ProjectileArmorS2BaseDamage) { Mobile = mobile; primaryExplosion = true; //Initializing Flipbook FlipbookList.Add(new Flipbook( mobile.Crosshair.CannonPosition, new Vector2(31, 14), 63, 28, "Graphics/Tank/Armor/Bullet2", new List <AnimationInstance>() { new AnimationInstance() { StartingFrame = 0, EndingFrame = 4, TimePerFrame = 1 / 20f } }, DepthParameter.Projectile, angle)); //Physics/Trajectory setups mass = Parameter.ProjectileArmorS2Mass; windInfluence = Parameter.ProjectileArmorS2WindInfluence; SpawnTime = 0.6; }
public DummyProjectile(Mobile mobile, ShotType shotType, int explosionRadius, int baseDamage, bool canCollide = true) : base(mobile, shotType, explosionRadius, baseDamage, canCollide: canCollide) { this.Mobile = mobile; //Initializing Flipbook FlipbookList.Add(new Flipbook( mobile.Crosshair.CannonPosition, Vector2.One / 2, 1, 1, "Misc/Dummy", new List <AnimationInstance>() { new AnimationInstance() }, DepthParameter.Projectile, angle)); }
public MageProjectile3(Mage mobile) : base(mobile, ShotType.S1, Parameter.ProjectileMageS2ExplosionRadius, Parameter.ProjectileMageS2BaseDamage) { //Initializing Flipbook FlipbookList.Add(new Flipbook( mobile.Crosshair.CannonPosition, new Vector2(27, 27), 54, 54, "Graphics/Tank/Mage/Bullet3", new AnimationInstance() { StartingFrame = 0, EndingFrame = 14, TimePerFrame = 1 / 20f }, DepthParameter.Projectile, angle)); //Physics/Trajectory setups mass = Parameter.ProjectileMageS2Mass; windInfluence = Parameter.ProjectileMageS2WindInfluence; }
public RaonProjectile1(RaonLauncher mobile) : base(mobile, ShotType.S1, Parameter.ProjectileRaonLauncherS1ExplosionRadius, Parameter.ProjectileRaonLauncherS1BaseDamage) { //Initializing Flipbook FlipbookList.Add(new Flipbook( mobile.Crosshair.CannonPosition, new Vector2(19, 21), 38, 42, "Graphics/Tank/RaonLauncher/Bullet1", new List <AnimationInstance>() { new AnimationInstance() { StartingFrame = 0, EndingFrame = 39, TimePerFrame = 1 / 15f } }, DepthParameter.Projectile, angle)); FlipbookList[0].SetTransparency(0); }
public LightningProjectile1(Lightning mobile) : base(mobile, ShotType.S1, Parameter.ProjectileLightningS1ExplosionRadius, Parameter.ProjectileLightningS1BaseDamage) { //Initializing Flipbook FlipbookList.Add(new Flipbook( mobile.Crosshair.CannonPosition, new Vector2(30f, 31), 53, 60, "Graphics/Tank/Lightning/Bullet1", new List <AnimationInstance>() { new AnimationInstance() { StartingFrame = 0, EndingFrame = 9, TimePerFrame = 1 / 20f } }, DepthParameter.Projectile, angle)); //Physics/Trajectory setups mass = Parameter.ProjectileLightningS1Mass; windInfluence = Parameter.ProjectileLightningS1WindInfluence; }
public KnightProjectile(Knight Mobile, ShotType shotType) : base(Mobile, shotType, 0, 0) { //Initializing Flipbook FlipbookList.Add(new Flipbook( Mobile.Crosshair.CannonPosition, new Vector2(31, 32), 64, 66, "Graphics/Tank/Knight/Shot1", new List <AnimationInstance>() { new AnimationInstance() { StartingFrame = 0, EndingFrame = 19, TimePerFrame = 1 / 20f } }, DepthParameter.Projectile, angle)); //Knightsword Animation Mobile.Satellite.AttackingTarget = FlipbookList[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); }
public TurtleProjectile3(Turtle mobile) : base(mobile, ShotType.SS, Parameter.ProjectileTurtleSSExplosionRadius, Parameter.ProjectileTurtleSSBaseDamage) { //Initializing Flipbook FlipbookList.Add(new Flipbook( mobile.Crosshair.CannonPosition, new Vector2(26, 22.5f), 52, 45, "Graphics/Tank/Turtle/Bullet3", new AnimationInstance() { StartingFrame = 0, EndingFrame = 14, TimePerFrame = 1 / 20f }, DepthParameter.Projectile, angle)); bubbleAnimation = ProjectileAnimationState.Closed; //Physics/Trajectory setups mass = Parameter.ProjectileTurtleSSMass; windInfluence = Parameter.ProjectileTurtleSSWindInfluence; }
public TeleportationBeacon(Mobile mobile) : base(mobile, ShotType.TeleportationBeacon, 0, 0) { //Initializing Flipbook FlipbookList.Add(new Flipbook( mobile.Crosshair.CannonPosition, new Vector2(30, 18), 43, 39, "Graphics/Tank/Common/TeleportBullet", new List <AnimationInstance>() { new AnimationInstance() { StartingFrame = 0, EndingFrame = 11, TimePerFrame = 1 / 20f } }, DepthParameter.Projectile, angle)); //Physics/Trajectory setups mass = Parameter.ProjectileTeleportationBeaconMass; windInfluence = Parameter.ProjectileTeleportationBeaconWindInfluence; }
public ArmorProjectile1(Armor mobile) : base(mobile, ShotType.S1, Parameter.ProjectileArmorS1ExplosionRadius, Parameter.ProjectileArmorS1BaseDamage) { //Initializing Flipbook FlipbookList.Add(new Flipbook( mobile.Crosshair.CannonPosition, new Vector2(18, 14), 36, 28, "Graphics/Tank/Armor/Bullet1", new List <AnimationInstance>() { new AnimationInstance() { StartingFrame = 0, EndingFrame = 4, TimePerFrame = 1 / 20f } }, DepthParameter.Projectile, angle)); //Physics/Trajectory setups mass = Parameter.ProjectileArmorS1Mass; windInfluence = Parameter.ProjectileArmorS1WindInfluence; }
public DragonProjectile(Dragon mobile, int damage, int blastRadius, float forceModifier, float angleModifier, float spawnTime) : base(mobile, ShotType.S1, blastRadius, damage, angleModifier: angleModifier, forceModifier: forceModifier) { //Initializing Flipbook FlipbookList.Add(new Flipbook( mobile.Crosshair.CannonPosition, Vector2.One / 2, 1, 1, "Misc/Dummy", new List <AnimationInstance>() { new AnimationInstance() }, DepthParameter.Projectile, angle)); SpawnTime = spawnTime; FlipbookList[0].HideElement(); FlipbookList[0].Color = Color.Yellow; previousSESpawnPosition = FlipbookList[0].Position; }
public IceProjectile3(Ice mobile) : base(mobile, ShotType.SS, Parameter.ProjectileIceSSExplosionRadius, Parameter.ProjectileIceSSBaseDamage) { //Initializing Flipbook FlipbookList.Add(new Flipbook( mobile.Crosshair.CannonPosition, new Vector2(38.5f, 35f), 77, 70, "Graphics/Tank/Ice/Bullet3", new List <AnimationInstance>() { new AnimationInstance() { StartingFrame = 0, EndingFrame = 14, TimePerFrame = 1 / 20f } }, DepthParameter.Projectile, angle)); //Physics/Trajectory setups mass = Parameter.ProjectileIceSSMass; windInfluence = Parameter.ProjectileIceSSWindInfluence; SpawnTime = 0.7; }
public IceProjectile2(Ice mobile) : base(mobile, ShotType.S2, Parameter.ProjectileIceS2ExplosionRadius, Parameter.ProjectileIceS2BaseDamage) { //Initializing Flipbook FlipbookList.Add(new Flipbook( mobile.Crosshair.CannonPosition, new Vector2(16.5f, 17f), 37, 34, "Graphics/Tank/Ice/Bullet2", new List <AnimationInstance>() { new AnimationInstance() { StartingFrame = 0, EndingFrame = 11, TimePerFrame = 1 / 20f } }, DepthParameter.Projectile, angle)); //Physics/Trajectory setups mass = Parameter.ProjectileIceS2Mass; windInfluence = Parameter.ProjectileIceS2WindInfluence; SpawnTime = 0.2; }
public DragonProjectile3(Dragon mobile) : base(mobile, ShotType.SS, 0, 0) { //Initializing Flipbook FlipbookList.Add(new Flipbook( mobile.Crosshair.CannonPosition, new Vector2(19.5f, 19.5f), 39, 39, "Graphics/Tank/Dragon/Bullet3", new List <AnimationInstance>() { new AnimationInstance() { StartingFrame = 0, EndingFrame = 4, TimePerFrame = 1 / 20f } }, DepthParameter.Projectile, angle)); //Physics/Trajectory setups mass = Parameter.ProjectileDragonSSMass; windInfluence = Parameter.ProjectileDragonSSWindInfluence; SpawnTime = 0.3f; }
public RaonProjectile2(RaonLauncher mobile, float forceModifier) : base(mobile, ShotType.S2, 0, 0, forceModifier: forceModifier) { //Initializing Flipbook FlipbookList.Add(new Flipbook( mobile.Crosshair.CannonPosition, new Vector2(15f, 15f), 33, 31, "Graphics/Tank/RaonLauncher/Bullet2", new List <AnimationInstance>() { new AnimationInstance() { StartingFrame = 0, EndingFrame = 9, TimePerFrame = 1 / 20f } }, DepthParameter.Projectile, angle)); //Physics/Trajectory setups mass = Parameter.ProjectileRaonLauncherS2Mass; windInfluence = Parameter.ProjectileRaonLauncherS2WindInfluence; SpawnTime = 0.7; }
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; }
public BigfootProjectile1(Bigfoot mobile, float angleModifier, float spawnTime) : base(mobile, ShotType.S1, Parameter.ProjectileBigfootS1ExplosionRadius, Parameter.ProjectileBigfootS1BaseDamage, angleModifier: angleModifier) { //Initializing Flipbook FlipbookList.Add(new Flipbook( mobile.Crosshair.CannonPosition, new Vector2(31.5f, 20), 63, 40, "Graphics/Tank/Bigfoot/Bullet1", new List <AnimationInstance>() { new AnimationInstance() { StartingFrame = 0, EndingFrame = 4, TimePerFrame = 1 / 20f } }, DepthParameter.Projectile, angle)); //Physics/Trajectory setups mass = Parameter.ProjectileBigfootS1Mass; windInfluence = Parameter.ProjectileBigfootS1WindInfluence; SpawnTime = spawnTime; }
public LightningProjectile3(Lightning mobile) : base(mobile, ShotType.SS, Parameter.ProjectileLightningSSExplosionRadius, Parameter.ProjectileLightningSSBaseDamage) { Mobile = mobile; //Initializing Flipbook FlipbookList.Add(new Flipbook( mobile.Crosshair.CannonPosition, new Vector2(44f, 27f), 99, 50, "Graphics/Tank/Lightning/Bullet3", new List <AnimationInstance>() { new AnimationInstance() { StartingFrame = 0, EndingFrame = 11, TimePerFrame = 1 / 20f } }, DepthParameter.Projectile)); //Physics/Trajectory setups mass = Parameter.ProjectileLightningSSMass; windInfluence = Parameter.ProjectileLightningSSWindInfluence; SpawnTime = 0; }
public RaonProjectile3(RaonLauncher mobile) : base(mobile, ShotType.SS, 0, 0) { Mobile = mobile; //Initializing Flipbook FlipbookList.Add(new Flipbook( mobile.Crosshair.CannonPosition, new Vector2(21f, 16f), 44, 34, "Graphics/Tank/RaonLauncher/Bullet3", new List <AnimationInstance>() { new AnimationInstance() { StartingFrame = 0, EndingFrame = 9, TimePerFrame = 1 / 20f } }, DepthParameter.Projectile, angle)); //Physics/Trajectory setups mass = Parameter.ProjectileIceSSMass; windInfluence = Parameter.ProjectileIceSSWindInfluence; SpawnTime = 0.7; }
public BigfootProjectile2(Bigfoot mobile, int forceModifier, float spawnTime) : base(mobile, ShotType.S2, Parameter.ProjectileBigfootS2ExplosionRadius, Parameter.ProjectileBigfootS2BaseDamage, forceModifier: forceModifier) { Mobile = mobile; //Initializing Flipbook FlipbookList.Add(new Flipbook( mobile.Crosshair.CannonPosition, new Vector2(9, 7.5f), 18, 15, "Graphics/Tank/Bigfoot/Bullet2", new List <AnimationInstance>() { new AnimationInstance() { StartingFrame = 0, EndingFrame = 9, TimePerFrame = 1 / 20f } }, DepthParameter.Projectile, angle)); //Physics/Trajectory setups mass = Parameter.ProjectileBigfootS2Mass; windInfluence = Parameter.ProjectileBigfootS2WindInfluence; SpawnTime = spawnTime; }
public KnightProjectile3(Knight Mobile) : base(Mobile, ShotType.SS, 0, 0) { //Initializing Flipbook FlipbookList.Add(new Flipbook( Mobile.Crosshair.CannonPosition, new Vector2(25 / 2f, 24 / 2f), 25, 24, "Graphics/Tank/Knight/Shot3", new AnimationInstance() { StartingFrame = 0, EndingFrame = 19, TimePerFrame = 1 / 20f, }, DepthParameter.Projectile, angle)); //Physics/Trajectory setups mass = Parameter.ProjectileKnightSSMass; windInfluence = Parameter.ProjectileKnightSSWindInfluence; //Knightsword Animation Mobile.Satellite.AttackingTarget = FlipbookList[0]; }
public KnightSatelliteProjectile(Knight Mobile, Vector2 InitialPosition, Vector2 FinalPosition, ShotType baseShotType, double FreezeTime = 0, double SpawnTime = 0) : base(Mobile, ShotType.Satellite, Parameter.ProjectileKnightExplosionRadius, Parameter.ProjectileKnightSwordBaseDamage, projectileInitialPosition: InitialPosition) { previousSESpawnPosition = InitialPosition; initialAlpha = Parameter.ProjectileKnightInitialAlpha; //Calculate the angle of the swords double angle = (float)Helper.AngleBetween(FinalPosition, InitialPosition); //Initializing Flipbook FlipbookList.Add( new Flipbook( InitialPosition, new Vector2(81, 32), 162, 65, "Graphics/Tank/Knight/Bullet1", new AnimationInstance() { StartingFrame = 0, EndingFrame = 19, TimePerFrame = 1 / 40f, }, DepthParameter.Projectile, rotation: (float)angle)); this.FreezeTime = FreezeTime; this.SpawnTime = SpawnTime; this.baseShotType = baseShotType; SpawnTimeCounter = FreezeTimeCounter = 0; swordTrace = new List <SpecialEffect>(); InitializeMovement(); }
public ArmorProjectile3(Armor mobile) : base(mobile, ShotType.SS, Parameter.ProjectileArmorSSExplosionRadius, Parameter.ProjectileArmorSSBaseDamage) { Mobile = mobile; rocketAnimation = ProjectileAnimationState.Closed; totalTravelledTime = 0; //Initializing Flipbook FlipbookList.Add(new Flipbook( mobile.Crosshair.CannonPosition, new Vector2(65, 54), 131, 109, "Graphics/Tank/Armor/Bullet3", new List <AnimationInstance>() { rocketAnimationPresets[rocketAnimation] }, DepthParameter.Projectile, angle)); //Physics/Trajectory setups mass = Parameter.ProjectileArmorSSMass; windInfluence = Parameter.ProjectileArmorSSWindInfluence; SpawnTime = 0.7; }