Esempio n. 1
0
        public BuffInfo(CharacterEntity character, CharacterEntity target, SkillInfo skillInfo, MechanicsData mechanics, BuffType buffType, SkillLevelBuffAddType skillLevelBuffAddType, BuffAddType buffAddType, int count, uint targetSkillId, float value, uint level, int judgeType)
        {
            this.mechanics   = mechanics;
            this.character   = character;
            this.target      = target;
            this.skillInfo   = skillInfo;
            this.buffType    = buffType;
            this.buffAddType = buffAddType;
            this.judgeType   = judgeType;
#if UNITY_EDITOR
            this.skillLevelBuffAddType = skillLevelBuffAddType;
#endif
            this.targetSkillId = targetSkillId;
            this.count         = count;
            switch (skillLevelBuffAddType)
            {
            case SkillLevelBuffAddType.Time:

                break;

            case SkillLevelBuffAddType.Value:
            {
                float result = Skill.SkillUtil.GetMechanicsValueByAdvanceLevel(value, character.characterInfo.dlevel);
                result     = BuffUtil.GetBuffValue(result, level);
                this.value = result;
            }
            break;
            }
            kindness      = BuffUtil.Judge(this.buffType, this.value);
            originalValue = this.value;
            interval      = 1;
        }
Esempio n. 2
0
        void LoadBuffs()
        {
            Element[] elements = (Element[])Enum.GetValues(typeof(Element));
            for (int i = 0; i < elements.Length; i++)
            {
                Element element = elements[i];
                if (element != Element.none && element != Element.levitate)
                {
                    string nameAdd = element.ToString().First().ToString().ToUpper() + string.Join("", element.ToString().Skip(1)) + "Add";

                    ModBuff buffAdd = new BuffAddType()
                    {
                        MyElement = element
                    };

                    string textureAdd = $"TerraTyping/Abilities/Buffs/TypeAdd/{nameAdd}";
                    AddBuff(nameAdd, buffAdd, textureAdd);


                    string nameReplace = element.ToString().First().ToString().ToUpper() + string.Join("", element.ToString().Skip(1)) + "Replace";

                    ModBuff buffReplace = new BuffReplaceType()
                    {
                        MyElement = element
                    };

                    string textureReplace = $"TerraTyping/Abilities/Buffs/TypeReplace/{nameReplace}";
                    AddBuff(nameReplace, buffReplace, textureReplace);
                }
            }
        }
Esempio n. 3
0
 public virtual void DeepCopy(Buff buff, Dictionary <Hero, Hero> heroMap)
 {
     if (buff.parent != null)
     {
         parent = heroMap[buff.parent];
     }
     remainTurn = buff.remainTurn;
     addType    = buff.addType;
 }
Esempio n. 4
0
        public BuffInfo(CharacterEntity character, CharacterEntity target, SkillInfo skillInfo, MechanicsData mechanics, BuffType buffType, SkillLevelBuffAddType skillLevelBuffAddType, BuffAddType buffAddType, float time, float value, uint level, int judgeType)
        {
            this.mechanics   = mechanics;
            this.character   = character;
            this.target      = target;
            this.skillInfo   = skillInfo;
            this.buffType    = buffType;
            this.buffAddType = buffAddType;
            this.judgeType   = judgeType;
#if UNITY_EDITOR
            this.skillLevelBuffAddType = skillLevelBuffAddType;
#endif
            switch (skillLevelBuffAddType)
            {
            case SkillLevelBuffAddType.Time:
            {
                float result = Skill.SkillUtil.GetMechanicsValueByAdvanceLevel(time, character.characterInfo.dlevel);
                result     = BuffUtil.GetBuffValue(result, level);
                this.time  = TimeController.instance.fightSkillTime + result;
                this.value = value;
                break;
            }

            case SkillLevelBuffAddType.Value:
            {
                float result = Skill.SkillUtil.GetMechanicsValueByAdvanceLevel(value, character.characterInfo.dlevel);
                result     = BuffUtil.GetBuffValue(result, level);
                this.value = result;
                this.time  = TimeController.instance.fightSkillTime + time;
                break;
            }

            default:
                this.time  = TimeController.instance.fightSkillTime + time;
                this.value = value;
                break;
            }
            kindness      = BuffUtil.Judge(this.buffType, this.value);
            originalValue = this.value;
            interval      = 1;
        }
Esempio n. 5
0
 public Buff()
 {
     remainTurn = 1;
     addType    = BuffAddType.Mutiple;
 }