From addba2cfdab2333b9469c5dd0aa44a5274a28ba2 Mon Sep 17 00:00:00 2001 From: horblegorble Date: Thu, 4 Apr 2024 08:11:29 +1000 Subject: [PATCH 1/3] add fireworks and bombs back to chests, sahagin tier and above --- CHANGELOG.md | 2 + .../loot_tables/dungeon/cultist/chest.ron | 36 +++++++++++++----- .../loot_tables/dungeon/haniwa/chest.ron | 36 +++++++++++++----- .../loot_tables/dungeon/myrmidon/chest.ron | 38 +++++++++++++------ .../loot_tables/dungeon/sahagin/chest.ron | 36 +++++++++++++----- .../dungeon/terracotta/chest_terracotta.ron | 20 ++++++++-- 6 files changed, 124 insertions(+), 44 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b0ab190a7..8528091887 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Fireworks and bombs are (again) available from chests (Sahagin and above). + ### Removed ### Fixed diff --git a/assets/common/loot_tables/dungeon/cultist/chest.ron b/assets/common/loot_tables/dungeon/cultist/chest.ron index d39b88d30e..cbd1d082fb 100644 --- a/assets/common/loot_tables/dungeon/cultist/chest.ron +++ b/assets/common/loot_tables/dungeon/cultist/chest.ron @@ -1,12 +1,28 @@ [ - // Gear - (0.25, LootTable("common.loot_tables.weapons.cultist")), - (0.25, LootTable("common.loot_tables.armor.cultist")), - // Currency - (3.0, MultiDrop(Item("common.items.utility.coins"), 1000, 2000)), - // Consumables - (2.0, MultiDrop(Item("common.items.consumable.potion_minor"), 4, 8)), - (0.1, MultiDrop(Item("common.items.food.spore_corruption"), 1, 3)), - // Food - (1.0, MultiDrop(LootTable("common.loot_tables.food.prepared"), 3, 6)), + (1.0, All([ + Lottery([ + // Gear + (0.25, LootTable("common.loot_tables.weapons.cultist")), + (0.25, LootTable("common.loot_tables.armor.cultist")), + // Currency + (3.0, MultiDrop(Item("common.items.utility.coins"), 1000, 2000)), + // Consumables + (2.0, MultiDrop(Item("common.items.consumable.potion_minor"), 4, 8)), + (0.1, MultiDrop(Item("common.items.food.spore_corruption"), 1, 3)), + // Food + (1.0, MultiDrop(LootTable("common.loot_tables.food.prepared"), 3, 6)), + ]), + Lottery([ + (0.6, Nothing), + (0.1, MultiDrop(Item("common.items.utility.bomb"), 2, 3)), + (0.3, Lottery([ + (1.0, MultiDrop(Item("common.items.utility.firework_yellow"), 3, 5)), + (1.0, MultiDrop(Item("common.items.utility.firework_red"), 3, 5)), + (1.0, MultiDrop(Item("common.items.utility.firework_green"), 3, 5)), + (1.0, MultiDrop(Item("common.items.utility.firework_blue"), 3, 5)), + (1.0, MultiDrop(Item("common.items.utility.firework_purple"), 3, 5)), + (1.0, MultiDrop(Item("common.items.utility.firework_white"), 3, 5)), + ])) + ]) + ])), ] diff --git a/assets/common/loot_tables/dungeon/haniwa/chest.ron b/assets/common/loot_tables/dungeon/haniwa/chest.ron index 971292c963..2465b7de9e 100644 --- a/assets/common/loot_tables/dungeon/haniwa/chest.ron +++ b/assets/common/loot_tables/dungeon/haniwa/chest.ron @@ -1,12 +1,28 @@ [ - // Gear - (0.5, LootTable("common.loot_tables.weapons.components.tier-3")), - (0.25, LootTable("common.loot_tables.weapons.tier-3")), - (0.25, LootTable("common.loot_tables.armor.tier-3")), - // Currency - (3.0, MultiDrop(Item("common.items.utility.coins"), 250, 500)), - // Consumables - (2.0, MultiDrop(Item("common.items.consumable.potion_minor"), 2, 5)), - // Food - (1.0, MultiDrop(LootTable("common.loot_tables.food.prepared"), 2, 4)), + (1.0, All([ + Lottery([ + // Gear + (0.5, LootTable("common.loot_tables.weapons.components.tier-3")), + (0.25, LootTable("common.loot_tables.weapons.tier-3")), + (0.25, LootTable("common.loot_tables.armor.tier-3")), + // Currency + (3.0, MultiDrop(Item("common.items.utility.coins"), 250, 500)), + // Consumables + (2.0, MultiDrop(Item("common.items.consumable.potion_minor"), 2, 5)), + // Food + (1.0, MultiDrop(LootTable("common.loot_tables.food.prepared"), 2, 4)), + ]), + Lottery([ + (0.6, Nothing), + (0.1, MultiDrop(Item("common.items.utility.bomb"), 1, 2)), + (0.3, Lottery([ + (1.0, MultiDrop(Item("common.items.utility.firework_yellow"), 2, 4)), + (1.0, MultiDrop(Item("common.items.utility.firework_red"), 2, 4)), + (1.0, MultiDrop(Item("common.items.utility.firework_green"), 2, 4)), + (1.0, MultiDrop(Item("common.items.utility.firework_blue"), 2, 4)), + (1.0, MultiDrop(Item("common.items.utility.firework_purple"), 2, 4)), + (1.0, MultiDrop(Item("common.items.utility.firework_white"), 2, 4)), + ])) + ]) + ])), ] diff --git a/assets/common/loot_tables/dungeon/myrmidon/chest.ron b/assets/common/loot_tables/dungeon/myrmidon/chest.ron index f962a6ae9b..055921f67f 100644 --- a/assets/common/loot_tables/dungeon/myrmidon/chest.ron +++ b/assets/common/loot_tables/dungeon/myrmidon/chest.ron @@ -1,13 +1,29 @@ [ - // Gear - (0.5, LootTable("common.loot_tables.weapons.components.tier-4")), - (0.25, LootTable("common.loot_tables.weapons.tier-4")), - (0.25, LootTable("common.loot_tables.armor.tier-4")), - (0.1, Item("common.items.armor.misc.head.spikeguard")), - // Currency - (3.0, MultiDrop(Item("common.items.utility.coins"), 500, 1000)), - // Consumables - (2.0, MultiDrop(Item("common.items.consumable.potion_minor"), 4, 8)), - // Food - (1.0, MultiDrop(LootTable("common.loot_tables.food.prepared"), 2, 5)), + (1.0, All([ + Lottery([ + // Gear + (0.5, LootTable("common.loot_tables.weapons.components.tier-4")), + (0.25, LootTable("common.loot_tables.weapons.tier-4")), + (0.25, LootTable("common.loot_tables.armor.tier-4")), + (0.1, Item("common.items.armor.misc.head.spikeguard")), + // Currency + (3.0, MultiDrop(Item("common.items.utility.coins"), 500, 1000)), + // Consumables + (2.0, MultiDrop(Item("common.items.consumable.potion_minor"), 4, 8)), + // Food + (1.0, MultiDrop(LootTable("common.loot_tables.food.prepared"), 2, 5)), + ]), + Lottery([ + (0.6, Nothing), + (0.1, MultiDrop(Item("common.items.utility.bomb"), 2, 3)), + (0.3, Lottery([ + (1.0, MultiDrop(Item("common.items.utility.firework_yellow"), 3, 5)), + (1.0, MultiDrop(Item("common.items.utility.firework_red"), 3, 5)), + (1.0, MultiDrop(Item("common.items.utility.firework_green"), 3, 5)), + (1.0, MultiDrop(Item("common.items.utility.firework_blue"), 3, 5)), + (1.0, MultiDrop(Item("common.items.utility.firework_purple"), 3, 5)), + (1.0, MultiDrop(Item("common.items.utility.firework_white"), 3, 5)), + ])) + ]) + ])), ] diff --git a/assets/common/loot_tables/dungeon/sahagin/chest.ron b/assets/common/loot_tables/dungeon/sahagin/chest.ron index bcc1c40b8d..f8f9ae4379 100644 --- a/assets/common/loot_tables/dungeon/sahagin/chest.ron +++ b/assets/common/loot_tables/dungeon/sahagin/chest.ron @@ -1,12 +1,28 @@ [ - // Gear - (0.5, LootTable("common.loot_tables.weapons.components.tier-2")), - (0.25, LootTable("common.loot_tables.weapons.tier-2")), - (0.25, LootTable("common.loot_tables.armor.tier-2")), - // Currency - (3.0, MultiDrop(Item("common.items.utility.coins"), 100, 250)), - // Consumables - (2.0, MultiDrop(Item("common.items.consumable.potion_minor"), 2, 5)), - // Food - (1.0, MultiDrop(LootTable("common.loot_tables.food.prepared"), 1, 4)), + (1.0, All([ + Lottery([ + // Gear + (0.5, LootTable("common.loot_tables.weapons.components.tier-2")), + (0.25, LootTable("common.loot_tables.weapons.tier-2")), + (0.25, LootTable("common.loot_tables.armor.tier-2")), + // Currency + (3.0, MultiDrop(Item("common.items.utility.coins"), 100, 250)), + // Consumables + (2.0, MultiDrop(Item("common.items.consumable.potion_minor"), 2, 5)), + // Food + (1.0, MultiDrop(LootTable("common.loot_tables.food.prepared"), 1, 4)), + ]), + Lottery([ + (0.6, Nothing), + (0.1, Item("common.items.utility.bomb")), + (0.3, Lottery([ + (1.0, MultiDrop(Item("common.items.utility.firework_yellow"), 1, 3)), + (1.0, MultiDrop(Item("common.items.utility.firework_red"), 1, 3)), + (1.0, MultiDrop(Item("common.items.utility.firework_green"), 1, 3)), + (1.0, MultiDrop(Item("common.items.utility.firework_blue"), 1, 3)), + (1.0, MultiDrop(Item("common.items.utility.firework_purple"), 1, 3)), + (1.0, MultiDrop(Item("common.items.utility.firework_white"), 1, 3)), + ])) + ]) + ])), ] diff --git a/assets/common/loot_tables/dungeon/terracotta/chest_terracotta.ron b/assets/common/loot_tables/dungeon/terracotta/chest_terracotta.ron index 998979fd85..2808239a37 100644 --- a/assets/common/loot_tables/dungeon/terracotta/chest_terracotta.ron +++ b/assets/common/loot_tables/dungeon/terracotta/chest_terracotta.ron @@ -1,4 +1,18 @@ [ - // Key - (1.0, Item("common.items.keys.terracotta_key_door")), -] \ No newline at end of file + (1.0, All([ + // Key + Item("common.items.keys.terracotta_key_door"), + Lottery([ + (0.3, Nothing), + (0.4, MultiDrop(Item("common.items.utility.bomb"), 3, 5)), + (0.3, Lottery([ + (1.0, MultiDrop(Item("common.items.utility.firework_red"), 4, 6)), + (1.0, MultiDrop(Item("common.items.utility.firework_green"), 4, 6)), + (1.0, MultiDrop(Item("common.items.utility.firework_blue"), 4, 6)), + (1.0, MultiDrop(Item("common.items.utility.firework_purple"), 4, 6)), + (1.0, MultiDrop(Item("common.items.utility.firework_yellow"), 4, 6)), + (1.0, MultiDrop(Item("common.items.utility.firework_white"), 4, 6)), + ])), + ]) + ])), +] From f0e6031eeec4777ae8e94323997b63e43ba16d16 Mon Sep 17 00:00:00 2001 From: horblegorble Date: Thu, 4 Apr 2024 19:37:40 +1000 Subject: [PATCH 2/3] move inline Lottery to standalone pyrotechnics tatable, include coral chests, scale drop chances across tiers --- .../loot_tables/consumables/pyrotechnics.ron | 9 +++++++++ .../common/loot_tables/dungeon/cultist/chest.ron | 10 +--------- .../common/loot_tables/dungeon/haniwa/chest.ron | 12 ++---------- .../loot_tables/dungeon/myrmidon/chest.ron | 10 +--------- .../common/loot_tables/dungeon/sahagin/chest.ron | 12 ++---------- .../dungeon/sea_chapel/chest_coral.ron | 16 ++++++++++++---- .../dungeon/terracotta/chest_terracotta.ron | 13 +------------ 7 files changed, 28 insertions(+), 54 deletions(-) create mode 100644 assets/common/loot_tables/consumables/pyrotechnics.ron diff --git a/assets/common/loot_tables/consumables/pyrotechnics.ron b/assets/common/loot_tables/consumables/pyrotechnics.ron new file mode 100644 index 0000000000..c561ebe1e1 --- /dev/null +++ b/assets/common/loot_tables/consumables/pyrotechnics.ron @@ -0,0 +1,9 @@ +[ + (0.4, Item("common.items.utility.bomb")), + (0.1, MultiDrop(Item("common.items.utility.firework_yellow"), 1, 3)), + (0.1, MultiDrop(Item("common.items.utility.firework_red"), 1, 3)), + (0.1, MultiDrop(Item("common.items.utility.firework_green"), 1, 3)), + (0.1, MultiDrop(Item("common.items.utility.firework_blue"), 1, 3)), + (0.1, MultiDrop(Item("common.items.utility.firework_purple"), 1, 3)), + (0.1, MultiDrop(Item("common.items.utility.firework_white"), 1, 3)), +] \ No newline at end of file diff --git a/assets/common/loot_tables/dungeon/cultist/chest.ron b/assets/common/loot_tables/dungeon/cultist/chest.ron index cbd1d082fb..bca613d28d 100644 --- a/assets/common/loot_tables/dungeon/cultist/chest.ron +++ b/assets/common/loot_tables/dungeon/cultist/chest.ron @@ -14,15 +14,7 @@ ]), Lottery([ (0.6, Nothing), - (0.1, MultiDrop(Item("common.items.utility.bomb"), 2, 3)), - (0.3, Lottery([ - (1.0, MultiDrop(Item("common.items.utility.firework_yellow"), 3, 5)), - (1.0, MultiDrop(Item("common.items.utility.firework_red"), 3, 5)), - (1.0, MultiDrop(Item("common.items.utility.firework_green"), 3, 5)), - (1.0, MultiDrop(Item("common.items.utility.firework_blue"), 3, 5)), - (1.0, MultiDrop(Item("common.items.utility.firework_purple"), 3, 5)), - (1.0, MultiDrop(Item("common.items.utility.firework_white"), 3, 5)), - ])) + (0.4, LootTable("common.loot_tables.consumables.pyrotechnics")), ]) ])), ] diff --git a/assets/common/loot_tables/dungeon/haniwa/chest.ron b/assets/common/loot_tables/dungeon/haniwa/chest.ron index 2465b7de9e..10df9fafd8 100644 --- a/assets/common/loot_tables/dungeon/haniwa/chest.ron +++ b/assets/common/loot_tables/dungeon/haniwa/chest.ron @@ -13,16 +13,8 @@ (1.0, MultiDrop(LootTable("common.loot_tables.food.prepared"), 2, 4)), ]), Lottery([ - (0.6, Nothing), - (0.1, MultiDrop(Item("common.items.utility.bomb"), 1, 2)), - (0.3, Lottery([ - (1.0, MultiDrop(Item("common.items.utility.firework_yellow"), 2, 4)), - (1.0, MultiDrop(Item("common.items.utility.firework_red"), 2, 4)), - (1.0, MultiDrop(Item("common.items.utility.firework_green"), 2, 4)), - (1.0, MultiDrop(Item("common.items.utility.firework_blue"), 2, 4)), - (1.0, MultiDrop(Item("common.items.utility.firework_purple"), 2, 4)), - (1.0, MultiDrop(Item("common.items.utility.firework_white"), 2, 4)), - ])) + (0.7, Nothing), + (0.3, LootTable("common.loot_tables.consumables.pyrotechnics")), ]) ])), ] diff --git a/assets/common/loot_tables/dungeon/myrmidon/chest.ron b/assets/common/loot_tables/dungeon/myrmidon/chest.ron index 055921f67f..76bb691f3a 100644 --- a/assets/common/loot_tables/dungeon/myrmidon/chest.ron +++ b/assets/common/loot_tables/dungeon/myrmidon/chest.ron @@ -15,15 +15,7 @@ ]), Lottery([ (0.6, Nothing), - (0.1, MultiDrop(Item("common.items.utility.bomb"), 2, 3)), - (0.3, Lottery([ - (1.0, MultiDrop(Item("common.items.utility.firework_yellow"), 3, 5)), - (1.0, MultiDrop(Item("common.items.utility.firework_red"), 3, 5)), - (1.0, MultiDrop(Item("common.items.utility.firework_green"), 3, 5)), - (1.0, MultiDrop(Item("common.items.utility.firework_blue"), 3, 5)), - (1.0, MultiDrop(Item("common.items.utility.firework_purple"), 3, 5)), - (1.0, MultiDrop(Item("common.items.utility.firework_white"), 3, 5)), - ])) + (0.4, LootTable("common.loot_tables.consumables.pyrotechnics")), ]) ])), ] diff --git a/assets/common/loot_tables/dungeon/sahagin/chest.ron b/assets/common/loot_tables/dungeon/sahagin/chest.ron index f8f9ae4379..f3f367e6f2 100644 --- a/assets/common/loot_tables/dungeon/sahagin/chest.ron +++ b/assets/common/loot_tables/dungeon/sahagin/chest.ron @@ -13,16 +13,8 @@ (1.0, MultiDrop(LootTable("common.loot_tables.food.prepared"), 1, 4)), ]), Lottery([ - (0.6, Nothing), - (0.1, Item("common.items.utility.bomb")), - (0.3, Lottery([ - (1.0, MultiDrop(Item("common.items.utility.firework_yellow"), 1, 3)), - (1.0, MultiDrop(Item("common.items.utility.firework_red"), 1, 3)), - (1.0, MultiDrop(Item("common.items.utility.firework_green"), 1, 3)), - (1.0, MultiDrop(Item("common.items.utility.firework_blue"), 1, 3)), - (1.0, MultiDrop(Item("common.items.utility.firework_purple"), 1, 3)), - (1.0, MultiDrop(Item("common.items.utility.firework_white"), 1, 3)), - ])) + (0.8, Nothing), + (0.2, LootTable("common.loot_tables.consumables.pyrotechnics")), ]) ])), ] diff --git a/assets/common/loot_tables/dungeon/sea_chapel/chest_coral.ron b/assets/common/loot_tables/dungeon/sea_chapel/chest_coral.ron index f43ce2c4ec..0e56b3018f 100644 --- a/assets/common/loot_tables/dungeon/sea_chapel/chest_coral.ron +++ b/assets/common/loot_tables/dungeon/sea_chapel/chest_coral.ron @@ -1,5 +1,13 @@ [ - // Ingredients - (2.0, Item("common.items.crafting_ing.coral_branch")), - (0.5, Item("common.items.crafting_ing.pearl")), -] \ No newline at end of file + (1.0, All([ + Lottery([ + // Ingredients + (2.0, Item("common.items.crafting_ing.coral_branch")), + (0.5, Item("common.items.crafting_ing.pearl")), + ]), + Lottery([ + (0.6, Nothing), + (0.4, LootTable("common.loot_tables.consumables.pyrotechnics")), + ]) + ])), +] diff --git a/assets/common/loot_tables/dungeon/terracotta/chest_terracotta.ron b/assets/common/loot_tables/dungeon/terracotta/chest_terracotta.ron index 2808239a37..28b7ef7917 100644 --- a/assets/common/loot_tables/dungeon/terracotta/chest_terracotta.ron +++ b/assets/common/loot_tables/dungeon/terracotta/chest_terracotta.ron @@ -2,17 +2,6 @@ (1.0, All([ // Key Item("common.items.keys.terracotta_key_door"), - Lottery([ - (0.3, Nothing), - (0.4, MultiDrop(Item("common.items.utility.bomb"), 3, 5)), - (0.3, Lottery([ - (1.0, MultiDrop(Item("common.items.utility.firework_red"), 4, 6)), - (1.0, MultiDrop(Item("common.items.utility.firework_green"), 4, 6)), - (1.0, MultiDrop(Item("common.items.utility.firework_blue"), 4, 6)), - (1.0, MultiDrop(Item("common.items.utility.firework_purple"), 4, 6)), - (1.0, MultiDrop(Item("common.items.utility.firework_yellow"), 4, 6)), - (1.0, MultiDrop(Item("common.items.utility.firework_white"), 4, 6)), - ])), - ]) + MultiDrop(LootTable("common.loot_tables.consumables.pyrotechnics"), 2, 2), ])), ] From c06afb911e390279d6cec13d66c116895cf6188d Mon Sep 17 00:00:00 2001 From: horblegorble Date: Thu, 4 Apr 2024 20:19:09 +1000 Subject: [PATCH 3/3] change terracotta chest to 60%, single roll --- .../loot_tables/dungeon/terracotta/chest_terracotta.ron | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assets/common/loot_tables/dungeon/terracotta/chest_terracotta.ron b/assets/common/loot_tables/dungeon/terracotta/chest_terracotta.ron index 28b7ef7917..0847c3db73 100644 --- a/assets/common/loot_tables/dungeon/terracotta/chest_terracotta.ron +++ b/assets/common/loot_tables/dungeon/terracotta/chest_terracotta.ron @@ -2,6 +2,9 @@ (1.0, All([ // Key Item("common.items.keys.terracotta_key_door"), - MultiDrop(LootTable("common.loot_tables.consumables.pyrotechnics"), 2, 2), + Lottery([ + (0.4, Nothing), + (0.6, LootTable("common.loot_tables.consumables.pyrotechnics")), + ]), ])), ]