Difference between revisions of "Armor Script"

From the CreationKit Wiki
Jump to navigation Jump to search
imported>Moorleiche2k
imported>Quindraco
 
(15 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[[Category:Scripting]]
'''Extends:''' [[Form Script]]
[[Category:Papyrus]]
[[Category:Script Objects]]
[[Category:SKSE]]
[[Category:SKSE Script Objects]]
 
'''Extends:''' [[Form Script (Papyrus)]]


Script for the manipulation of armor base objects.
Script for the manipulation of armor base objects.
Line 14: Line 8:
</source>
</source>


== Properties ==
== Member Functions ==
None
 
== Special Edition Exclusive Functions ==
 
'''Float [[GetWarmthRating - Armor|GetWarmthRating]]()'''
*Obtains the total "warmth rating" for the armor


== SKSE Properties ==
== SKSE Properties ==
*[[Slot Masks - Armor|List of Slot Masks]]
*[[Slot Masks - Armor|List of Slot Masks]]


'''Note:''' Might be broken for Skyrim 1.6.89.0.6 and SKSE 1.05.09.
Tests with only "Iron Armor" (Biped Object 32 (Body) in CK) equipped returned "Forms" for maskslots 30,31,36-39 instead of just 32.
"Circlet of Peerless Restoration" (Biped Object 42 (Circlet) in CK) was not detected at all.
Function to read out the "Form" was http://www.creationkit.com/GetWornForm_-_Actor


== Global Functions ==
== SKSE Global Functions ==
None


== SKSE Global Functions ==
:'''Int [[GetMaskForSlot - Armor|GetMaskForSlot]](Int ''slot'')'''
'''Int Function [[GetMaskForSlot - Armor|GetMaskForSlot]](int slot)'''
:*Returns the slotmask for a single slot.
*Returns the slotmask for a single slot.


== Member Functions ==
None


== SKSE Member Functions ==
== SKSE Member Functions ==
'''Int Function [[GetArmorRating - Armor|GetArmorRating]]()'''
*Returns the armor rating for this armor.


'''Int Function [[GetArmorRating - Armor|GetAR]]()'''
:;Int [[GetArmorRating - Armor|GetArmorRating]]()
*Alias for GetArmorRating().
:*Returns the armor rating for this armor.
:;Int [[GetArmorRating - Armor|GetAR]]()
:*Alias for GetArmorRating().
:;[[SetArmorRating - Armor|SetArmorRating]](Int ''armorRating'')
:*Sets the armor rating for this armor to the specified value.
:;[[SetArmorRating - Armor|SetAR]](Int ''armorRating'')
:*Alias for SetArmorRating().
:;[[ModArmorRating - Armor|ModArmorRating]](Int ''modBy'')
:*Modifies the armor rating for this armor by the specified amount.
:;[[ModArmorRating - Armor|ModAR]](Int ''modBy'')
:*Alias for ModArmorRating().
:;String [[GetModelPath - Armor|GetModelPath]](Bool ''bFemalePath'')
:*Returns the file path for the nif file representing the world model of the armor.
:;[[SetModelPath - Armor|SetModelPath]](String ''path'', Bool ''bFemalePath'')
:*Sets the file path for the nif file representing the world model of the armor to the specified path.
:;String [[GetIconPath - Armor|GetIconPath]](Bool ''bFemalePath'')
:*Returns the file path for the nif file representing the icon for the armor in the inventory.
:;[[SetIconPath - Armor|SetIconPath]](String ''path'', Bool ''bFemalePath'')
:*Sets the file path for the nif file representing the icon for the armor in the inventory to the specified path.
:;String [[GetMessageIconPath - Armor|GetMessageIconPath]](Bool ''bFemalePath'')
:*Returns the file path for the nif file representing the message icon for the armor.
:;[[SetMessageIconPath - Armor|SetMessageIconPath]](String ''path'', Bool ''bFemalePath'')
:*Sets the file path for the nif file representing the message icon for the armor to the specified path.
:;Int [[GetWeightClass - Armor|GetWeightClass]]()
:*Returns the weight class of the armor: 0 for Light, 1 for Heavy, 2 for None.
:;[[SetWeightClass - Armor|SetWeightClass]](Int ''weightClass'')
:*Sets the weight class of the armor to the specified weight class.
:;Enchantment [[GetEnchantment - Armor|GetEnchantment]]()
:*Returns the Enchantment associated with the Armor
:;[[SetEnchantment - Armor|SetEnchantment]](Enchantment ''e'')
:*Set the Enchantment associated with the Armor
:;Int [[GetSlotMask - Armor|GetSlotMask]]()
:*Returns the slot mask for the armor.
:;[[SetSlotMask - Armor|SetSlotMask]](Int ''slotMask'')
:*Sets the slot mask for the armor.
:;Int [[AddSlotToMask - Armor|AddSlotToMask]](Int ''slotMask'')
:*Adds the specified slotmask to the armor and returns the new slot mask for the armor.
:;Int [[RemoveSlotFromMask - Armor|RemoveSlotFromMask]](Int ''slotMask'')
:*Removes the specified slotmask from the armor and returns the new slot mask for the armor.
:;Int [[GetNumArmorAddons - Armor|GetNumArmorAddons]]()
:*Returns the number of armor addons for this armor.
:;ArmorAddon [[GetNthArmorAddon - Armor|GetNthArmorAddon]](Int ''n'')
:*Returns the nth armor addon for this armor.


'''Function [[SetArmorRating - Armor|SetArmorRating]](int armorRating)'''
===Convenience functions that check for a keyword.===
*Sets the armor rating for this armor to the specified value.


'''Function [[SetArmorRating - Armor|SetAR]](int armorRating)'''
All of these simply check for a keyword - they're one line functions defined as:
*Alias for SetArmorRating().


'''Function [[ModArmorRating - Armor|ModArmorRating]](int modBy)'''
  bool Function funcName()
*Modifies the armor rating for this armor by the specified amount.
      return HasKeywordString("RelevantKeyword")
  endFunction


'''Function [[ModArmorRating - Armor|ModAR]](int modBy)'''
As a result, you can fill in your own for "missing" convenience functions (such as IsClothingNecklace for Amulets/Necklaces, and IsClothingCirclet for Circlets) by writing your own with the appropriate keywords (ClothingNecklace and ClothingCirclet, respectively).  As another result, these ''do not'' use the above functions (for example, IsLightArmor and IsHeavyArmor, unlike the GetWeightClass function above, ''check for a keyword'', rather than actually checking the underlying armor form's armor skill).  
*Alias for ModArmorRating().


'''String Function [[GetModelPath - Armor|GetModelPath]](bool bFemalePath)'''
:;Bool [[IsLightArmor - Armor|IsLightArmor]]()
*Returns the file path for the nif file representing the world model of the armor.
:*Is this light armor?
:;Bool [[IsHeavyArmor - Armor|IsHeavyArmor]]()
:*Is this heavy armor?
:;Bool [[IsClothing - Armor|IsClothing]]()
:*Is this clothing?
:;Bool [[IsBoots - Armor|IsBoots]]()
:*Are these boots?
:;Bool [[IsCuirass - Armor|IsCuirass]]()
:*Is this a cuirass?
:;Bool [[IsGauntlets - Armor|IsGauntlets]]()
:*Are these gauntlets?
:;Bool [[IsHelmet - Armor|IsHelmet]]()
:*Is this a helmet?
:;Bool [[IsShield - Armor|IsShield]]()
:*Is this a shield?
:;Bool [[IsJewelry - Armor|IsJewelry]]()
:*Is this a piece of jewelry?
:;Bool [[IsClothingHead - Armor|IsClothingHead]]()
:*Is this a hat/circlet?
:;Bool [[IsClothingBody - Armor|IsClothingBody]]()
:*Is this a shirt/pants/dress?
:;Bool [[IsClothingFeet - Armor|IsClothingFeet]]()
:*Are these shoes?
:;Bool [[IsClothingHands - Armor|IsClothingHands]]()
:*Are these gloves?
:;Bool [[IsClothingRing - Armor|IsClothingRing]]()
:*Is this a ring?
:;Bool [[IsClothingRich - Armor|IsClothingRich]]()
:*Is this rich clothing?
:;Bool [[IsClothingPoor - Armor|IsClothingPoor]]()
:*Is this poor clothing?


'''Function [[SetModelPath - Armor|SetModelPath]](string path, bool bFemalePath)'''
[[Category:Scripting]]
*Sets the file path for the nif file representing the world model of the armor to the specified path.
[[Category:Papyrus]]
 
[[Category:Script Objects]]
'''String Function [[GetIconPath - Armor|GetIconPath]](bool bFemalePath)'''
[[Category:SKSE]]
*Returns the file path for the nif file representing the icon for the armor in the inventory.
[[Category:SKSE Script Objects]]
 
'''Function [[SetIconPath - Armor|SetIconPath]](string path, bool bFemalePath)'''
*Sets the file path for the nif file representing the icon for the armor in the inventory to the specified path.
 
'''String Function [[GetMessageIconPath - Armor|GetMessageIconPath]](bool bFemalePath)'''
*Returns the file path for the nif file representing the message icon for the armor.
 
'''Function [[SetMessageIconPath - Armor|SetMessageIconPath]](string path, bool bFemalePath)'''
*Sets the file path for the nif file representing the message icon for the armor to the specified path.
 
'''Int Function [[GetWeightClass - Armor|GetWeightClass]]()'''
*Returns the weight class of the armor.
 
'''Function [[SetWeightClass - Armor|SetWeightClass]](int weightClass)'''
*Sets the weight class of the armor to the specified weight class.
 
'''Bool Function [[IsLightArmor - Armor|IsLightArmor]]()'''
*Is this light armor?
 
'''Bool Function [[IsHeavyArmor - Armor|IsHeavyArmor]]()'''
*Is this heavy armor?
 
'''Bool Function [[IsClothing - Armor|IsClothing]]()'''
*Is this clothing?
 
'''Bool Function [[IsBoots - Armor|IsBoots]]()'''
*Are these boots?
 
'''Bool Function [[IsCuirass - Armor|IsCuirass]]()'''
*Is this a cuirass?
 
'''Bool Function [[IsGauntlets - Armor|IsGauntlets]]()'''
*Are these gauntlets?
 
'''Bool Function [[IsHelmet - Armor|IsHelmet]]()'''
*Is this a helmet?
 
'''Bool Function [[IsShield - Armor|IsShield]]()'''
*Is this a shield?
 
'''Bool Function [[IsJewelry - Armor|IsJewelry]]()'''
*Is this a piece of jewelry?
 
'''Bool Function [[IsClothingHead - Armor|IsClothingHead]]()'''
*Is this a hat/circlet?
 
'''Bool Function [[IsClothingBody - Armor|IsClothingBody]]()'''
*Is this a shirt/pants/dress?
 
'''Bool Function [[IsClothingFeet - Armor|IsClothingFeet]]()'''
*Are these shoes?
 
'''Bool Function [[IsClothingHands - Armor|IsClothingHands]]()'''
*Are these gloves?
 
'''Bool Function [[IsClothingRing - Armor|IsClothingRing]]()'''
*Is this a ring?
 
'''Bool Function [[IsClothingRich - Armor|IsClothingRich]]()'''
*Is this rich clothing?
 
'''Bool Function [[IsClothingPoor - Armor|IsClothingPoor]]()'''
*Is this poor clothing?
 
'''Int Function [[GetSlotMask - Armor|GetSlotMask]]()'''
*Returns the slot mask for the armor.
 
'''Function [[SetSlotMask - Armor|SetSlotMask]](int slotMask)'''
*Sets the slot mask for the armor.
 
'''Int Function [[AddSlotToMask - Armor|AddSlotToMask]](int slotMask)'''
*Adds the specified slotmask to the armor and returns the new slot mask for the armor.
 
'''Int Function [[RemoveSlotFromMask - Armor|RemoveSlotFromMask]](int slotMask)'''
*Removes the specified slotmask from the armor and returns the new slot mask for the armor.
 
== Events ==
None

Latest revision as of 15:25, 7 June 2018

Extends: Form Script

Script for the manipulation of armor base objects.

Definition[edit | edit source]

ScriptName Armor extends Form

Member Functions[edit | edit source]

Special Edition Exclusive Functions[edit | edit source]

Float GetWarmthRating()

  • Obtains the total "warmth rating" for the armor

SKSE Properties[edit | edit source]


SKSE Global Functions[edit | edit source]

Int GetMaskForSlot(Int slot)
  • Returns the slotmask for a single slot.


SKSE Member Functions[edit | edit source]

Int GetArmorRating()
  • Returns the armor rating for this armor.
Int GetAR()
  • Alias for GetArmorRating().
SetArmorRating(Int armorRating)
  • Sets the armor rating for this armor to the specified value.
SetAR(Int armorRating)
  • Alias for SetArmorRating().
ModArmorRating(Int modBy)
  • Modifies the armor rating for this armor by the specified amount.
ModAR(Int modBy)
  • Alias for ModArmorRating().
String GetModelPath(Bool bFemalePath)
  • Returns the file path for the nif file representing the world model of the armor.
SetModelPath(String path, Bool bFemalePath)
  • Sets the file path for the nif file representing the world model of the armor to the specified path.
String GetIconPath(Bool bFemalePath)
  • Returns the file path for the nif file representing the icon for the armor in the inventory.
SetIconPath(String path, Bool bFemalePath)
  • Sets the file path for the nif file representing the icon for the armor in the inventory to the specified path.
String GetMessageIconPath(Bool bFemalePath)
  • Returns the file path for the nif file representing the message icon for the armor.
SetMessageIconPath(String path, Bool bFemalePath)
  • Sets the file path for the nif file representing the message icon for the armor to the specified path.
Int GetWeightClass()
  • Returns the weight class of the armor: 0 for Light, 1 for Heavy, 2 for None.
SetWeightClass(Int weightClass)
  • Sets the weight class of the armor to the specified weight class.
Enchantment GetEnchantment()
  • Returns the Enchantment associated with the Armor
SetEnchantment(Enchantment e)
  • Set the Enchantment associated with the Armor
Int GetSlotMask()
  • Returns the slot mask for the armor.
SetSlotMask(Int slotMask)
  • Sets the slot mask for the armor.
Int AddSlotToMask(Int slotMask)
  • Adds the specified slotmask to the armor and returns the new slot mask for the armor.
Int RemoveSlotFromMask(Int slotMask)
  • Removes the specified slotmask from the armor and returns the new slot mask for the armor.
Int GetNumArmorAddons()
  • Returns the number of armor addons for this armor.
ArmorAddon GetNthArmorAddon(Int n)
  • Returns the nth armor addon for this armor.

Convenience functions that check for a keyword.[edit | edit source]

All of these simply check for a keyword - they're one line functions defined as:

 bool Function funcName()
     return HasKeywordString("RelevantKeyword")
 endFunction

As a result, you can fill in your own for "missing" convenience functions (such as IsClothingNecklace for Amulets/Necklaces, and IsClothingCirclet for Circlets) by writing your own with the appropriate keywords (ClothingNecklace and ClothingCirclet, respectively). As another result, these do not use the above functions (for example, IsLightArmor and IsHeavyArmor, unlike the GetWeightClass function above, check for a keyword, rather than actually checking the underlying armor form's armor skill).

Bool IsLightArmor()
  • Is this light armor?
Bool IsHeavyArmor()
  • Is this heavy armor?
Bool IsClothing()
  • Is this clothing?
Bool IsBoots()
  • Are these boots?
Bool IsCuirass()
  • Is this a cuirass?
Bool IsGauntlets()
  • Are these gauntlets?
Bool IsHelmet()
  • Is this a helmet?
Bool IsShield()
  • Is this a shield?
Bool IsJewelry()
  • Is this a piece of jewelry?
Bool IsClothingHead()
  • Is this a hat/circlet?
Bool IsClothingBody()
  • Is this a shirt/pants/dress?
Bool IsClothingFeet()
  • Are these shoes?
Bool IsClothingHands()
  • Are these gloves?
Bool IsClothingRing()
  • Is this a ring?
Bool IsClothingRich()
  • Is this rich clothing?
Bool IsClothingPoor()
  • Is this poor clothing?