Tile Effects

You can create special tiles on your map that trigger a wide range of effects depending a condition such as an healing or burning tile.

Tile effects are created in this section Lecode.S_TBS.Config.Tile_Effects of the configuration file and they are identified by a region ID. The format is:

REGION_ID: {
    "trigger1, trigger2,...": {
        skill_effects: SKILL_ID,
        play_anim: ANIM_ID,
        aoe: "SCOPE DATA",
        stop_movement: true / false,
        wait: VALUE
    },
    "trigger3,...": {
        skill_effects: SKILL_ID,
        play_anim: ANIM_ID,
        aoe: "SCOPE DATA",
        stop_movement: true / false,
        wait: VALUE
    },
    ...
},

There are many ways to trigger a tile effect. A trigger can be one of the following key words:

  • turn_start : effects are triggered when a battler starts his turn on the tile
  • turn_end : effects are triggered when a battler ends his turn on the tile
  • entering : when a battler step on the tile
  • leaving : when a battler step out the tile

The effects triggered are those of the designated skill. An animation can be played at that time too. The size of the special tile is always a single cell, but the property aoe defines the AoE of the effects. So if the AoE is wide, a single battler who triggers it can also affect nearby battlers.

You can make a battler immune to specifics tile effects with the tag immune_to_tile_effects: region_id1, region_id2, ....

Examples

50: {
    "entering,turn_start,turn_end": {
        skill_effects: 50,
        play_anim: true,
        aoe: "circle(0)",
        stop_movement: true,
        wait: 40
    }
},

51: {
    "entering": {
        skill_effects: 51,
        play_anim: true,
        aoe: "circle(0)",
        stop_movement: true,
        wait: 40
    },
    "leaving": {
        skill_effects: 52,
        play_anim: true,
        aoe: "circle(0)",
        stop_movement: false,
        wait: 40
    }
},

52: {
    "entering": {
        skill_effects: 50,
        play_anim: true,
        aoe: "circle(2)",
        stop_movement: true,
        wait: 40
    }
},

Marks

A mark is like a special tile, but is considered as an object. Hence it can be laid manually and multiple times on the map. Each mark is bound to its caster. Hence, a in the effects formula refers to the caster.

They are created in the Lecode.S_TBS.Config.Marks section. The format is:

"ID": {
    body_anim: ANIM_ID,
    disappearing_anim: ANIM_ID,
    size: "SCOPE DATA",
    triggers: {
        "trigger1, trigger2,...": {
            stop_movement: false / false,
            skill_effects: SKILL_ID,
            effects_aoe: "SCOPE DATA"
        },
        "trigger3,...": {
            stop_movement: false / false,
            skill_effects: SKILL_ID,
            effects_aoe: "SCOPE DATA"
        }
    },
    max: VALUE,
    max_triggers: VALUE,
    duration: [NBR_TURN, "WHEN"]
},

Unlike special tiles, a mark have a custom size. max_triggers is an optional property. If used, the mark is removed once the number of triggers reaches this number. Traps for example are removed right away after the release. Hence, max_triggers: 1. The property max defines the maximum number of mark of the same ID that can be laid at the same time. The property duration defines the duration of the mark in number of turns. "WHEN" is the occasion when the lifetime of the mark is decreased. It can be turn_end or turn_start and is based on the caster’s turn.
Marks share the same triggers with special tiles, but there are in addition:

  • caster_turn_start : The mark is triggered when the caster starts his turn
  • caster_turn_end : When the caster ends his turn stepping: When a battler is moving inside the mark area.

You can call any mark in your sequences with the instruction mark: ID, cells. A mark will be summoned for each cell.

A battler can be immuned to specifics marks with the tag immune_to_marks: mark_id1, mark_id2, ....

Examples

"explosive_mark": {
    body_anim: 139,
    disappearing_anim: 140,
    size: "square(1)",
    triggers: {
        "turn_end": {
            stop_movement: false,
            skill_effects: 32,
            effects_aoe: "circle(0)"
        }
    },
    max: 1,
    duration: [3, "turn_end"]
},

"volcano_cell": {
    body_anim: 143,
    size: "circle(0)",
    triggers: {
        "stepping, turn_start, turn_end": {
            stop_movement: false,
            skill_effects: 24,
            effects_aoe: "circle(0)"
        }
    },
    duration: [3, "turn_end"]
},

"magic_trap": {
    body_anim: 145,
    disappearing_anim: 146,
    size: "circle(0)",
    triggers: {
        "stepping": {
            stop_movement: true,
            skill_effects: 36,
            effects_aoe: "circle(0)"
        }
    },
    max_triggers: 1,
    duration: [100, "turn_end"]
},

Auras

Auras are bound to a battler and affect nearby entities based on the aura’s area. Auras only apply states. The states are removed right away when the battler is no longer in the area of the aura.

They are created in the Lecode.S_TBS.Config.Aura section. The format is:

"ID": {
    size: "SCOPE DATA",
    affect_caster: false / true,
    target_type: "string",
    states: [STATE_ID1, STATE_ID2, ...],
    trigger_anim: ANIM_ID
}

Replace type with “enemy”, “ally” or “all” to define which type of entity the aura targets. states is an array of state ID.

To bind an aura to a battler, use the tag aura: ID inside states, equipments, actors or enemy’s notebox.