From 5dd8e6fff9d66ecbfb07889370aa5cdb2bfa452c Mon Sep 17 00:00:00 2001 From: Gabriel Kaszewski Date: Sun, 24 Aug 2025 02:32:21 +0200 Subject: [PATCH] Update README.md; enhance modding instructions and add new event creation guidelines --- README.md | 148 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 83 insertions(+), 65 deletions(-) diff --git a/README.md b/README.md index ce8b32d..91e4dce 100644 --- a/README.md +++ b/README.md @@ -28,85 +28,103 @@ Unlock new ages of technology, build a network of cities, and perform the final, * **Strategic Resource Management** Balance the generation of multiple resources and make difficult choices. Will you sacrifice followers to purge corruption, or push for industrial growth at any cost? -## Modding Your Universe +## **Modding Your Universe** -This game was built from the ground up to be modified. You can add new miracles, change existing ones, and even define new visual tiers for your civilization. +This game was built from the ground up to be modified. You can add new miracles, create random events, and even define new visual tiers for your civilization. -### Finding the Mods Folder +### **Finding the Mods Folder** -First, you need to find the game's `user data` directory. The game will create a `Mods` folder here on its first launch. +First, you need to find the game's user data directory. The game will create a Mods folder here on its first launch. -* **Windows:** `%APPDATA%\Godot\app_userdata\ParasiticGod\Mods\` -* **macOS:** `~/Library/Application Support/Godot/app_userdata/ParasiticGod/Mods/` -* **Linux:** `~/.local/share/godot/app_userdata/ParasiticGod/Mods/` +* **Windows:** %APPDATA%\\Godot\\app\_userdata\\ParasiticGod\\Mods\\ +* **macOS:** \~/Library/Application Support/Godot/app\_userdata/ParasiticGod/Mods/ +* **Linux:** \~/.local/share/godot/app\_userdata/ParasiticGod/Mods/ -Inside, you'll find two folders: `Miracles` and `Tiers`. +Inside, you'll find three folders: Miracles, Tiers, and Events. The game also loads a set of base mods from its installation directory (res://Mods), and any files you place in the user folder will be added to or will override the base game's content. -### Creating a New Miracle +### **Creating a New Miracle** -To add a new miracle, simply create a new `.json` file in the `Mods/Miracles` folder. The filename will be its unique **ID** (e.g., `my_cool_miracle.json`). +To add a new miracle, simply create a new .json file in the Mods/Miracles folder. The filename will be its unique **ID** (e.g., my\_cool\_miracle.json). -Here is a template with all available fields: - -```json -{ - "name": "My Cool Miracle", - "faithCost": 100, - "followersRequired": 50, - "productionRequired": 0, - "unlockedByDefault": true, - "advancesToAge": "", - "effects": [ - { - "type": "AddResource", - "targetResource": "Faith", - "value": 200 - } - ] +{ +"name": "My Cool Miracle", +"faithCost": 100, +"followersRequired": 50, +"productionRequired": 0, +"unlockedByDefault": true, +"advancesToAge": "The Cool Age", +"effects": \[ +{ +"type": "AddResource", +"targetResource": "Faith", +"value": 200 +} +\] } -``` -### Available Effect Types +### **Creating a New Event** -This is the core of the modding system. Each miracle can have one or more effects. +To add a new random event, create a .json file in the Mods/Events folder. + +{ +"id": "event\_my\_event", +"title": "A Thing Happened\!", +"description": "Something unexpected occurred. What will you do?", +"meanTimeToHappen": 120, +"trigger": { +"minFollowers": 100, +"maxCorruption": 50 +}, +"options": \[ +{ +"text": "Do the thing\!", +"tooltip": "Gain 50 Production.", +"effects": \[ +{ +"type": "AddResource", +"targetResource": "Production", +"value": 50 +} +\] +} +\] +} + +### **Modifying Visual Tiers** + +You can change the visual progression of followers, huts, and temples by editing the files in Mods/Tiers. The format is a list of tiers, sorted by their threshold. + +{ +"tiers": \[ +{ +"tierEnum": "Tier1", +"threshold": 0, +"imagePath": "user://Mods/Tiers/Huts/my\_custom\_hut.png", +"scale": { "x": 1.0, "y": 1.0 } +} +\] +} + +* **tierEnum**: Must be one of Tier1 through Tier10. +* **threshold**: The number of followers needed to unlock this visual. +* **imagePath**: The path to the image file. Can be a user:// path for mods or a res:// path for base game assets. +* **scale**: An optional X/Y scale multiplier for the image. + +### **Available Effect Types** + +This is the core of the modding system. Both miracles and event options use this list of effects. | Type | Description | Parameters | -| :--- | :--- | :--- | -| **`AddResource`** | Adds or subtracts from a core stat. | `targetResource` (Stat), `value` (number) | -| **`ConvertResource`** | Trades one resource for another. | `fromResource` (Stat), `fromAmount` (number), `toResource` (Stat), `toAmount` (number) | -| **`ModifyStat`** | Permanently changes a passive stat. | `targetStat` (Stat), `op` ("Add" or "Multiply"), `value` (number) | -| **`ApplyBuff`** | Applies a temporary multiplier. | `targetStat` (Stat), `multiplier` (number), `duration` (seconds) | -| **`UnlockMiracle`** | Unlocks other miracles. | `miraclesToUnlock` (list of miracle IDs) | -| **`DestroySelf`** | Removes the miracle's button after use. | (No parameters) | +| :---- | :---- | :---- | +| **AddResource** | Adds or subtracts from a core stat. | targetResource (Stat), value (number) | +| **ConvertResource** | Trades one resource for another. | fromResource (Stat), fromAmount (number), toResource (Stat), toAmount (number) | +| **ModifyStat** | Permanently changes a passive stat. | targetStat (Stat), op ("Add" or "Multiply"), value (number) | +| **ApplyBuff** | Applies a temporary multiplier. | buffId (string), targetStat (Stat), multiplier (number), duration (seconds) | +| **UnlockMiracle** | Unlocks other miracles. | miraclesToUnlock (list of miracle IDs) | +| **DestroySelf** | Removes the miracle's button after use. | (No parameters) | +| **Win** | Triggers the game's win condition. | (No parameters) | -**Valid Stat Names:** `Faith`, `Followers`, `Corruption`, `Production`, `ProductionPerSecond`, `CorruptionPerSecond`, `FaithPerFollower`. - -### Modifying Tiers - -You can change the progression of visuals like followers and huts by editing the files in `Mods/Tiers`. For example, to change when followers get new looks, edit `follower_tiers.json`. - -The format is a list of tiers, sorted by their threshold. - -```json -{ - "tiers": [ - { - "tierEnum": "Tier1", - "threshold": 0, - "scenePath": "res://Scenes/Followers/followers_tier_1.tscn" - }, - { - "tierEnum": "Tier2", - "threshold": 200, - "scenePath": "res://Scenes/Followers/followers_tier_2.tscn" - } - ] -} -``` - -* **`tierEnum`**: Must be one of `Tier1`, `Tier2`, `Tier3`, `Tier4`, `Tier5`. -* **`threshold`**: The number of followers (or other stat) needed to unlock this visual. -* **`scenePath`**: The path to the Godot scene (`.tscn`) to display for this tier. You can even point to your own custom scenes if you're an advanced modder\! +**Valid Stat Names:** Faith, Followers, Corruption, Production, ProductionPerSecond, CorruptionPerSecond, FollowersPerSecond, FaithPerFollower, ProductionPerFollower. -----