internal static void InitializeItemDisplays()
        {
            TemplarItemDisplays.PopulateDisplays();
            CharacterModel componentInChildren = Templar.myCharacter.GetComponentInChildren <CharacterModel>();

            TemplarItemDisplays.itemDisplayRuleSet      = ScriptableObject.CreateInstance <ItemDisplayRuleSet>();
            TemplarItemDisplays.itemDisplayRuleSet.name = "idrsTemplar";
            componentInChildren.itemDisplayRuleSet      = TemplarItemDisplays.itemDisplayRuleSet;
        }
Exemplo n.º 2
0
        public void Awake()
        {
            this.ReadConfig();
            Assets.Initialize();
            Buffs.RegisterBuffs();
            Projectiles.ProjectileSetup();
            Hook.HookSetup();
            Templar.TemplarSetup();
            TemplarItemDisplays.InitializeItemDisplays();
            ContentManager.collectContentPackProviders += this.ContentManager_collectContentPackProviders;

            RoR2Application.onLoad += AddItemDisplays;
        }
Exemplo n.º 3
0
 public static void AddItemDisplays()
 {
     TemplarItemDisplays.SetItemDisplays();
 }
 internal static void SetItemDisplays()
 {
     TemplarItemDisplays.itemDisplayRules = new List <ItemDisplayRuleSet.KeyAssetRuleGroup>();
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Equipment.AffixRed,
         displayRuleGroup = LegacyResourcesAPI.Load <GameObject>("Prefabs/CharacterBodies/ClayBruiserBody").GetComponentInChildren <CharacterModel>().itemDisplayRuleSet.FindDisplayRuleGroup(RoR2Content.Equipment.AffixRed)
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Equipment.AffixBlue,
         displayRuleGroup = LegacyResourcesAPI.Load <GameObject>("Prefabs/CharacterBodies/ClayBruiserBody").GetComponentInChildren <CharacterModel>().itemDisplayRuleSet.FindDisplayRuleGroup(RoR2Content.Equipment.AffixBlue)
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Equipment.AffixWhite,
         displayRuleGroup = LegacyResourcesAPI.Load <GameObject>("Prefabs/CharacterBodies/ClayBruiserBody").GetComponentInChildren <CharacterModel>().itemDisplayRuleSet.FindDisplayRuleGroup(RoR2Content.Equipment.AffixWhite)
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Equipment.AffixPoison,
         displayRuleGroup = LegacyResourcesAPI.Load <GameObject>("Prefabs/CharacterBodies/ClayBruiserBody").GetComponentInChildren <CharacterModel>().itemDisplayRuleSet.FindDisplayRuleGroup(RoR2Content.Equipment.AffixPoison)
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Equipment.AffixHaunted,
         displayRuleGroup = LegacyResourcesAPI.Load <GameObject>("Prefabs/CharacterBodies/ClayBruiserBody").GetComponentInChildren <CharacterModel>().itemDisplayRuleSet.FindDisplayRuleGroup(RoR2Content.Equipment.AffixHaunted)
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Equipment.Jetpack,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayBugWings"),
                     childName      = "Head",
                     localPos       = new Vector3(-0.15f, -0.25f, 0f),
                     localAngles    = new Vector3(0f, 45f, 0f),
                     localScale     = new Vector3(0.25f, 0.25f, 0.25f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Equipment.GoldGat,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayGoldGat"),
                     childName      = "Muzzle",
                     localPos       = new Vector3(1f, 0.8f, -1f),
                     localAngles    = new Vector3(45f, 90f, 0f),
                     localScale     = new Vector3(0.5f, 0.5f, 0.5f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.CritGlasses,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayGlasses"),
                     childName      = "Head",
                     localPos       = new Vector3(0f, 0.4f, 0.25f),
                     localAngles    = new Vector3(0f, 0f, 0f),
                     localScale     = new Vector3(0.5f, 0.5f, 0.5f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.AttackSpeedOnCrit,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayWolfPelt"),
                     childName      = "Head",
                     localPos       = new Vector3(0f, 0.5f, 0.067f),
                     localAngles    = new Vector3(0f, 0f, 0f),
                     localScale     = new Vector3(1f, 1f, 1f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.JumpBoost,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayWaxBird"),
                     childName      = "Head",
                     localPos       = new Vector3(0f, -0.7f, -0.05f),
                     localAngles    = new Vector3(0f, 0f, 0f),
                     localScale     = new Vector3(2f, 2f, 2f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.Bandolier,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayBandolier"),
                     childName      = "Muzzle",
                     localPos       = new Vector3(0.05f, -0.05f, -1.75f),
                     localAngles    = new Vector3(0f, 0f, 0f),
                     localScale     = new Vector3(0.75f, 1f, 1f),
                     limbMask       = LimbFlags.None
                 },
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayBandolier"),
                     childName      = "Head",
                     localPos       = new Vector3(-0.2f, -0.5f, 0.25f),
                     localAngles    = new Vector3(-45f, 180f, 0f),
                     localScale     = new Vector3(1f, 2f, 1f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.DeathMark,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayDeathMark"),
                     childName      = "Muzzle",
                     localPos       = new Vector3(0f, 0f, -0.25f),
                     localAngles    = new Vector3(0f, 0f, 0f),
                     localScale     = new Vector3(0.1f, 0.1f, 0.1f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.WarCryOnMultiKill,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayPauldron"),
                     childName      = "Head",
                     localPos       = new Vector3(0f, 0.1f, -0.25f),
                     localAngles    = new Vector3(-90f, 0f, 0f),
                     localScale     = new Vector3(1.5f, 1.5f, 1.5f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.Mushroom,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayMushroom"),
                     childName      = "Head",
                     localPos       = new Vector3(-0.25f, 0f, 0f),
                     localAngles    = new Vector3(0f, 0f, 45f),
                     localScale     = new Vector3(0.25f, 0.25f, 0.25f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.BarrierOnOverHeal,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayAegis"),
                     childName      = "Muzzle",
                     localPos       = new Vector3(0f, 0.25f, -1f),
                     localAngles    = new Vector3(180f, 180f, 180f),
                     localScale     = new Vector3(0.75f, 0.75f, 0.75f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.Behemoth,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayBehemoth"),
                     childName      = "Muzzle",
                     localPos       = new Vector3(0f, 0f, -0.9f),
                     localAngles    = new Vector3(90f, 0f, 0f),
                     localScale     = new Vector3(0.5f, 0.5f, 0.5f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.NearbyDamageBonus,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayDiamond"),
                     childName      = "Muzzle",
                     localPos       = new Vector3(0f, 0f, -2.75f),
                     localAngles    = new Vector3(0f, 0f, 0f),
                     localScale     = new Vector3(0.7f, 0.7f, 0.7f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.FireRing,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayFireRing"),
                     childName      = "Muzzle",
                     localPos       = new Vector3(0f, 0f, -1f),
                     localAngles    = new Vector3(0f, 0f, 0f),
                     localScale     = new Vector3(3.5f, 3.5f, 3.5f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.IceRing,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayIceRing"),
                     childName      = "Muzzle",
                     localPos       = new Vector3(0f, 0f, -1.2f),
                     localAngles    = new Vector3(0f, 0f, 0f),
                     localScale     = new Vector3(3.5f, 3.5f, 3.5f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.ArmorPlate,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayRepulsionArmorPlate"),
                     childName      = "Head",
                     localPos       = new Vector3(-0.4f, -0.5f, 0.15f),
                     localAngles    = new Vector3(-90f, 260f, 45f),
                     localScale     = new Vector3(0.8f, 0.6f, 0.6f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.Bear,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayBear"),
                     childName      = "Head",
                     localPos       = new Vector3(0f, 0f, -0.4f),
                     localAngles    = new Vector3(0f, 180f, 0f),
                     localScale     = new Vector3(0.6f, 0.6f, 0.6f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.Medkit,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayMedkit"),
                     childName      = "Head",
                     localPos       = new Vector3(-0.4f, -0.5f, 0.15f),
                     localAngles    = new Vector3(-90f, -90f, 0f),
                     localScale     = new Vector3(1.5f, 1.5f, 1.5f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.Dagger,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayDagger"),
                     childName      = "Head",
                     localPos       = new Vector3(0f, 0f, 0f),
                     localAngles    = new Vector3(-90f, -90f, 0f),
                     localScale     = new Vector3(2f, 2f, 2f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.ChainLightning,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayUkulele"),
                     childName      = "Muzzle",
                     localPos       = new Vector3(0.4f, 0f, -1.75f),
                     localAngles    = new Vector3(0f, 85f, 90f),
                     localScale     = new Vector3(0.8f, 0.8f, 0.8f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.Syringe,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplaySyringeCluster"),
                     childName      = "Head",
                     localPos       = new Vector3(0f, 0f, -0.15f),
                     localAngles    = new Vector3(-60f, 0f, 0f),
                     localScale     = new Vector3(0.5f, 0.5f, 0.5f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.ArmorReductionOnHit,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayWarhammer"),
                     childName      = "Muzzle",
                     localPos       = new Vector3(0f, 0.25f, 0f),
                     localAngles    = new Vector3(0f, 0f, 0f),
                     localScale     = new Vector3(1f, 1f, 1f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.FallBoots,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayGravBoots"),
                     childName      = "FootL",
                     localPos       = new Vector3(0f, -0.05f, 0f),
                     localAngles    = new Vector3(45f, 0f, 0f),
                     localScale     = new Vector3(0.25f, 0.25f, 0.25f),
                     limbMask       = LimbFlags.None
                 },
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayGravBoots"),
                     childName      = "FootR",
                     localPos       = new Vector3(0f, -0.05f, 0f),
                     localAngles    = new Vector3(70f, 0f, 0f),
                     localScale     = new Vector3(0.25f, 0.25f, 0.25f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.BounceNearby,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayHook"),
                     childName      = "Muzzle",
                     localPos       = new Vector3(0f, 0f, -0.25f),
                     localAngles    = new Vector3(0f, 0f, 0f),
                     localScale     = new Vector3(1f, 1f, 1f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.UtilitySkillMagazine,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayAfterburnerShoulderRing"),
                     childName      = "Muzzle",
                     localPos       = new Vector3(0f, 0f, -0.75f),
                     localAngles    = new Vector3(0f, -90f, 90f),
                     localScale     = new Vector3(2f, 2f, 2f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.Hoof,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayHoof"),
                     childName      = "FootL",
                     localPos       = new Vector3(0f, 0.05f, -0.15f),
                     localAngles    = new Vector3(50f, 180f, 180f),
                     localScale     = new Vector3(0.15f, 0.15f, 0.075f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.HealWhileSafe,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplaySnail"),
                     childName      = "FootR",
                     localPos       = new Vector3(0f, -0.05f, 0f),
                     localAngles    = new Vector3(0f, 0f, 180f),
                     localScale     = new Vector3(0.1f, 0.1f, 0.1f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.LunarPrimaryReplacement,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayBirdEye"),
                     childName      = "Muzzle",
                     localPos       = new Vector3(0f, -0.1f, -0.25f),
                     localAngles    = new Vector3(-90f, 0f, 0f),
                     localScale     = new Vector3(1f, 1f, 1f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.SecondarySkillMagazine,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayDoubleMag"),
                     childName      = "Muzzle",
                     localPos       = new Vector3(0f, -0.8f, -2f),
                     localAngles    = new Vector3(0f, 0f, 0f),
                     localScale     = new Vector3(-0.2f, -0.2f, -0.2f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.Pearl,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayPearl"),
                     childName      = "Head",
                     localPos       = new Vector3(-1f, 0f, 0f),
                     localAngles    = new Vector3(0f, 0f, 0f),
                     localScale     = new Vector3(0.2f, 0.2f, 0.2f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.ShinyPearl,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayShinyPearl"),
                     childName      = "Head",
                     localPos       = new Vector3(1f, 0f, 0f),
                     localAngles    = new Vector3(0f, 0f, 0f),
                     localScale     = new Vector3(0.2f, 0.2f, 0.2f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.SprintOutOfCombat,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayWhip"),
                     childName      = "Head",
                     localPos       = new Vector3(-0.5f, -1.2f, 0.25f),
                     localAngles    = new Vector3(0f, 0f, -20f),
                     localScale     = new Vector3(1f, 1f, 1f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Equipment.Fruit,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayFruit"),
                     childName      = "Head",
                     localPos       = new Vector3(0.6f, -1.2f, 0f),
                     localAngles    = new Vector3(0f, -45f, 45f),
                     localScale     = new Vector3(0.75f, 0.75f, 0.75f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Equipment.BFG,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayBFG"),
                     childName      = "Muzzle",
                     localPos       = new Vector3(0f, 0.2f, -0.25f),
                     localAngles    = new Vector3(0f, 0f, 0f),
                     localScale     = new Vector3(0.75f, 0.75f, 0.75f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Equipment.Meteor,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayMeteor"),
                     childName      = "Root",
                     localPos       = new Vector3(0f, 2f, -0.75f),
                     localAngles    = new Vector3(0f, 0f, 0f),
                     localScale     = new Vector3(2f, 2f, 2f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Equipment.Blackhole,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayGravCube"),
                     childName      = "Root",
                     localPos       = new Vector3(0f, 2f, -0.75f),
                     localAngles    = new Vector3(0f, 0f, 0f),
                     localScale     = new Vector3(1f, 1f, 1f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.Icicle,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayFrostRelic"),
                     childName      = "Root",
                     localPos       = new Vector3(-1f, 2f, -1f),
                     localAngles    = new Vector3(90f, 0f, 0f),
                     localScale     = new Vector3(2f, 2f, 2f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.Talisman,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayTalisman"),
                     childName      = "Root",
                     localPos       = new Vector3(1f, 2f, -1f),
                     localAngles    = new Vector3(0f, 0f, 0f),
                     localScale     = new Vector3(1f, 1f, 1f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRules.Add(new ItemDisplayRuleSet.KeyAssetRuleGroup
     {
         keyAsset         = RoR2Content.Items.FocusConvergence,
         displayRuleGroup = new DisplayRuleGroup
         {
             rules = new ItemDisplayRule[]
             {
                 new ItemDisplayRule
                 {
                     ruleType       = ItemDisplayRuleType.ParentedPrefab,
                     followerPrefab = TemplarItemDisplays.LoadDisplay("DisplayFocusedConvergence"),
                     childName      = "Root",
                     localPos       = new Vector3(0.5f, 2.5f, -3f),
                     localAngles    = new Vector3(0f, 0f, 0f),
                     localScale     = new Vector3(0.2f, 0.2f, 0.2f),
                     limbMask       = LimbFlags.None
                 }
             }
         }
     });
     TemplarItemDisplays.itemDisplayRuleSet.keyAssetRuleGroups = TemplarItemDisplays.itemDisplayRules.ToArray();
     TemplarItemDisplays.itemDisplayRuleSet.GenerateRuntimeValues();
 }