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