void HandleReport(AttackActionReport report) { var attacker = m_world.FindObject <LivingObject>(report.LivingObjectID); string aname = attacker != null?attacker.ToString() : "somebody"; string tname = GetPrintableLivingName(report.TargetObjectID); if (!report.Success) { Events.AddGameEvent(attacker, "{0} fails to attack {1}: {2}", aname, tname, report.FailReason); return; } string msg; if (report.IsHit) { switch (report.DamageCategory) { case DamageCategory.None: msg = String.Format("{0} hits {1}, dealing {2} damage", aname, tname, report.Damage); break; case DamageCategory.Melee: msg = String.Format("{0} hits {1}, dealing {2} damage", aname, tname, report.Damage); break; default: throw new Exception(); } } else { msg = String.Format("{0} misses {1}", aname, tname); } Events.AddGameEvent(attacker, msg); }
void HandleReport(AttackActionReport report) { var attacker = m_world.FindObject<LivingObject>(report.LivingObjectID); string aname = attacker != null ? attacker.ToString() : "somebody"; string tname = GetPrintableLivingName(report.TargetObjectID); if (!report.Success) { Events.AddGameEvent(attacker, "{0} fails to attack {1}: {2}", aname, tname, report.FailReason); return; } string msg; if (report.IsHit) { switch (report.DamageCategory) { case DamageCategory.None: msg = String.Format("{0} hits {1}, dealing {2} damage", aname, tname, report.Damage); break; case DamageCategory.Melee: msg = String.Format("{0} hits {1}, dealing {2} damage", aname, tname, report.Damage); break; default: throw new Exception(); } } else { msg = String.Format("{0} misses {1}", aname, tname); } Events.AddGameEvent(attacker, msg); }