Beispiel #1
0
 public void OnBuyApartment(ShPlayer player, ShApartment apartment)
 {
     if (player.ownedApartments.ContainsKey(apartment))
     {
         player.svPlayer.SendGameMessage("Already owned");
     }
     else if (apartment.svApartment.BuyEntity(player))
     {
         apartment.svApartment.SvSetApartmentOwner(player);
     }
 }
Beispiel #2
0
        public void OnSellApartment(ShPlayer player, ShApartment apartment)
        {
            if (!Utility.trySell.Limit(player))
            {
                player.svPlayer.SendGameMessage("Are you sure? Sell again to confirm..");
                return;
            }

            if (player.ownedApartments.TryGetValue(apartment, out var place))
            {
                player.TransferMoney(DeltaInv.AddToMe, apartment.value / 2);
                player.svPlayer.Send(SvSendType.Self, Channel.Reliable, ClPacket.SellApartment, apartment.ID);
                player.svPlayer.CleanupApartment(place);
            }
        }
Beispiel #3
0
        public void OnSecurityPanel(ShPlayer player, ShApartment apartment)
        {
            List <LabelID> options = new List <LabelID>();

            options.Add(new LabelID("Enter Passcode", enterPasscode));
            options.Add(new LabelID("Set Passcode", setPasscode));
            options.Add(new LabelID("Clear Passcode", clearPasscode));
            options.Add(new LabelID("Hack Panel", hackPanel));

            string title = "&7Security Panel";

            if (player.ownedApartments.TryGetValue(apartment, out var apartmentPlace))
            {
                title += ": Level " + apartmentPlace.svSecurity.ToPercent();
                if (apartmentPlace.svSecurity < securityCutoff)
                {
                    options.Add(new LabelID($"Upgrade Security (Cost: ${SecurityUpgradeCost(apartmentPlace.svSecurity).ToString()})", upgradeSecurity));
                }
            }

            player.svPlayer.SendOptionMenu(title, apartment.ID, securityPanel, options.ToArray(), new LabelID[] { new LabelID("Select", string.Empty) });
        }
Beispiel #4
0
        public void OnSellApartment(ShPlayer player, ShApartment apartment)
        {
            if (!player.manager.svManager.trySell.Limit(player))
            {
                player.svPlayer.SendGameMessage("Are you sure? Sell again to confirm..");
                return;
            }

            if (player.ownedApartments.TryGetValue(apartment, out Place place))
            {
                if (player.GetPlace == place)
                {
                    player.svPlayer.SvEnterDoor(place.mainDoor.ID, player, true);
                }

                player.TransferMoney(DeltaInv.AddToMe, apartment.value / 2);

                player.svPlayer.Send(SvSendType.Self, Channel.Reliable, ClPacket.SellApartment, apartment.ID);
                player.svPlayer.CleanupApartment(place);

                return;
            }
        }
Beispiel #5
0
 public HackingContainer(ShPlayer player, int apartmentID, string username)
 {
     this.player     = player;
     targetApartment = EntityCollections.FindByID <ShApartment>(apartmentID);
     EntityCollections.TryGetPlayerByNameOrID(username, out targetPlayer);
 }
Beispiel #6
0
 public HackingContainer(ShPlayer player, int apartmentID, string username) : base(player, apartmentID)
 {
     targetApartment = targetEntity as ShApartment;
     EntityCollections.TryGetPlayerByNameOrID(username, out targetPlayer);
 }