public Item GenerateItem(CraftableItem mould) { if (CanCraftItem(mould)) { if (mould.MyCraftedItemType == CraftedItemType.WEAPON) { Weapon ret = null; switch ((mould as CraftedWeapon).tarType) { case (WeaponType.RECURVEBOW): ret = new RecurveBow(ALib); break; case (WeaponType.SWORD): ret = new Sword(ALib); break; case (WeaponType.CENSER): ret = new Censer(ALib); break; case (WeaponType.STAFF): ret = new Staff(ALib); break; case (WeaponType.SACRIFICIALKNIFE): ret = new SacrificialKnife(ALib); break; case (WeaponType.VESSEL): ret = new Vessel(ALib); break; } ret.CopyStats(mould as CraftedWeapon); Player_Accessor_Script.SkillsScript.AddExperience(mould.RequiredProfession, mould.RewardedExp); return(ret); } else if (mould.MyCraftedItemType == CraftedItemType.ARMOR) { Armor ret = null; switch ((mould as CraftedArmor).tarType) { case (ArmorType.CHESTPLATE): ret = new Chestplate(); ret.MyItemType = ItemType.CHESTPLATE; break; case (ArmorType.PLATELEGS): ret = new Platelegs(); ret.MyItemType = ItemType.PLATELEGS; break; case (ArmorType.HELMET): ret = new Helmet(); ret.MyItemType = ItemType.HELMET; break; case (ArmorType.CHESTGUARD): ret = new Chestguard(); ret.MyItemType = ItemType.CHESTGUARD; break; case (ArmorType.CHAPS): ret = new Chaps(); ret.MyItemType = ItemType.CHAPS; break; case (ArmorType.COIF): ret = new Coif(); ret.MyItemType = ItemType.COIF; break; case (ArmorType.ROBE): ret = new Robe(); ret.MyItemType = ItemType.ROBE; break; case (ArmorType.TROUSERS): ret = new Trousers(); ret.MyItemType = ItemType.TROUSERS; break; case (ArmorType.HAT): ret = new Hat(); ret.MyItemType = ItemType.HAT; break; } ret.CopyStats(mould as CraftedArmor); Player_Accessor_Script.SkillsScript.AddExperience(mould.RequiredProfession, mould.RewardedExp); return(ret); } else if (mould.MyCraftedItemType == CraftedItemType.REAGENT) { print("Reagent Type: " + mould.ItemName); Reagent newReagent = new Reagent(); newReagent.ReagentName = mould.ItemName; newReagent.ReagentQuantity = 1; newReagent.ReagentSprite = mould.SpritePath; Player_Accessor_Script.InventoryScript.AddResourceType(newReagent, newReagent.ReagentQuantity); Player_Accessor_Script.SkillsScript.AddExperience(mould.RequiredProfession, mould.RewardedExp); } else { print("Unknown crafting type"); } } return(null); }