1 items

File information

Last updated

Original upload

Created by

h0dd

Uploaded by

h0ddt0ward

Virus scan

Safe to use

Tags for this mod

About this mod

Makes it easier to target actors in SPID based on their default location or clothes. Enables filtering actors in SPID based on their relationships and association types.

Share
Requirements
Permissions and credits
This is a simple but powerful mod. It distributes keywords to actors using SPID. Due to how SPID is designed, those keywords are available to other SPID mods for targeting and filtering. All_Key has no real performance impact and does not alter save files.

Consider an example. All_Key distributes the keyword AcLocTypeCity to all actors whose editor location is situated in a city. Using that keyword you could distribute a spell to civilians to help them survive dragon and vampire attacks. Or perhaps a package that causes them to flee.

Spell = Ironflesh|AcLocTypeCity

With that little bit of SPID code, everyone who permanently lives in a city can cast the Ironflesh spell. They will be more hardy in the event of a dragon attack. Without this framework, targeting all of those NPCs based on their Editor Location would be nearly impossible. It would require specifying hundreds of different Locations, because SPID does not natively let you target Location Types.

All_Key exposes this data to SPID scripts:

  • Editor Location — Location Type and Parent Locations. Filter everyone who lives in the Hjaalmarch hold with AcLocHjaalmarchHold, or everyone who lives on a farm with AcLocTypeFarm.
  • Default Outfit Items — Filter actors based on their worn clothing. Target everyone who wears Elven armor with the DoftKywdMaterialElven keyword. If you have a replacer outfit for a specific item such as Miner Clothes, you can swap it out using DoftBodyMinerClothes. SPID lets you swap 100% of the time, or less if you want your replacer to be more of a variety enhancer.
  • Actor Relationships — Filter actors based on their family, or whether they are a boss or an employee, or any other Association Type. If you want to do something special for mothers day in Skyrim, use the AcRelMother keyword to find all of them.
Install

Install with a mod manager. The only files in this mod are SPID _DISTR.ini files. If you wish to manually install you can copy these to the Skyrim\Data\ dir.

All_Key is safe to uninstall, and makes no alterations to your saves.

How it works

The mod is generated by xEdit scripts that read actor data and output an SPID keyword file. Those files tag forms that SPID supports with keywords, based on the data. What is uploaded here is the output of the xEdit scripts.

Export comes from the Elysium Remastered modlist, which contains around 2000 mods, most of them popular. Thus the distributed files contain support for numerous optional mods. Even mods not in this modlist will frequently have integrated support, due to inheriting keywords from the forms they implement.

If you are the sort of person who reads your po3_SpellPerkItemDistributor.log file, you will see it note some missing optional mods, while continuing on with the distribution. In the future I will upload the xEdit scripts, so you can generate your own INI tailored to your load order. But these redistributable pregenerated files are surprisingly comprehensive. Your mod's users will not need to generate their own _DISTR files in xEdit, in order to get mileage out of the framework.

Keywords added by mod

Here is a list of all the keywords added by this mod. Any of these can be targeted with an SPID filter. You can also combine and exclude using + and - filtering in SPID.

You can use More Informative Console to view these keywords in game. Click on actor, then expand the Keywords[] array. Any keyword in that list can be used to target or exclude that actor.

Locations

All location types are included. Those are keywords added to locations with LocType prefix.

Spoiler:  
Show

  • AcLocTypeAnimalDen
  • AcLocTypeBanditCamp
  • AcLocTypeBarracks
  • AcLocTypeCastle
  • AcLocTypeCemetery
  • AcLocTypeCity
  • AcLocTypeClearable
  • AcLocTypeDDSafe
  • AcLocTypeDragonLair
  • AcLocTypeDragonPriestLair
  • AcLocTypeDraugrCrypt
  • AcLocTypeDungeon
  • AcLocTypeDwarvenAutomatons
  • AcLocTypeDwelling
  • AcLocTypeFalmerHive
  • AcLocTypeFarm
  • AcLocTypeForswornCamp
  • AcLocTypeGiantCamp
  • AcLocTypeGuild
  • AcLocTypeHabitation
  • AcLocTypeHabitationHasInn
  • AcLocTypeHagravenNest
  • AcLocTypeHoldMajor
  • AcLocTypeHoldMinor
  • AcLocTypeHouse
  • AcLocTypeInn
  • AcLocTypeJail
  • AcLocTypeLumberMill
  • AcLocTypeMilitaryCamp
  • AcLocTypeMilitaryFort
  • AcLocTypeMine
  • AcLocTypeOrcStronghold
  • AcLocTypePlayerHouse
  • AcLocTypeSettlement
  • AcLocTypeShip
  • AcLocTypeShipwreck
  • AcLocTypeSprigganGrove
  • AcLocTypeStables
  • AcLocTypeStewardsDwelling
  • AcLocTypeStore
  • AcLocTypeTemple
  • AcLocTypeTown
  • AcLocTypeVampireLair
  • AcLocTypeWarlockLair
  • AcLocTypeWerewolfLair
Parent locations are also added as keywords. Consider WhiterunJorrvaskrBasementLocation as an example. Actors that spawn here will have the following location keywords available: AcLocWhiterunJorrvaskr, AcLocWhiterun, AcLocWhiterunHold. If you wish to target all actors in Jorrvaskr, the keyword AcLocWhiterunJorrvaskr will include those in the basement as well as those who spawn upstairs. While AcLocWhiterun will include all actors in the city.

The full list of location keywords can be viewed in the AllLocationKeywords_DISTR.ini file. They follow the convention of having the AcLoc prefix, followed by a condensed version of the parent location's EDID.


Actor Relationships

Nearly all Association Types are included. The relevant label is applied to the actor as a keyword with the prefix AcRel.

Spoiler:  
Show

  • AcRelHusband
  • AcRelWife
  • AcRelFather
  • AcRelDaughter
  • AcRelMother
  • AcRelBrother
  • AcRelSister
  • AcRelSon
  • AcRelJarl
  • AcRelHousecarl
  • AcRelSteward
  • AcRelMaster
  • AcRelAssistant
  • AcRelCousin
  • AcRelBoss
  • AcRelEmployee
  • AcRelGrandfather
  • AcRelGrandson
  • AcRelUncle
  • AcRelNephew
  • AcRelFavorTarget
  • AcRelGrandmother
  • AcRelGranddaughter
  • AcRelNiece
  • AcRelGranduncle
  • AcRelGrandnephew
  • AcRelAunt
  • AcRelGirlfriend
  • AcRelBoyfriend
  • AcRelBusinessPartner
  • AcRelConspirator
Eagle-eyed readers may notice the InLaw Association Types are missing, along side GreatGrand  types. Very few actors had those applied. It made sense to merge them. Uncle-in-Law became Uncle. GreatGrandMother was merged into GrandMother.


Default Outfit & clothes

Find NPCs based on the default clothes they wear. Keywords begin with the prefix Doft and then the type.
  • Worn keywords such as ArmorHeavy have the DoftKywd prefix: DoftKywdArmorHeavy.
  • Specific items of clothing are prefixed with Doft + the slot they occupy. Example DoftBodyMonkRobes is a Monk's robes occupying the Body slot, while DoftHeadMonkHood is a Monk's hood occupying Head (Hair).

Spoiler:  
Show

The full list of keywords can be found in the downloaded files. Here are some cherry-picked examples of the WornClothing keywords..
  • Armor & Clothing Classes
    • DoftKywdArmorHeavy
    • DoftKywdArmorLight
    • DoftKywdClothingPoor
    • DoftKywdClothingRich
  • Armor & Clothing Materials
    • DoftKywdMaterialBlades
    • DoftKywdMaterialBonemoldHeavy
    • DoftKywdMaterialChitinHeavy
    • DoftKywdMaterialChitinLight
    • DoftKywdMaterialDaedric
    • DoftKywdMaterialDawnguard
    • DoftKywdMaterialDragonplate
    • DoftKywdMaterialDragonscale
    • DoftKywdMaterialDwarven
    • DoftKywdMaterialEbony
    • DoftKywdMaterialElven
    • DoftKywdMaterialElvenGilded
    • DoftKywdMaterialFalmer
    • DoftKywdMaterialFalmerHardened
    • DoftKywdMaterialForsworn
    • DoftKywdMaterialGlass
    • DoftKywdMaterialGolden
    • DoftKywdMaterialGuard
    • DoftKywdMaterialHide
    • DoftKywdMaterialImperialHeavy
    • DoftKywdMaterialImperialLight
    • DoftKywdMaterialImperialStudded
    • DoftKywdMaterialIron
    • DoftKywdMaterialIronBanded
    • DoftKywdMaterialLeather
    • DoftKywdMaterialMadness
    • DoftKywdMaterialMithril
    • DoftKywdMaterialMoragTong
    • DoftKywdMaterialNordicHeavy
    • DoftKywdMaterialOrcish
    • DoftKywdMaterialOrcishLight
    • DoftKywdMaterialScaled
    • DoftKywdMaterialStalhrimHeavy
    • DoftKywdMaterialStalhrimLight
    • DoftKywdMaterialSteel
    • DoftKywdMaterialSteelPlate
    • DoftKywdMaterialStormcloak
    • DoftKywdMaterialBearStormcloak
    • DoftKywdMaterialStudded
    • DoftKywdMaterialThievesGuild
    • DoftKywdMaterialThievesGuildLeader
    • DoftKywdMaterialVampire
    • DoftKywdArmorDarkBrhood
    • DoftKywdArmorNightingale
  • Armor Types
    • DoftKywdArmorBoots
    • DoftKywdArmorClothing
    • DoftKywdArmorCuirass
    • DoftKywdArmorGauntlets
    • DoftKywdArmorHelmet
    • DoftKywdArmorShield
  • Clothing Types
    • DoftKywdClothingFeet
    • DoftKywdClothingHands
    • DoftKywdClothingHead
    • DoftKywdClothingTorso
  • Jewelery Types
    • DoftKywdArmorJewelry
    • DoftKywdClothingCirclet
    • DoftKywdClothingNecklace
    • DoftKywdClothingRing
    • DoftKywdJewelryExpensive

Of course the NPC must be wearing their default outfit for this to be accurate. In Skyrim that is the case for all NPCs except:
  • Current followers of the player.
  • Members of the Blades who have moved to Skyhaven. They change outfits to Blades armor.
  • An NPC who has had armor reverse pick pocketed onto them, or picked up armor dropped in the world. They will wear that armor for a little while when they first obtain it, and can put it back on when they enter battle.
The outfit ARMO items are grouped together based on their Armor Addons. There are numerous enchanted variants of most armors. They all point to the same Armor Addon, and would thus all be included when filtering with the relavant DoftBody_ keyword.

Outfits that point to a LVLI will be tagged with a keyword indicating the LVLI's EDID. Due to the runtime nature of LVLIs this is as specific as we can get. But it can still be extremely useful, many LVLIs contain descriptive EDIDs. So an SPID wildcard filter such as *SteelPlate can target both ARMO items and related LVLIs.

Mods that alter the NPC's DOFT record are compatible. But mods which substantially alter the OTFT record itself, or add new OTFTs, can see their changes ignored by these keywords. In this situation running the xEdit script will tailor the keywords to your load order.


Future Plans
  • Clean up the source for the xEdit scripts and upload them.
  • Await feedback. If there is actor data you would like to be able to filter in SPID but currently can not, please post a request.