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); } }
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); } }
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) }); }
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; } }
public HackingContainer(ShPlayer player, int apartmentID, string username) { this.player = player; targetApartment = EntityCollections.FindByID <ShApartment>(apartmentID); EntityCollections.TryGetPlayerByNameOrID(username, out targetPlayer); }
public HackingContainer(ShPlayer player, int apartmentID, string username) : base(player, apartmentID) { targetApartment = targetEntity as ShApartment; EntityCollections.TryGetPlayerByNameOrID(username, out targetPlayer); }