Example #1
0
        protected override void OnHandle(IPacket packet, ClientWorldState worldState)
        {
            PerformAbilityPacket incomingPacket = (PerformAbilityPacket)packet;
            ClientCharacter      mobileToUpdate = (ClientCharacter)worldState.GetCharacter(incomingPacket.CharacterId);

            if (mobileToUpdate == null)
            {
                worldState.MissingCharacters.Add(incomingPacket.CharacterId);
                return;
            }

            worldState.PerformAbility(incomingPacket.AbilityUsed, mobileToUpdate);
        }
        protected override void OnHandle(IPacket packet, NetState netState, ServerWorldState worldState)
        {
            PerformAbilityPacket incomingPacket = (PerformAbilityPacket)packet;
            ServerCharacter      mobileToUpdate = (ServerCharacter)worldState.GetCharacter(netState.WorldId);

            if (mobileToUpdate != null)
            {
                if (worldState.PerformAbility(incomingPacket.AbilityUsed, mobileToUpdate))
                {
                    foreach (int characterId in worldState.GetMapCharacters(mobileToUpdate.CurrentMapId))
                    {
                        if (characterId == mobileToUpdate.Id)
                        {
                            continue;
                        }

                        ServerCharacter characterToUpdate = ((ServerCharacter)worldState.GetCharacter(characterId));
                        NetState        clientSendTo      = characterToUpdate.Owner;

                        clientSendTo.Send(incomingPacket);
                    }
                }
            }
        }
Example #3
0
 internal void PerformAbility(ClientCharacter playerCharacter, CharacterPowerIdentity abilityId)
 {
     performAbilityPacket = new PerformAbilityPacket(playerCharacter.Id, abilityId); //Packets are sent on Update to reduce Spam
 }