Exemple #1
0
        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;
        }
Exemple #2
0
 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;
 }
Exemple #3
0
 public Player(string name, IMissile missile)
 {
     this.Name = name;
     Missile   = missile;
 }
 public override void ApplyEffects(AttackableUnit target, IMissile projectile)
 {
 }
Exemple #5
0
 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
     });
 }
Exemple #7
0
 public abstract void ApplyEffects(AttackableUnit target, IMissile projectile);
Exemple #8
0
 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);
 }
Exemple #13
0
 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));
 }