예제 #1
0
 protected virtual void ApplyBullet(BaseEnemy enemy)
 {
     enemy.EnemyHit(damage, damage * 0.1f, direction);
     SoundManager.EmitterPosition = enemy.Position;
     SoundManager.PlaySFX("bullet_collision");
     DestroyBulletCollision(enemy);
 }
예제 #2
0
        protected override void DoEffect(BaseEnemy enemy)
        {
            base.DoEffect(enemy);

            float percent = OGE.GetDistance(enemy.Position, Position) / maxRadius;
            enemy.SlowFactor -= percent * freezePercentage;
        }
예제 #3
0
        protected override void DoEffect(BaseEnemy enemy)
        {
            base.DoEffect(enemy);

            float damagePercent = OGE.GetDistance(enemy.Position, Position) / 150;

            enemy.EnemyHit(damagePercent * damage, 0, 0, true);
        }
예제 #4
0
 protected override void ApplyBullet(BaseEnemy enemy)
 {
 }
예제 #5
0
        protected override void DoEffect(BaseEnemy enemy)
        {
            base.DoEffect(enemy);

            float percent = (maxRadius - currentRadius) / maxRadius;
            enemy.EnemyHit(0, powerOfWave * percent, OGE.GetAngle(Position, enemy.Position));
        }
예제 #6
0
 protected override void ApplyBullet(BaseEnemy enemy)
 {
     DestroyBulletCollision(enemy);
 }
예제 #7
0
 protected override void ApplyBullet(BaseEnemy enemy)
 {
     float percentage = distance/maxDistance;
     enemy.EnemyHit(percentage * damage, 0, direction);
 }
예제 #8
0
        protected override void EnemyCollide(BaseEnemy e)
        {
            if (status == FileStatus.Infected)
            {
                return;
            }

            if (e is VirusEnemy || e is TroyEnemy)
            {
                GetInfected(e.GetType());
            }
        }
예제 #9
0
 protected override void ApplyBullet(BaseEnemy enemy)
 {
     float percentage = distance / maxDistance;
     enemy.SlowFactor -= percentage * damage;
 }
예제 #10
0
 protected virtual void DoEffect(BaseEnemy enemy)
 {
 }