Example #1
0
        public void OsuVihuun(FysiikkaObjekti saha, Vihulainen vihu)
        {
            if (Käynnissä)
            {
                // Yritä paikantaa sopiva veriroiskeen paikka.
                var a = Angle.FromRadians(Math.Atan2(AbsolutePosition.Y - vihu.AbsolutePosition.Y, AbsolutePosition.X - vihu.AbsolutePosition.X));

                // HACK Purkkaviritys.
                var m = (double)(vihu.Width * vihu.Height) / (Width * Height);
                var d = Vector.Distance(AbsolutePosition, vihu.AbsolutePosition) / m;

                var roiske = AbsolutePosition - new Vector(d * a.Cos, d * a.Sin);

                Morte.Instance.Veriroiske.AddEffect(roiske, VAHINKO);

                vihu.Vahingoita(VAHINKO);
            }
        }
Example #2
0
 public void OsuVihuun(HolyHandgranade kranaatti, Vihulainen vihu)
 {
     kranaatti.Explode();
     ((Vihulainen)vihu).Vahingoita(Vahinko);
 }
Example #3
0
 public void OsuVihuun(FysiikkaObjekti pallura, Vihulainen vihu)
 {
     vihu.Vahingoita(1);
     pallura.Destroy();
 }