Пример #1
0
        public static bool CanDoCombatHealOther(BaseCreature creature)
        {
            if (creature.IsBarded())
            {
                return(false);
            }

            if (creature.DictCombatAction[CombatAction.CombatHealOther] > 0)
            {
                if (DateTime.UtcNow > creature.NextCombatHealActionAllowed && !creature.BardProvoked && !creature.BardPacified)
                {
                    int TotalValues = 0;

                    Dictionary <CombatHealOther, int> DictTemp = new Dictionary <CombatHealOther, int>();

                    if (AICombatHealOther.CanDoCombatHealOtherSpellHealOther(creature, 100))
                    {
                        DictTemp.Add(CombatHealOther.SpellHealOther100, creature.DictCombatHealOther[CombatHealOther.SpellHealOther100]);
                    }
                    if (AICombatHealOther.CanDoCombatHealOtherSpellHealOther(creature, 75))
                    {
                        DictTemp.Add(CombatHealOther.SpellHealOther75, creature.DictCombatHealOther[CombatHealOther.SpellHealOther75]);
                    }
                    if (AICombatHealOther.CanDoCombatHealOtherSpellHealOther(creature, 50))
                    {
                        DictTemp.Add(CombatHealOther.SpellHealOther50, creature.DictCombatHealOther[CombatHealOther.SpellHealOther50]);
                    }
                    if (AICombatHealOther.CanDoCombatHealOtherSpellHealOther(creature, 25))
                    {
                        DictTemp.Add(CombatHealOther.SpellHealOther25, creature.DictCombatHealOther[CombatHealOther.SpellHealOther25]);
                    }
                    if (AICombatHealOther.CanDoCombatHealOtherSpellCureOther(creature))
                    {
                        DictTemp.Add(CombatHealOther.SpellCureOther, creature.DictCombatHealOther[CombatHealOther.SpellCureOther]);
                    }
                    if (AICombatHealOther.CanDoCombatHealOtherBandageHealOther(creature, 100))
                    {
                        DictTemp.Add(CombatHealOther.BandageHealOther100, creature.DictCombatHealOther[CombatHealOther.BandageHealOther100]);
                    }
                    if (AICombatHealOther.CanDoCombatHealOtherBandageHealOther(creature, 75))
                    {
                        DictTemp.Add(CombatHealOther.BandageHealOther75, creature.DictCombatHealOther[CombatHealOther.BandageHealOther75]);
                    }
                    if (AICombatHealOther.CanDoCombatHealOtherBandageHealOther(creature, 50))
                    {
                        DictTemp.Add(CombatHealOther.BandageHealOther50, creature.DictCombatHealOther[CombatHealOther.BandageHealOther50]);
                    }
                    if (AICombatHealOther.CanDoCombatHealOtherBandageHealOther(creature, 25))
                    {
                        DictTemp.Add(CombatHealOther.BandageHealOther25, creature.DictCombatHealOther[CombatHealOther.BandageHealOther25]);
                    }
                    if (AICombatHealOther.CanDoCombatHealOtherBandageCureOther(creature))
                    {
                        DictTemp.Add(CombatHealOther.BandageCureOther, creature.DictCombatHealOther[CombatHealOther.BandageCureOther]);
                    }

                    //Calculate Total Values
                    foreach (KeyValuePair <CombatHealOther, int> pair in DictTemp)
                    {
                        TotalValues += pair.Value;
                    }

                    if (TotalValues > 0)
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }
Пример #2
0
        public static bool CanDoCombatHealSelf(BaseCreature creature)
        {
            if (creature.IsBarded())
            {
                return(false);
            }

            if (creature.DictCombatAction[CombatAction.CombatHealSelf] > 0)
            {
                if (DateTime.UtcNow > creature.NextCombatHealActionAllowed)
                {
                    Dictionary <CombatHealSelf, int> DictTemp = new Dictionary <CombatHealSelf, int>();

                    if (AICombatHealSelf.CanDoCombatHealSelfSpellHealSelf(creature, 100))
                    {
                        DictTemp.Add(CombatHealSelf.SpellHealSelf100, creature.DictCombatHealSelf[CombatHealSelf.SpellHealSelf100]);
                    }
                    if (AICombatHealSelf.CanDoCombatHealSelfSpellHealSelf(creature, 75))
                    {
                        DictTemp.Add(CombatHealSelf.SpellHealSelf75, creature.DictCombatHealSelf[CombatHealSelf.SpellHealSelf75]);
                    }
                    if (AICombatHealSelf.CanDoCombatHealSelfSpellHealSelf(creature, 50))
                    {
                        DictTemp.Add(CombatHealSelf.SpellHealSelf50, creature.DictCombatHealSelf[CombatHealSelf.SpellHealSelf50]);
                    }
                    if (AICombatHealSelf.CanDoCombatHealSelfSpellHealSelf(creature, 25))
                    {
                        DictTemp.Add(CombatHealSelf.SpellHealSelf25, creature.DictCombatHealSelf[CombatHealSelf.SpellHealSelf25]);
                    }
                    if (AICombatHealSelf.CanDoCombatHealSelfSpellCureSelf(creature))
                    {
                        DictTemp.Add(CombatHealSelf.SpellCureSelf, creature.DictCombatHealSelf[CombatHealSelf.SpellCureSelf]);
                    }
                    if (AICombatHealSelf.CanDoCombatHealSelfPotionHealSelf(creature, 100))
                    {
                        DictTemp.Add(CombatHealSelf.PotionHealSelf100, creature.DictCombatHealSelf[CombatHealSelf.PotionHealSelf100]);
                    }
                    if (AICombatHealSelf.CanDoCombatHealSelfPotionHealSelf(creature, 75))
                    {
                        DictTemp.Add(CombatHealSelf.PotionHealSelf75, creature.DictCombatHealSelf[CombatHealSelf.PotionHealSelf75]);
                    }
                    if (AICombatHealSelf.CanDoCombatHealSelfPotionHealSelf(creature, 50))
                    {
                        DictTemp.Add(CombatHealSelf.PotionHealSelf50, creature.DictCombatHealSelf[CombatHealSelf.PotionHealSelf50]);
                    }
                    if (AICombatHealSelf.CanDoCombatHealSelfPotionHealSelf(creature, 25))
                    {
                        DictTemp.Add(CombatHealSelf.PotionHealSelf25, creature.DictCombatHealSelf[CombatHealSelf.PotionHealSelf25]);
                    }
                    if (AICombatHealSelf.CanDoCombatHealSelfPotionCureSelf(creature))
                    {
                        DictTemp.Add(CombatHealSelf.PotionCureSelf, creature.DictCombatHealSelf[CombatHealSelf.PotionCureSelf]);
                    }
                    if (AICombatHealSelf.CanDoCombatHealSelfBandageHealSelf(creature, 100))
                    {
                        DictTemp.Add(CombatHealSelf.BandageHealSelf100, creature.DictCombatHealSelf[CombatHealSelf.BandageHealSelf100]);
                    }
                    if (AICombatHealSelf.CanDoCombatHealSelfBandageHealSelf(creature, 75))
                    {
                        DictTemp.Add(CombatHealSelf.BandageHealSelf75, creature.DictCombatHealSelf[CombatHealSelf.BandageHealSelf75]);
                    }
                    if (AICombatHealSelf.CanDoCombatHealSelfBandageHealSelf(creature, 50))
                    {
                        DictTemp.Add(CombatHealSelf.BandageHealSelf50, creature.DictCombatHealSelf[CombatHealSelf.BandageHealSelf50]);
                    }
                    if (AICombatHealSelf.CanDoCombatHealSelfBandageHealSelf(creature, 25))
                    {
                        DictTemp.Add(CombatHealSelf.BandageHealSelf25, creature.DictCombatHealSelf[CombatHealSelf.BandageHealSelf25]);
                    }
                    if (AICombatHealSelf.CanDoCombatHealSelfBandageCureSelf(creature))
                    {
                        DictTemp.Add(CombatHealSelf.BandageCureSelf, creature.DictCombatHealSelf[CombatHealSelf.BandageCureSelf]);
                    }

                    int TotalValues = 0;

                    //Calculate Total Values
                    foreach (KeyValuePair <CombatHealSelf, int> pair in DictTemp)
                    {
                        TotalValues += pair.Value;
                    }

                    if (TotalValues > 0)
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }