private void equipCurrentOption() { ThinkMenuOption option = MenuOptions[CurrentOptionNameIndex]; if (CurrentThinkActionType == ThinkActionType.Attack) { CurrentPartyMember.EquipWeapon(option.Name); Logger.Log(CurrentPartyMember.Data.Name + " equipped '" + option.Name + "' weapon"); } else if (CurrentThinkActionType == ThinkActionType.Defend) { CurrentPartyMember.EquipShield(ThinkMenuOption.IsDefaultOption(option) ? null : option.Name); Logger.Log(CurrentPartyMember.Data.Name + " equipped '" + option.Name + "' shield"); } else { CurrentPartyMember.EquipWeapon(null); CurrentPartyMember.EquipShield(null); } }
private void checkUsabilityOfWeaponMenuOptions() { foreach (CharacterClass characterClass in Enum.GetValues(typeof(CharacterClass))) { if (characterClass == CharacterClass.Enemy) { continue; } foreach (ThinkMenuOption menuOption in weaponMenuOptions[characterClass]) { if (ThinkMenuOption.IsDefaultOption(menuOption)) { menuOption.Disabled = false; continue; } WeaponData weaponData = ResourceManager.GetWeaponData(menuOption.Name); menuOption.Disabled = weaponData == null || (weaponData.WeaponType == WeaponType.Melee && !Battle.PlayerPartyLayout.PartyMemberInFrontLine(CurrentPartyMember)); } } }