public void SetBuffParam(BuffParam param)
 {
     this.buffParam = param;
     BuffConfig buffConfig = GameConfigs.instance.GetBuffConfig(this.buffParam.buffCid);
     this.buffNameTM.text = buffConfig.title;
     this.buffNameTM.Commit();
     ArmyManager selfArmyManager = WarManager.instance.selfArmyManager;
     ArmyManager enemyArmyManager = WarManager.instance.enemyArmyManager;
     Vector3 positionOfArmyAt = selfArmyManager.GetPositionOfArmyAt(this.buffParam.fromIndex);
     this.SetYTo(this.fromObj, positionOfArmyAt);
     foreach (int num in this.buffParam.targetIndex)
     {
         GameObject obj2;
         if (buffConfig.isDown == 1)
         {
             obj2 = GameObjectUtil.InstantiateItemAsChildOf(this.downAnimationPrefab, this.targetParent);
             obj2.GetComponent<WarBuffItem>().SetBuff(buffConfig, false);
             this.SetYTo(obj2, enemyArmyManager.GetPositionOfArmyAt(num));
         }
         else
         {
             obj2 = GameObjectUtil.InstantiateItemAsChildOf(this.upAnimationPrefab, this.targetParent);
             obj2.GetComponent<WarBuffItem>().SetBuff(buffConfig, false);
             this.SetYTo(obj2, selfArmyManager.GetPositionOfArmyAt(num));
         }
     }
 }
Example #2
0
    public int RotatedUpdateStatusIcon(int checkFirstStatus, BuffParam buffParam, List <int> nonBuff)
    {
        //IL_006c: Unknown result type (might be due to invalid IL or missing references)
        //IL_00a0: Unknown result type (might be due to invalid IL or missing references)
        int result = checkFirstStatus;
        int num    = statusIcons.Length;
        int num2   = 0;

        for (int i = 0; i < 69; i++)
        {
            if (num2 >= num)
            {
                break;
            }
            int num3 = i + checkFirstStatus;
            if (num3 >= 69)
            {
                num3 %= 69;
            }
            if (CheckStatus((STATUS_TYPE)num3, buffParam, nonBuff))
            {
                IconInfo iconInfo = statusIcons[num2];
                string   iconSpriteNameByStatusType = GetIconSpriteNameByStatusType((STATUS_TYPE)num3);
                iconInfo.icon.spriteName = iconSpriteNameByStatusType;
                iconInfo.icon.get_gameObject().SetActive(true);
                num2++;
                result = num3;
            }
        }
        for (int j = num2; j < num; j++)
        {
            statusIcons[j].icon.get_gameObject().SetActive(false);
        }
        return(result);
    }
Example #3
0
        public override void OnActive(int ownerID, SkillParam skillParam)
        {
            if (skillParam.templateID <= 0)
            {
                return;
            }

            Skill_Tbl skillTbl = TemplatePool.Instance.GetDataByKey <Skill_Tbl>(skillParam.templateID);

            if (null == skillTbl)
            {
                LogManager.Log("SkillLogicBuff.OnActive : invalid skill id.", LogType.Error);
                return;
            }

            for (int i = 0; i < skillTbl.buff1.Length; ++i)
            {
                if (skillTbl.buff1[i] <= 0)
                {
                    continue;
                }

                BuffParam buffParam = new BuffParam();
                buffParam.templateID = skillTbl.buff1[i];
                buffParam.senderID   = ownerID;
                buffParam.targetID   = skillParam.targetID;

                BuffManager.Instance.AddBuff(ownerID, buffParam);
            }
        }
Example #4
0
    public ExplorePlayerStatus(CharaInfo charaInfo, bool isSelf)
    {
        this.isSelf    = isSelf;
        this.charaInfo = charaInfo;
        MonoBehaviourSingleton <StatusManager> .I.CalcUserStatusParam(charaInfo, out int _, out int _, out int _hp);

        hpMax = _hp;
        buff  = new BuffParam(null);
    }
Example #5
0
        public void Init(int id, BuffParam param)
        {
            Reset();

            this.m_id  = id;
            m_template = TemplatePool.Instance.GetDataByKey <Buff_Tbl>(param.templateID);
            if (m_template != null)
            {
            }
        }
Example #6
0
 public void Reset()
 {
     m_id          = 0;
     m_valid       = false;
     m_param       = null;
     m_template    = null;
     m_birthTime   = 0;
     m_lifeTime    = 0;
     m_persistTime = 0;
 }
Example #7
0
    public void AddBuff(BuffParam buffParam)
    {
        bool addBuff = status.AddBuff(buffParam);

        if (addBuff)
        {
            SetBuffText(buffParam);
            StartCoroutine("BuffTimer");
        }
    }
Example #8
0
 public void AddBuff(BuffParam buffParam)
 {
     if (status.CheckImmunity(buffParam.defenseType) == false)
     {
         bool addBuff = status.AddBuff(buffParam);
         if (addBuff)
         {
             SetBuffText(buffParam);
             StartCoroutine("BuffTimer");
         }
     }
 }
Example #9
0
    public void SetBuffText(BuffParam param)
    {
        string buffEffectText = SkillTable.Instance.GetBuffString(param);

        UIDamageText buffText = null;

        if (PoolManager.Instance != null && PoolManager.Instance.GetEffectTextFromPool(out buffText))
        {
            buffText.Init(transform, buffEffectText);
        }
        else
        {
            LoadAssetbundle.LoadPrefabCB loadBuffTextPrefabCB = new LoadAssetbundle.LoadPrefabCB(LoadBuffTextCompleteCB);
            PrefabManager.Instance.LoadPrefab("Effect/Text_Effect", System.Guid.NewGuid(), loadBuffTextPrefabCB, buffEffectText);
        }
    }
Example #10
0
		public void Init(int instId, BuffParam param)
		{
			Reset();

			this.mId = instId;
			mParam = param;

			mTemplate = ConfigPool.Instance.GetDataByKey<Buff_Tbl>(param.templateID);
			if (mTemplate == null)
			{
				this.Valid = false;
				Log.LogError("Buff : wrong template id " + param.templateID);
			}
			else
			{
				mLogic = BuffLogicManager.GetBuffLogic(mTemplate.buffType);
				if (null == mLogic)
				{
					Log.LogError("Buff.Init : bufflogic is null, buff id is " + param.templateID);
				}
			}
		}
    protected void AddBuffAction(Player _player)
    {
        if (m_buffIdList != null && m_buffIdList.Count >= 1 && base.bulletSkillInfoParam != null && !(_player == null) && !_player.isDead)
        {
            int i = 0;
            for (int count = m_buffIdList.Count; i < count; i++)
            {
                int num = m_buffIdList[i];
                if (Singleton <BuffTable> .IsValid() && num > 0)
                {
                    BuffTable.BuffData data = Singleton <BuffTable> .I.GetData((uint)num);

                    if (data != null)
                    {
                        BuffParam.BuffData buffData = new BuffParam.BuffData();
                        buffData.type      = data.type;
                        buffData.interval  = data.interval;
                        buffData.valueType = data.valueType;
                        buffData.time      = data.duration;
                        float num2 = (float)data.value;
                        GrowSkillItemTable.GrowSkillItemData growSkillItemData = Singleton <GrowSkillItemTable> .I.GetGrowSkillItemData(data.growID, base.bulletSkillInfoParam.baseInfo.level);

                        if (growSkillItemData != null)
                        {
                            buffData.time = data.duration * (float)(int)growSkillItemData.supprtTime[0].rate * 0.01f + (float)growSkillItemData.supprtTime[0].add;
                            num2          = (float)(data.value * (int)growSkillItemData.supprtValue[0].rate) * 0.01f + (float)(int)growSkillItemData.supprtValue[0].add;
                        }
                        if (buffData.valueType == BuffParam.VALUE_TYPE.RATE && BuffParam.IsTypeValueBasedOnHP(buffData.type))
                        {
                            num2 = (float)_player.hpMax * num2 * 0.01f;
                        }
                        buffData.value = Mathf.FloorToInt(num2);
                        _player.OnBuffStart(buffData);
                    }
                }
            }
        }
    }
Example #12
0
    public bool HasActiveMultipleBuffIcon(BuffParam buffParam, List <int> nonBuff)
    {
        HashSet <string> hashSet = new HashSet <string>();
        int num = 0;

        for (int i = 0; i < 69; i++)
        {
            if (CheckStatus((STATUS_TYPE)i, buffParam, nonBuff))
            {
                string iconSpriteNameByStatusType = GetIconSpriteNameByStatusType((STATUS_TYPE)i);
                if (!string.IsNullOrEmpty(iconSpriteNameByStatusType) && !hashSet.Contains(iconSpriteNameByStatusType))
                {
                    hashSet.Add(iconSpriteNameByStatusType);
                    num++;
                    if (num > 1)
                    {
                        return(true);
                    }
                }
            }
        }
        return(false);
    }
Example #13
0
    public bool AddBuff(BuffParam buffParam)
    {
        int buffListCount = buffList.Count;
        int index         = buffList.FindIndex(delegate(BuffParam a) {
            return(a.buffType.Equals(buffParam.buffType) &&
                   (Mathf.Abs(a.buffValue) < Mathf.Abs(buffParam.buffValue)));
        });

        if (index > -1)
        {
            buffList.RemoveAt(index);
            buffList.Add(buffParam);
        }
        else if (buffListCount.Equals(0))
        {
            buffList.Add(buffParam);
        }
        else
        {
            return(false);
        }

        return(buffListCount.Equals(0));
    }
Example #14
0
    private static bool CheckStatus(STATUS_TYPE type, BuffParam buffParam, bool isFieldBuff = false)
    {
        switch (type)
        {
        case STATUS_TYPE.POISON:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.POISON, isFieldBuff));

        case STATUS_TYPE.BURNING:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.BURNING, isFieldBuff));

        case STATUS_TYPE.DEADLY_POISON:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEADLY_POISON, isFieldBuff));

        case STATUS_TYPE.INVINCIBLECOUNT:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.INVINCIBLECOUNT, isFieldBuff));

        case STATUS_TYPE.ATTACK_SPEED_UP:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ATTACK_SPEED_UP, isFieldBuff));

        case STATUS_TYPE.ATTACK_SPEED_DOWN:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ATTACK_SPEED_DOWN, isFieldBuff));

        case STATUS_TYPE.MOVE_SPEED_UP:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.MOVE_SPEED_UP, isFieldBuff));

        case STATUS_TYPE.MOVE_SPEED_DOWN:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.MOVE_SPEED_DOWN, isFieldBuff));

        case STATUS_TYPE.ATTACK_NORMAL:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ATTACK_NORMAL, isFieldBuff) || buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ATKUP_RATE_NORMAL, isFieldBuff));

        case STATUS_TYPE.ATTACK_FIRE:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ATTACK_FIRE, isFieldBuff) || buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ATKUP_RATE_FIRE, isFieldBuff));

        case STATUS_TYPE.ATTACK_WATER:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ATTACK_WATER, isFieldBuff) || buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ATKUP_RATE_WATER, isFieldBuff));

        case STATUS_TYPE.ATTACK_THUNDER:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ATTACK_THUNDER, isFieldBuff) || buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ATKUP_RATE_THUNDER, isFieldBuff));

        case STATUS_TYPE.ATTACK_SOIL:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ATTACK_SOIL, isFieldBuff) || buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ATKUP_RATE_SOIL, isFieldBuff));

        case STATUS_TYPE.ATTACK_LIGHT:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ATTACK_LIGHT, isFieldBuff) || buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ATKUP_RATE_LIGHT, isFieldBuff));

        case STATUS_TYPE.ATTACK_DARK:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ATTACK_DARK, isFieldBuff) || buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ATKUP_RATE_DARK, isFieldBuff));

        case STATUS_TYPE.ATTACK_ALLELEMENT:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ATTACK_ALLELEMENT, isFieldBuff) || buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ATKUP_RATE_ALLELEMENT, isFieldBuff));

        case STATUS_TYPE.DEFENCE_NORMAL:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEFENCE_NORMAL, isFieldBuff) || buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEFUP_RATE_NORMAL, isFieldBuff));

        case STATUS_TYPE.DEFENCE_FIRE:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEFENCE_FIRE, isFieldBuff) || buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEFUP_RATE_FIRE, isFieldBuff));

        case STATUS_TYPE.DEFENCE_WATER:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEFENCE_WATER, isFieldBuff) || buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEFUP_RATE_WATER, isFieldBuff));

        case STATUS_TYPE.DEFENCE_THUNDER:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEFENCE_THUNDER, isFieldBuff) || buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEFUP_RATE_THUNDER, isFieldBuff));

        case STATUS_TYPE.DEFENCE_SOIL:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEFENCE_SOIL, isFieldBuff) || buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEFUP_RATE_SOIL, isFieldBuff));

        case STATUS_TYPE.DEFENCE_LIGHT:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEFENCE_LIGHT, isFieldBuff) || buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEFUP_RATE_LIGHT, isFieldBuff));

        case STATUS_TYPE.DEFENCE_DARK:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEFENCE_DARK, isFieldBuff) || buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEFUP_RATE_DARK, isFieldBuff));

        case STATUS_TYPE.DEFENCE_ALLELEMENT:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEFENCE_ALLELEMENT, isFieldBuff) || buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEFUP_RATE_ALLELEMENT, isFieldBuff));

        case STATUS_TYPE.REGENERATE:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.REGENERATE, isFieldBuff));

        case STATUS_TYPE.ELECTRIC_SHOCK:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ELECTRIC_SHOCK, isFieldBuff));

        case STATUS_TYPE.INK_SPLASH:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.INK_SPLASH, isFieldBuff));

        case STATUS_TYPE.POISON_DAMAGE_DOWN:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.POISON_DAMAGE_DOWN, isFieldBuff));

        case STATUS_TYPE.POISON_GUARD:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.POISON_GUARD, isFieldBuff));

        case STATUS_TYPE.BURNING_DAMAGE_DOWN:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.BURN_DAMAGE_DOWN, isFieldBuff));

        case STATUS_TYPE.BURNING_GUARD:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.BURN_GUARD, isFieldBuff));

        case STATUS_TYPE.SUPER_ARMOR:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.SUPER_ARMOR, isFieldBuff) || buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.SHIELD_SUPER_ARMOR, isFieldBuff));

        case STATUS_TYPE.DEFENCE_DOWN:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEFDOWN_RATE_NORMAL, isFieldBuff));

        case STATUS_TYPE.DEF_DOWN_FIRE:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEFDOWN_RATE_FIRE, isFieldBuff));

        case STATUS_TYPE.DEF_DOWN_WATER:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEFDOWN_RATE_WATER, isFieldBuff));

        case STATUS_TYPE.DEF_DOWN_THUNDER:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEFDOWN_RATE_THUNDER, isFieldBuff));

        case STATUS_TYPE.DEF_DOWN_SOIL:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEFDOWN_RATE_SOIL, isFieldBuff));

        case STATUS_TYPE.DEF_DOWN_LIGHT:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEFDOWN_RATE_LIGHT, isFieldBuff));

        case STATUS_TYPE.DEF_DOWN_DARK:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEFDOWN_RATE_DARK, isFieldBuff));

        case STATUS_TYPE.DEF_DOWN_ALLELEMENT:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DEFDOWN_RATE_ALLELEMENT, isFieldBuff));

        case STATUS_TYPE.SHIELD:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.SHIELD, isFieldBuff));

        case STATUS_TYPE.SLIDE:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.SLIDE, isFieldBuff));

        case STATUS_TYPE.PARALYZE_GUARD:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.PARALYZE_GUARD, isFieldBuff));

        case STATUS_TYPE.SILENCE:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.SILENCE, isFieldBuff));

        case STATUS_TYPE.REGENERATE_PROPORTION:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.REGENERATE_PROPORTION, isFieldBuff));

        case STATUS_TYPE.ABSORB_NORMAL:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ABSORB_NORMAL, isFieldBuff));

        case STATUS_TYPE.ABSORB_FIRE:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ABSORB_FIRE, isFieldBuff));

        case STATUS_TYPE.ABSORB_WATER:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ABSORB_WATER, isFieldBuff));

        case STATUS_TYPE.ABSORB_THUNDER:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ABSORB_THUNDER, isFieldBuff));

        case STATUS_TYPE.ABSORB_SOIL:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ABSORB_SOIL, isFieldBuff));

        case STATUS_TYPE.ABSORB_LIGHT:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ABSORB_LIGHT, isFieldBuff));

        case STATUS_TYPE.ABSORB_DARK:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ABSORB_DARK, isFieldBuff));

        case STATUS_TYPE.ABSORB_ALL_ELEMENT:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.ABSORB_ALL_ELEMENT, isFieldBuff));

        case STATUS_TYPE.AUTO_REVIVE:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.AUTO_REVIVE, isFieldBuff));

        case STATUS_TYPE.WARP_BY_AVOID:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.WARP_BY_AVOID, isFieldBuff));

        case STATUS_TYPE.INVINCIBLE_FIRE:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.INVINCIBLE_FIRE, isFieldBuff));

        case STATUS_TYPE.INVINCIBLE_WATER:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.INVINCIBLE_WATER, isFieldBuff));

        case STATUS_TYPE.INVINCIBLE_THUNDER:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.INVINCIBLE_THUNDER, isFieldBuff));

        case STATUS_TYPE.INVINCIBLE_SOIL:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.INVINCIBLE_SOIL, isFieldBuff));

        case STATUS_TYPE.DAMAGE_UP_NORMAL:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DAMAGE_UP_NORMAL, isFieldBuff));

        case STATUS_TYPE.DAMAGE_UP_FROM_AVOID:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.DAMAGE_UP_FROM_AVOID, isFieldBuff));

        case STATUS_TYPE.SKILL_HEAL_SPEEDUP:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.SKILL_HEAL_SPEEDUP, isFieldBuff));

        case STATUS_TYPE.GAUGE_INCREASE_UP:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.HEAT_GAUGE_INCREASE_UP, isFieldBuff) || buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.SOUL_GAUGE_INCREASE_UP, isFieldBuff));

        case STATUS_TYPE.SKILL_CHARGE_WHEN_DAMAGED:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.SKILL_CHARGE_WHEN_DAMAGED, isFieldBuff));

        case STATUS_TYPE.INVINCIBLE_LIGHT:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.INVINCIBLE_LIGHT, isFieldBuff));

        case STATUS_TYPE.INVINCIBLE_DARK:
            return(buffParam.IsValidBuffOrFieldBuff(BuffParam.BUFFTYPE.INVINCIBLE_DARK, isFieldBuff));

        default:
            return(false);
        }
    }
Example #15
0
 public static bool CheckStatus(STATUS_TYPE type, BuffParam buffParam, List <int> nonBuffStatus)
 {
     return(CheckStatus(type, buffParam, false) || (nonBuffStatus != null && CheckStatus(type, nonBuffStatus)));
 }
    private void OnTriggerEnter(Collider collider)
    {
        //IL_0001: Unknown result type (might be due to invalid IL or missing references)
        //IL_002c: Unknown result type (might be due to invalid IL or missing references)
        //IL_0069: Unknown result type (might be due to invalid IL or missing references)
        int layer = collider.get_gameObject().get_layer();

        if (((1 << layer) & m_ignoreLayerMask) <= 0 && (layer != 8 || !(collider.get_gameObject().GetComponent <DangerRader>() != null)) && m_state != STATE.PICKED)
        {
            int heal_hp = 0;
            if (m_skillParam != null)
            {
                heal_hp = m_skillParam.healHp;
            }
            Self component = collider.get_gameObject().GetComponent <Self>();
            if (component != null)
            {
                OnPicked();
                component.OnHealReceive(heal_hp, HEAL_TYPE.NONE, HEAL_EFFECT_TYPE.BASIS, true);
                if (m_buffIds != null && m_buffIds.Count > 0)
                {
                    for (int i = 0; i < m_buffIds.Count; i++)
                    {
                        int num = m_buffIds[i];
                        if (Singleton <BuffTable> .IsValid() && num > 0)
                        {
                            BuffTable.BuffData data = Singleton <BuffTable> .I.GetData((uint)num);

                            if (data != null)
                            {
                                BuffParam.BuffData buffData = new BuffParam.BuffData();
                                buffData.type      = data.type;
                                buffData.interval  = data.interval;
                                buffData.valueType = data.valueType;
                                buffData.time      = data.duration;
                                float num2 = (float)data.value;
                                GrowSkillItemTable.GrowSkillItemData growSkillItemData = Singleton <GrowSkillItemTable> .I.GetGrowSkillItemData(data.growID, m_skillParam.baseInfo.level);

                                if (growSkillItemData != null)
                                {
                                    buffData.time = data.duration * (float)(int)growSkillItemData.supprtTime[0].rate * 0.01f + (float)growSkillItemData.supprtTime[0].add;
                                    num2          = (float)(data.value * (int)growSkillItemData.supprtValue[0].rate) * 0.01f + (float)(int)growSkillItemData.supprtValue[0].add;
                                }
                                if (buffData.valueType == BuffParam.VALUE_TYPE.RATE && BuffParam.IsTypeValueBasedOnHP(buffData.type))
                                {
                                    num2 = (float)component.hpMax * num2 * 0.01f;
                                }
                                buffData.value = Mathf.FloorToInt(num2);
                                component.OnBuffStart(buffData);
                            }
                        }
                    }
                }
                if (component.playerSender != null)
                {
                    component.playerSender.OnPickPresentBullet(m_presentBulletId);
                }
                if (MonoBehaviourSingleton <StageObjectManager> .IsValid())
                {
                    MonoBehaviourSingleton <StageObjectManager> .I.RemovePresentBulletObject(m_presentBulletId);
                }
            }
        }
    }