// Token: 0x06000064 RID: 100 RVA: 0x00004548 File Offset: 0x00002748 public static Skill Init() { SL_AttackSkill sl_AttackSkill = new SL_AttackSkill { Name = "Parry", EffectBehaviour = EffectBehaviours.OverrideEffects, Target_ItemID = 8100360, New_ItemID = 2502016, Description = "Completely block a physical attack.", CastType = Character.SpellCastType.Counter, CastModifier = Character.SpellCastModifier.Attack, CastLocomotionEnabled = false, MobileCastMovementMult = -1f, CastSheatheRequired = 2, RequiredWeaponTypes = new Weapon.WeaponType[] { Weapon.WeaponType.Axe_1H, Weapon.WeaponType.Axe_2H, Weapon.WeaponType.Sword_1H, Weapon.WeaponType.Sword_2H, Weapon.WeaponType.Mace_1H, Weapon.WeaponType.Mace_2H, Weapon.WeaponType.Halberd_2H, Weapon.WeaponType.Spear_2H }, Cooldown = 3f, StaminaCost = 4f, ManaCost = 0f }; Skill skill = (Skill)CustomItems.CreateCustomItem(sl_AttackSkill.Target_ItemID, sl_AttackSkill.New_ItemID, sl_AttackSkill.Name, sl_AttackSkill); Transform transform = skill.gameObject.transform.FindInAllChildren("HitEffects"); UnityEngine.Object.Destroy(transform.gameObject); return(skill); }
// Token: 0x06000056 RID: 86 RVA: 0x00003C78 File Offset: 0x00001E78 public static Skill Init() { SL_AttackSkill sl_AttackSkill = new SL_AttackSkill { Name = "Horde Breaker", EffectBehaviour = EffectBehaviours.OverrideEffects, Target_ItemID = 8100320, New_ItemID = 2502024, SLPackName = "Juggernaut", SubfolderName = "HordeBreaker", Description = string.Format("Does two attacks in wide archs that stagger on hit.\n\n{0}: Confused enemies are knocked down.\n\n{1}: Enemies in pain are slowed down.", "Unyielding", "Vengeful"), CastType = new Character.SpellCastType?(Character.SpellCastType.WeaponSkill1), CastModifier = new Character.SpellCastModifier?(Character.SpellCastModifier.Attack), CastLocomotionEnabled = false, MobileCastMovementMult = -1f, CastSheatheRequired = 2, RequiredWeaponTypes = new Weapon.WeaponType[] { Weapon.WeaponType.Axe_1H, Weapon.WeaponType.Axe_2H, Weapon.WeaponType.Sword_1H, Weapon.WeaponType.Sword_2H, Weapon.WeaponType.Mace_1H, Weapon.WeaponType.Mace_2H, Weapon.WeaponType.Halberd_2H, Weapon.WeaponType.Spear_2H }, EffectTransforms = new SL_EffectTransform[] { new SL_EffectTransform { TransformName = "Effects", Effects = new SL_Effect[0], } }, Cooldown = 60f, StaminaCost = 16f, ManaCost = 0f }; Skill skill = (Skill)CustomItems.CreateCustomItem(sl_AttackSkill.Target_ItemID, sl_AttackSkill.New_ItemID, sl_AttackSkill.Name, sl_AttackSkill); UnityEngine.Object.Destroy(skill.transform.Find("HitEffects_Rage").gameObject); UnityEngine.Object.Destroy(skill.transform.Find("HitEffects_Discipline").gameObject); WeaponSkillAnimationSelector.SetCustomAttackAnimation(skill, Weapon.WeaponType.Halberd_2H); Transform transform = skill.transform.Find("HitEffects"); transform.gameObject.AddComponent <HordeBreakerEffect>(); WeaponDamage componentInChildren = skill.gameObject.GetComponentInChildren <WeaponDamage>(); componentInChildren.WeaponDamageMult = 1f; componentInChildren.WeaponDurabilityLossPercent = 0f; componentInChildren.WeaponDurabilityLoss = 1f; componentInChildren.Damages = new DamageType[0]; componentInChildren.WeaponKnockbackMult = 1f; UnityEngine.Object.Destroy(skill.gameObject.GetComponentInChildren <HasStatusEffectEffectCondition>()); UnityEngine.Object.Destroy(skill.gameObject.GetComponentInChildren <AddStatusEffect>()); return(skill); }
// Token: 0x06000011 RID: 17 RVA: 0x000029EC File Offset: 0x00000BEC public static Skill Init() { SL_AttackSkill sl_AttackSkill = new SL_AttackSkill { Name = "Wrathful Smite", EffectBehaviour = EffectBehaviours.OverrideEffects, Target_ItemID = 8100350, New_ItemID = 2502008, SLPackName = "Templar", SubfolderName = "Wrathful Smite", Description = "A leaping attack that deals more damage to enemies that are knocked down.\n\nWrathful Smite instantly becomes available for another use if it kills its target.", CastType = Character.SpellCastType.AxeLeap, CastModifier = Character.SpellCastModifier.Attack, CastLocomotionEnabled = false, MobileCastMovementMult = -1f, CastSheatheRequired = 2, RequiredWeaponTypes = new Weapon.WeaponType[] { Weapon.WeaponType.Axe_1H, Weapon.WeaponType.Axe_2H, Weapon.WeaponType.Sword_1H, Weapon.WeaponType.Sword_2H, Weapon.WeaponType.Mace_1H, Weapon.WeaponType.Mace_2H, Weapon.WeaponType.Halberd_2H, Weapon.WeaponType.Spear_2H }, Cooldown = 40f, StaminaCost = 8f, ManaCost = 7f }; Skill skill = (Skill)CustomItems.CreateCustomItem(sl_AttackSkill.Target_ItemID, sl_AttackSkill.New_ItemID, sl_AttackSkill.Name, sl_AttackSkill); skill.transform.Find("ActivationEffects").gameObject.AddComponent <EnableHitDetection>().Delay = 0.5f; UnityEngine.Object.Destroy(skill.gameObject.GetComponentInChildren <WeaponDamage>()); ExecutionWeaponDamage executionWeaponDamage = skill.transform.Find("HitEffects").gameObject.AddComponent <ExecutionWeaponDamage>(); executionWeaponDamage.SetCooldown = 1f; executionWeaponDamage.WeaponDamageMult = 1f; executionWeaponDamage.WeaponDamageMultKDown = 2f; executionWeaponDamage.WeaponDurabilityLossPercent = 0f; executionWeaponDamage.WeaponDurabilityLoss = 1f; executionWeaponDamage.OverrideDType = DamageType.Types.Count; executionWeaponDamage.Damages = new DamageType[] { new DamageType(DamageType.Types.Electric, 30f) }; executionWeaponDamage.WeaponKnockbackMult = 2f; UnityEngine.Object.Destroy(skill.gameObject.GetComponentInChildren <HasStatusEffectEffectCondition>()); UnityEngine.Object.Destroy(skill.gameObject.GetComponentInChildren <AddStatusEffect>()); foreach (PlaySoundEffect obj in from x in skill.gameObject.GetComponentsInChildren <PlaySoundEffect>() where x.Sounds.Contains(GlobalAudioManager.Sounds.CS_Golem_HeavyAttackFence_Whoosh1) select x) { UnityEngine.Object.Destroy(obj); } return(skill); }
// Token: 0x06000007 RID: 7 RVA: 0x000022B4 File Offset: 0x000004B4 public static Skill Init() { SL_AttackSkill sl_AttackSkill = new SL_AttackSkill { Name = "Infuse Burst of Light", EffectBehaviour = EffectBehaviours.OverrideEffects, Target_ItemID = 8200100, New_ItemID = 2502001, SLPackName = "Templar", SubfolderName = "Infuse Burst of Light", Description = "Temporarly infuse your weapon with light for, without consuming your Blessed boon.", IsUsable = true, CastType = Character.SpellCastType.SpellBindLight, CastModifier = Character.SpellCastModifier.Immobilized, CastLocomotionEnabled = false, MobileCastMovementMult = -1f, RequiredWeaponTypes = new Weapon.WeaponType[] { Weapon.WeaponType.Axe_1H, Weapon.WeaponType.Axe_2H, Weapon.WeaponType.Sword_1H, Weapon.WeaponType.Sword_2H, Weapon.WeaponType.Mace_1H, Weapon.WeaponType.Mace_2H, Weapon.WeaponType.Halberd_2H, Weapon.WeaponType.Spear_2H }, EffectTransforms = new SL_EffectTransform[] { new SL_EffectTransform { TransformName = "Effects", Effects = new SL_Effect[] { new SL_ImbueWeapon { Lifespan = 60f, ImbueEffect_Preset_ID = 219, Imbue_Slot = Weapon.WeaponSlot.MainHand } } } }, Cooldown = new float?((float)2), StaminaCost = new float?(0f), ManaCost = new float?((float)7) }; Skill skill = (Skill)CustomItems.CreateCustomItem(sl_AttackSkill.Target_ItemID, sl_AttackSkill.New_ItemID, sl_AttackSkill.Name, sl_AttackSkill); UnityEngine.Object.Destroy(skill.gameObject.GetComponentInChildren <HasStatusEffectEffectCondition>()); return(skill); }
// Token: 0x0600000F RID: 15 RVA: 0x00002850 File Offset: 0x00000A50 public static Skill Init() { SL_AttackSkill sl_AttackSkill = new SL_AttackSkill { Name = "Retributive Smite", EffectBehaviour = EffectBehaviours.NONE, Target_ItemID = 8100260, New_ItemID = 2502006, SLPackName = "Templar", SubfolderName = "Retributive Smite", Description = "Completely block a physical attack, striking the attacker and dealing additional lightning damage.", CastType = Character.SpellCastType.Counter, CastModifier = Character.SpellCastModifier.Attack, CastLocomotionEnabled = false, MobileCastMovementMult = -1f, CastSheatheRequired = 2, RequiredWeaponTypes = new Weapon.WeaponType[] { Weapon.WeaponType.Axe_1H, Weapon.WeaponType.Axe_2H, Weapon.WeaponType.Sword_1H, Weapon.WeaponType.Sword_2H, Weapon.WeaponType.Mace_1H, Weapon.WeaponType.Mace_2H, Weapon.WeaponType.Halberd_2H, Weapon.WeaponType.Spear_2H }, Cooldown = 40f, StaminaCost = 8f, ManaCost = 7f, }; Skill skill = (Skill)CustomItems.CreateCustomItem(sl_AttackSkill.Target_ItemID, sl_AttackSkill.New_ItemID, sl_AttackSkill.Name, sl_AttackSkill); WeaponDamage componentInChildren = skill.gameObject.GetComponentInChildren <WeaponDamage>(); componentInChildren.WeaponDamageMult = 1.5f; componentInChildren.WeaponDamageMultKDown = -1f; componentInChildren.WeaponDurabilityLossPercent = 0f; componentInChildren.WeaponDurabilityLoss = 1f; componentInChildren.OverrideDType = DamageType.Types.Count; componentInChildren.Damages = new DamageType[] { new DamageType(DamageType.Types.Electric, 20f) }; return(skill); }
// Token: 0x06000062 RID: 98 RVA: 0x000042A8 File Offset: 0x000024A8 public static Skill Init() { SL_AttackSkill sl_AttackSkill = new SL_AttackSkill { Name = "Tackle", EffectBehaviour = EffectBehaviours.OverrideEffects, Target_ItemID = 8100072, New_ItemID = 2502017, SLPackName = "Juggernaut", SubfolderName = "Tackle", Description = "Ram into your opponent! Either of you will fall. The most stable at foot will triump!", CastType = Character.SpellCastType.ShieldCharge, CastModifier = Character.SpellCastModifier.Attack, CastLocomotionEnabled = false, MobileCastMovementMult = -1f, CastSheatheRequired = 0, RequiredOffHandTypes = new Weapon.WeaponType[0], Cooldown = 30f, StaminaCost = 8f, ManaCost = 0f }; Skill skill = (Skill)CustomItems.CreateCustomItem(sl_AttackSkill.Target_ItemID, sl_AttackSkill.New_ItemID, sl_AttackSkill.Name, sl_AttackSkill); EmptyOffHandCondition.AddToSkill(skill, false, false); GameObject gameObject = skill.transform.Find("ActivationEffects").gameObject; for (int i = 0; i < 4; i++) { EnableHitDetection enableHitDetection = gameObject.AddComponent <EnableHitDetection>(); enableHitDetection.Delay = 0.2f + (float)i * 0.08f; } foreach (PlaySoundEffect obj in gameObject.GetComponentsInChildren <PlaySoundEffect>()) { UnityEngine.Object.Destroy(obj); } GameObject gameObject2 = ResourcesPrefabManager.Instance.GetItemPrefab(8100190).gameObject; foreach (PlaySoundEffect playSoundEffect in gameObject2.gameObject.GetComponentsInChildren <PlaySoundEffect>()) { bool flag = (double)playSoundEffect.Delay <= 0.2; if (flag) { PlaySoundEffect playSoundEffect2 = gameObject.AddComponent <PlaySoundEffect>(); playSoundEffect2.Sounds = playSoundEffect.Sounds; playSoundEffect2.Delay = playSoundEffect.Delay; playSoundEffect2.Follow = playSoundEffect.Follow; playSoundEffect2.MinPitch = playSoundEffect.MinPitch; playSoundEffect2.MaxPitch = playSoundEffect.MaxPitch; playSoundEffect2.SyncType = playSoundEffect.SyncType; } } GameObject gameObject3 = skill.gameObject.transform.FindInAllChildren("HitEffects").gameObject; TackleEffect tackleEffect = gameObject3.AddComponent <TackleEffect>(); tackleEffect.Knockback = 10f; tackleEffect.Damages = new DamageType[] { new DamageType(DamageType.Types.Physical, 3f) }; PunctualDamage component = gameObject3.GetComponent <PunctualDamage>(); UnityEngine.Object.Destroy(component); return(skill); }
private void SL_OnPacksLoaded() { var ringItem = new SL_Equipment { Target_ItemID = 5100500, New_ItemID = TSAR_RING_ITEMID, Name = "Tsar Ring", Description = "An ornately-decorated ring, jeweled with an impressive Tsar.\n\nSome say this ring was summoned by the Creator of Aurai itself.", IKType = Equipment.IKMode.None, EquipSlot = EquipmentSlot.EquipmentSlotIDs.LeftHand, Tags = new string[] { "Ring" }, StatsHolder = new SL_EquipmentStats { BaseValue = 999, MaxDurability = -1, RawWeight = 0.1f, Mana_Use_Modifier = -5f }, EffectBehaviour = EffectBehaviours.DestroyEffects, SLPackName = "TsarRing", SubfolderName = "TsarRing", ItemVisuals = new SL_ItemVisual { Prefab_SLPack = "TsarRing", Prefab_AssetBundle = "tsarring", Prefab_Name = "mdl_itm_Tsar_Ring_v", Position = new Vector3(-0.018f, 0.011f, 0.037f), Rotation = new Vector3(347.014f, 357.770f, 0f), }, }; CustomItems.CreateCustomItem(ringItem); var ringEffects = new SL_EffectTransform[] { new SL_EffectTransform { TransformName = "ActivationEffects", Effects = new SL_Effect[] { new SL_PlaySoundEffect { SyncType = Effect.SyncTypes.OwnerSync, Sounds = new List <GlobalAudioManager.Sounds> { GlobalAudioManager.Sounds.CS_Mantis_ManaBlast_Whoosh1 } } } }, new SL_EffectTransform { TransformName = "Effects", Effects = new SL_Effect[] { new SL_ShootConeBlast { BaseBlast = SL_ShootBlast.BlastPrefabs.EliteImmaculateLaser, CastPosition = Shooter.CastPositionType.Transform, NoAim = true, TargetType = Shooter.TargetTypes.Enemies, TransformName = "ShooterTransform", Radius = 0.8f, RefreshTime = 0.1f, BlastLifespan = 1.0f, InstantiatedAmount = 1, Interruptible = true, MaxHitTargetCount = -1, HitOnShoot = true, NoTargetForwardMultiplier = 5.0f, ImpactSoundMaterial = EquipmentSoundMaterials.Fire, EffectBehaviour = EffectBehaviours.OverrideEffects, BlastEffects = new SL_EffectTransform[] { new SL_EffectTransform { TransformName = "Effects", Effects = new SL_Effect[] { new SL_PunctualDamage { Damage = new List <SL_Damage> { new SL_Damage { Type = DamageType.Types.Ethereal, Damage = 5.0f, } }, Knockback = 2f, HitInventory = true } } } } } } } }; var ringSkill = new SL_AttackSkill { Target_ItemID = 8300251, New_ItemID = 8500999, Name = "Ring Laser", Description = "Requires: Tsar Ring\n\nInvoke the power of the ring, disintegrating anything in it's path.", RequiredWeaponTags = new string[] { "Ring" }, Cooldown = 10, ManaCost = 10, StaminaCost = 0, DurabilityCost = 0, DurabilityCostPercent = 0, CastType = Character.SpellCastType.Flamethrower, EffectBehaviour = EffectBehaviours.OverrideEffects, StatsHolder = null, SLPackName = "TsarRing", SubfolderName = "RingLaser", EffectTransforms = ringEffects }; CustomItems.CreateCustomItem(ringSkill); }
// Token: 0x0600004E RID: 78 RVA: 0x00004F30 File Offset: 0x00003130 private Skill ThunderousSmite() { SL_AttackSkill sl_AttackSkill = new SL_AttackSkill { Name = "Thunderous Smite", EffectBehaviour = EffectBehaviours.OverrideEffects, Target_ItemID = 8100020, New_ItemID = 2502004, SLPackName = "Templar", SubfolderName = "Thunderous Smite", Description = "Required: Melee Weapon\n\nJumping attack that summons a lightning bolt upon landing.", CastType = Character.SpellCastType.AxeLeap, CastModifier = Character.SpellCastModifier.Attack, CastLocomotionEnabled = false, MobileCastMovementMult = -1f, CastSheatheRequired = 2, RequiredWeaponTypes = new Weapon.WeaponType[] { Weapon.WeaponType.Axe_1H, Weapon.WeaponType.Axe_2H, Weapon.WeaponType.Sword_1H, Weapon.WeaponType.Sword_2H, Weapon.WeaponType.Mace_1H, Weapon.WeaponType.Mace_2H, Weapon.WeaponType.Halberd_2H, Weapon.WeaponType.Spear_2H }, EffectTransforms = new SL_EffectTransform[] { new SL_EffectTransform { TransformName = "Effects", Effects = new SL_Effect[0] }, new SL_EffectTransform { TransformName = "ActivationEffects", Effects = new SL_Effect[0] } }, Cooldown = 2f, StaminaCost = 1f, ManaCost = 1f }; Skill skill = (Skill)CustomItems.CreateCustomItem(sl_AttackSkill.Target_ItemID, sl_AttackSkill.New_ItemID, sl_AttackSkill.Name, sl_AttackSkill); Item itemPrefab = ResourcesPrefabManager.Instance.GetItemPrefab(8100150); ShootBlastsProximity componentInChildren = itemPrefab.transform.Find("Lightning").Find("ExtraEffects").GetComponentInChildren <ShootBlastsProximity>(); Transform transform = skill.transform.Find("Effects"); ShootBlast shootBlast = transform.gameObject.AddComponent <ShootBlast>(); shootBlast.transform.parent = transform.transform; shootBlast.BaseBlast = componentInChildren.BaseBlast; shootBlast.InstanstiatedAmount = 5; shootBlast.NoTargetForwardMultiplier = 5f; shootBlast.CastPosition = Shooter.CastPositionType.Character; shootBlast.TargetType = Shooter.TargetTypes.Enemies; shootBlast.TransformName = "ShooterTransform"; shootBlast.UseTargetCharacterPositionType = false; shootBlast.SyncType = Effect.SyncTypes.OwnerSync; shootBlast.OverrideEffectCategory = EffectSynchronizer.EffectCategories.None; shootBlast.BasePotencyValue = 1f; shootBlast.Delay = 0f; shootBlast.LocalCastPositionAdd = new Vector3(0f, 1f, 1.5f); shootBlast.BaseBlast.Radius = 3.5f; GameObject gameObject = skill.gameObject.GetComponentInChildren <HasStatusEffectEffectCondition>().gameObject; UnityEngine.Object.Destroy(gameObject); return(skill); }