private bool IsSkillApplyShield(SkillItemTable.SkillItemData tableData) { if (tableData == null) { return(false); } if (!tableData.supportType.IsNullOrEmpty() && Array.IndexOf(tableData.supportType, BuffParam.BUFFTYPE.SHIELD) >= 0) { return(true); } if (!tableData.buffTableIds.IsNullOrEmpty()) { if (!Singleton <BuffTable> .IsValid()) { return(false); } BuffTable.BuffData buffData = null; for (int i = 0; i < tableData.buffTableIds.Length; i++) { buffData = Singleton <BuffTable> .I.GetData((uint)tableData.buffTableIds[i]); if (buffData.type == BuffParam.BUFFTYPE.SHIELD) { return(true); } } } return(false); }
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); } } } } }
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); } } } }