FISSION Quest Modding Mini-Guide
Add a Quest to Your Existing Location Mod
This guide assumes you have a working mod folder (e.g., mods/mod_mytown.dat/ from the Quick Start Guide). You’ll add a simple quest that appears in the Pip‑Boy.
1. What You Need
Your existing mod folder: mods/mod_mytown.dat/. (a folder for development, compress into actual .dat for release)
You will create two new files:
data/quests_mytown.txt– defines quest metadatatext/english/game/quests_mytown.msg– provides quest description text
2. Create the Quest Definition File
File: mods/mod_mytown/data/quests_mytown.txt
Format: location, description, gvar, displayThreshold, completedThreshold
1500, 0, 79, 1, 2
Fields explained:
location(e.g.,1500) – The area index of the location this quest belongs to. Find this number indata/lists/area_list.txtunder the “Slot” column for your area.description(e.g.,0) – Ignored – FISSION auto‑generates the description ID from the.msgfile.gvar(e.g.,79) – Global variable used to track quest state (choose any unused GVAR).displayThreshold(e.g.,1) – Minimum quest state to show in Pip‑Boy (1= unstarted/available).completedThreshold(e.g.,2) – Quest state at which it’s considered completed (2= finished).
Tip: You can find your area’s
locationID indata/lists/area_list.txtafter running the game once.
3. Create the Quest Message File
File: mods/mod_mytown/text/english/game/quests_mytown.msg
{0}{}{Find the Lost Artifact}
- The
{0}is the description ID – FISSION automatically links this to your quest definition. - The text will appear in the Pip‑Boy quest list.
If you want multiple quests, add more entries:
{0}{}{Find the Lost Artifact}
{1}{}{Rescue the Trader}
Each quest in quests_mytown.txt gets one description, in the same order.
4. Update Your Mod Folder Structure
Add the two new files:
mods/mod_mytown/
├─ data/
│ ├─ city_mytown.txt (existing)
│ ├─ maps_mytown.txt (existing)
│ ├─ quests_mytown.txt <- NEW
│ └─ MAPS/
│ └─ mytown1.map (existing)
└─ text/
└─ english/
└─ game/
├─ map_mytown.msg (existing)
├─ worldmap_mytown.msg (existing)
└─ quests_mytown.msg <- NEW
5. Test Your Quest
- Run the game and load your save (or start a new game).
- Open the Pip‑Boy (
Pkey) and go to the Quests tab. - You should see “Find the Lost Artifact” (or your custom text).
If it doesn’t appear, check:
data/lists/quests_list.txt– your quest should be listed there.- Global variable
79– you can set it to1via script or debug to mark the quest as active.
6. Controlling Quest State from Scripts
Use the following script functions (in your map or global scripts):
| Action | Script Code | Global Var Value |
|---|---|---|
| Start quest | set_global_var(GVAR, 1) |
1 |
| Complete quest | set_global_var(GVAR, 2) |
2 |
| Fail quest | set_global_var(GVAR, 3) |
3 |
| Check if active | get_global_var(GVAR) == 1 |
– |
| Check if complete | get_global_var(GVAR) == 2 |
– |
Where GVAR is the number you chose in the gvar field of quests_mytown.txt.
Example script snippet (standard Fallout 2 script syntax):
// Start the quest
set_global_var(79, 1);
// Complete the quest
set_global_var(79, 2);
// Fail the quest
set_global_var(79, 3);
// Check quest state
if (get_global_var(79) == 2) then
// Quest is complete
endif
Finding quest_id:
After running the game once, check data/lists/quests_list.txt. Each quest has a generated ID (e.g., 5000). Use that number in your scripts.
Example script snippet:
// Start the quest when player enters a certain area
set_global_var(5000, 1);
7. Notes
Quest descriptions are not editable per quest state – they remain the same whether the quest is active or completed.
You can reuse the same global variable across multiple quests if you manage states carefully, but it’s safer to use a unique GVAR for each quest.
The location field is only for grouping quests under a specific area in some tools; it doesn’t affect gameplay.
Now your location mod has a working quest! Combine with scripts to give the player objectives and rewards.