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/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 d39b88d30e..bca613d28d 100644 --- a/assets/common/loot_tables/dungeon/cultist/chest.ron +++ b/assets/common/loot_tables/dungeon/cultist/chest.ron @@ -1,12 +1,20 @@ [ - // 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.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 971292c963..10df9fafd8 100644 --- a/assets/common/loot_tables/dungeon/haniwa/chest.ron +++ b/assets/common/loot_tables/dungeon/haniwa/chest.ron @@ -1,12 +1,20 @@ [ - // 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.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 f962a6ae9b..76bb691f3a 100644 --- a/assets/common/loot_tables/dungeon/myrmidon/chest.ron +++ b/assets/common/loot_tables/dungeon/myrmidon/chest.ron @@ -1,13 +1,21 @@ [ - // 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.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 bcc1c40b8d..f3f367e6f2 100644 --- a/assets/common/loot_tables/dungeon/sahagin/chest.ron +++ b/assets/common/loot_tables/dungeon/sahagin/chest.ron @@ -1,12 +1,20 @@ [ - // 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.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 998979fd85..0847c3db73 100644 --- a/assets/common/loot_tables/dungeon/terracotta/chest_terracotta.ron +++ b/assets/common/loot_tables/dungeon/terracotta/chest_terracotta.ron @@ -1,4 +1,10 @@ [ - // 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.4, Nothing), + (0.6, LootTable("common.loot_tables.consumables.pyrotechnics")), + ]), + ])), +]