Skip to content

Element Sheet

The Element Sheet is stored inside the Game sheet. It should be the first tab visible. Basically, all attributes/skills/feats/spells/abilities are stored here.

When making source sheets, you must copy the first 3 rows of the official source sheet completely and start your data at the 4th row.

About columns, empty rows and empty cells

Missing columns are silently filled with empty values with no error at all — so copy the whole official header row and do not delete columns or change their order.

A row with an empty id aborts the rest of the sheet, every row after it is skipped, again with no warning. Do not use blank rows to group your data unless intentionally.

An empty cell is not an empty value — the game falls back to the default on row 3. This sheet defaults type to Element, chance to 1000, encFactor to 100, mtp to 1, LV to 1, cost to 0, geneSlot to 1, eleP to 50, charge to 10 and radius to 5.

You can change your default row 3 values to apply it to all other rows. Your data should start at the 4th row.

Sheet Columns

ColumnTypeDescription
idintUnique identifier for the element. If the ID matches a vanilla or another mod's entry, the last sheet loaded overrides all previous ones. Cannot contain spaces or special characters.
aliasstringString alias for this element. Usually the ID is preferred for access, but this provides a string representation. Used by the other aliasX columns below.
name_JPstringDisplay name in Japanese.
namestringDisplay name in English. Other languages use SourceLocalization.
altname_JPstringComma-separated list of alternative Japanese adjectives for this element. Mostly used for magical elements (e.g., Fire → red, burning).
altnamestringComma-separated list of alternative English adjectives for this element. Mostly used for magical elements (e.g., Fire → red, burning).
aliasParentstringAlias of a parent element. See aliasParent below.
aliasRefstringAlias of a reference element. See aliasRef below.
aliasMtpstringAlias of the element that acts as a multiplier for this row (e.g., life is multiplied by r_life).
parentFactorfloatMultiplier used in calculations for this element (potential, spell power scaling, etc.).
lvFactorintValue used in element-related calculations.
encFactorintValue used when calculating this element for enchantments (e.g., random gear generation).
encSlotstringComma-separated list of equipment slots this skill/enchantment can appear on. Examples: weapon, all, shield, back, finger, waist, head.
mtpintInteger used in element calculations.
LVint"Level" of this element. See LV below.
chanceintSpawn chance weight. 1000 = common; lower values = rarer; 0 = never spawns naturally.
valueintItem value modifier specific to this element (e.g., spellbook of a spell, skillbook of a skill).
costint[]For spells and abilities: the base cost before scaling with level.
geneSlotintNumber of gene slots this skill/feat/spell/ability occupies when gene editing. -1 excludes it from the gene engineering pool entirely.
sortintSort weight. Mostly used for abilities and spells to determine order in the spell/ability list.
targetstringFor abilities and spells only. See Target below.
procstring[]One or two comma-separated strings. For abilities and spells only. See Proc below.
typestringThe C# class this element uses. Common values: Element, Ability, Spell, Feat. Critical for modding: point this at your own custom class name (e.g., MyCustomFeat or ActMyCustomAbility).
groupstringBroad category of the element. See Group below.
categorystringSub-category of the element. Somewhat overlaps with group.
categorySubstringFurther sub-classification. Used for Skills, Land Feats, Feats, Elemental attacks, Abilities, and Spells.
abilityTypestring[]For abilities and spells: stores information about the kind of effect, used by the Combat AI.
tagstring[]Various tags applied to the element. Controls where spells appear, whether invisibility is maintained after use, domain associations, negative/positive effect classification, etc.
thingstringSpace-separated letters for spells only: B = Spellbook, S = Scroll, R = Rod. Dictates which item forms the spell can appear in.
elePintBase elemental power. Used primarily for elemental spells/abilities when calculating elemental debuffs.
cooldownintCooldown applied to the character after using this element, in turns.
chargeintBase charges granted when acquiring this spell (e.g., reading a Fire Ball book grants 10 charges + bonuses).
radiusfloatRadius of the spell or ability (e.g., Bolts use 99 to hit everything along the line to the horizon).
maxintFor feats: the maximum level attainable (e.g., Metal goes up to 999).
reqstring[]For feats and skills: prerequisite elements or element levels required to unlock (e.g., Dream Waker requires the Casting skill).
idTrainerstringFor skills teachable by trainers: which trainer type teaches this skill.
partySkillintBoolean (0 = false, 1 = true). Dictates whether the ability can be used on the entire party.

aliasParent

The aliasParent column points to the alias of a parent element. It serves several purposes:

  • Maps a magical element to its parent attribute (e.g., Fire → MAG, Holy → WIL).
  • Maps resistance elements to their source magic element (e.g., resFireeleFire).
  • Maps positive mutations to their negative counterparts (e.g., Lithe Leg → Twisted Legs).
  • Maps abilities and spells to their parent attribute for calculations (e.g., Swarm → DEX, Bladestorm → STR).

aliasRef

The aliasRef column points to the alias of a reference element. It serves several purposes:

  • For multiplier elements (e.g., r_life, r_mana, r_DV, r_PV): points at the element being multiplied.
  • For magical elements (e.g., eleFire): points at the corresponding resistance element (e.g., resFire).
  • For abilities/spells (e.g., Suicide Bomb): points at the damage element (e.g., eleImpact).
  • mold is a special alias used to generate spells for all magical elements (e.g., breathe_ + mold generates breathe_fire, breathe_cold, etc.).

LV

The LV column determines the "level" of this element:

  • Spells: Dictates spawn requirements. Earthquake is level 20, Meteor is level 30 — much harder to find at low-level spell vendors than Fire Ball (level 15).
  • Enchantments: Dictates the danger level needed for them to spawn. Resist fire/cold/lightning are easy to find at level 15, while resist cut and impact are much higher at 100 and 200 respectively.

Target

For abilities and spells only. Determines how the action is used:

ValueDescription
SelfTargets the caster. Activated on click (e.g., Ball spells).
GroundTargets an empty tile (e.g., Flare spells).
NeighborTargets an adjacent character (e.g., Hand spells).
CharaTargets a specific character within range (e.g., Arrow spells).
PartyTargets the entire party (e.g., Absorb Mana).
SelfPartyApplies to the player party. Used for inventory-targeting spells (e.g., enchant weapon/armor, identification) — brings up a selection screen after casting.
SelectCan target either self or a specific character (e.g., Healing spells).
EnemyCan only target hostile characters.

Proc

For abilities and spells only. Can be one string or two comma-separated strings. Has multiple uses:

  • Buffs/Debuffs: Tells the Combat AI what condition is applied. For example, Nature's Embrace has Buff,ConHOT — the AI will skip this ability if the entire party already has ConHOT.
  • Vanilla abilities/spells: Acts as the EffectId string in the ActEffect class (e.g., Breathe maps to EffectId.Breathe).
  • Summon spells/abilities: Starts with Summon, followed by the character ID of the summoned entity (e.g., Summon,monster for SpSummonMonster). Note: summon scaling and elemental type handling still involves hardcoded logic in the ActEffect class, so adding new summon spells may not be straightforward.

Group

Elements in Elin cover many categories. The group column is generally self-explanatory:

GroupDescription
ELEMENTCard elements
SLOTBody parts
SKILLSkills
ENCEnchantments
FOODFood effects
DOMAINReligious domains
FEATFeats
MUTATIONMutations
FACTIONFaction skills (scalable, e.g., Fertility)
POLICYFaction policies (toggle on/off, e.g., Weed Pulling Campaign)
ABILITYAbilities (Bladestorm, Dream Larva; usually cost stamina)
SPELLSpells

tagTrainer

string
Seems to be deprecated.

levelBonus_JP

string
A description that shows information on extra bonuses provided by this element in Japanese (e.g. the Shield Skill gives extra effects at level 5 and 10.)

levelBonus

string
A description that shows information on extra bonuses provided by this element in English (e.g. the Shield Skill gives extra effects at level 5 and 10.)

foodEffect

string[]
Points at elements that get applied when an item that has this element is consumed (e.g. eating items with the "cat" element will cause a karma loss. Don't eat cats.)

note

string
The game does not read this column (row 2 has no type on it). Use it for notes inside the sheet.

langAct

string[]
Points at an entry in the langGeneral to change what text is shown when using this ability.

detail_JP

string
The details of this element in Japanese.

detail

string
The details of this element in English.

textPhase_JP

string
Flavor text in Japanese. This will show extra data when hovering over the element and can be separated with \n to add extra lines for multi-stage feats.

textPhase

string
Flavor text in English. This will show extra data when hovering over the element and can be separated with \n to add extra lines for multi-stage feats.

textExtra_JP

string
More Flavor text in Japanese. For feats, this string in this column is shown to the right of the textPhase flavor text as well as under the textPhase flavor text when hovering.

textExtra

string
More Flavor text in English. For feats, this string in this column is shown to the right of the textPhase flavor text as well as under the textPhase flavor text when hovering.

textInc_JP

string
In the rare case of gaining a specific element, this Japanese text is shown in in the message log. (e.g. becoming a cannibal.)

textInc

string
In the rare case of gaining a specific element, this Japanese text is shown in in the message log. (e.g. becoming a cannibal.)

textDec_JP

string
Opposite of textInc_JP, when losing a specific element.

textDec

string
Opposite of textInc, when losing a specific element.

textAlt_JP

string[] TODO: Need validation This kind of feels like it duplicates the data found in langList, where it adds extra names for specific levels of a trait in Japanese.

textAlt

string[]
TODO: Need validation This kind of feels like it duplicates the data found in langList, where it adds extra names for specific levels of a trait in English.

adjective_JP

string[]
Appears to be Deprecated

adjective

string[]
Appears to be Deprecated

This project is an unofficial documentation site and is not affiliated with, endorsed by, or associated with Elin or Lafrontier / Noa. All trademarks are the property of their respective owners.