Jump to content

Creating new Armor Catagory


Hangman4358

Recommended Posts

Ok, i am baffled. I have created a new set of armor. Really just a glass retexture with some nifty bits added to it.

 

And i have set it up to use its own nif files and all that. I also made a new ore and ingot for it and created a recipe for crafting the items from the forge and tempering them at the workpench.

 

The problem i have is that when i make them at the forge, they are found under MISC. I based them off the glass set and first had them under the glass set in the forge, but then i messed with some of the keywords and now it is under MISC.

 

The question is, how do i add it to its own category like the other sets, ie. iron or glass, instead of having it be under MISC. I have searched far and wide and have not found anything...

Link to comment
Share on other sites

From my knoledge u cannot add your own names only use exisiting ones or use misc. If you want to add it to an exisiting catagory i think you take an exisiting weapon in this catagory and copy his values in the right side box and paste it to yours. I may be wrong.
Link to comment
Share on other sites

Yes, I do believe that you can create a custom armor category. I haven't tried this, but I'm fairly confident that it will work.

 

Let's say you want to make a new category called "Blood" armor. This is what you should do.

 

1) In your Armor form in the CK, in the "Keywords" field (hopefully it is not greyed out), right-click and choose "New". In the box that pops up, type "ArmorMaterialBlood" (or your armor type) in the ID field (without quotes). Click OK in that box and then click OK on the Armor form to close it.

2) Go to the Miscellaneous section of the CK Object Window and look for FormList subsection. In the right-hand window of that section, look for the FormList called MaterialsArmor. Double-click on that form to open it. A box will pop open with a list of keywords in it. Leave this box open for now, but drag the box over to one side as you will need to use it in a minute.

3) Now navigate a couple of subsections down (in the left-hand side of the Objects Window of the CK, and find the Keyword section (still under Miscellaneous). Find your new armor type keyword (ArmorMaterialBlood) in the right-hand side of the window. Use the mouse to DRAG this keyword into the "MaterialsArmor" FormList box that you opened in step 2. Your keyword should now appear in the FormList. Click OK to close this FormList.

4) Now save your mod with these changes. Try it out in Skyrim and see if the new "Blood" category appears when you do your crafting.

5) To add further new armors to the "Blood" category, all you have to do is have your mod as "active" in CK then go to the Armor form of your next new armor and in the Keyword field, right-click and choose "Add" then find your new keyword (ArmorMaterialBlood) and add it. That's all :)

 

Well, that's the theory, so give it a try and let me know if it works. Kudos would be appreciated if it does. :thumbsup:

 

EDIT: It doesn't work. It's controlled by a script that is called by native code.

Edited by steve40
Link to comment
Share on other sites

Although I did not import a new armor piece, I did duplicate a vanilla one and tested your theory steve40.

What I did was remove the keyword for the vanilla category then add the new one in. Sadly, I could not get the new category to appear.

 

Take care,

Link to comment
Share on other sites

Damn, I was pretty sure that would work. Maybe there's a further step that's necessary. I suspect that there might be a separate FormList for the crafting menus or something. There should also be some list or mechanism that specifies which armor types you are allowed to craft etc.

 

When I find the time, I'll dig deeper into the CK and see if I can create a new armor category or not. I did a similar procedure to add a new help message to the Skyrim in-game help menu (adding the new message to the appropriate FormList) ... and it worked!

Edited by steve40
Link to comment
Share on other sites

When you make a recipe for anything craftable you have to say where it is used (forge, enchanting alter, grind wheel, etc.), that link is a keyword

 

And even for the forges there are multiple. the skyforge is different than the regular forge for example. But the anvil at which you can forge has the same list as the regular forge but i have yet to find how they are linked together.

 

some of the form list names are completely unintuitive so maybe the problem is just that the form list for these items is just called babiesAndThings and nobody has looked at it yet :confused:

 

I feel like there has to be a way though, we just have to work at it some more. it would be very strange to have these things hardcoded into the game, especially when they then use keywords to link to those catagories anyway :unsure:

Link to comment
Share on other sites

Yes. I don't have the CK on this computer, but I do have a copy of the scripts with me. The armor types are coded into Craftsmithing.psc. One of the functions is called by native code and is necessary for furniture to be able to smith items. Hmmm.

 

Ok. I'll have a go at changing this script tonight. There's a chance that the game engine won't be happy about this. But, if it does work, the downside is that if another modder tries to add their own armor category, their updated script will overwrite your updated script. It would be necessary to merge every modders new armor categories into a single "universal" script, plus a .esm file with all the new keywords and updated formlist.

 

What I need from you Hangman is the name of your new armor category and the minimum skill level that's required to be able to craft this type of new armor. Then i'll code them into the script and test it out to see if it works.

 

 

Scriptname CraftSmithing extends ObjectReference  

; Maps a material keyword to the minimum skill required to smith an
; object with that material
int Function GetMinSkill(Keyword ItemMaterial)
if(ItemMaterial == WeaponMaterialSteel)
	return 5
elseif(ItemMaterial == WeaponMaterialOrchish)
	return 15
elseif(ItemMaterial == WeaponMaterialDwarven)
	return 30
elseif(ItemMaterial == WeaponMaterialElven)
	return 45
elseif(ItemMaterial == WeaponMaterialGlass)
	return 60
elseif(ItemMaterial == WeaponMaterialEbony)
	return 75
elseif(ItemMaterial == WeaponMaterialDaedric)
	return 90
elseif(ItemMaterial == ArmorMaterialIron || ItemMaterial == ArmorMaterialHide) 
	return 10
elseif(ItemMaterial == ArmorMaterialIronBanded || ItemMaterial == ArmorMaterialStudded || ItemMaterial == ArmorMaterialImperial) 
	return 20
elseif(ItemMaterial == ArmorMaterialSteel || ItemMaterial == ArmorMaterialFullLeather || ItemMaterial == ArmorMaterialImperialReinforced)
	return 30
elseif(ItemMaterial == ArmorMaterialDwarven || ItemMaterial == ArmorMaterialElven || ItemMaterial == ArmorMaterialImperialHeavy)
	return 40
elseif(ItemMaterial == ArmorMaterialSteelPlate || ItemMaterial == ArmorMaterialScaled)
	return 50
elseif(ItemMaterial == ArmorMaterialOrcish || ItemMaterial == ArmorMaterialElvenSplinted)
	return 60
elseif(ItemMaterial == ArmorMaterialEbony || ItemMaterial == ArmorMaterialGlass)
	return 70
elseif(ItemMaterial == ArmorMaterialDragonPlate || ItemMaterial == ArmorMaterialDragonScale)
	return 80
elseif(ItemMaterial == ArmorMaterialDaedric || ItemMaterial == ArmorMaterialStormcloak)
	return 90
else
	return 0
endif
EndFunction

; Called from native code. This function must be present to allow a furniture to smith items.
; Only change the function name, parameters, or return type if the call from native code is updated also.
float Function CalculateSmithingValue(Keyword ItemMaterial, int iSmithingSkill)
float fsmithingValue = 1.0

if(ItemMaterial != None)
	int iminSkill = GetMinSkill(ItemMaterial);
	if(iSmithingSkill >= iminSkill)
		fsmithingValue = 1.0 + (iSmithingSkill - iMinSkill) / 100.0
	endif
endif

return fsmithingValue
EndFunction


; Various materials items can be made of.
; The easiest way to get these bound is to duplicate a furniture
; that already has them set.
keyword Property WeaponMaterialIron Auto 
keyword Property WeaponMaterialSteel Auto 
keyword Property WeaponMaterialOrchish Auto 
keyword Property WeaponMaterialDwarven Auto 
keyword Property WeaponMaterialElven Auto 
keyword Property WeaponMaterialGlass Auto 
keyword Property WeaponMaterialEbony Auto 
keyword Property WeaponMaterialDaedric Auto 

keyword Property ArmorMaterialIron Auto
keyword Property ArmorMaterialHide Auto
keyword Property ArmorMaterialIronBanded Auto
keyword Property ArmorMaterialStudded Auto
keyword Property ArmorMaterialImperial Auto
keyword Property ArmorMaterialImperialReinforced Auto
keyword Property ArmorMaterialImperialHeavy Auto
keyword Property ArmorMaterialSteel Auto
keyword Property ArmorMaterialFullLeather Auto
keyword Property ArmorMaterialDwarven Auto
keyword Property ArmorMaterialElven Auto
keyword Property ArmorMaterialSteelPlate Auto
keyword Property ArmorMaterialScaled Auto
keyword Property ArmorMaterialOrcish Auto
keyword Property ArmorMaterialElvenSplinted Auto
keyword Property ArmorMaterialEbony Auto
keyword Property ArmorMaterialGlass Auto
keyword Property ArmorMaterialDragonplate Auto
keyword Property ArmorMaterialDragonscale Auto
keyword Property ArmorMaterialDaedric Auto
keyword Property ArmorMaterialStormcloak Auto

 

Edited by steve40
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...