MoreVanityItems.cs 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. using GadgetCore.API;
  2. using GadgetCore.API.ConfigMenu;
  3. using GadgetCore.Util;
  4. using RecipeMenuCore.API;
  5. using UnityEngine;
  6. namespace MoreVanityItems
  7. {
  8. [Gadget("MoreVanityItems", LoadAfter: new string[] { "RecipeMenuCore" }, Dependencies: new string[] { "RecipeMenuCore", "VanitySlots" })]
  9. public class MoreVanityItems : Gadget<MoreVanityItems>
  10. {
  11. public const string MOD_VERSION = "1.0"; // Set this to the version of your mod.
  12. public const string CONFIG_VERSION = "1.0"; // Increment this whenever you change your mod's config file.
  13. public override IGadgetConfigMenu GetConfigMenu() { return null; }
  14. public override string GetModDescription()
  15. {
  16. return "A mod that adds a set of vanity armor that shows your original self.";
  17. }
  18. protected override void Initialize()
  19. {
  20. Logger.Log("More Vanity Items v" + Info.Mod.Version);
  21. Core.logger = Logger;
  22. Core.itemGift = new ItemInfo(ItemType.CONSUMABLE, "Vanity Gift", "", GadgetCoreAPI.LoadTexture2D("iGift.png"));
  23. Core.itemGift.OnUse += ItemGift_OnUse;
  24. Core.itemGift.OnUseFinal += ItemGift_OnUseFinal;
  25. ItemRegistry.Singleton.Register(Core.itemGift, "vanitygift");
  26. Core.itemShield = new ItemInfo(ItemType.OFFHAND, "Manican Shield", "", GadgetCoreAPI.LoadTexture2D("iShieldManican.png"), Stats: new EquipStats(0, 0, 0, 0, 0, 0),
  27. HeldTex: GadgetCoreAPI.LoadTexture2D("sShieldManican.png"));
  28. ItemRegistry.Singleton.Register(Core.itemShield, "vanityshieldmanican");
  29. Core.gifts.Add(Core.itemShield);
  30. Core.itemHelmet = new ItemInfo(ItemType.HELMET, "Manican Helmet", "", GadgetCoreAPI.LoadTexture2D("iHelmetManican.png"), Stats: new EquipStats(0, 0, 0, 0, 0, 0),
  31. HeadTex: GadgetCoreAPI.LoadTexture2D("hHelmetManican.png"));
  32. ItemRegistry.Singleton.Register(Core.itemHelmet, "vanityhelmetmanican");
  33. Core.gifts.Add(Core.itemHelmet);
  34. Core.itemArmor = new ItemInfo(ItemType.ARMOR, "Manican Armor", "", GadgetCoreAPI.LoadTexture2D("iArmorManican.png"), Stats: new EquipStats(0, 0, 0, 0, 0, 0),
  35. BodyTex: GadgetCoreAPI.LoadTexture2D("bArmorManican.png"), ArmTex: GadgetCoreAPI.LoadTexture2D("aArmorManican.png"));
  36. ItemRegistry.Singleton.Register(Core.itemArmor, "vanityarmormanican");
  37. Core.gifts.Add(Core.itemArmor);
  38. {
  39. var item = new ItemInfo(ItemType.HELMET, "Imposter Helmet", "", GadgetCoreAPI.LoadTexture2D("iHelmetImposter.png"), Stats: new EquipStats(0, 0, 0, 0, 0, 0),
  40. HeadTex: GadgetCoreAPI.LoadTexture2D("hHelmetImposter.png"));
  41. ItemRegistry.Singleton.Register(item, "vanityhelmetimposter");
  42. Core.gifts.Add(item);
  43. }
  44. {
  45. var item = new ItemInfo(ItemType.ARMOR, "Imposter Armor", "", GadgetCoreAPI.LoadTexture2D("iArmorImposter.png"), Stats: new EquipStats(0, 0, 0, 0, 0, 0),
  46. BodyTex: GadgetCoreAPI.LoadTexture2D("bArmorImposter.png"), ArmTex: GadgetCoreAPI.LoadTexture2D("aArmorImposter.png"));
  47. ItemRegistry.Singleton.Register(item, "vanityarmorimposter");
  48. Core.gifts.Add(item);
  49. }
  50. {
  51. var item = new ItemInfo(ItemType.HELMET, "Dragon Helmet", "", GadgetCoreAPI.LoadTexture2D("iHelmetDragon.png"), Stats: new EquipStats(0, 0, 0, 0, 0, 0),
  52. HeadTex: GadgetCoreAPI.LoadTexture2D("hHelmetDragon.png"));
  53. ItemRegistry.Singleton.Register(item, "vanityhelmetdragon");
  54. Core.gifts.Add(item);
  55. }
  56. {
  57. var item = new ItemInfo(ItemType.ARMOR, "Dragon Armor", "", GadgetCoreAPI.LoadTexture2D("iArmorDragon.png"), Stats: new EquipStats(0, 0, 0, 0, 0, 0),
  58. BodyTex: GadgetCoreAPI.LoadTexture2D("bArmorDragon.png"), ArmTex: GadgetCoreAPI.LoadTexture2D("aArmorDragon.png"));
  59. ItemRegistry.Singleton.Register(item, "vanityarmordragon");
  60. Core.gifts.Add(item);
  61. }
  62. {
  63. var item = new ItemInfo(ItemType.HELMET, "City Helmet", "", GadgetCoreAPI.LoadTexture2D("iHelmetCity.png"), Stats: new EquipStats(0, 0, 0, 0, 0, 0),
  64. HeadTex: GadgetCoreAPI.LoadTexture2D("hHelmetCity.png"));
  65. ItemRegistry.Singleton.Register(item, "vanityhelmetcity");
  66. Core.gifts.Add(item);
  67. }
  68. {
  69. var item = new ItemInfo(ItemType.ARMOR, "Old Chap's Suit", "", GadgetCoreAPI.LoadTexture2D("iArmorSuit.png"), Stats: new EquipStats(0, 0, 0, 0, 0, 0),
  70. BodyTex: GadgetCoreAPI.LoadTexture2D("bArmorSuit.png"), ArmTex: GadgetCoreAPI.LoadTexture2D("aArmorSuit.png"));
  71. ItemRegistry.Singleton.Register(item, "vanityarmorsuit");
  72. Core.gifts.Add(item);
  73. }
  74. var recipePage = new RecipePage(RecipePageType.UniversalCrafter, "More Vanity Items", GadgetCoreAPI.LoadTexture2D("recipesMoreVanityItems.png")).Register();
  75. recipePage.AddRecipePageEntry(new RecipePageEntry(54, 59, 49, Core.itemGift.GetID(), allwaysShowInput: true));
  76. var universalCrafter = ((CraftMenuInfo)MenuRegistry.Singleton["Gadget Core:Crafter Menu"]);
  77. universalCrafter.AddCraftPerformer(CraftMenuInfo.CreateSimpleCraftPerformer(
  78. Tuple.Create(new int[] { 54, 59, 49 }, new Item(Core.itemGift.GetID(), 1, 0, 0, 0, new int[3], new int[3]), 0)));
  79. }
  80. private System.Collections.IEnumerator ItemGift_OnUseFinal(int arg)
  81. {
  82. Item item = GadgetCoreAPI.EmptyItem();
  83. item.id = Core.gifts[Random.Range(0, Core.gifts.Count)].GetID();
  84. GadgetCoreAPI.SpawnItemLocal(InstanceTracker.PlayerScript.transform.position, item);
  85. yield break;
  86. }
  87. private bool ItemGift_OnUse(int arg) { return true; }
  88. }
  89. }