private void StealButton_OnMouseClick(BaseScreenComponent sender, Vector2 position) { if (windowMode == WindowModes.Buy && cost > 0) { // Calculate the weight of all items picked from shelves, then get chance of shoplifting success. int weightAndNumItems = (int)basketItems.GetWeight() + basketItems.Count; int chanceBeingDetected = FormulaHelper.CalculateShopliftingChance(PlayerEntity, null, buildingDiscoveryData.quality, weightAndNumItems); PlayerEntity.TallySkill(DFCareer.Skills.Pickpocket, 1); if (Dice100.FailedRoll(chanceBeingDetected)) { DaggerfallUI.AddHUDText(TextManager.Instance.GetText(textDatabase, "stealSuccess"), 2); RaiseOnTradeHandler(basketItems.GetNumItems(), 0); PlayerEntity.Items.TransferAll(basketItems); PlayerEntity.TallyCrimeGuildRequirements(true, 1); } else { // Register crime and start spawning guards. DaggerfallUI.AddHUDText(TextManager.Instance.GetText(textDatabase, "stealFailure"), 2); RaiseOnTradeHandler(0, 0); PlayerEntity.CrimeCommitted = PlayerEntity.Crimes.Theft; PlayerEntity.SpawnCityGuards(true); } CloseWindow(); } }
private void StealButton_OnMouseClick(BaseScreenComponent sender, Vector2 position) { if (windowMode == WindowModes.Buy && cost > 0) { // Calculate the weight of all items picked from shelves, then get chance of shoplifting success. int weightAndNumItems = (int)basketItems.GetWeight() + basketItems.Count; int chance = FormulaHelper.CalculateShopliftingChance(PlayerEntity, null, buildingDiscoveryData.quality, weightAndNumItems); PlayerEntity.TallySkill(DFCareer.Skills.Pickpocket, 1); if (UnityEngine.Random.Range(0, 101) > chance) { DaggerfallUI.AddHUDText(HardStrings.youAreSuccessful, 2); RaiseOnTradeHandler(basketItems.GetNumItems(), 0); PlayerEntity.Items.TransferAll(basketItems); PlayerEntity.TallyCrimeGuildRequirements(true, 1); } else { // Register crime and start spawning guards. DaggerfallUI.AddHUDText(HardStrings.youAreNotSuccessful, 2); RaiseOnTradeHandler(0, 0); PlayerEntity.CrimeCommitted = PlayerEntity.Crimes.Theft; PlayerEntity.SpawnCityGuards(true); } CloseWindow(); } }