Ejemplo n.º 1
0
 public override void Parse(GameBitBuffer buffer)
 {
     Field0 = new WorldPlace();
     Field0.Parse(buffer);
     Field1 = buffer.ReadInt(2);
     Field2 = buffer.ReadInt(32);
 }
Ejemplo n.º 2
0
 public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadCharArray(512);
     Field1 = buffer.ReadInt(4) + (-1);
     Field2 = new WorldPlace();
     Field2.Parse(buffer);
     Field3 = buffer.ReadInt(32);
 }
Ejemplo n.º 3
0
        public override void OnRequestUse(Player player, Item target, int actionId, WorldPlace worldPlace)
        {
            Debug.Assert(target != null);

            target.Attributes[GameAttribute.DyeType] = this.Attributes[GameAttribute.DyeType];
            player.Inventory.DestroyInventoryItem(this);
            player.Inventory.SendVisualInventory(player); // TODO: Send it to all who see! /fasbat
        }
Ejemplo n.º 4
0
 public override void Parse(GameBitBuffer buffer)
 {
     UsedItem = buffer.ReadUInt(32);
     Field1 = buffer.ReadInt(3) + (-1);
     UsedOnItem = buffer.ReadUInt(32);
     Location = new WorldPlace();
     Location.Parse(buffer);
 }
Ejemplo n.º 5
0
 public override void Parse(GameBitBuffer buffer)
 {
     RopeSNO = buffer.ReadInt(32);
     StartSourceActorId = buffer.ReadInt(32);
     Field2 = buffer.ReadInt(5);
     EndPosition = new WorldPlace();
     EndPosition.Parse(buffer);
 }
Ejemplo n.º 6
0
 public override void Parse(GameBitBuffer buffer)
 {
     Place = new WorldPlace();
     Place.Parse(buffer);
     Count = buffer.ReadInt(32);
     if (buffer.ReadBool())
     {
         Field2 = buffer.ReadInt(32);
     }
     Field3 = buffer.ReadInt(6);
 }
Ejemplo n.º 7
0
 public override void Parse(GameBitBuffer buffer)
 {
     Place = new WorldPlace();
     Place.Parse(buffer);
     Amount = buffer.ReadInt(32);
     if (buffer.ReadBool())
     {
         OptionalGoldAmount = buffer.ReadInt(32);
     }
     Type = (FloatType)buffer.ReadInt(6);
 }
Ejemplo n.º 8
0
 public override void Parse(GameBitBuffer buffer)
 {
     ActorId = buffer.ReadUInt(32);
     ActorSNO = buffer.ReadInt(32);
     WorldLocation = new WorldPlace();
     WorldLocation.Parse(buffer);
     if (buffer.ReadBool())
     {
         PlayerIndex = buffer.ReadInt(4) + (-1);
     }
     LevelAreaSNO = buffer.ReadInt(32);
     if (buffer.ReadBool())
     {
         Field5 = buffer.ReadFloat32();
     }
     Field6 = buffer.ReadInt(4);
     Field7 = buffer.ReadInt(6);
     if (buffer.ReadBool())
     {
         Field8 = buffer.ReadInt(32);
     }
     if (buffer.ReadBool())
     {
         MinimapTextureSNO = buffer.ReadInt(32);
     }
     if (buffer.ReadBool())
     {
         Field10 = buffer.ReadInt(32);
     }
     if (buffer.ReadBool())
     {
         Field11 = buffer.ReadInt(32);
     }
     if (buffer.ReadBool())
     {
         StringListSNO = buffer.ReadInt(32);
     }
     if (buffer.ReadBool())
     {
         Field13 = buffer.ReadFloat32();
     }
     if (buffer.ReadBool())
     {
         Field14 = buffer.ReadFloat32();
     }
     if (buffer.ReadBool())
     {
         Field15 = buffer.ReadBool();
     }
 }
Ejemplo n.º 9
0
 public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadInt(3) + (-1);
     TargetID = buffer.ReadUInt(32);
     Field2 = new WorldPlace();
     Field2.Parse(buffer);
     PowerSNO = buffer.ReadInt(32);
     Field4 = buffer.ReadInt(32);
     Field5 = buffer.ReadInt(2);
     if (buffer.ReadBool())
     {
         Field6 = new AnimPreplayData();
         Field6.Parse(buffer);
     }
 }
Ejemplo n.º 10
0
 public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadInt(32);
     Field1 = new WorldPlace();
     Field1.Parse(buffer);
     Field2 = buffer.ReadInt(32);
     m_snoStringList = buffer.ReadInt(32);
     Field4 = buffer.ReadInt(32);
     Field5 = buffer.ReadFloat32();
     Field6 = buffer.ReadFloat32();
     Field7 = buffer.ReadFloat32();
     Field8 = buffer.ReadInt(32);
     Field9 = buffer.ReadBool();
     Field10 = buffer.ReadBool();
     Field11 = buffer.ReadBool();
     Field12 = buffer.ReadInt(32);
 }
Ejemplo n.º 11
0
 public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadInt(32);
     Field1 = buffer.ReadInt(32);
     Field2 = new WorldPlace();
     Field2.Parse(buffer);
     if (buffer.ReadBool())
     {
         Field3 = buffer.ReadInt(4) + (-1);
     }
     Field4 = buffer.ReadInt(32);
     if (buffer.ReadBool())
     {
         Field5 = buffer.ReadFloat32();
     }
     Field6 = buffer.ReadInt(4);
     Field7 = buffer.ReadInt(6);
     if (buffer.ReadBool())
     {
         Field8 = buffer.ReadInt(32);
     }
     if (buffer.ReadBool())
     {
         Field9 = buffer.ReadInt(32);
     }
     if (buffer.ReadBool())
     {
         Field10 = buffer.ReadInt(32);
     }
     if (buffer.ReadBool())
     {
         Field11 = buffer.ReadInt(32);
     }
     if (buffer.ReadBool())
     {
         Field12 = buffer.ReadInt(32);
     }
     if (buffer.ReadBool())
     {
         Field13 = buffer.ReadFloat32();
     }
     if (buffer.ReadBool())
     {
         Field14 = buffer.ReadFloat32();
     }
 }
Ejemplo n.º 12
0
 public virtual void OnRequestUse(Player player, Item target, int actionId, WorldPlace worldPlace)
 {
     throw new System.NotImplementedException();
 }
Ejemplo n.º 13
0
        public void Manage(Mooege.Core.GS.Player.Player player, GameMessage gameMessage)
        {
            //Extract message information
            int snoPower;
            uint targetID;
            WorldPlace cursor;
            Actor target;
            int swingSide;
            
            //Target message
            if (gameMessage.Id == 80)
            {
                TargetMessage message = (TargetMessage)gameMessage;
                snoPower = message.PowerSNO;
                targetID = message.TargetID;
                cursor = message.Field2;
                target = player.World.GetActor(message.TargetID);
                swingSide = message.Field6 == null ? 0 : message.Field6.Field0;
            }
            //SecondaryAnimationPowerMessage
            else
            {
                SecondaryAnimationPowerMessage message = (SecondaryAnimationPowerMessage)gameMessage;
                snoPower = message.PowerSNO;
                targetID = 0;
                cursor = new WorldPlace();
                target = player.World.GetActor(0);
                swingSide = 0;
            }

            if (snoPower == Skills.Skills.Barbarian.FuryGenerators.LeapAttack) // HACK: intercepted to use for spawning test mobs
            {
                //Spawn moonclan
                Monster monster = new Monster(player.World, 4282, new Vector3D(player.Position.X + 5f, player.Position.Y + 5f, player.Position.Z));
                monster.Reveal(player);
            }
            else
            {
                // find and run a power implementation
                var implementation = PowerImplementation.ImplementationForId(snoPower);

                if (implementation != null)
                {
                    // process channeled skill params
                    bool userIsChanneling = false;
                    bool throttledCast = false;
                    if (_channelingActors.ContainsKey(player))
                    {
                        userIsChanneling = true;
                        if (DateTime.Now > _channelingActors[player].CastDelay)
                        {
                            _channelingActors[player].CastDelay = DateTime.Now.AddMilliseconds(_channelingActors[player].CastDelayAmount);
                        }
                        else
                        {
                            throttledCast = true;
                        }
                    }

                    IEnumerable<int> powerExe = implementation.Run(new PowerParameters
                    {
                        User = player,
                        Target = target,
                        TargetPosition = cursor,                        
                        UserIsChanneling = userIsChanneling,
                        ThrottledCast = throttledCast,
                        SwingSide = swingSide
                    },
                    this);

                    var powerEnum = powerExe.GetEnumerator();
                    // actual power will first run here, if it yielded a value process it in the waiting list
                    if (powerEnum.MoveNext())
                    {
                        AddWaitingPower(_waitingPowers, powerEnum, player);
                    }
                }
            }
        }
Ejemplo n.º 14
0
        public BasicNPC(int objectId, int snoId, WorldPlace location)
        {
            this.ID = objectId;
            this.snoId = snoId;
           
            this.Location = location;


        }