Exemple #1
0
        internal void AddBuff(int buffID, double time, CSBattleObj caster, int rootcasterID, int skillID, int layer, int removeOnCasterDead, int removeOnSkillBreak)
        {
            if(buffID <= 0)
            {
                return;
            }


            if(caster == null)
            {
                if(owner.objType == ConstDef.OBJ_TYPE_SPELL_FIELD)
                {
                    caster = (owner as CSSpellfield).owner;
                }
                else
                {
                    caster = owner;
                }
            }
            else
            {
                if(caster.objType == ConstDef.OBJ_TYPE_SPELL_FIELD)
                    caster = (caster as CSSpellfield).owner;
            }
            if(mBuffDatas.Find(buffID, out buffInst))
            {
                if(buffInst != null)
                {
                    buffInst.Begin(buffID, caster, mParent, time, rootCasterObj, skillID, layer, removeOnCasterDead);
                    owner.LuaData.ModifyBuffLayer(buffID, buffInst.GetLayer());
                    this.mParent.EventQueue.LuaCSEID_BUFF_OP_ADD(buffID, buffInst.GetID(), time, skillID, rootcasterID, rootCasterResID, rootCasterPlayerIdx);
                    return;
                }
            }
            var buffmax = ConstDef.UNIT_BUFF_MAX_CHARP;
            if (owner.mgr.IsFunctionOpen(ConstDef.BTL_SWITCH_711_BATTLELOGIC))
                buffmax = ConstDef.UNIT_BUFF_MAX_CHARP2;
            }
Exemple #2
0
 internal override void Init(CSBattleObj owner)
 {
     base.Init(owner);
     mBuffForSkillBreak = new Dictionary<int, List<int>>();
     buffInstID = 1;
 }
Exemple #3
0
 internal override void Init(CSBattleObj owner)
 {