public Interceptor(long _uniqueId, Vector3 _position, Quaternion _rotation, Team _team, SpawnShip _home) : base(_uniqueId, _position, _rotation, _team, _home) { maxZSpeed = 10000.0f; minZSpeed = 300.0f; normalZSpeed = 500.0f; ZSpeed = NormalZSpeed; MAX_HEALTH = 3; Health = MaxHealth; MAX_SHIELDS = 1; Shields = MaxShields; SHIELD_RECOVER_RATE = 0.2f; rollAccel = 10.0f; rollBreak = 5.0f; rollCap = 2.5f; pitchAccel = 7.5f; pitchBreak = 5.0f; pitchCap = 1.5f; yawAccel = 7.5f; yawBreak = 5.0f; yawCap = 1.5f; baseHeat = 0.55f; heat = 0; overheatHeat = 1.5f; heatingRate = 1.5f; coolingRate = 0.25f; heatDamageRate = 0.1f; heatWarningThreshold = 1.2f; heatDamageThreshold = 1.4f; accelerationRate = 25000.0f; FIRE_RATE = 0.1f; fireTimer = FireRate; SPECIAL_RATE = 0.5f; specialTimer = SpecialRate; PRIMARY_RANGE = 100000000f; CollisionBase = new CollisionSphere(_position, 10); CollisionBase.Parent = this; CollisionBase.addCollisionEvent(collisionEvent); if (ShipTeam == Team.Esxolus) { ((Sphere)CollisionBase.getPhysicsCollider()).CollisionInformation.CollisionRules.Group = EsxolusShipGroup; } else { ((Sphere)CollisionBase.getPhysicsCollider()).CollisionInformation.CollisionRules.Group = HalkShipGroup; } }
public Laser(long _uniqueID, Vector3 _position, Quaternion _rotation) : base(_uniqueID, _position, _rotation, "Models/Lasers/hot_pink_laser_model") { this.Damage = 1.0f; projectileSpeed = 4500.0f; if (!modelsSet) { basicLaserModel = ContentLoadManager.loadModel("Models/Lasers/hot_pink_laser_model"); esxolusLaserModel = ContentLoadManager.loadModel("Models/Lasers/cyan_laser_model"); halkLaserModel = ContentLoadManager.loadModel("Models/Lasers/red_laser_model"); esxolusTurretLaserModel = ContentLoadManager.loadModel("Models/Lasers/cyan_turret_laser_model"); halkTurretLaserModel = ContentLoadManager.loadModel("Models/Lasers/red_turret_laser_model"); modelsSet = true; } else { } CollisionBase = new CollisionSphere(Position, (int)(Model.Meshes.First().BoundingSphere.Radius * RESIZE)); ((Sphere)CollisionBase.getPhysicsCollider()).CollisionInformation.CollisionRules.Group = projectileGroup; CollisionBase.Active = false; CollisionBase.Parent = this; CollisionBase.addCollisionEvent(collisionEvent); }
public Missile(long _uniqueID, Vector3 _position, Quaternion _rotation, String _model) : base(_uniqueID, _position, _rotation, _model) { Damage = 55.0f; projectileSpeed = MISSILE_SPEED; trailGenerator = new MissileTrailParticleGenerator(this); trailGenerator.Active = false; detectionSphere = new CollisionSphere(_position, detectionRange); detectionSphere.addCollisionEvent(collisionEvent); detectionSphere.Active = false; detectionSphere.Parent = this; CollisionBase.Active = false; CollisionBase.Parent = this; firstTrailingSphere = new CollisionSphere(_position, BASE_SIZE); firstTrailingSphere.addCollisionEvent(collisionEvent); firstTrailingSphere.Active = false; firstTrailingSphere.Parent = this; ((Sphere)firstTrailingSphere.getPhysicsCollider()).CollisionInformation.CollisionRules.Group = projectileGroup; secondTrailingSphere = new CollisionSphere(_position, BASE_SIZE); secondTrailingSphere.addCollisionEvent(collisionEvent); secondTrailingSphere.Active = false; secondTrailingSphere.Parent = this; ((Sphere)secondTrailingSphere.getPhysicsCollider()).CollisionInformation.CollisionRules.Group = projectileGroup; }
public Explosive(long _uniqueID, Vector3 _position, Quaternion _rotation, String _model) : base(_uniqueID, _position, _rotation, _model) { Damage = 45.0f; CollisionBase = new CollisionSphere(_position, BASE_SIZE); CollisionBase.Active = false; CollisionBase.Parent = this; CollisionBase.addCollisionEvent(collisionEvent); ((Sphere)CollisionBase.getPhysicsCollider()).CollisionInformation.CollisionRules.Group = projectileGroup; explosionCollider = new CollisionSphere(_position, 3); explosionCollider.Active = false; explosionCollider.Parent = this; explosionCollider.addCollisionEvent(collisionEvent); ((Sphere)explosionCollider.getPhysicsCollider()).CollisionInformation.CollisionRules.Group = projectileGroup; ttl = EXPLOSIVE_TTL; }
public Bomber(long _uniqueId, Vector3 _position, Quaternion _rotation, Team _team, SpawnShip _home) : base(_uniqueId, _position, _rotation, _team, _home) { maxZSpeed = 7500.0f; minZSpeed = 150.0f; normalZSpeed = 350.0f; ZSpeed = NormalZSpeed; MAX_HEALTH = 7; Health = MaxHealth; MAX_SHIELDS = 3; Shields = MaxShields; SHIELD_RECOVER_RATE = 0.05f; rollAccel = 5.5f; rollBreak = 4.5f; rollCap = 1.5f; pitchAccel = 4.5f; pitchBreak = 3.5f; pitchCap = 0.75f; yawAccel = 4.5f; yawBreak = 3.5f; yawCap = 0.75f; baseHeat = 0.35f; heat = 0; overheatHeat = 1.5f; heatingRate = 0.5f; coolingRate = 0.1f; heatDamageRate = 0.75f; heatWarningThreshold = 1.2f; heatDamageThreshold = 1.4f; accelerationRate = 10000.0f; FIRE_RATE = 0.35f; fireTimer = FireRate; SPECIAL_RATE = 1.0f; specialTimer = SpecialRate; SecondaryAmmo = MaxSecondaryAmmo; CollisionBase = new CollisionSphere(_position, 10); CollisionBase.Parent = this; CollisionBase.addCollisionEvent(collisionEvent); if (ShipTeam == Team.Esxolus) { ((Sphere)CollisionBase.getPhysicsCollider()).CollisionInformation.CollisionRules.Group = EsxolusShipGroup; } else { ((Sphere)CollisionBase.getPhysicsCollider()).CollisionInformation.CollisionRules.Group = HalkShipGroup; } INTEREST_TIME = 50; // Default for ship is 20 Shields = 3; // TO SHOW SCALING BARS }