-
Notifications
You must be signed in to change notification settings - Fork 11
Character Files
A character consists of two things at minimum:
- A picture named "thumb.png", which is the picture displayed in the TNH menu
- A text file named "character.txt", which holds all of the information about the character
Any custom loot pool icons will also go in the character file.
Below is a list of properties that a character can have. Additionally, a "character_template.txt" file can be found in the custom character folder, which can be useful for getting started creating a character.
DisplayName=
Type: String
Sets what the characters name is in the TNH menu
Group=
Type: Int
Sets what category the character shows up in, with 0 being daring defaults
StartingTokens=
Type: Int
Sets the number of tokens a character starts with
ForceAllAgentWeapons=
Type: Bool
Unkown what this does, but is normally set to false
Description=
Type: String
This is the text that appears below the characters name in the TNH menu
UsesPurchasePriceIncrement=
Type: Bool
If true, then when the player purchases an item it costs one more token to purchase that item again
Has_Weapon_Primary=
Type: Bool
If true, the player will spawn with an item chosen from the
Weapon_Primary{ }
object
Has_Weapon_Secondary=
Type: Bool
If true, the player will spawn with an item chosen from the
Weapon_Secondary{ }
object
Has_Weapon_Tertiary=
Type: Bool
If true, the player will spawn with an item chosen from the
Weapon_Tertiary{ }
object
Has_Item_Primary=
Type: Bool
If true, the player will spawn with an item chosen from the
Item_Primary{ }
object
Has_Item_Secondary=
Type: Bool
If true, the player will spawn with an item chosen from the
Item_Secondary{ }
object
Has_Item_Tertiary=
Type: Bool
If true, the player will spawn with an item chosen from the
Item_Tertiary{ }
object
Has_Item_Shield=
Type: Bool
If true, the player will spawn with an item chosen from the
Item_Shield{ }
object
Starting loadouts are objects which decide what weapons and items the player starts with. You can have the following starting loadout objects:
Weapon_Primary{ }
Weapon_Secondary{ }
Weapon_Tertiary{ }
Item_Primary{ }
Item_Secondary{ }
Item_Tertiary{ }
Item_Shield{ }
Below are the properties of a starting loadout:
ListOverride[]
Type: List<FVRObject>
This is currently unused (for now), but must still be declared in the character file
Num_Mags_SL_Clips=
Type: Int
Sets the number of magazines or speed loaders the weapon starts with
Num_Rounds=
Type: Int
Sets the number of bullets a weapon starts with (possibly unused if spawned weapon takes magazines)
TableDefs[ ]
Type: List<ObjectTableDef>
A list of object tables which are used to determine what equipment could possibly spawn
Equipment pools are objects which contain an ObjectTableDef for spawnable weapons, and also has the properties which decide purchase cost and the levels when the pool appears in the TNH item spawner. Each character has one EquipmentPool object, which has a list of pool entries inside it.
Entries[ ]
Type: List<PoolEntry>
This is a list of all possible pools that can show up in the TNH item spawner
Type=
Type: String (Enum)
This determines where a pool will show up in the item spawner. Firearms show up on the left-most side, Equipment in the middle, and Consumables on the right
Options:
- Firearm
- Equipment
- Consumable
TokenCost=
Type: Int
Cost of purchasing an item from this pool at the TNH item spawner
TokenCost_Limited=
Type: Int
Cost of purchasing an item from this pool at the TNH item spawner (When playing on limited ammo mode)
MinLevelAppears=
Type: Int
The level that this pool can start appearing at. TNH starts at level 0, so if set to 0, this pool will appear on the first level
MaxLevelAppears=
Type: Int
The highest level that this pool can appear at
Rarity=
Type: Int
Sets how likely this pool is to appear. Default is usually 1, and higher values represent rarer pools
TableDef{ }
Type: ObjectTableDef
The object table which determines what kinds of weapons can spawn from this pool entry
Object tables are essentially loot pools, which can either be automatically generated based on set parameters, or manually created using IDOverrides. Below is a list of properties for the ObjectTableDef object
Icon=
Type: String
This is the name of the icon (in your character file) that will be displayed in the TNH item spawner
Category=
Type: String (Enum)
Set this to whatever category of item you want to spawn in this pool
Options:
- Uncategorized
- Firearm
- Magazine
- Clip
- Cartridge
- Attachment
- SpeedLoader
- Thrown
- MeleeWeapon
- Explosive
- Powerup
- Target
- Tool
- Firework
- Ornament
MinAmmoCapacity=
Type: Int
This is the minimum ammo capacity of weapons that will be added to the table
NOTE: If you are spawning something other than weapons in this pool, set this to
-1
MaxAmmoCapacity=
Type: Int
This is the maximum ammo capacity of weapons that will be added to the table
NOTE: If you are spawning something other than weapons in this pool, set this to
-1
IsBlanked=
Type: Bool
Unknown what this does, but set to false by default
SpawnsInSmallCase=
Type: Bool
If true, items from this object pool will spawn in a small case when purchased at the TNH item spawner
SpawnsInLargeCase=
Type: Bool
If true, items from this object pool will spawn in a large case when purchased at the TNH item spawner
UseIDListOverride=
Type: Bool
If true, this object pool will use items from the
IDOverride
list instead of automatically generating
IDOverride=
Type: List<String>
A list of ObjectIDs that will be added to this pool. ObjectIDs can be found in the "ObjectIDs.txt" file generated in the CustomCharacter folder
Eras=
Type: List<String>
Set this to the eras of weaponry you want to spawn in this pool
Options:
- None
- Colonial
- WildWest
- TurnOfTheCentury
- WW1
- WW2
- PostWar
- Modern
- Futuristic
- Medieval
Sets=
Type: List<String>
Set this to the object set of weaponry you want to spawn in this pool
Options:
- Real
- GroundedFictional
- SciFiFictional
- Meme
- MF
- Holiday
- TNH
Sizes=
Type: List<String>
Set this to the sizes of weaponry you want to spawn in this pool
Options:
- None
- Pistol
- Compact
- Carbine
- FullSize
- Bulky
- Oversize
Actions=
Type: List<String>
Set this to the action types on the weaponry you want to spawn in this pool
Options:
- None
- BreakAction
- BoltAction
- Revolver
- PumpAction
- LeverAction
- Automatic
- RollingBlock
- OpenBreach
- Preloaded
- SingleActionRevolver
Modes=
Type: List<String>
Set this to the firing modes on the type of weaponry you want to spawn in this pool
Options:
- None
- SemiAuto
- Burst
- FullAuto
- SingleFire
ExcludeModes=
Type: List<String>
Set this to the firing modes you don't want on the weaponry you want to spawn in this pool
Options:
- None
- SemiAuto
- Burst
- FullAuto
- SingleFire
Feedoptions=
Type: List<String>
Set this to the feed options of weaponry you want to spawn in this pool
Options:
- None
- BreachLoad
- InternalMag
- BoxMag
- StripperClip
- EnblocClip
MountsAvailable=
Type: List<String>
Set this to the mounting types on the weaponry you want to spawn in this pool
Options:
- None
- Picatinny
- Russian
- Muzzle
- Stock
- Bespoke
RoundPowers=
Type: List<String>
Set this to the round powers of the weaponry you want to spawn in this pool
Options:
- None
- Tiny
- Pistol
- Shotgun
- Intermediate
- FullPower
- AntiMaterial
- Ordnance
- Exotic
- Fire
Features=
Type: List<String>
Set this to the types of attachment features for the attachments you want to spawn in this pool
NOTE: I'm pretty sure this is only used if the pool is for attachments, not weapons
Options:
- None
- IronSight
- Magnification
- Reflex
- Suppression
- Stock
- Laser
- Illumination
- Grip
- Decoration
- RecoilMitigation
- BarrelExtension
- Adapter
- Bayonet
- ProjectileWeapon
- Bipod
MeleeStyles=
Type: List<String>
Set this to the types of melee styles for melee weapons you want to spawn in this pool
Options:
- None
- Tactical
- Tool
- Improvised
- Medieval
- Shield
- PowerTool
MeleeHandedness=
Type: List<String>
Set this to the handedness (number of hands used to hold) for melee weapons you want to spawn in this pool
Options:
- None
- OneHanded
- TwoHanded
MountTypes=
Type: List<String>
Set this to the types of mounts that can be attached to for attachments you want to spawn in this pool
Options:
- None
- Picatinny
- Russian
- Muzzle
- Stock
- Bespoke
PowerupTypes=
Type: List<String>
Set this to the types of powerups you want to spawn in this pool
Options:
- None
- Health
- QuadDamage
- InfiniteAmmo
- Invicibility
- GhostMode
- FarOutMeat
- MuscleMeat
- HomeTown
- SnakeEye
- Blort
- Regen
- Cyclops
- WheredIGo
- ChillOut
ThrownTypes=
Type: List<String>
Set this to the types of throwables you want to spawn in this pool
Options:
- None
- ManualFuse
- Pinned
- Strange
ThrownDamageTypes=
Type: List<String>
Set this to the damage types of throwables you want to spawn in this pool
Options:
- None
- Kinetic
- Explosive
- Fire
- Utility
Objs[]
Type: List<FVRObject>
Unused, but still must be declared in the character file