예제 #1
0
        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);
            }
        }
예제 #2
0
        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));
                }
            }
        }