From 58aa359d27f79772e54f910b673eb199aae584cc Mon Sep 17 00:00:00 2001 From: the idiot Date: Fri, 30 May 2025 00:15:46 -0400 Subject: [PATCH 1/4] Update Wave.md --- Components/ThunderRoad/JSON/Wave.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Components/ThunderRoad/JSON/Wave.md b/Components/ThunderRoad/JSON/Wave.md index b14521a74..6bd3432a7 100644 --- a/Components/ThunderRoad/JSON/Wave.md +++ b/Components/ThunderRoad/JSON/Wave.md @@ -19,7 +19,7 @@ The Wave JSON is used to spawn waves of enemies in maps in Blade and Sorcery. | totalMaxAlive | The total amount of enemies that can be on the map at a time. Higher the number, the more enemies that spawn, but the laggier it could get. | | alwaysAvailable | Wave is available on all maps, ignores "waveSelectors". If false, it will only be available on map IDs listed in "waveSelectors". These IDs are not the map ID, but the ID that is stated in the wave spawner. | | waveSelectors | If "alwaysAvailable" is false, this wave can only appear on these maps. | -| factions | Stated what faction(s) this wave will contain.
• *Passive* - NPCs will not attack.
• *None* - NPC will attack all, NPC and Player.
• *Ignore* - Will ignore player
• *Player* - Friendly. Will attack enemies but not player.
• *MixedEnemies* - Used for faction-less NPCs.
• *Bandits* - Bandit Faction, known in game as "Kingdom of Eraden".
• *Cult* - Cult Faction, known in game as "The Eye".
• *Mercenary* - Mercenary Faction, used with Bandits as "Wildfolk" or "Tribal".
• *Gladiator* - Gladiator faction, known in game as "Scavengers" or "Outlaws".
• *Soldier* - Soldier faction, used with "Bandits" or "Kingdom of Eraden".
• *Rogue* - Rogue faction, used with "Cult" faction or "The Eye".
Note: All *named* factions will combat other factions including the player. | +| factions | Stated what faction(s) this wave will contain.
• *-1 Passive* - NPCs will not attack.
• *0 None* - NPC will attack all, NPC and Player.
• *1 Ignore* - Will ignore player
• *2 Player* - Friendly. Will attack enemies but not player.
• *3 MixedEnemies* - Used for faction-less NPCs.
• *4 Bandits* - Bandit Faction, known in game as "Kingdom of Eraden".
• *5 Cult* - Cult Faction, known in game as "The Eye".
• *6 Mercenary* - Mercenary Faction, used with Bandits as "Wildfolk" or "Tribal".
• *7 Gladiator* - Gladiator faction, known in game as "Scavengers" or "Outlaws".
• *8 Soldier* - Soldier faction, used with "Bandits" or "Kingdom of Eraden".
• *9 Rogue* - Rogue faction, used with "Cult" faction or "The Eye".
Note: All *named* factions will combat other factions including the player. | ## Groups From b40a63331c840032d57dfde55220fc400e5e46ce Mon Sep 17 00:00:00 2001 From: the idiot Date: Fri, 30 May 2025 00:38:56 -0400 Subject: [PATCH 2/4] More info on the last three parts of a group in waves says what spawnpointindex, prereqgroupindex and prereqmaxremainingalive do fixes a typo left by drags --- Components/ThunderRoad/JSON/Wave.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Components/ThunderRoad/JSON/Wave.md b/Components/ThunderRoad/JSON/Wave.md index 6bd3432a7..70f9369d2 100644 --- a/Components/ThunderRoad/JSON/Wave.md +++ b/Components/ThunderRoad/JSON/Wave.md @@ -37,8 +37,8 @@ Each "Group" is an enemy that spawns. If you want a seamlessly looping wave, you | overrideBrainID | ID of the Brain used if overriden | | overrideMaxMelee | If true, this group will ignore the set maximum amount of enemies that can be fighting the player at a time.
For example, if set to 1, only one enemy can fight at a time, and the other enemies will circle the player. If set to 3, 3 enemies will try and attack you at the same time.
| | overrideMaxMeleeCount | The amount of enemies that will fight the player at the same time, if overrideMaxMelee is true | -| groupHealthMultiplier | The miltiplier of the health enemies will have. "1.0" is their normal health amount. | +| groupHealthMultiplier | The multiplier of the health enemies will have. "1.0" is their normal health amount. | | minMaxCount | The minimum/maximum amount of enemies that can spawn from this group. | -| spawnPointIndex | *Unused/Obsolete* -| prereqGroupIndex | Determines a group that needs to be "completed" before this group can spawn. | -| prereqMaxRemainingAlive | Determines how many can be left alive from a previous group to be considered completed. | \ No newline at end of file +| spawnPointIndex | *Unused/Obsolete*, determines spawn point of an NPC. +| prereqGroupIndex | Determines a group that needs to be "completed" before this group can spawn.
The first group is group -1, the second group is group 0, third group is group 1, it keeps going from there. | +| prereqMaxRemainingAlive | Determines how many can be left alive from a previous group to be considered completed.
For example, setting group 0 to a MaxRemainingAlive to 0 means it will wait for group -1 to have no more enemies alive.
-1 means no prerequisite amount.| \ No newline at end of file From 8d267fde8359c458a3ce73f5b4ab132d698ab0ee Mon Sep 17 00:00:00 2001 From: the idiot <96554161+theidiot17@users.noreply.github.com> Date: Fri, 8 Aug 2025 15:36:35 -0400 Subject: [PATCH 3/4] Added basic GolemSpawner Page --- Components/ThunderRoad/Levels/GolemSpawner.md | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 Components/ThunderRoad/Levels/GolemSpawner.md diff --git a/Components/ThunderRoad/Levels/GolemSpawner.md b/Components/ThunderRoad/Levels/GolemSpawner.md new file mode 100644 index 000000000..4968e96c8 --- /dev/null +++ b/Components/ThunderRoad/Levels/GolemSpawner.md @@ -0,0 +1,24 @@ +--- +parent: Levels +grand_parent: ThunderRoad +--- +# Golem Spawner + +## Overview +This component allows you to spawn in a golem, either with [Unity Events](https://docs.unity3d.com/Manual/UnityEvents.html), or when the level loads. + +## Component Properties +{: .Note} +All three Golem Wake animations are played once the player is seen by the Golem +| Field | Description +| --- | --- +| Golem Address | ID of the golem. The golem in the vanilla game is `Bas.Boss.Golem`. +| Arena Crystal Randomizer | The prefab of the Weak Point Randomizer component. +| Spawn on Start | If enabled, the golem will spawn when the level loads. +| Action on Spawn | Will change what the golem does on spawn
• *None* - The golem will spawn in and the player will need to go near it to wake it.
• *Disable* - The golem will spawn in with the GameObject disabled.
• *Wake* - The golem will spawn in and start attacking the player.
| +| Events| +| On Start Wake Full | When the golem wakes up. +| On Start Wake Short A | When the golem wakes up. +| On Start Wake Short B | When the golem wakes up. +| On Golem Awaken | Once the wake animations finish or on spawn, dependent on your `Action on Spawn` +| On Golem Defeat | When the golem loses all of its crystals. \ No newline at end of file From 5464c8d96ed27d3baf9ffe28a9c8a5c5e2fae992 Mon Sep 17 00:00:00 2001 From: the idiot <96554161+theidiot17@users.noreply.github.com> Date: Fri, 8 Aug 2025 16:13:37 -0400 Subject: [PATCH 4/4] finish golem spawner --- Components/ThunderRoad/Levels/GolemSpawner.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Components/ThunderRoad/Levels/GolemSpawner.md b/Components/ThunderRoad/Levels/GolemSpawner.md index 4968e96c8..30acaee42 100644 --- a/Components/ThunderRoad/Levels/GolemSpawner.md +++ b/Components/ThunderRoad/Levels/GolemSpawner.md @@ -7,18 +7,22 @@ grand_parent: ThunderRoad ## Overview This component allows you to spawn in a golem, either with [Unity Events](https://docs.unity3d.com/Manual/UnityEvents.html), or when the level loads. -## Component Properties +## Properties {: .Note} -All three Golem Wake animations are played once the player is seen by the Golem +All three Golem Wake animations are played at random once the player is seen by the Golem | Field | Description | --- | --- | Golem Address | ID of the golem. The golem in the vanilla game is `Bas.Boss.Golem`. | Arena Crystal Randomizer | The prefab of the Weak Point Randomizer component. | Spawn on Start | If enabled, the golem will spawn when the level loads. -| Action on Spawn | Will change what the golem does on spawn
• *None* - The golem will spawn in and the player will need to go near it to wake it.
• *Disable* - The golem will spawn in with the GameObject disabled.
• *Wake* - The golem will spawn in and start attacking the player.
| +| Action on Spawn | Will change what the golem does on spawn
• *None* - The golem will spawn in and the player will need to go near it to wake it.
• *Disable* - The golem will spawn in with the GameObject disabled.
• *Wake* - The golem will spawn in and start attacking the player. The `Start Wake` events will still trigger.
| | Events| | On Start Wake Full | When the golem wakes up. | On Start Wake Short A | When the golem wakes up. | On Start Wake Short B | When the golem wakes up. | On Golem Awaken | Once the wake animations finish or on spawn, dependent on your `Action on Spawn` -| On Golem Defeat | When the golem loses all of its crystals. \ No newline at end of file +| On Golem Defeat | When the golem loses all of its crystals. +| On Golem Kill | When the golem gets its `Prismatic Crystal Core` removed by the player. +| On Golem Stun | When the golem gets stunned by the player, typically by a `Meteor`. +| On Crystal Grabbed | When the golems `Prismatic Crystal Core` gets grabbed by the player, either by hand or with telekinesis. +| On Crystal Ungrabbed | When the golems `Prismatic Crystal Core` stops grabbed by the player, either by hand or with telekinesis. \ No newline at end of file