TOTAL WAR WIKI

TWW Assembly Kit Terry Quest Battle

Contents

Requirements

Pre-Requisite Knowledge

  • A basic understanding of how to use the TW Assembly kit is required.
    • How to boot TWeak
    • How to edit & export database tables.
    • How to compile a mod.pack using Bob.
    • How to browse/extract CA pack file assets.
    • How to use external pack viewing tools to combine mod pack data.
    • When you create a mod pack any file used in the pack file will automatically override the one shipped with the game.
      • This can often result in the game failing to load or poor stability. If this occurs its advised you review the mod files to ensure they are all present and correctly edited.

Basic quest battle structure

In TW Warhammer a quest battle is made up of multiple sets of data stored in various locations. Some of the main data elements are:

  • Various database files containing variables used to setup the battle.
    • Army compositions.
    • Generals & Heroes used.
    • Front end entries.
    • Text descriptions, including objectives & subtitles.
    • A Battlefield tile where the battle will be fought. This contains:
      • Terrain data.
      • Battlefield logic setup.
      • Environment settings.
      • A script lua file containing basic battle scripting & message timings.
        • Covers display of objectives.
        • Covers display of hints/notifications.
        • Covers reinforcement timings.

DB tables required for custom quest battle creation

  • battle_set_piece_armies
  • battle_set_piece_armies_characters
  • battle_set_piece_armies_characters_junctions
  • battle_set_piece_armies_junctions
  • battle_set_piece_armies_units_junctions
  • battle_set_piece_frontend_groups
  • battle_set_piece_frontend_groups_to_characters
  • battle_set_pieces
  • missions
  • scripted_objectives
  • scripted_subtitles

Additional files required for custom quest battles.

1. Weather environment file

2. Terrain files

3. Battle_script.lua file

Creation

Basic steps to make a playable quest battle.

  • Boot TWeak and select Dave plugin.
  • Open “battle_set_pieces” db table.
    • Select to “Add Record” in “battle_set_pieces” table.
      • Select & copy entire row of existing row as a template.
      • Paste copied row into new record fields. (note battle_name will not be copied.)
      • Add a custom unique battle_name key. (wh_qb_tutorial_battle_1)
        • You can modify the other columns as you with to make it more unique.
    • Select “Apply and Close”


  • Open “battle_set_piece_armies_characters” db table.
    • Select to “Add Record” in “battle_set_piece_armies_characters” table.
      • Select & copy entire row of existing row as a template.
      • Paste copied row into new record fields. (note character_name will not be copied.)
      • Add a custom unique character_name key. (wh_qb_tutorial_battle_1_player)
    • Select to “Add Record” in “battle_set_piece_armies_characters” table.
      • Select & copy entire row of existing row as a template.
      • Paste copied row into new record fields. (note character_name will not be copied.)
      • Add a custom unique character_name key. (wh_qb_tutorial_battle_1_defender)
        • You can modify the other columns as you with to make it more unique.
    • Select “Apply and Close”


  • Open “battle_set_piece_armies” db table.
    • Select to “Add Record” in “battle_set_piece_armies” table.
      • Select & copy entire row of existing row as a template.
      • Paste copied row into new record fields. (note army_name will not be copied.)
      • Add a custom unique army_name key. (can match character_name key) (wh_qb_tutorial_battle_1_player)
    • Select to “Add Record” in “battle_set_piece_armies” table.
      • Select & copy a different entire row of existing row as a template.
      • Paste copied row into new record fields. (note army_name will not be copied.)
      • Add a custom unique army_name key. (wh_qb_tutorial_battle_1_ai)
        • You can modify the other columns as you with to make your entries more unique.
      • Select “Apply and Close”


  • Open “battle_set_piece_armies_characters_junctions” db table.
    • Select to “Add Record” in “battle_set_piece_armies_characters_junctions” table.
      • In the “army_name” column select your army entry “wh_qb_tutorial_battle_1_player”
      • In the “character_name” column select your army entry “wh_qb_tutorial_battle_1_player”
    • Select to “Add Record” in “battle_set_piece_armies_characters_junctions” table.
      • In the “army_name” column select your army entry “wh_qb_tutorial_battle_1_ai”
      • In the “character_name” column select your army entry “wh_qb_tutorial_battle_1_defender”
    • Select “Apply and Close”


  • Open “battle_set_piece_armies_junctions” db table.
    • Select to “Add Record” in “battle_set_piece_armies_junctions” table.
      • In the “battle_name” column select your quest battle entry “wh_qb_tutorial_battle_1”
      • In the “army_name” column select your army entry “wh_qb_tutorial_battle_1_player”
    • Select to “Add Record” in “battle_set_piece_armies_junctions” table.
      • In the “battle_name” column select your quest battle entry “qb_tutorial_battle_1”
      • In the “army_name” column select your army entry “wh_qb_tutorial_battle_1_ai”
    • Select “Apply and Close”


  • Open “battle_set_piece_frontend_groups” db table.
    • Select to “Add Record” in “battle_set_piece_frontend_groups” table.
      • Add a custom unique key to the key column. (wh_qb_tutorial_battle_1_player)
      • Change the set_order column to be -1 for your entry.
    • Select “Apply and Close”


  • Open “battle_set_piece_frontend_groups_to_characters” db table.
    • Select to “Add Record” in “battle_set_piece_frontend_groups_to_characters” table.
      • In the “frontend_group” column select your battle_set_piece_frontend_groups entry “wh_qb_tutorial_battle_1_player”.
      • In the “character” column select your “battle_set_piece_armies_characters” entry “wh_qb_tutorial_battle_1_player”.
    • Select “Apply and Close”
  • Open “missions” db table.
    • Select to “Add Record” in “missions” table.
      • Select & copy entire row of existing row as a template.
      • Paste copied row into new record fields. (note key will not be copied.)
      • Add a custom unique key. (wh_qb_tutorial_battle_1)
      • Change the “set_peice_battle” to be your entry. (wh_qb_tutorial_battle_1)
    • Select “Apply and Close”


Next Steps

Now you have a new Quest Battle added to the front end list you can…

  • [battle_set_pieces] Change the battle name and description to personalise your quest.
    • Change “localised_name”
    • Change “localised_description”
    • [missions] Change the frontend map marker.
      • location_x
      • location_y