static void ThiefEffects_OnNewMagicRound() { //Debug.Log("[ThiefOverhaul] Magic Round"); if (playerEnterExit.IsPlayerInsideBuilding) { PlayerGPS.DiscoveredBuilding buildingData = GameManager.Instance.PlayerEnterExit.BuildingDiscoveryData; if (RMBLayout.IsShop(buildingData.buildingType) && !PlayerActivate.IsBuildingOpen(buildingData.buildingType)) { int stealthValue = playerEntity.Skills.GetLiveSkillValue(DFCareer.Skills.Stealth); stealthValue -= buildingData.quality * 2; if (Dice100.FailedRoll(StealthCalc(stealthValue, false))) { if (burglaryCounter >= 100) { DaggerfallUI.MessageBox("'Guards! Guards! We're being robbed!'"); if (Dice100.SuccessRoll(playerEntity.Stats.LiveLuck)) { playerEntity.MagicalConcealmentFlags = MagicalConcealmentFlags.None; DaggerfallUI.AddHUDText("Your magical concealment is broken"); } playerEntity.CrimeCommitted = PlayerEntity.Crimes.Breaking_And_Entering; playerEntity.SpawnCityGuards(true); } else if (burglaryCounter == 0) { DaggerfallUI.MessageBox(burglaryString1()); burglaryCounter += Mathf.Clamp(UnityEngine.Random.Range(100, 200) - playerEntity.Stats.LiveLuck, 10, 100); } else if (burglaryCounter < 50) { DaggerfallUI.MessageBox(burglaryString2()); burglaryCounter += Mathf.Clamp(UnityEngine.Random.Range(100, 200) - playerEntity.Stats.LiveLuck, 10, 100); } else { burglaryCounter += Mathf.Clamp(UnityEngine.Random.Range(100, 200) - playerEntity.Stats.LiveLuck, 10, 100); } } } } DaggerfallUnityItem ringSlot0 = playerEntity.ItemEquipTable.GetItem(EquipSlots.Ring0); DaggerfallUnityItem ringSlot1 = playerEntity.ItemEquipTable.GetItem(EquipSlots.Ring1); DaggerfallUnityItem markSlot0 = playerEntity.ItemEquipTable.GetItem(EquipSlots.Mark0); DaggerfallUnityItem markSlot1 = playerEntity.ItemEquipTable.GetItem(EquipSlots.Mark1); DaggerfallUnityItem braceletSlot0 = playerEntity.ItemEquipTable.GetItem(EquipSlots.Bracelet0); DaggerfallUnityItem braceletSlot1 = playerEntity.ItemEquipTable.GetItem(EquipSlots.Bracelet1); DaggerfallUnityItem bracerSlot0 = playerEntity.ItemEquipTable.GetItem(EquipSlots.Bracer0); DaggerfallUnityItem bracerSlot1 = playerEntity.ItemEquipTable.GetItem(EquipSlots.Bracer1); DaggerfallUnityItem crystalSlot0 = playerEntity.ItemEquipTable.GetItem(EquipSlots.Crystal0); DaggerfallUnityItem crystalSlot1 = playerEntity.ItemEquipTable.GetItem(EquipSlots.Crystal1); if (ringSlot0 != null && ringSlot0.TemplateIndex == templateIndex_Ring) { lockpickingBonus = 20; } else if (ringSlot1 != null && ringSlot1.TemplateIndex == templateIndex_Ring) { lockpickingBonus = 20; } else { lockpickingBonus = 0; } if (markSlot0 != null && markSlot0.TemplateIndex == templateIndex_Mark) { streetwiseBonus = 20; } else if (markSlot1 != null && markSlot1.TemplateIndex == templateIndex_Mark) { streetwiseBonus = 20; } else { streetwiseBonus = 0; } if (braceletSlot0 != null && braceletSlot0.TemplateIndex == templateIndex_Bracelet) { pickpocketBonus = 20; } else if (braceletSlot1 != null && braceletSlot1.TemplateIndex == templateIndex_Bracelet) { pickpocketBonus = 20; } else { pickpocketBonus = 0; } if (bracerSlot0 != null && bracerSlot0.TemplateIndex == templateIndex_Bracer) { climbingBonus = 20; } else if (bracerSlot1 != null && bracerSlot1.TemplateIndex == templateIndex_Bracer) { climbingBonus = 20; } else { climbingBonus = 0; } if (crystalSlot0 != null && crystalSlot0.TemplateIndex == templateIndex_Crystal) { stealthBonus = 20; } else if (crystalSlot1 != null && crystalSlot1.TemplateIndex == templateIndex_Crystal) { stealthBonus = 20; } else { stealthBonus = 0; } if (!GameManager.IsGamePaused && playerEntity.CurrentHealth > 0) { int[] skillMods = new int[DaggerfallSkills.Count]; skillMods[(int)DFCareer.Skills.Lockpicking] = +lockpickingBonus; skillMods[(int)DFCareer.Skills.Streetwise] = +streetwiseBonus; skillMods[(int)DFCareer.Skills.Pickpocket] = +pickpocketBonus; skillMods[(int)DFCareer.Skills.Climbing] = +climbingBonus; skillMods[(int)DFCareer.Skills.Stealth] = +stealthBonus; playerEffectManager.MergeDirectSkillMods(skillMods); } }