Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }