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); } }
public void OsuVihuun(HolyHandgranade kranaatti, Vihulainen vihu) { kranaatti.Explode(); ((Vihulainen)vihu).Vahingoita(Vahinko); }
public void OsuVihuun(FysiikkaObjekti pallura, Vihulainen vihu) { vihu.Vahingoita(1); pallura.Destroy(); }