private IPartyMemberTools FindPartyMember(BattleAbility trust) { if (string.IsNullOrEmpty(trust.Name)) { return(null); } for (var i = 1; i < 6; i++) { var p = EliteApi.PartyMember[(byte)i]; var comp = trust.Name; if (comp.Contains("(UC)") || comp.Contains("II")) { comp = comp.Replace(" (UC)", ""); comp = comp.Replace(" II", ""); } if (p.UnitPresent && p.Name == comp) { return(p); } } return(null); }
private List <BattleAbility> LoadAbilities(int id) { List <BattleAbility> abilities = new List <BattleAbility>(); MenuWeaponData weapon = GetWeapon(id); if (weapon.name == "" || weapon.name == null) { Debug.LogError("Weapon does not exist"); } int[] abilityIds = { weapon.abilities[0], weapon.abilities[1], weapon.abilities[2] }; foreach (int abilityId in abilityIds) { MenuAbilityData abilityData = GetAbility(abilityId); BattleAbility ability = new BattleAbility(); ability.abilityId = abilityId; ability.name = abilityData.name; ability.value = abilityData.value; ability.xAxis = abilityData.xAxis; ability.range = abilityData.range; ability.abilityType = abilityData.type; ability.reticleType = abilityData.reticle; ability.targetType = abilityData.target; abilities.Add(ability); } return(abilities); }
private bool TrustNeedsDismissal(BattleAbility trust) { var t = FindPartyMember(trust); if (t == null) { return(false); } // If the trust is set to be resummonable, respect the MP. if (trust.ResummonOnLowMP) { if (t.MPPCurrent <= trust.ResummonMPHigh && t.MPPCurrent >= trust.ResummonMPLow) { return(true); } } // If the trust is set to be resummonable, respect the HP if (trust.ResummonOnLowHP) { if (t.HPPCurrent <= trust.ResummonHPHigh && t.HPPCurrent >= trust.ResummonHPLow) { return(true); } } return(false); }
private bool TrustNeedsDismissal(IGameContext context, BattleAbility trust) { var t = FindPartyMember(context, trust); if (t == null) { return(false); } // If the trust is set to be resummonable, respect the MP. if (trust.ResummonOnLowMP) { if (t.MPPCurrent <= trust.ResummonMPHigh && t.MPPCurrent >= trust.ResummonMPLow) { return(true); } } // If the trust is set to be resummonable, respect the HP if (trust.ResummonOnLowHP) { if (t.HPPCurrent <= trust.ResummonHPHigh && t.HPPCurrent >= trust.ResummonHPLow) { return(true); } } if (trust.SummonedLevel < context.Player.Level) { return(true); } return(false); }
private void ReleaseTrust(IGameContext context, BattleAbility trust) { var comp = NormalizeSpecialTrustNames(trust.Name); var command = string.Format("/refa {0}", comp); context.API.Windower.SendString(command); }
private bool TrustNeedsSummoning(IGameContext context, BattleAbility trust) { if (TrustInParty(context, trust) && TrustNeedsDismissal(context, trust)) { ReleaseTrust(context, trust); } return(!TrustInParty(context, trust) && PartyHasSpace(context)); }
private bool TrustNeedsSummoning(BattleAbility trust) { if (TrustInParty(trust) && TrustNeedsDismissal(trust)) { ReleaseTrust(trust); } return(!TrustInParty(trust) && PartyHasSpace()); }
public static BattleAbility FindAbility() { var battleAbility = new BattleAbility(); battleAbility.IsEnabled = true; battleAbility.Name = "valid"; return(battleAbility); }
private static BattleAbility FindJobAbility(string actionName) { BattleAbility battleAbility = FindAbility(); battleAbility.Name = actionName; battleAbility.AbilityType = AbilityType.Jobability; battleAbility.TargetType = TargetType.Self; return(battleAbility); }
public void AbilityPressed(BattleParticipant caster, BattleAbility ability) { abilityUseCaster = caster; abilityUseAbility = ability; foreach (MenuCharacter mCharacter in menuCharacters) { mCharacter.GetComponent <Button>().enabled = true; mCharacter.GetComponent <Image>().color = Color.yellow; } }
private void AddAbilities(List <BattleAbility> abilities) { for (int i = 0; i < abilities.Count; i++) { BattleAbility ability = abilities[i]; GameObject newAbility = GameObject.FindWithTag("BattleAbilityPool").GetComponent <SimpleObjectPool>().GetObject(); newAbility.transform.SetParent(this.transform); SampleAbility sampleAbility = newAbility.GetComponent <SampleAbility>(); sampleAbility.Setup(ability, this); } }
public void WithInvalidActionWillNotSendCommand() { // Fixture setup BattleAbility ability = FindAbility(); ability.IsEnabled = false; context.Config.BattleLists["Battle"].Actions.Add(ability); // Exercise system sut.Run(context); // Verify outcome Assert.Null(context.MockAPI.Windower.LastCommand); }
public void UseAbilityOnCharacter(BattleParticipant target) { abilityUseCaster.UseAbility(target, abilityUseAbility); foreach (MenuCharacter mCharacter in menuCharacters) { mCharacter.ToggleAbilityButtons(false); mCharacter.GetComponent <Button>().enabled = false; mCharacter.GetComponent <Image>().color = Color.white; } abilityUseCaster = null; abilityUseAbility = null; }
public void WithValidActionWillSendCommand() { // Fixture setup BattleAbility ability = FindAbility(); ability.Command = "/jobability test <me>"; context.Config.BattleLists["Battle"].Actions.Add(ability); // Exercise system sut.Run(context); // Verify outcome Assert.Equal("/jobability test <me>", context.MockAPI.Windower.LastCommand); // Teardown }
/// <summary> /// Ensures a list has at least one ability item in it. /// </summary> public void KeepOne() { if (SelectedList == null) { return; } // Ensure there is atleast one ability. if (!SelectedList.Actions.Any()) { var action = new BattleAbility(); SelectedList.Actions.Add(action); } }
private void ReleaseTrust(BattleAbility trust) { var comp = trust.Name; if (comp.Contains("(UC)") || comp.Contains("II")) { comp = comp.Replace(" (UC)", ""); comp = comp.Replace(" II", ""); } var command = string.Format("/refa {0}", comp); EliteApi.Windower.SendString(command); }
public void WithInvalidActionWillNotSendCommand() { // Fixture setup BattleState sut = CreateSut(); ObservableCollection <BattleAbility> actions = FindBattleActions(); BattleAbility ability = FindJobAbility("test"); ability.IsEnabled = false; actions.Add(ability); // Exercise system sut.Run(); // Verify outcome Assert.Null(MockEliteAPI.Windower.LastCommand); }
public void callAbility(BattleAbility ability, List <BattleClick> targets) { if (ability.activeAbility.Equals("Phagocytosis Slash")) { ability7(ability.character, targets); } else if (ability.activeAbility.Equals("Devour")) { ability8(ability.character, targets); } else if (ability.activeAbility.Equals("Apoptosis")) { ability9(ability.character, targets); } }
public void UseAbility(BattleParticipant target, BattleAbility ability) { if (this.MP >= ability.cost) { this.MP -= ability.cost; int power = (this.MAGICATTACK + ability.damage) - target.MAGICDEFENSE; power = Mathf.Max(0, power); MessageBox.instance.setText($"{name} uses {ability.abilityName} on {target.name} for {power} damage!"); target.HP -= power; } else { MessageBox.instance.setText($"{name} uses {ability.abilityName} on {target.name}! It failed!"); } }
public void WithValidActionWillSendCommand() { // Fixture setup BattleState sut = CreateSut(); ObservableCollection <BattleAbility> actions = FindBattleActions(); BattleAbility ability = FindJobAbility("test"); ability.Command = "/jobability test <me>"; actions.Add(ability); // Exercise system sut.Run(); // Verify outcome Assert.Equal("/jobability test <me>", MockEliteAPI.Windower.LastCommand); // Teardown }
public void Run_UsesWeaponSkill() { // Setup fixture BattleAbility battleAbility = AbstractTestBase.FindAbility(); battleAbility.Command = "/test"; _context.Config.BattleLists["Weaponskill"].Actions.Add(battleAbility); _context.SetTargetValid(); _context.SetPlayerFighting(); // Exercise system // Verify outcome _sut.Run(_context); Assert.Equal("/test", _context.Memory.Executor.LastCommand); // Teardown }
void Awake() { setEnemies(); string text = File.ReadAllText("Assets/Resources/SaveFile.txt"); characterIndexes = indexes(text, 9); for (int x = 0, y = 1; x < 9; x++) { if (characterIndexes[x] != 1000) { BattleAbility temp = GameObject.Find("Ability " + y++).GetComponent <BattleAbility>(); temp.index = characterIndexes[x]; temp.active = true; } } }
public void Setup(BattleAbility currentAbility, SampleAbilityBar currentAbilityBar) { castRange = currentAbility.range; xAxis = currentAbility.xAxis; abilityValue = currentAbility.value; reticleType = currentAbility.reticleType; targetType = currentAbility.targetType; abilityType = currentAbility.abilityType; string img = currentAbility.abilityId.ToString() + ".jpg"; Image abilityIcon = gameObject.GetComponentsInChildren <Image>()[1]; Sprite abilitySprite = IMG2Sprite.instance.LoadNewSprite(Application.streamingAssetsPath + "/Abilities/" + img); abilityIcon.sprite = abilitySprite; abilityName.text = currentAbility.name; ability = currentAbility; sampleAbilityBar = currentAbilityBar; }
/// <summary> /// Ignoring test since it will always hang right now. /// /// Ensure cast does not seem to proceed, and will loop indefintiely. /// </summary> public void UseBuffingActionsWillUseAbilityNameToCastCommand() { // Fixture setup BattleAbility battleAbility = FindAbility(); battleAbility.Name = "test"; battleAbility.AbilityType = AbilityType.Magic; Executor sut = new Executor(MockEliteAPI.AsMemoryApi()); // Exercise system sut.UseBuffingActions(new List <BattleAbility> { battleAbility }); // Verify outcome Assert.Equal("/magic test <t>", MockEliteAPI.Windower.LastCommand); // Teardown }
private void ReleaseTrust(IGameContext context, BattleAbility trust) { var comp = trust.Name; if (comp.Contains("(UC)") || comp.Contains("II") || comp.Contains("AA")) { comp = comp.Replace(" (UC)", ""); comp = comp.Replace(" II", ""); comp = comp.Replace("AA", "Ark"); } comp = comp.Replace(" ", ""); var command = string.Format("/refa {0}", comp); context.API.Windower.SendString(command); }
/// <summary> /// Add an move to the currently selected list. /// </summary> private void AddAction() { // Check to see if an ability is selected. If so, find the list with which to add the // new ability under. if (SelectedAbility != null) { SelectedList = FindListContainingAbility(SelectedAbility); } // Now, if the user has either selected an ability or a list, // add the new ability. if (SelectedList != null) { var action = new BattleAbility(); SelectedList.Actions.Add(action); } }
private IPartyMemberTools FindPartyMember(IGameContext context, BattleAbility trust) { if (string.IsNullOrEmpty(trust.Name)) { return(null); } for (var i = 1; i < 6; i++) { var p = context.API.PartyMember[(byte)i]; var comp = NormalizeSpecialTrustNames(trust.Name); if (p.UnitPresent && p.Name == comp) { return(p); } } return(null); }
public void UsedTargetedActionsWillUseAbilityNameToCastCommand() { // Fixture setup BattleAbility battleAbility = FindAbility(); battleAbility.Name = "test"; battleAbility.AbilityType = AbilityType.Magic; battleAbility.Command = "/magic test <t>"; IUnit unit = FindUnit(); Executor sut = new Executor(MockGameAPI); // Exercise system sut.UseTargetedActions(new List <BattleAbility> { battleAbility }, unit); // Verify outcome Assert.Equal("/magic test <t>", MockGameAPI.Mock.Windower.LastCommand); // Teardown }
// For initializing the selected ability public void Init(BattleAbility ability) { Debug.Log(JsonUtility.ToJson(ability)); SetTargetType(ability.targetType); SetAbilityType(ability.abilityType); CastRange = ability.range; SetAbilityDamage(ability.value); XAxis = ability.xAxis; SetReticleType(ability.reticleType); if (ability.status != null) { status = ability.status; } else { status = null; } TurnController.State = TurnController.TurnState.Attack; }
// For initializing the selected ability public void Init(BattleAbility ability, SampleAbility btn) { SetTargetType(ability.targetType); SetAbilityType(ability.abilityType); secondaryValue = ability.secondaryValue; CastRange = ability.range; SetAbilityDamage(ability.value); XAxis = ability.xAxis; SetReticleType(ability.reticleType); if (ability.status != null) { status = ability.status; } else { status = null; } button = btn; Cost = ability.cost; TurnController.State = TurnController.TurnState.Attack; }