-
Notifications
You must be signed in to change notification settings - Fork 10
Character Files
DisplayNameType: String
Sets what the characters name is in the TNH menu
CharacterGroupType: Int
Sets what category the character shows up in, with 0 being daring defaults
DescriptionType: String
This is the text that appears below the characters name in the TNH menu
TableIDType: String
The name of the score board group. Usually sufficient to make this the same as characters name
StartingTokensType: Int
Sets the number of tokens a character starts with
ForceAllAgentWeaponsType: Bool
Unknown what this does, but is normally set to false
ForceDisableOutfitFunctionalityType: Bool
When true, sosig clothing such as balaklavas will not turn the sosig invisible
UsesPurchasePriceIncrementType: Bool
If true, then when the player purchases an item it costs one more token to purchase that item again
HasPrimaryWeaponType: Bool
If true, the player will spawn with an item chosen from the
PrimaryWeaponpool
HasSecondaryWeaponType: Bool
If true, the player will spawn with an item chosen from the
SecondaryWeaponpool
HasTertiaryWeaponType: Bool
If true, the player will spawn with an item chosen from the
TertiaryWeaponpool
HasPrimaryItemType: Bool
If true, the player will spawn with an item chosen from the
PrimaryItempool
HasSecondaryItemType: Bool
If true, the player will spawn with an item chosen from the
SecondaryItempool
HasTertiaryItemType: Bool
If true, the player will spawn with an item chosen from the
TertiaryItempool
HasShieldType: Bool
If true, the player will spawn with an item chosen from the
Shieldpool
ValidAmmoErasType: List<FVRObject.OTagEra>
A list of eras which ammo can spawn from
Options:
- None
- Colonial
- WildWest
- TurnOfTheCentury
- WW1
- WW2
- PostWar
- Modern
- Futuristic
- Medieval
ValidAmmoSetsType: List<FVRObject.OTagSet>
A list of sets which ammo can spawn from
Options:
- Real
- GroundedFictional
- SciFiFictional
- Meme
- MF
- Holiday
- TNH
GlobalAmmoBlacklistType: List<String>
A list of ObjectID strings which will prevent given ammo objects from spawning during TNH. This can be used to prevent ammo such as 12G flares from spawning
MagazineBlacklistType: List<MagazineBlacklistEntry>
A list of blacklist entries, which will prevent given magazines and clips from spawning with a given gun
Here is an example of preventing SKS magazines from spawning with a default SKS
"MagazineBlacklist": [ { "FirearmID": "SKSClassic", "MagazineBlacklist": [ "MagazineSKSModern10rnd", "MagazineSKSModern20rnd" ], "ClipBlacklist": [] } ]
RequireSightTableType: EquipmentGroup
Any guns or items that are set to require sights (such as rifles with no iron sights) will spawn with a sight from this equipment group
PrimaryWeaponType: LoadoutEntry
When TNH begins, an item from this loadout entry will spawn in the starting room
Note: Items from this pool will spawn in a large weapons case
EquipmentPool{ }Type: EquipmentPoolDef
An object which contains all of the equipment pools that can spawn at a TNH item spawner
Progressions[ ]Type: List<TNH_Progression>
A list of progressions that this character can go through
NOTE: Most characters will only have one entry in this list
Progressions_Endless[ ]Type: List<TNH_Progression>
Currently un-tested where this slots into progression (at start of run or after last level of normal progression?)
Starting loadouts are objects which decide what weapons and items the player starts with. These objects are properties of the character, just like the properties listed above. 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
Progressions contain properties relating to the holds, supply points, and patrols of each level. Generally, there is only one progression entry in the Progressions[ ] list, and then entries in the Levels[ ] list is where the actual level-by-level properties are set.
Levels[ ]Type: List<Level>
The list of levels that the character will go through (in order)
NumOverrideTokensForHold=Type: Int
The number of tokens the character is rewarded for completing the levels
TakeChallenge{ }
@AdditionalSupplyPoints=Type: Int
The number of additional supply points that will be spawned on top of the normal amount
TakeChallenge{ }Type: TNH_TakeChallenge
An object with properties for the defenses that are spawned at a hold point
HoldChallenge{ }Type: TNH_HoldChallenge
An object with properties for holding the hold point, such as encryptions and attacking waves
SupplyChallenge{ }Type: TNH_TakeChallenge
An object with properties for defenses spawned at supply points
PatrolChallenge{ }Type: TNH_PatrolChallenge
An object with properties for patrols that spawn
TrapsChallenge{ }Type: TNH_TrapsChallenge
An object with properties for... traps? I didn't know TNH had traps, but it's here, and you should still declare it just in case
The TakeChallenge{ } object is used for both defenses spawned at hold points, as well as defenses spawned at supply points.
It has the following properties:
NumGuards=Type: Int
Sets the number of defending sosigs that will spawn
NumTurrets=Type: Int
Sets the number of defending turrets that will spawn
IFFUsed=Type: Int
Sets the team that spawned defenders will be on. Default is 1, and the players IFF is 0.
TurretType=Type: String (Enum)
Sets the type of turrets that will spawn as defenses
Options:
- SMG
- FLAK
- Machinegun
- Flamethrower
- Suppression
GID=Type: String (Enum)
Sets the type of sosig defenders that will spawn
Options:
The HoldChallenge{ } object holds properties such as what encryptions spawn, how many encryptions spawn, and what the attacking waves are. The hold challenge object itself only has one property: a list called Phases[ ]. The player will go on to complete each phase in order to complete the hold challenge.
Phases[ ]Type: List<Phase>
The list of hold phases the character will go through (in order)
Encryption=Type: String (Enum)
The type of encryption that will spawn during this phase
Options:
- Static
- Hardened
- Swarm