// 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: 0x06000013 RID: 19 RVA: 0x00002C78 File Offset: 0x00000E78 public static Skill Init() { SL_Skill sl_Skill = new SL_Skill { Name = "Shield of Faith", EffectBehaviour = 0, Target_ItemID = 8100360, New_ItemID = 2502009, SLPackName = "Templar", SubfolderName = "Shield of Faith", Description = "Blocks an attack, restores your stability and protects you against damage for a brief moment.", CastType = new Character.SpellCastType?(Character.SpellCastType.Brace), CastModifier = new Character.SpellCastModifier?(Character.SpellCastModifier.Immobilized), CastLocomotionEnabled = new bool?(false), MobileCastMovementMult = new float?((float)-1), CastSheatheRequired = new int?(0), Cooldown = new float?((float)15), StaminaCost = new float?(0f), ManaCost = new float?((float)7) }; Skill skill = (Skill)CustomItems.CreateCustomItem(sl_Skill.Target_ItemID, sl_Skill.New_ItemID, sl_Skill.Name, sl_Skill); UnityEngine.Object.Destroy(skill.gameObject.GetComponentInChildren <AddBoonEffect>()); UnityEngine.Object.Destroy(skill.gameObject.GetComponentInChildren <AutoKnock>()); GameObject gameObject = skill.transform.Find("HitEffects").gameObject; gameObject.AddComponent <AddStatusEffect>().Status = ResourcesPrefabManager.Instance.GetStatusEffectPrefab("Force Bubble"); GameObject gameObject2 = skill.transform.Find("BlockEffects").gameObject; gameObject2.AddComponent <CasualStagger>(); return(skill); }
// Token: 0x06000001 RID: 1 RVA: 0x00002050 File Offset: 0x00000250 public static Item MakeItem() { float[] array = new float[] { 4f, 25f, 1.1f, 35f }; SL_Weapon sl_Weapon = new SL_Weapon { Name = "Blessed Longsword", Target_ItemID = 2000010, New_ItemID = 2501013, Description = "Augments lightning damage infusions that are applied to it.", Tags = HolyAvengerItemPack.GetSafeTags(new List <string> { "Finesse", "Holy", "Blade", "Weapon", "Item" }), StatsHolder = new SL_WeaponStats { BaseValue = new int?(1000), RawWeight = new float?(3.5f), MaxDurability = new int?(500), AttackSpeed = new float?(array[2]), BaseDamage = new List <SL_Damage> { new SL_Damage { Damage = array[3], Type = DamageType.Types.Physical } }, Impact = new float?(array[1]), Attacks = new WeaponStats.AttackData[] { HolyAvengerItemPack.MakeAttackData(array[0], array[1], array[2], array[3], 1f, 1f), HolyAvengerItemPack.MakeAttackData(array[0], array[1], array[2], array[3], 1f, 1f), HolyAvengerItemPack.MakeAttackData(array[0], array[1], array[2] + 0.1f, array[3], 1.2f, 1.3f), HolyAvengerItemPack.MakeAttackData(array[0], array[1], array[2] + 0.1f, array[3], 1.1f, 1.1f), HolyAvengerItemPack.MakeAttackData(array[0], array[1], array[2] + 0.1f, array[3], 1.1f, 1.1f) } }, ItemVisuals = new SL_ItemVisual { Prefab_Name = "keenlongsword_Prefab", Prefab_AssetBundle = "keenlongsword", Prefab_SLPack = "HolyAvengerItemPack" }, SLPackName = "HolyAvengerItemPack", SubfolderName = "BlessedLongsword", SwingSound = new SwingSoundWeapon?(SwingSoundWeapon.Weapon_2H) }; return(CustomItems.CreateCustomItem(sl_Weapon.Target_ItemID, sl_Weapon.New_ItemID, "Blessed Longsword", sl_Weapon)); }
// Token: 0x06000054 RID: 84 RVA: 0x00003B78 File Offset: 0x00001D78 public static Skill Init() { SL_Skill sl_Skill = new SL_Skill { Name = "Juggernaughty", EffectBehaviour = EffectBehaviours.DestroyEffects, Target_ItemID = 8100120, New_ItemID = 2502023, Description = "Trainer Hax", CastType = Character.SpellCastType.Sit, CastModifier = Character.SpellCastModifier.Immobilized, CastLocomotionEnabled = true, MobileCastMovementMult = -1f, EffectTransforms = new SL_EffectTransform[] { new SL_EffectTransform { TransformName = "Effects", Effects = new SL_Effect[0], } }, Cooldown = 1f, }; Skill skill = (Skill)CustomItems.CreateCustomItem(sl_Skill.Target_ItemID, sl_Skill.New_ItemID, sl_Skill.Name, sl_Skill); Transform transform = skill.transform.Find("Effects"); transform.gameObject.AddComponent <JuggernaughtyEffect>(); return(skill); }
// Token: 0x06000052 RID: 82 RVA: 0x00003A34 File Offset: 0x00001C34 public static Skill Init() { SL_Skill sl_Skill = new SL_Skill { Name = "War Cry", EffectBehaviour = EffectBehaviours.OverrideEffects, Target_ItemID = 8200110, New_ItemID = 2502025, SLPackName = "Juggernaut", SubfolderName = "WarCry", Description = string.Format("Unleash a terrifying roar that staggers nearby enemies.\n\n{0}: Applies confusion to affected enemies.\n\n{1}: Applies pain to affected enemies.", "Unyielding", "Vengeful"), CastType = Character.SpellCastType.Rage, CastModifier = Character.SpellCastModifier.Immobilized, CastLocomotionEnabled = false, MobileCastMovementMult = 0f, EffectTransforms = new SL_EffectTransform[] { new SL_EffectTransform { TransformName = "Effects", Effects = new SL_Effect[0], } }, Cooldown = 100f, StaminaCost = 0f, ManaCost = 0f }; Skill skill = (Skill)CustomItems.CreateCustomItem(sl_Skill.Target_ItemID, sl_Skill.New_ItemID, sl_Skill.Name, sl_Skill); skill.transform.Find("Effects").gameObject.AddComponent <WarCryEffect>(); return(skill); }
// Token: 0x0600000D RID: 13 RVA: 0x00002744 File Offset: 0x00000944 public static Skill Init() { SL_Skill sl_Skill = new SL_Skill { Name = "Divine Favour", EffectBehaviour = EffectBehaviours.OverrideEffects, Target_ItemID = 8205030, New_ItemID = 2502026, SLPackName = "Templar", SubfolderName = "Divine Favour", Description = "Augments Divine Light Imbue to cause a Radiating effect, which damages the victim and those in its proximity over time.", IsUsable = false, CastType = Character.SpellCastType.NONE, CastModifier = Character.SpellCastModifier.Immobilized, CastLocomotionEnabled = false, MobileCastMovementMult = -1f, Cooldown = 0f, StaminaCost = 0f, ManaCost = 0f, }; Skill skill = (Skill)CustomItems.CreateCustomItem(sl_Skill.Target_ItemID, sl_Skill.New_ItemID, sl_Skill.Name, sl_Skill); UnityEngine.Object.Destroy(skill.gameObject.GetComponentInChildren <HasStatusEffectEffectCondition>()); 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: 0x06000009 RID: 9 RVA: 0x00002460 File Offset: 0x00000660 public static Skill Init() { SL_Skill sl_Skill = new SL_Skill { Name = "Restoration", EffectBehaviour = EffectBehaviours.OverrideEffects, Target_ItemID = 8200180, New_ItemID = 2502003, SLPackName = "Templar", SubfolderName = "Restoration", Description = "Cures you from all hexes, bleeding and slowing effects.", CastType = Character.SpellCastType.CallElements, CastModifier = Character.SpellCastModifier.Immobilized, CastLocomotionEnabled = false, MobileCastMovementMult = 0f, EffectTransforms = new SL_EffectTransform[] { new SL_EffectTransform { TransformName = "Effects", Effects = new SL_Effect[] { new SL_RemoveStatusEffect { Status_Tag = "Hex", CleanseType = RemoveStatusEffect.RemoveTypes.StatusType }, new SL_RemoveStatusEffect { Status_Name = "Slow Down", CleanseType = RemoveStatusEffect.RemoveTypes.StatusSpecific }, new SL_RemoveStatusEffect { Status_Name = "Cripple", CleanseType = RemoveStatusEffect.RemoveTypes.StatusSpecific }, new SL_RemoveStatusEffect { Status_Tag = "Bleeding", CleanseType = RemoveStatusEffect.RemoveTypes.StatusType } } } }, Cooldown = 30f, StaminaCost = 0f, ManaCost = 14f, }; return((Skill)CustomItems.CreateCustomItem(sl_Skill.Target_ItemID, sl_Skill.New_ItemID, sl_Skill.Name, sl_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: 0x06000002 RID: 2 RVA: 0x00002290 File Offset: 0x00000490 public static Item MakeRecipes() { string text = "com.ehaugw.holyavengeritempack." + "BlessedLongsword".ToLower() + "recipe"; new SL_Recipe { StationType = Recipe.CraftingType.Survival, Results = new List <SL_Recipe.ItemQty> { new SL_Recipe.ItemQty { Quantity = 1, ItemID = 2501013 } }, Ingredients = new List <SL_Recipe.Ingredient> { new SL_Recipe.Ingredient { Type = RecipeIngredient.ActionTypes.AddSpecificIngredient, Ingredient_ItemID = 2000160 }, new SL_Recipe.Ingredient { Type = RecipeIngredient.ActionTypes.AddSpecificIngredient, Ingredient_ItemID = 5300170 }, new SL_Recipe.Ingredient { Type = RecipeIngredient.ActionTypes.AddSpecificIngredient, Ingredient_ItemID = 2020091 }, new SL_Recipe.Ingredient { Type = RecipeIngredient.ActionTypes.AddSpecificIngredient, Ingredient_ItemID = 6600210 } }, UID = text }.ApplyRecipe(); SL_RecipeItem sl_RecipeItem = new SL_RecipeItem { Name = "Crafting: Blessed Longsword", Target_ItemID = 5700024, New_ItemID = 2501026, EffectBehaviour = EffectBehaviours.OverrideEffects, RecipeUID = text }; return(CustomItems.CreateCustomItem(sl_RecipeItem.Target_ItemID, sl_RecipeItem.New_ItemID, sl_RecipeItem.Name, sl_RecipeItem)); }
private static void Create(Item result, List <int> ingredients, int recipeItemID) { SL_Recipe recipe = new SL_Recipe(); recipe.UID = Main.MODID + ":" + result.ItemID; recipe.Ingredients = new List <Ingredient>(); foreach (int id in ingredients) { Ingredient ing = new Ingredient(); ing.Ingredient_ItemID = id; ing.Type = RecipeIngredient.ActionTypes.AddSpecificIngredient; recipe.Ingredients.Add(ing); } SL_Recipe.ItemQty slresult = new SL_Recipe.ItemQty(); slresult.ItemID = result.ItemID; slresult.Quantity = 1; recipe.Results = new List <SL_Recipe.ItemQty>() { slresult }; recipe.StationType = Recipe.CraftingType.Survival; recipe.ApplyRecipe(); RecipeItem recipeitem = (RecipeItem)CustomItems.CreateCustomItem(new SL_Item() { Name = "Crafting: " + result.Name, Description = "Teaches you how to craft the item.", Target_ItemID = 5700118, // a recipe item id New_ItemID = recipeItemID, IsUsable = true }); Log.Print("recpe"); recipeitem.Recipe = References.ALL_RECIPES[recipe.UID]; recipeItems.Add(recipeitem); }
// 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: 0x06000060 RID: 96 RVA: 0x000041F4 File Offset: 0x000023F4 public static Skill Init() { SL_Skill sl_Skill = new SL_Skill { Name = "Relentless", EffectBehaviour = EffectBehaviours.DestroyEffects, Target_ItemID = 8205030, New_ItemID = 2502018, Description = "Reduces armor movement penalties and gives bonus physical resistance equal to your armor protection.", IsUsable = false, CastType = Character.SpellCastType.NONE, CastModifier = Character.SpellCastModifier.Immobilized, CastLocomotionEnabled = false, MobileCastMovementMult = -1f, }; return((Skill)CustomItems.CreateCustomItem(sl_Skill.Target_ItemID, sl_Skill.New_ItemID, sl_Skill.Name, sl_Skill)); }
// Token: 0x06000058 RID: 88 RVA: 0x00003EC0 File Offset: 0x000020C0 public static Skill Init() { SL_Skill sl_Skill = new SL_Skill { Name = "Ruthless", EffectBehaviour = EffectBehaviours.OverrideEffects, Target_ItemID = 8205030, New_ItemID = 2502022, SLPackName = "Juggernaut", SubfolderName = "Ruthless", Description = string.Format("{0}: Armor stamina and movement penalties are reduced. Damaging enemies causes confusion among their allies, and may even cause them to stagger in fear.\n\n{1}: While enraged, weapon damage is increased and the attack stamina cost is reduced, but you can't be affected by boons other than Rage.", "Unyielding", "Vengeful"), CastType = Character.SpellCastType.Rage, CastModifier = Character.SpellCastModifier.Immobilized, CastLocomotionEnabled = false, MobileCastMovementMult = 0f }; return((Skill)CustomItems.CreateCustomItem(sl_Skill.Target_ItemID, sl_Skill.New_ItemID, sl_Skill.Name, sl_Skill)); }
// Token: 0x06000008 RID: 8 RVA: 0x00002424 File Offset: 0x00000624 public static Item MakeRecipes() { string text = "com.ehaugw.runicscrolls." + "RunicScroll".ToLower() + "recipe"; new SL_Recipe { StationType = Recipe.CraftingType.Alchemy, Results = new List <SL_Recipe.ItemQty> { new SL_Recipe.ItemQty { Quantity = 1, ItemID = 2501017 } }, Ingredients = new List <SL_Recipe.Ingredient> { new SL_Recipe.Ingredient { Type = RecipeIngredient.ActionTypes.AddSpecificIngredient, Ingredient_ItemID = 6400130 }, new SL_Recipe.Ingredient { Type = RecipeIngredient.ActionTypes.AddSpecificIngredient, Ingredient_ItemID = 6500090 } }, UID = text }.ApplyRecipe(); SL_RecipeItem sl_RecipeItem = new SL_RecipeItem { Name = "Alchemy: Runic Scroll", Target_ItemID = 5700076, New_ItemID = 2501030, EffectBehaviour = EffectBehaviours.OverrideEffects, RecipeUID = text }; return(CustomItems.CreateCustomItem(sl_RecipeItem.Target_ItemID, sl_RecipeItem.New_ItemID, sl_RecipeItem.Name, sl_RecipeItem)); }
// 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); }
// Token: 0x0600005C RID: 92 RVA: 0x00004064 File Offset: 0x00002264 public static Skill Init() { SL_Skill sl_Skill = new SL_Skill { Name = "Vengeful", EffectBehaviour = EffectBehaviours.DestroyEffects, Target_ItemID = 8205030, New_ItemID = 2502020, SLPackName = "Juggernaut", SubfolderName = "Vengeful", Description = "Being damaged causes rage to build up.\n\nBe aware that learning this skill has impact on most other Juggernaut skills!", IsUsable = false, CastType = Character.SpellCastType.NONE, CastModifier = Character.SpellCastModifier.Immobilized, CastLocomotionEnabled = false, MobileCastMovementMult = -1f }; return((Skill)CustomItems.CreateCustomItem(sl_Skill.Target_ItemID, sl_Skill.New_ItemID, sl_Skill.Name, sl_Skill)); }
// Token: 0x06000050 RID: 80 RVA: 0x0000396C File Offset: 0x00001B6C public static Skill Init() { SL_Skill sl_Skill = new SL_Skill { Name = "Bastard", EffectBehaviour = EffectBehaviours.DestroyEffects, Target_ItemID = 8205030, New_ItemID = 2502015, SLPackName = "Juggernaut", SubfolderName = "Bastard", Description = "Increases the speed and damage bonuses from two-handing a bastard sword.", IsUsable = false, CastType = Character.SpellCastType.NONE, CastModifier = Character.SpellCastModifier.Immobilized, CastLocomotionEnabled = false, MobileCastMovementMult = -1f }; return((Skill)CustomItems.CreateCustomItem(sl_Skill.Target_ItemID, sl_Skill.New_ItemID, sl_Skill.Name, sl_Skill)); }
// Token: 0x0600005E RID: 94 RVA: 0x0000412C File Offset: 0x0000232C public static Skill Init() { SL_Skill sl_Skill = new SL_Skill { Name = "Unyielding", EffectBehaviour = EffectBehaviours.DestroyEffects, Target_ItemID = 8205030, New_ItemID = 2502019, SLPackName = "Juggernaut", SubfolderName = "Unyielding", Description = "Enables you to block incoming attacks sooner after attacking.\n\nBe aware that learning this skill has impact on most other Juggernaut skills!", IsUsable = false, CastType = Character.SpellCastType.NONE, CastModifier = Character.SpellCastModifier.Immobilized, CastLocomotionEnabled = false, MobileCastMovementMult = -1f, }; return((Skill)CustomItems.CreateCustomItem(sl_Skill.Target_ItemID, sl_Skill.New_ItemID, sl_Skill.Name, sl_Skill)); }
// Token: 0x0600005A RID: 90 RVA: 0x00003F90 File Offset: 0x00002190 public static Skill Init() { SL_Skill sl_Skill = new SL_Skill { Name = "Fortified", EffectBehaviour = EffectBehaviours.DestroyEffects, Target_ItemID = 8205030, New_ItemID = 2502021, SLPackName = "Juggernaut", SubfolderName = "Fortified", Description = "Gives resistance bonuses equal to your armor protection.", IsUsable = false, CastType = Character.SpellCastType.NONE, CastModifier = Character.SpellCastModifier.Immobilized, CastLocomotionEnabled = false, MobileCastMovementMult = -1f }; return((Skill)CustomItems.CreateCustomItem(sl_Skill.Target_ItemID, sl_Skill.New_ItemID, sl_Skill.Name, sl_Skill)); }
// Token: 0x06000048 RID: 72 RVA: 0x00004BE4 File Offset: 0x00002DE4 public static Skill Init() { SL_Skill sl_Skill = new SL_Skill { Name = "Prayer", EffectBehaviour = EffectBehaviours.DestroyEffects, Target_ItemID = 8100120, New_ItemID = 2502012, SLPackName = "Templar", SubfolderName = "Prayer", Description = "Pray to Elatt.\n\nDo not expect him to reply though!", CastType = Character.SpellCastType.EnterInnBed, CastModifier = Character.SpellCastModifier.Immobilized, CastLocomotionEnabled = false, MobileCastMovementMult = -1f, CastSheatheRequired = 1, EffectTransforms = new SL_EffectTransform[] { new SL_EffectTransform { TransformName = "ActivationEffects", Effects = new SL_Effect[] { new SL_AddStatusEffectBuildUp { StatusEffect = "Prayer", Buildup = 100f, Delay = 0f } } } }, Cooldown = 1f, StaminaCost = 0f, ManaCost = 0f }; Skill skill = (Skill)CustomItems.CreateCustomItem(sl_Skill.Target_ItemID, sl_Skill.New_ItemID, sl_Skill.Name, sl_Skill); EmptyOffHandCondition.AddToSkill(skill, true, true); return(skill); }
// Token: 0x06000005 RID: 5 RVA: 0x000021B8 File Offset: 0x000003B8 public static Skill Init() { SL_Skill sl_Skill = new SL_Skill { Name = "Blessed Determination", EffectBehaviour = EffectBehaviours.OverrideEffects, Target_ItemID = 8205030, New_ItemID = 2502002, SLPackName = "Templar", SubfolderName = "Blessed Determination", Description = "While under the effect of the Blessed boon, all spent mana is regained as stamina, and spending stamina builds up a Burst of Divinity effect that reduces the mana cost of the next spell you cast.", IsUsable = false, CastType = Character.SpellCastType.NONE, CastModifier = Character.SpellCastModifier.Immobilized, CastLocomotionEnabled = false, MobileCastMovementMult = -1f, Cooldown = 0f, StaminaCost = 0f, ManaCost = 0f }; return((Skill)CustomItems.CreateCustomItem(sl_Skill.Target_ItemID, sl_Skill.New_ItemID, sl_Skill.Name, sl_Skill)); }
// Token: 0x06000006 RID: 6 RVA: 0x00002244 File Offset: 0x00000444 private Skill Sit() { SL_Skill sl_Skill = new SL_Skill { Name = "Sit", EffectBehaviour = EffectBehaviours.OverrideEffects, Target_ItemID = 8100120, New_ItemID = 2502011, SLPackName = "SkilledAtSitting", SubfolderName = "Sit", Description = "Sit down to regain health, burnt health and burnt stamina.", CastType = new Character.SpellCastType?(Character.SpellCastType.Sit), CastModifier = new Character.SpellCastModifier?(Character.SpellCastModifier.Immobilized), CastLocomotionEnabled = new bool?(true), MobileCastMovementMult = new float?(-1f), EffectTransforms = new SL_EffectTransform[] { new SL_EffectTransform { TransformName = "Effects", Effects = new SL_Effect[] { new SL_AddStatusEffect { StatusEffect = SkilledAtSitting.SITTING_EFFECT_NAME, ChanceToContract = 100, Delay = 2f } } } }, Cooldown = new float?((float)1), StaminaCost = new float?(0f) }; return((Skill)CustomItems.CreateCustomItem(sl_Skill.Target_ItemID, sl_Skill.New_ItemID, sl_Skill.Name, sl_Skill)); }
// Token: 0x06000003 RID: 3 RVA: 0x00002068 File Offset: 0x00000268 public static Skill Init() { SL_Skill sl_Skill = new SL_Skill { Name = "Celestial Surge", EffectBehaviour = EffectBehaviours.OverrideEffects, Target_ItemID = 8200180, New_ItemID = 2502013, 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, }; Skill skill = (Skill)CustomItems.CreateCustomItem(sl_Skill.Target_ItemID, sl_Skill.New_ItemID, sl_Skill.Name, sl_Skill); Transform transform = skill.transform.Find("Effects"); transform.gameObject.AddComponent <CelestialSurge>(); UnityEngine.Object.Destroy(skill.gameObject.GetComponentInChildren <AddStatusEffect>()); return(skill); }
// Token: 0x06000007 RID: 7 RVA: 0x000022EC File Offset: 0x000004EC public static Item MakeItem() { SL_Weapon sl_Weapon = new SL_Weapon { Name = "Runic Scroll", Target_ItemID = 5200001, New_ItemID = 2501017, Description = "A magic scroll inscribed with runes.\n\nA Runic Scroll can be used to cast a Rune spell without a lexicon, but it will be consumed in the process.", EffectBehaviour = EffectBehaviours.OverrideEffects, Tags = new string[] { "Lexicon", "Item", "Consummable", "Misc" }, EquipSlot = EquipmentSlot.EquipmentSlotIDs.Quiver, TwoHandType = Equipment.TwoHandedType.None, WeaponType = Weapon.WeaponType.Arrow, ItemVisuals = new SL_ItemVisual { Prefab_Name = "scrollquiver_Prefab", Prefab_AssetBundle = "scrollquiver", Prefab_SLPack = "RunicScrolls" }, SpecialItemVisuals = new SL_ItemVisual { Prefab_Name = "scrollquiverequipped_Prefab", Prefab_AssetBundle = "scrollquiver", Prefab_SLPack = "RunicScrolls" }, SLPackName = "RunicScrolls", SubfolderName = "RunicScroll" }; return(CustomItems.CreateCustomItem(sl_Weapon.Target_ItemID, sl_Weapon.New_ItemID, sl_Weapon.Name, sl_Weapon)); }
// Token: 0x06000015 RID: 21 RVA: 0x00002DDC File Offset: 0x00000FDC public static Skill Init() { SL_Skill sl_Skill = new SL_Skill { Name = "Channel Divinity", EffectBehaviour = EffectBehaviours.OverrideEffects, Target_ItemID = 8200180, New_ItemID = 2502010, SLPackName = "Templar", SubfolderName = "Channel Divinity", Description = "Heals you and your allies, or produces combo effects when casted in combination with a Rune spell.", CastType = Character.SpellCastType.CallElements, CastModifier = Character.SpellCastModifier.Immobilized, CastLocomotionEnabled = false, MobileCastMovementMult = -1f, CastSheatheRequired = 1, EffectTransforms = new SL_EffectTransform[] { new SL_EffectTransform { TransformName = "Effects", Effects = new SL_Effect[0], } }, Cooldown = 300f, ManaCost = 14f, StaminaCost = 0f }; Skill skill = (Skill)CustomItems.CreateCustomItem(sl_Skill.Target_ItemID, sl_Skill.New_ItemID, sl_Skill.Name, sl_Skill); EmptyOffHandCondition.AddToSkill(skill, true, true); Transform transform = skill.transform.Find("Effects"); transform.gameObject.AddComponent <ChannelDivinity>(); UnityEngine.Object.Destroy(skill.gameObject.GetComponentInChildren <AddStatusEffect>()); return(skill); }
// 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); }
private static Item NewHellstone(int baseItemID, int newItemId, String name, String desc) { int totalWeight = CurrencyEffects.ALL[newItemId].Sum(x => x.GetWeight()); desc += "\n"; CurrencyEffects.ALL[newItemId].ForEach(x => { float chance = (float)x.GetWeight() / (float)totalWeight * 100; desc += "\n" + chance + "% to: " + x.Get().GetDescription() + "\n"; }); desc += "\n Use when your desired gear is in your pouch (and no other gear there)."; if (HELLSTONE_OF_ARCANA_ID != newItemId) // this hellstone is used on non magical items, unlike others { desc += "\n Only works on Magical items."; } else { desc += "\n Only works on Non Magical items."; } var template = new SL_Item() { Name = name, Description = desc, Target_ItemID = baseItemID, New_ItemID = newItemId, Tags = new string[] { TagSourceManager.Valuable.TagName }, IsUsable = true }; var item = CustomItems.CreateCustomItem(template); var effects = item.transform.Find("Effects"); if (effects == null) { // If the item doesn't have "Effects", just add it. effects = new GameObject("Effects").transform; effects.transform.parent = item.transform; // If you didn't use CreateCustomItem, you'd need to call DontDestroyOnLoad(gaberries.gameObject); } CurrencyEffectComponent eff = effects.gameObject.AddComponent <CurrencyEffectComponent>(); UnityEngine.Object.DontDestroyOnLoad(eff); var png = CustomTextures.LoadTexture(@"BepInEx\plugins\Grindward\Icons\" + newItemId + ".png", false, false); var sprite = CustomTextures.CreateSprite(png, CustomTextures.SpriteBorderTypes.ItemIcon); CustomItemVisuals.SetSpriteLink(item, sprite); At.SetValue(sprite, typeof(Item), item, "m_itemIcon"); return(item); }
// 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); }