Item Field and Other Misc Info

18 posts / 0 new
Last post
#1
Item Field and Other Misc Info

Updated Nov.16/14
- Added descriptions submitted by Tactless and dcfedor
- Bolded the field names to make it easier to read

Hey modding forum!

I'm really interested in making a comprehensive guide to modding the game. I have already created a post that has lists
of many things modders will use; it's a sort of quick reference list. Post

Special thanks to: Tactless and dcfedor, they really helped in completing this list!

So, now I'm trying to solidify my knowledge of how everything works. I started by looking at each piece of the "itemtypes". Here's what I know:

id -A unique id
nGroupID -Id of the group in which this item is included
nSubgroupID -Id of this item within the group
strName -Mostly irrelevant to players. Used for organization.
strDesc -Name displayed ingame
strDescAlt -if nCondID is met, this description overrides strDesc
nCondID -which conditions are needed for strDescAlt and fMonetaryValueAlt to override strDesc and fMonetaryValue
vImageList -Image displayed ingame
vSpriteList -The display of items on your map sprite
vImageUsage -Check out Tactless' comment for full description and usage
fWeight -Weight of the item ingame, in kg
fMonetaryValue -How much it sells for in game at %100 condition
fMonetaryValueAlt -if nCondID is met, this value overrides fMonetaryValue
fDurability -Maximum durability the item spawns at, 1 being %100
fDegradePerHour -how much it degrades per hour, 1 being %100
fEquipDegradePerHour -How much it degrades per hour while equipped 1 being %100
fDegradePerUse -How much the item degrades when used 1 being %100
vDegradeTreasureIDs -The two treasure IDs this item will degrade into when it breaks. The first ID is if the item degrades from time, the second ID is if the item degrades from usage.
aEquipConditions -Conditions you get while it is equipped eg.(20=1, 21=1)
aPossessConditions -I'm guessing this is which conditions you get while it's in your inventory
aUseConditions -conditions you get when it's used
aCapacities -How much space it has to store items (10x10 = 100 slots)
vEquipSlots -Where you can equip this item eg.(20=0,21=0,22=0) The "=0" is optional and denotes which image from vImageList (0-based index) should be used when the item is in each slot.
vUseSlots -which windows and areas the item can be used in, 211 = use function enabled
bSocketLocked -seems mainly for GUI stuff, fixes the item in place. Used for grids. The Strangler's hood is a special example, and there is a special way to remove it.
vProperties -item properties
aContentIDs -which containertypes its container grid can hold
nFormatID -?
nTreasureID -What items this item contains (doesn't matter if you have no aCapacities I assume)
nComponentID -A treasure ID to describe the default ingredients this item wthe game needs to know what items were used to make it so it can degrade properly. overridden for items that the player crafted.
bMirrored -Should this item use a mirrored image instead of default image? (E.g. left vs. right boots)
nSlotDepth -How "deep" this item is worn on a slot. E.g. the torso can have clothes on 4 separate layers, #s 0-3. 0 is T-shirts, 1 is jackets, 2 is armor/fur, 3 is sashes. Different slots have different available depths.
strChargeProfiles -A comma-separated list of charge profile IDs this item executes when activated.
aAttackModes -I'm guessing this will give you the attack modes you specify when equipped
nStackLimit -How many items can be stacked on top of each other
aSwitchIDs -A list of other items this can turn into, via the context menu. Laptops can open/close, flashlights can turn on/off, etc.
aSounds -Which two sounds should be used for picking up or putting down this item. Due to licensing restrictions, the sounds are embedded in the game, and not moddable. So for now, you're limited to existing sounds as defined in other items.

I'll also be looking for help with the other data types soon probably, once I get itemtypes completely understood
Any help on understanding these things better is appreciated!

Edit: dcfedor changed title to make it clearer what was in thread for anyone searching. Also, un-stickying this and instead adding a link to it in the sticky entitled "NEO Scavenger Modding Documentation."

-Raph

strDescAlt - if nCondID is met, this description overrides strDesc (e.g., the specific names of pills, uncovered with Medic skill)

nCondID - lists which conditions are needed for strDescAlt and fMonetaryValueAlt to override strDesc and fMonetaryValue, respectively (e.g., player must have condition 53 [Medic skill] to ID Amoxicillin and know its monetary worth to be $50, not $0.25)

vSpriteList - depending on where the item's placed, your map sprite will reflect its location (e.g., equipping the Blue Frog Sash has Philip on the minimap wear it over his torso)

vImageUsage - there are 6 triggers for when the program loads an image, and each trigger will load the variable set up in vImageList
(e.g., the plastic shopping bag: vImageList = ItmPlasticShoppingBag.png,ItmPlasticShoppingBagStored.png
ItmPlasticShoppingBag.png is value 0, ItmPlasticShoppingBagStored.png is value 1
MODE_STORED (when the item is in a grid) = 0 (the 1-grid image)
MODE_STORED_FULL (when the item's container slots are occupied and it's in a grid) = 1
MODE_EQUIPPED (when the item is in an allowed equip slot) = 1
MODE_EQUIPPED_FULL (when the item's container slots are occupied and it's in an allowed equip slot) = 1
MODE_HELD (when the item is picked up by your cursor) = 1
MODE_HELD_FULL (when the item's container slots are occupied and it's picked up by your cursor) = 1

If you want to have different images loaded depending on where it's equipped, set MODE_EQUIPPED and MODE_EQUIPPED_FULL to 0 and code each image in vImageList to their desired equip slot in vEquipSlots instead (e.g., 20=1=1, 22=5=5, etc.).

fMonetaryValueAlt - if nCondID is met, this value overrides fMonetaryValue (e.g., with Medic skill, Amoxicillin is worth $50 instead of $0.25)

vUseSlots - which windows and areas the item can be used in
211 - use function enabled

bSocketLocked - seems mainly for GUI stuff, fixes the item in place. Used for grids. The Strangler's hood is a special example, and there is a special way to remove it.

aContentIDs - which containertypes its container grid can hold

---

That's what I have so far, will edit in the rest when I get around to it.

Dualists: one soul, two bodies. dualists.wordpress.com

Looks like Tactless has fielded a good chunk of these already. (thanks, Tactless!) Here are a few more, for reference:

strName - Mostly irrelevant to players. Used for organization.

vDegradeTreasureIDs - The two treasure IDs this item will degrade into when it breaks. The first ID is if the item degrades from time, the second ID is if the item degrades from usage.

vEquipSlots - The "=0" is optional and denotes which image from vImageList (0-based index) should be used when the item is in each slot. If unspecified, the game will try to choose.

nFormatID - This is the type of item for container purposes, as defined in "containertypes" table of neogame.xml. (Same IDs as used in aContentIDs.)

nComponentID - A treasure ID to describe the default ingredients this item would be made of if craftable. E.g. if loot contains a noise trap, the game needs to know what items were used to make it so it can degrade properly. This field describes that, and is overridden for items that the player crafted.

bMirrored - Should this item use a mirrored image instead of default image? (E.g. left vs. right boots)

nSlotDepth - How "deep" this item is worn on a slot. E.g. the torso can have clothes on 4 separate layers, #s 0-3. 0 is T-shirts, 1 is jackets, 2 is armor/fur, 3 is sashes. Different slots have different available depths.

strChargeProfiles - A comma-separated list of charge profile IDs this item executes when activated.

aSwitchIDs - A list of other items this can turn into, via the context menu. Laptops can open/close, flashlights can turn on/off, etc.

aSounds - Which two sounds should be used for picking up or putting down this item. Due to licensing restrictions, the sounds are embedded in the game, and not moddable. So for now, you're limited to existing sounds as defined in other items.

Hope this helps! I've been meaning to catalog these fields for modders for a while, but haven't gotten around to it yet. So if you're assembling this info someplace, that's very cool! PM me if you have a new batch of questions up.

Dan Fedor - Founder, Blue Bottle Games

Hate to necro but while were on this subject, can anyone tell me what vBaseConditions mean? I'm only guessing they have something to do with spawning.

I'm also curious about vEncounterIDs and nTreasureID, but I'm pretty sure nTreasueID's account for what an NPC spawns with.

Edit: After messing with vBaseConditions, I nolonger think it has anything to do with spawn points, but I now think it has stuff to do with what traits they spawn with and such, now the question is what controls spawns

In the creature profile:

- vEncounterIDs is the list of possible encounter that creature might start when it agrees to talk, so basically their dialog options

- nTreasureID is the treasure table containing their possible load-out

- nFaction is the ID of the faction they belong to

- vAttackModes is their "default" mode of attacking. Fist for humans, claws for dogmen, etc.

- vBaseConditions is the list of all available starting conditions, with a % of creature actually spawning with that condition (so 50=0.75 means that this creature has a 75% chance of spawning with a Melee skill (condition ID 50)).

- CorpseID is the ID of the treasure table containing the corpse (or any other item, really) that will show up after creature's death

Creatures spawns are controlled by a different part of the code - "creaturesources".

Example:

<table name="creaturesources"> <column name="id">4</column> <column name="strName">SE Looter</column> <column name="nX">48</column> <column name="nY">164</column> <column name="nCreatureID">2</column> <column name="nMin">1</column> <column name="nMax">4</column> <column name="fWeight">0.4</column> </table>

ID - spawn point original ID

strName - name of the spawn point, simply for modder to recognize it. Does not show in-game

nX and nY map coordinates of the spawn point, creatures will spawn more often, the closer the player is to that point on the map

nCreatureID - Id of the creature type to show up (in example above, it's Crature ID 2 - looter)

nMin and nMax - how many creatures this one spawn point can support (in this case between 1 and 4)

fWeight - the relative "strength" of this point, compared to the others. If the creature is to be spawned, and two points can supply it, the one with higher Weight most likely will. 1.0 is max.

Hope that helps!


<--Mighty (mini)Mod of Doom-->
DeviantArt Gallery of MoD Sprites

could you PLEASE sticky or pin this?

OverHaul Mod
DevKit is an upgraded BBC mod.
Improve your mods.

I've seen a few creaturesources with this:
name="nX">-1
name="nY">-1
What does the -1 mean?

-------------------------------------------------------------------------------------------------------------------------------
Cats are adorable. That's all I have to say.

Nothing ;) You it mark this way if the coordinates do not matter.


<--Mighty (mini)Mod of Doom-->
DeviantArt Gallery of MoD Sprites

aAttockmodes=it seems you can't hold arrows (and possibly everything else) in your hand if this is ignored.

aThresholds">4=99,3=-99<"/colume" this was discussed in another thread and i'm suprized it wasen't put in here. this means when a condition has been stacked 4 times then condition 99 gets applied. when it drops below that condition 99 gets removed. i am not sure if you need to add 2=-99, and 1=-99 though but possible

OverHaul Mod
DevKit is an upgraded BBC mod.
Improve your mods.

vequipslots: is also used for more than just the character. for example, 208=108. 108 is a condition that is applied to slot 208 which has something to do with campsites but i'm not exactly sure what

214 is the player in general i think

OverHaul Mod
DevKit is an upgraded BBC mod.
Improve your mods.

208 is the campsite inventory grid. 214 is the inventory grid that holds all the abilities that player chosen.


<--Mighty (mini)Mod of Doom-->
DeviantArt Gallery of MoD Sprites

what is "vCondIDs" under hextypes line 95304

OverHaul Mod
DevKit is an upgraded BBC mod.
Improve your mods.

Please do not give a line number in the code - it tells nothing really, since almost every version of the game moves things around. For me, the line 95304 is "table name="forbiddenhexes".

But I'm guessing you are asking about the vCondID part in the hextypes. It is simply indicating an ID of a conditionton to be applied on the character as long as he is on the hex - the Black Swamp being the prime example. When you are standing on a swamp hex, a condition ID 618 (Defoliant Exposure 0) is applied on the character. If he moves away, the condition also goes away.


<--Mighty (mini)Mod of Doom-->
DeviantArt Gallery of MoD Sprites

under itemtypes there is this "aPossessConditions". i am making a new trait, and i noticed all traits in-game have this property decked out in slots

<column name="aPossessConditions">213=61,214=61,215=61,216=61,217=61,218=61,219=61,220=61,221=61,222=61,223=61,224=61,225=61,226=61,227=61,228=61,229=61,230=61,231=61,232=61</column>

what would happen if i made a new trait that just had 214=conditionX

OverHaul Mod
DevKit is an upgraded BBC mod.
Improve your mods.

What do the name prefixes mean, and are they explicit limits (i.e. b means one Boolean value, and there will never be an array of Boolean values)

nGroupID -Id of the group in which this item is included
nSubgroupID -Id of this item within the group

n: does that signify an integer? Can you have arrays of integers?

vImageList -Image displayed ingame
vSpriteList -The display of items on your map sprite
vImageUsage -Check out Tactless' comment for full description and usage

v seems to indicate a string?

fWeight -Weight of the item ingame, in kg
fMonetaryValue -How much it sells for in game at %100 condition
fMonetaryValueAlt -if nCondID is met, this value overrides fMonetaryValue
fDurability -Maximum durability the item spawns at, 1 being %100

float?

vDegradeTreasureIDs -The two treasure IDs this item will degrade into when it breaks. The first ID is if the item degrades from time, the second ID is if the item degrades from usage.

how does the v prefix match with an array of integers?

aEquipConditions -Conditions you get while it is equipped eg.(20=1, 21=1)
aPossessConditions -I'm guessing this is which conditions you get while it's in your inventory
aUseConditions -conditions you get when it's used

a indicate an array?

bSocketLocked

b's are Boolean, and only have one value?

**edit**
I ask as I am trying to make a tool to display the game data in a more user friendly format, and I am parsing all of the xml data, and if I can count on certain fields being only single numbers then I can have that field be an integer rather than a string that requires further parsing.

"aPossessConditions" for itemtypes, does anyone have the info on how many slots there and which slots do what? is 200 the ground?

OverHaul Mod
DevKit is an upgraded BBC mod.
Improve your mods.

Here you go!
http://bluebottlegames.com/main/node/4418


<--Mighty (mini)Mod of Doom-->
DeviantArt Gallery of MoD Sprites

ah thanks, i didn't connect "item slots" with aPossescondition

OverHaul Mod
DevKit is an upgraded BBC mod.
Improve your mods.