Пример #1
0
        public void OnEntityAttack(EntityAttackPacket packet)
        {
            var attacker = UnityExtensions.GetEntity(packet.AttackerUID);
            var defender = UnityExtensions.GetEntity(packet.DefenderUID);
            var damage   = packet.Damage;

            attacker.PerformAttackAnimation(defender, damage);
        }
Пример #2
0
        //EntityAttackPacket
        private static void HandlePacket(EntityAttackPacket packet)
        {
            var id          = packet.Id;
            var type        = packet.Type;
            var mapId       = packet.MapId;
            var attackTimer = packet.AttackTimer;

            Entity en = null;

            if (type < EntityTypes.Event)
            {
                if (!Globals.Entities.ContainsKey(id))
                {
                    return;
                }

                en = Globals.Entities[id];
            }
            else
            {
                var entityMap = MapInstance.Get(mapId);
                if (entityMap == null)
                {
                    return;
                }

                if (!entityMap.LocalEntities.ContainsKey(id))
                {
                    return;
                }

                en = entityMap.LocalEntities[id];
            }

            if (en == null)
            {
                return;
            }

            if (attackTimer > -1 && en != Globals.Me)
            {
                en.AttackTimer = Globals.System.GetTimeMs() + attackTimer;
            }
        }