public List <Interfaces.ICommand> getClassCommands(LiveImplementation.FullCombatCharacter source, LiveImplementation.CombatData combatData) { List <ICommand> commands = new List <ICommand>(); int level = source.classLevel; if (level >= 3) { commands.Add(new Command(false, new List <ICommand>(), false, 0, 0, "Disarming Blow", false, 0, true, isDisabled("Disarming Blow", source, combatData))); } if (level >= 7) { commands.Add(new Command(false, new List <ICommand>(), false, 0, 0, "One-Two Punch", false, 0, true, isDisabled("One-Two Punch", source, combatData))); } if (level >= 9) { commands.Add(new Command(false, new List <ICommand>(), false, 0, 0, "Sweep", false, 0, false, isDisabled("Sweep", source, combatData))); } if (level >= 13) { commands.Add(new Command(false, new List <ICommand>(), false, 0, 0, "Preemptive Strike", false, 0, false, isDisabled("Preemptive Strike", source, combatData))); } if (level >= 15) { commands.Add(new Command(false, new List <ICommand>(), false, 0, 0, "Vicious Blow", false, 0, true, isDisabled("Vicious Blow", source, combatData))); } if (level >= 17) { commands.Add(new Command(false, new List <ICommand>(), false, 0, 0, "Adrenaline", false, 0, false, isDisabled("Adrenaline", source, combatData))); } return(commands); }
public bool isDisabled(string abilityName, LiveImplementation.FullCombatCharacter source, LiveImplementation.CombatData combatData) { if (abilityName == "Magic Missile" && source.mp == 0) { return(true); } else if (combatData.hasCooldown(source.name, abilityName)) { return(true); } return(false); }
public bool isDisabled(string abilityName, LiveImplementation.FullCombatCharacter source, LiveImplementation.CombatData combatData) { if (abilityName == "Disarming Blow") { if (combatData.hasCooldown(source.name, "Disarming Blow")) { return(true); } } else if (abilityName == "One-Two Punch") { if (combatData.hasCooldown(source.name, "One-Two Punch")) { return(true); } } else if (abilityName == "Sweep") { if (combatData.hasCooldown(source.name, "Sweep")) { return(true); } } else if (abilityName == "Preemptive Strike") { if (combatData.hasCooldown(source.name, "Preemptive Strike")) { return(true); } } else if (abilityName == "Vicious Blow") { if (combatData.hasCooldown(source.name, "Vicious Blow")) { return(true); } } else if (abilityName == "Adrenaline") { if (source.usedAbilities.Contains("Adrenaline")) { return(true); } } return(false); }
public List <Interfaces.ICommand> getClassCommands(LiveImplementation.FullCombatCharacter source, LiveImplementation.CombatData combatData) { List <ICommand> commands = new List <ICommand>(); int level = source.classLevel; commands.Add(new Command(false, new List <ICommand>(), false, 0, 0, "Magic Dart", false, 0, true, isDisabled("Magic Dart", source, combatData))); if (level >= 3) { commands.Add(new Command(false, new List <ICommand>(), false, 0, 0, "Magic Missile", true, 1, true, isDisabled("Magic Missile", source, combatData))); } if (level >= 7) { commands.Add(new Command(false, new List <ICommand>(), false, 0, 0, "Arcane Prison", false, 0, true, isDisabled("Arcane Prison", source, combatData))); } return(commands); }
public Func <List <LiveImplementation.FullCombatCharacter>, List <LiveImplementation.FullCombatCharacter>, LiveImplementation.CombatData, List <Interfaces.IEffect> > initialExecute(LiveImplementation.FullCombatCharacter source) { return((List <FullCombatCharacter> allies, List <FullCombatCharacter> enemies, CombatData combatData) => { List <IEffect> effects = new List <IEffect>(); return effects; }); }