ActorInfo.product.sbyml
ActorInfo.product.sbyml (found in the Actor directory) is a Yaz0-compressed BYML file which contains general information about all actors in the game. It is used when constructing actors, and also used to access actor data efficiently when loading the full actor pack is unnecessary (e.g. on menu screens). Therefore, in order to add new actors, or to change items' parameters on menu screens, this file must be edited.
ActorInfo is a machine generated file. It is not meant to be edited directly; much of the information it includes are either automatically generated or copied from ActorParam files (which can be found in the game content) and other source-only files.
Contents
Actors
Actors is an array of dictionaries. It must be sorted in the same order as the Hashes section.
Each actor has its own entry in this array. Each entry has several properties, based on the actor's profile. The following is a list of valid entries for any profile. Any single profile will not require all of these properties.
Key | Type | Description | Source |
---|---|---|---|
aabbMax | float | Defines the maximum point for the axis-aligned bounding box (AABB) - the most-positive value on each axis that any of the actor's model's vertices inhabits. These values may (and probably do) come from three different vertices.
|
sbfres, vertex coordinates |
aabbMin | float | Defines the minimum point for the axis-aligned bounding box (AABB) - the most-negative value on each axis that any of the actor's model's vertices inhabits. These values may (and probably do) come from three different vertices.
|
sbfres, vertex coordinates |
actorScale | float | Multiplier applied to the values of each vertex's coordinates (makes the actor's model larger or smaller) | sbactorpack, ActorLink, ActorScale param |
armorDefenceAddLevel | int | The amount of armor added when this actor is equipped as armor | sbactorpack, bgparamlist, Armor section, DefenseAddLevel param |
armorEffectAncientPowUp | bool | Whether the AncientPowUp (increased damage from ancient weapons) effect is provided by this actor when it is equipped as armor | sbactorpack, bgparamlist, ArmorEffect section, AncientPowUp param |
armorEffectEffectLevel | int | The number of levels of the actor's EffectType that are provided when this actor is equipped as armor | sbactorpack, bgparamlist, ArmorEffect section, EffectLevel param |
armorEffectEffectType | str | The EffectType granted by the actor when it is equipped as armor | sbactorpack, bgparamlist, ArmorEffect section, EffectType param |
armorEffectEnableClimbWaterfall | bool | Whether or not this actor grants the ability to climb waterfalls when it is equipped as armor | sbactorpack, bgparamlist, ArmorEffect section, EnableClimbWaterfall param |
armorEffectEnableSpinAttack | bool | Whether or not this actor grants the ability to perform spin attacks while swimming, when it is equipped as armor | sbactorpack, bgparamlist, ArmorEffect section, EnableSpinAttack param |
armorHeadMantleType | int | - | sbactorpack, bgparamlist, ArmorHead section, MantleType param |
armorNextRankName | str | Name of the actor that this can be upgraded to, by the Great Fairies | sbactorpack, bgparamlist, Armor section, NextRankName param |
armorStarNum | int | Number of stars to display in the inventory, plus 1 (e.g. armorStarNum: 1 will display 0 stars) | sbactorpack, bgparamlist, Armor section, StarNum param |
armorUpperDisableSelfMantle | bool | - | sbactorpack, bgparamlist, ArmorUpper section, DisableSelfMantle param |
armorUpperUseMantleType | int | - | sbactorpack, bgparamlist, ArmorUpper section, UseMantleType param |
attackPower | int | The amount of damage this actor does when used to attack as a weapon | sbactorpack, bgparamlist, Attack section, Power param |
bfres | str | Name of the (s)bfres file that stores this actor's model | sbactorpack, bmodellist, ModelData list, ModelData_0 list, Base object, Folder param |
boundingForTraverse | float | - | - |
bugMask | int | Affects the ActorDebug interface and probably more things in debug builds. | Not found outside ActorInfo.product |
cursorOffsetY | float | How much up or down another character actor must tilt their head to look at this actor when this actor has their attention (typically, when Link or an NPC is looking at the actor) | sbactorpack, bmodellist, Attention section, CursorOffsetY param |
elink | str | Determines the name of the actor's entry in the Elink2DB file, used for effects | sbactorpack, ActorLink, ElinkUser param |
generalLife | int | The amount of health this actor has | sbactorpack, bgparamlist, General section, Life param |
instSize | int | Size of the memory heap that will be allocated for an actor instance — if too low, may cause unexpected crashes | - |
isHasFar | bool | Whether or not a separate actor exists, with the same name but with _Far appended, that is used to replace this actor when it is far away | Presence of a separate actor with the _Far name |
itemBuyingPrice | int | Price when buying the actor from a shop | sbactorpack, bgparamlist, Item section, BuyingPrice param |
itemCreatingPrice | int | Price when creating the actor using the ancient oven | sbactorpack, bgparamlist, Item section, CreatingPrice param |
itemSaleRevivalCount | int | - | sbactorpack, bgparamlist, Item section, SaleRevivalCount param |
itemSellingPrice | int | Price when selling the actor to a shop | sbactorpack, bgparamlist, Item section, SellingPrice param |
itemStainColor | int | Index of the color that this actor will dye an armor when used as an ingredient in the dye shop | sbactorpack, bgparamlist, Item section, StainColor param |
itemUseIconActorName | str | The name of the actor whose icon this actor will use when displayed in the inventory. If empty, the actor will use the icon with its own name | sbactorpack, bgparamlist, Item section, UseIconActorName param |
mainModel | str | Name of the model inside the (s)bfres file for this actor | sbactorpack, bmodellist, ModelData list, ModelData_0 list, Unit list, Unit_0 object, UnitName param |
name | str | Actor name | sbactorpack, ActorLink, Name param (and several other places) |
normal0ItemName%02d | str | Names of the actors which are required to upgrade to this actor at a Great Fairy. Corresponds to normal0ItemNum%02d of the same number. | sbactorpack, brecipe, Normal0 table, ItemName%02d params |
normal0ItemNum%02d | int | Quantities of the actors which are required to upgrade to this actor at a Great Fairy. Corresponds to normal0ItemName%02d of the same number. | sbactorpack, brecipe, Normal0 table, ItemNum%02d params |
normal0ItemStuffNum | int | Number of unique actors required to upgrade to this actor at a Great Fairy | sbactorpack, brecipe, Normal0 table, ColumnNum param |
profile | str | Profile name (see ActorTemplate) | sbactorpack, ActorLink, Profile param |
seriesArmorEnableCompBonus | bool | Whether or not this armor counts toward providing its seriesArmorSeriesType bonus | sbactorpack, bgparamlist, SeriesArmor section, EnableCompBonus param |
seriesArmorSeriesType | str | The set bonus that this actor will provide, when equipped with two other actors that have the same seriesArmorSeriesType | sbactorpack, bgparamlist, SeriesArmor section, SeriesType param |
slink | str | Determines the name of the actor's entry in the Slink2DB file, used for effects | sbactorpack, ActorLink, SlinkUser param |
sortKey | int | Determines the order of the actor in the Picture Book and inventory (0 if not needed) | Not found outside ActorInfo.product |
systemIsGetItemSelf | bool | Whether or not this object actor gives an item actor of the same name when activated (used to give Link an Item_Arrow when activated an Obj_Arrow in vanilla) | sbactorpack, bgparamlist, System section, IsGetItemSelf param |
systemSameGroupActorName | str | - | sbactorpack, bgparamlist, System section, SameGroupActorName param |
tags | dict | A dictionary with entries of the form (key=tag%08x, value=crc32_hash) where %08x is the hex representation of the CRC32 hash of the tag name. The value is an unsigned int if it is greater than 0x80000000 and a regular int otherwise. | sbactorpack, ActorLink, Tags section |
terrainTextures | array | An array with entries of the form (value=crc32_hash) which is an unsigned int if it is greater than 0x80000000 and a regular int otherwise. | - |
traverseDist | float | - | - |
yLimitAlgorithm | str | See blifecondition. This might not be a required entry. [check] | sbactorpack, blifecondition, YLimitAlgorithm param |
Hashes
Hashes is an array of CRC32 hashes of actor names.
This array must be sorted because ActorInfoData performs a binary search on this array to find actor entries efficiently. As a direct consequence the actor array must be sorted according to the CRC32 hashes of the actor names.
Similar to tag values, each number is stored as an unsigned int if it is greater than 0x80000000 and as a signed int otherwise.