Esempio n. 1
0
 internal void iOnCastSpell(NPCProto caster, Spell spell, Vob target)
 {
     if (OnCastSpell != null)
     {
         OnCastSpell(caster, spell, target);
     }
 }
Esempio n. 2
0
        private void _toContainer(Vob vob)
        {
            BitStream stream = Program.server.SendBitStream;

            stream.Reset();
            stream.Write((byte)RakNet.DefaultMessageIDTypes.ID_USER_PACKET_ENUM);
            stream.Write((byte)NetworkID.ItemChangeContainer);
            stream.Write(this.ProtoItem.ID);
            stream.Write(vob.ID);

            Program.server.ServerInterface.Send(stream, PacketPriority.HIGH_PRIORITY, PacketReliability.RELIABLE_ORDERED, (char)0, RakNet.RakNet.UNASSIGNED_SYSTEM_ADDRESS, true);
        }
Esempio n. 3
0
        public virtual void PlayPlayerEffect(Player player, String effect, Vob targetVob, int effectLevel, int damage, int damagetype, bool isprojectile)
        {
            if (!created)
            {
                return;
            }
            if (effect == null || effect.Length == 0)
            {
                return;
            }
            if (targetVob.Map != this.Map)
            {
                throw new Exception("Target-Vob is not in the same map!");
            }


            int targetID = 0;

            if (targetVob != null)
            {
                targetID = targetVob.ID;
            }


            if (!created)
            {
                return;
            }

            BitStream stream = Program.server.SendBitStream;

            stream.Reset();
            stream.Write((byte)RakNet.DefaultMessageIDTypes.ID_USER_PACKET_ENUM);
            stream.Write((byte)NetworkID.PlayEffectMessage);
            stream.Write(vob.ID);
            stream.Write(effect);
            stream.Write(targetID);
            stream.Write(effectLevel);
            stream.Write(damage);
            stream.Write(damagetype);
            stream.Write(isprojectile);
            if (player == null)
            {
                Program.server.ServerInterface.Send(stream, PacketPriority.HIGH_PRIORITY, PacketReliability.RELIABLE_ORDERED, (char)0, RakNet.RakNet.UNASSIGNED_SYSTEM_ADDRESS, true);
            }
            else
            {
                using (RakNetGUID guid = player.proto.GUID)
                    Program.server.ServerInterface.Send(stream, PacketPriority.HIGH_PRIORITY, PacketReliability.RELIABLE_ORDERED, (char)0, guid, false);
            }
        }
Esempio n. 4
0
 public virtual void PlayEffect(String effect, Vob targetVob, int effectLevel, int damage, int damagetype, bool isprojectile)
 {
     PlayPlayerEffect(null, effect, targetVob, effectLevel, damage, damagetype, isprojectile);
 }
Esempio n. 5
0
 public float GetDistanceTo(Vob other)
 {
     return((other.Position - this.Position).Length);
 }