Exemplo n.º 1
0
        // Token: 0x06000017 RID: 23 RVA: 0x00002F38 File Offset: 0x00001138
        public static Skill Init()
        {
            SL_Skill sl_Skill = new SL_Skill
            {
                Name                   = "Prayer of Healing",
                EffectBehaviour        = EffectBehaviours.OverrideEffects,
                Target_ItemID          = 8200180,
                New_ItemID             = 2502014,
                Description            = "WIP",
                CastType               = Character.SpellCastType.CallElements,
                CastModifier           = Character.SpellCastModifier.Immobilized,
                CastLocomotionEnabled  = false,
                MobileCastMovementMult = -1f,
                CastSheatheRequired    = 2,
                EffectTransforms       = new SL_EffectTransform[]
                {
                    new SL_EffectTransform
                    {
                        TransformName = "ActivationEffects",
                        Effects       = new SL_Effect[0]
                    },
                    new SL_EffectTransform
                    {
                        TransformName = "Effects",
                        Effects       = new SL_Effect[0]
                    }
                },
                Cooldown    = 30f,
                ManaCost    = 600f,
                StaminaCost = 0f
            };
            Skill      skill      = (Skill)CustomItems.CreateCustomItem(sl_Skill.Target_ItemID, sl_Skill.New_ItemID, sl_Skill.Name, sl_Skill);
            Transform  transform  = skill.transform.Find("Effects");
            HealingAoE healingAoE = transform.gameObject.AddComponent <HealingAoE>();

            healingAoE.RestoredHealth    = 30f;
            healingAoE.Range             = 30f;
            healingAoE.CanRevive         = true;
            healingAoE.AmplificationType = DamageType.Types.Electric;
            UnityEngine.Object.Destroy(skill.gameObject.GetComponentInChildren <AddStatusEffect>());
            return(skill);
        }
Exemplo n.º 2
0
        // Token: 0x0600002A RID: 42 RVA: 0x00003F24 File Offset: 0x00002124
        protected override void ActivateLocally(Character character, object[] _infos)
        {
            bool flag = this.TryRemove(character, "Dez Runes");

            if (flag)
            {
                character.StatusEffectMngr.AddStatusEffect(ResourcesPrefabManager.Instance.GetStatusEffectPrefab("Runic Protection Amplified"), character);
            }
            else
            {
                bool flag2 = this.TryRemove(character, "Shim Runes");
                if (flag2)
                {
                    CelestialSurge.StaticActivate(character, _infos, this);
                }
                else
                {
                    bool flag3 = this.TryRemove(character, "Egoth Runes");
                    if (flag3)
                    {
                        character.Stats.AffectHealth(HealingAoE.AmpHealing(character, 40f, DamageType.Types.Electric));
                    }
                    else
                    {
                        bool flag4 = this.TryRemove(character, "Fal Runes");
                        if (flag4)
                        {
                            character.StatusEffectMngr.AddStatusEffect(Templar.Instance.surgeOfDivinityInstance, character);
                        }
                        else
                        {
                            HealingAoE.StaticActivate(this, character, _infos, 30f, 30f, DamageType.Types.Electric, true);
                        }
                    }
                }
            }
        }
Exemplo n.º 3
0
        // Token: 0x0600000B RID: 11 RVA: 0x000025F0 File Offset: 0x000007F0
        public static Skill Init()
        {
            SL_Skill sl_Skill = new SL_Skill
            {
                Name                   = "Cure Wounds",
                EffectBehaviour        = EffectBehaviours.OverrideEffects,
                Target_ItemID          = 8200180,
                New_ItemID             = 2502000,
                SLPackName             = "Templar",
                SubfolderName          = "Cure Wounds",
                Description            = "Restores some health for you and your nearby allies.",
                CastType               = Character.SpellCastType.Fast,
                CastModifier           = Character.SpellCastModifier.Mobile,
                CastLocomotionEnabled  = true,
                MobileCastMovementMult = 0.5f,
                EffectTransforms       = new SL_EffectTransform[]
                {
                    new SL_EffectTransform
                    {
                        TransformName = "Effects",
                        Effects       = new SL_Effect[0],
                    }
                },
                Cooldown    = 5f,
                StaminaCost = 0f,
                ManaCost    = 14f,
            };
            Skill      skill      = (Skill)CustomItems.CreateCustomItem(sl_Skill.Target_ItemID, sl_Skill.New_ItemID, sl_Skill.Name, sl_Skill);
            HealingAoE healingAoE = skill.transform.Find("Effects").gameObject.AddComponent <HealingAoE>();

            healingAoE.Range             = 30f;
            healingAoE.RestoredHealth    = 7f;
            healingAoE.AmplificationType = DamageType.Types.Electric;
            healingAoE.CanRevive         = false;
            return(skill);
        }
Exemplo n.º 4
0
        // Token: 0x06000021 RID: 33 RVA: 0x00003AD0 File Offset: 0x00001CD0
        public static void StaticActivate(Effect instance, Character _affectedCharacter, object[] _infos, float _range, float _restoredHealth, DamageType.Types _amplificationType, bool _canRevive)
        {
            List <Character> list = new List <Character>();

            CharacterManager.Instance.FindCharactersInRange(_affectedCharacter.CenterPosition, _range, ref list);
            list = (from c in list
                    where c.Faction == _affectedCharacter.Faction
                    select c).ToList <Character>();
            float quantity = HealingAoE.AmpHealing(_affectedCharacter, _restoredHealth, _amplificationType);

            foreach (Character character in list)
            {
                bool flag = character.IsDead && _canRevive;
                if (flag)
                {
                    HealingAoE.Revive(character);
                }
                bool flag2 = !character.IsDead || _canRevive;
                if (flag2)
                {
                    character.Stats.AffectHealth(quantity);
                }
            }
        }
Exemplo n.º 5
0
 // Token: 0x06000023 RID: 35 RVA: 0x00003C18 File Offset: 0x00001E18
 protected override void ActivateLocally(Character character, object[] _infos)
 {
     HealingAoE.StaticActivate(this, character, _infos, this.Range, this.RestoredHealth, this.AmplificationType, this.CanRevive);
 }