private bool MissileToDestroyable(IMissile missile, DestroyableObj obj, CollisionParameters parameters) { if (obj is Character && missile.Owner == obj) return false; if (missile is Grenade) { if(missile.Owner!=obj) GrenadeExplosion(missile as Grenade, parameters); } else { int damage = missile.ImpactDamage; if (obj is Character) { (obj as Character).Player.OnMissileHit(missile, parameters); } if (remote) damage = 0; if (obj.TakeDamage(damage)) { if (obj is Character) { ((Character)missile.Owner).Player.OnEnemyDestroyed((obj as Character).Player); RemoveObject((IGameObject)missile); World.Instance.PlayerKilled((obj as Character).Player); } else { RemoveObject((IGameObject)missile); } } } return false; }
private bool MissileToStatic(IMissile missile, IGameObject obj, CollisionParameters parameters) { //RemoveObject((IGameObject)missile); if (!(missile is Grenade)) { (missile as IGameObject).PhysicalData.Velocity = new MyVector(0, 0, 0); SoundSystem.SoundEngine.PlaySound(SoundSystem.Enums.SoundTypes.arrowOff1, (Vector3)parameters.CollisionPoint); } else { GrenadeExplosion(missile as Grenade, parameters); } return false; }
public Player(string name, IMissile missile) { this.Name = name; Missile = missile; }
public override void ApplyEffects(AttackableUnit target, IMissile projectile) { }
public override void OnMissileHit(IMissile missile, Framework.Physics.CollisionParameters parameters) { base.OnMissileHit(missile, parameters); }
public void CreatePlayer(string Name, IEnumerable <IShip> ships, string[] targets, IMissile missile) { this.Players.Add(new Player(Name, missile) { Ships = ships, Targets = targets }); }
public abstract void ApplyEffects(AttackableUnit target, IMissile projectile);
public LaunchMissile(IMissile missile, ILaunchCode launchCode, IFakeLaunchCodes fakeLaunchCodes) { _missile = missile; _launchCode = launchCode; _fakeLaunchCodes = fakeLaunchCodes; }
public override void ApplyEffects(AttackableUnit target, IMissile projectile) { target.InflictDamages(new World.Spells.Damages(Owner, target, 500, false, Protocol.GameClient.Enum.DamageType.DAMAGE_TYPE_MAGICAL, false)); }
public MissilePilotLv2(IMissile missile, float targetRange) : base(missile, targetRange) { }
public MissilePilotLv1(IMissile missile, float targetRange) { _missile = missile; }
public static ICelestialObject ToCelestialObject(this IMissile missile) { return((ICelestialObject)missile); }
public override void ApplyEffects(AttackableUnit target, IMissile projectile) { CreateFX("Zed_Q_tar.troy", "", 1f, (AIUnit)target, false); target.InflictDamages(new Damages(Owner, target, 200, false, DamageType.DAMAGE_TYPE_PHYSICAL, false)); }