Exemplo n.º 1
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            _Style = (BombermanStyle)reader.ReadInt();

            _DefaultMaxBombs      = reader.ReadInt();
            _DefaultBombStrength  = reader.ReadInt();
            _DefaultDetonatorMode = reader.ReadBool();
            _DefaultBaddaBoom     = reader.ReadBool();

            int count = reader.ReadInt();

            for (int i = 0; i < count; i++)
            {
                BombBags.Add((BombBag)reader.ReadItem());
            }
        }
Exemplo n.º 2
0
        protected override void PrimePlayers()
        {
            base.PrimePlayers();

            for (int i = 0; i < Players.Count; i++)
            {
                Mobile player = Players[i];

                Point3D movepoint;
                switch (i)
                {
                case 0:
                {
                    movepoint = new Point3D(X + BoardOffset.X + 1, Y + BoardOffset.Y + 1, Z + BoardOffset.Z);
                    break;
                }

                case 1:
                {
                    movepoint = new Point3D(X + BoardOffset.X + BoardWidth - 2, Y + BoardOffset.Y + 1, Z + BoardOffset.Z);
                    break;
                }

                case 2:
                {
                    movepoint = new Point3D(X + BoardOffset.X + 1, Y + BoardOffset.Y + BoardHeight - 2, Z + BoardOffset.Z);
                    break;
                }

                case 3:
                {
                    movepoint = new Point3D(X + BoardOffset.X + +BoardWidth - 2, Y + BoardOffset.Y + +BoardHeight - 2, Z + BoardOffset.Z);
                    break;
                }

                case 4:
                {
                    movepoint = new Point3D(X + BoardOffset.X + BoardWidth / 2, Y + BoardOffset.Y + 1, Z + BoardOffset.Z);
                    break;
                }

                case 5:
                {
                    movepoint = new Point3D(X + BoardOffset.X + BoardWidth - 2, Y + BoardOffset.Y + BoardHeight / 2, Z + BoardOffset.Z);
                    break;
                }

                case 6:
                {
                    movepoint = new Point3D(X + BoardOffset.X + BoardWidth / 2, Y + BoardOffset.Y + BoardHeight - 2, Z + BoardOffset.Z);
                    break;
                }

                case 7:
                default:
                {
                    movepoint = new Point3D(X + BoardOffset.X + 1, Y + BoardOffset.Y + BoardHeight / 2, Z + BoardOffset.Z);
                    break;
                }
                }

                player.MoveToWorld(movepoint, BoardMap);



                BombBag bag = new BombBag(this, _DefaultMaxBombs, _DefaultBombStrength);


                BombBags.Add(bag);
                bag.Owner = player;
                player.Backpack.DropItem(bag);



                if (_DefaultDetonatorMode)
                {
                    BombDetonator detonator = new BombDetonator(bag);

                    bag.Detonator = detonator;
                    player.Backpack.DropItem(detonator);
                }


                bag.BaddaBoom = _DefaultBaddaBoom;
            }
        }