From 2e51ff392eb6a272f6a91caaf859f239e4db7f21 Mon Sep 17 00:00:00 2001 From: Ethan Ruszanowski Date: Thu, 22 Feb 2024 21:35:38 -0500 Subject: [PATCH 1/5] Refactor names --- app.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app.py b/app.py index 7b8536e..8362b1c 100644 --- a/app.py +++ b/app.py @@ -25,10 +25,11 @@ class Run: self.outside_power = moon.outside_max_power -def find_spawnlist(remaining_power: int, creatures: list[Creature]) -> list[str] | None: +def find_spawn_list(remaining_power: int, creatures: list[Creature]) -> list[str] | None: """ Given a run, return all possible spawns for location. + :param creatures: :param remaining_power: The remaining power in the current location. :return: A list of all creatures that may still spawn or None. """ @@ -38,7 +39,7 @@ def find_spawnlist(remaining_power: int, creatures: list[Creature]) -> list[str] spawnable = sorted( [creature.name for creature in creatures if creature.power <= remaining_power] ) - if spawnable != []: + if spawnable: return spawnable else: return None @@ -138,7 +139,7 @@ def main(): st.info(f"Maximum power: {run.moon.outside_max_power}") if run.outside_power >= 0: st.warning(f"🌳 Outside power remaining: {run.outside_power}") - st.write(find_spawnlist(run.outside_power, outside_creatures)) + st.write(find_spawn_list(run.outside_power, outside_creatures)) else: st.error( f"Power level exceedes maximum possible for {run.moon.name}." @@ -177,7 +178,7 @@ def main(): st.info(f"Maximum power: {run.moon.inside_max_power}") if run.inside_power >= 0: st.warning(f"🏭 Inside power remaining: {run.inside_power}") - st.write(find_spawnlist(run.inside_power, inside_creatures)) + st.write(find_spawn_list(run.inside_power, inside_creatures)) else: st.error( f"Power level exceedes maximum possible for {run.moon.name}." From 7827990c3a0a2c714f062146e9415c01f281b3ce Mon Sep 17 00:00:00 2001 From: Ethan Ruszanowski Date: Thu, 22 Feb 2024 21:59:09 -0500 Subject: [PATCH 2/5] Add database creation script --- database-scripts/10_create.sql | 53 ++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 database-scripts/10_create.sql diff --git a/database-scripts/10_create.sql b/database-scripts/10_create.sql new file mode 100644 index 0000000..dc13294 --- /dev/null +++ b/database-scripts/10_create.sql @@ -0,0 +1,53 @@ +create table if not exists moon_tier +( + moon_tier_id int primary key, + tier_name text not null +); + +create table if not exists moon +( + moon_id int primary key, + moon_name text not null, + moon_tier_id int not null, + outside_max_power int not null, + inside_max_power int not null, + foreign key (moon_tier_id) + references moon_tier (moon_tier_id) +); + +create table if not exists creature_type +( + creature_type_id int primary key, + type_name text not null +); + +create table if not exists creature +( + creature_id int primary key, + creature_name text not null, + creature_nickname text, + health int, + power_level int not null, + max_spawn int not null, + stunnable int not null, + stun_multiplier real, + door_open_speed real, + hostile int not null, + creature_type_id int not null, + favorite_moon_id int not null, + foreign key (creature_type_id) + references creature_type (creature_type_id), + foreign key (favorite_moon_id) + references moon (moon_id) +); + +create table if not exists spawn_chance +( + moon_id int not null, + creature_id int not null, + spawn_chance real not null, + foreign key (moon_id) + references moon (moon_id), + foreign key (creature_id) + references creature (creature_id) +); From 31f68d328935d9b72e1810251bea29e3a4a0fe09 Mon Sep 17 00:00:00 2001 From: Ethan Ruszanowski Date: Thu, 22 Feb 2024 23:26:03 -0500 Subject: [PATCH 3/5] Update database creation script --- database-scripts/10_create.sql | 60 +++++++++++++++++++++++++++++++--- 1 file changed, 55 insertions(+), 5 deletions(-) diff --git a/database-scripts/10_create.sql b/database-scripts/10_create.sql index dc13294..6230c98 100644 --- a/database-scripts/10_create.sql +++ b/database-scripts/10_create.sql @@ -4,13 +4,42 @@ create table if not exists moon_tier tier_name text not null ); +create table if not exists risk_level +( + risk_level_id int primary key, + risk_level_name text not null +); + +create table if not exists layout +( + layout_id int primary key, + layout_name text not null +); + +create table if not exists weather +( + weather_id int primary key, + weather_name text not null, + effect text +); + create table if not exists moon ( - moon_id int primary key, - moon_name text not null, - moon_tier_id int not null, - outside_max_power int not null, - inside_max_power int not null, + moon_id int primary key, + moon_name text not null, + risk_level_id int not null, + cost int not null, + default_layout_id int not null, + map_size_multiplier real not null, + min_scrap int not null, + max_scrap int not null, + outside_max_power int not null, + inside_max_power int not null, + moon_tier_id int not null, + foreign key (risk_level_id) + references risk_level (risk_level_id), + foreign key (default_layout_id) + references layout (layout_id), foreign key (moon_tier_id) references moon_tier (moon_tier_id) ); @@ -41,6 +70,27 @@ create table if not exists creature references moon (moon_id) ); +create table if not exists scrap +( + scrap_id int primary key, + scrap_name text not null, + min_value int not null, + max_value int not null, + weight int not null, + conductive int not null, + two_handed int not null +); + +create table if not exists viable_weather +( + moon_id int not null, + weather_id int not null, + foreign key (moon_id) + references moon (moon_id), + foreign key (weather_id) + references weather (weather_id) +); + create table if not exists spawn_chance ( moon_id int not null, From 03fc4dd1e755064cc9c86cc32151ff53ef66da5f Mon Sep 17 00:00:00 2001 From: Ethan Ruszanowski Date: Mon, 26 Feb 2024 15:07:35 -0500 Subject: [PATCH 4/5] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 35548dc..820dc7e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,7 +8,7 @@ RUN apt-get update && apt-get install -y \ software-properties-common \ && rm -rf /var/lib/apt/lists/* -COPY requirements.txt app.py ./ +COPY requirements.txt app.py scouter.db ./ RUN pip3 install -r requirements.txt From 0e5b129d9e1f937c585db54e56bea12bed3761cb Mon Sep 17 00:00:00 2001 From: Ethan Ruszanowski Date: Mon, 26 Feb 2024 16:33:37 -0500 Subject: [PATCH 5/5] Update scouter database --- database-scripts/10_create.sql | 103 --------------------------- database-scripts/create.sql | 104 ++++++++++++++++++++++++++++ database-scripts/creature.sql | 20 ++++++ database-scripts/creature_type.sql | 4 ++ database-scripts/layout.sql | 3 + database-scripts/moon.sql | 9 +++ database-scripts/moon_tier.sql | 4 ++ database-scripts/risk_level.sql | 7 ++ database-scripts/scrap.sql | 1 + database-scripts/spawn_chance.sql | 1 + database-scripts/viable_weather.sql | 37 ++++++++++ scouter.db | Bin 0 -> 77824 bytes 12 files changed, 190 insertions(+), 103 deletions(-) delete mode 100644 database-scripts/10_create.sql create mode 100644 database-scripts/create.sql create mode 100644 database-scripts/creature.sql create mode 100644 database-scripts/creature_type.sql create mode 100644 database-scripts/layout.sql create mode 100644 database-scripts/moon.sql create mode 100644 database-scripts/moon_tier.sql create mode 100644 database-scripts/risk_level.sql create mode 100644 database-scripts/scrap.sql create mode 100644 database-scripts/spawn_chance.sql create mode 100644 database-scripts/viable_weather.sql create mode 100644 scouter.db diff --git a/database-scripts/10_create.sql b/database-scripts/10_create.sql deleted file mode 100644 index 6230c98..0000000 --- a/database-scripts/10_create.sql +++ /dev/null @@ -1,103 +0,0 @@ -create table if not exists moon_tier -( - moon_tier_id int primary key, - tier_name text not null -); - -create table if not exists risk_level -( - risk_level_id int primary key, - risk_level_name text not null -); - -create table if not exists layout -( - layout_id int primary key, - layout_name text not null -); - -create table if not exists weather -( - weather_id int primary key, - weather_name text not null, - effect text -); - -create table if not exists moon -( - moon_id int primary key, - moon_name text not null, - risk_level_id int not null, - cost int not null, - default_layout_id int not null, - map_size_multiplier real not null, - min_scrap int not null, - max_scrap int not null, - outside_max_power int not null, - inside_max_power int not null, - moon_tier_id int not null, - foreign key (risk_level_id) - references risk_level (risk_level_id), - foreign key (default_layout_id) - references layout (layout_id), - foreign key (moon_tier_id) - references moon_tier (moon_tier_id) -); - -create table if not exists creature_type -( - creature_type_id int primary key, - type_name text not null -); - -create table if not exists creature -( - creature_id int primary key, - creature_name text not null, - creature_nickname text, - health int, - power_level int not null, - max_spawn int not null, - stunnable int not null, - stun_multiplier real, - door_open_speed real, - hostile int not null, - creature_type_id int not null, - favorite_moon_id int not null, - foreign key (creature_type_id) - references creature_type (creature_type_id), - foreign key (favorite_moon_id) - references moon (moon_id) -); - -create table if not exists scrap -( - scrap_id int primary key, - scrap_name text not null, - min_value int not null, - max_value int not null, - weight int not null, - conductive int not null, - two_handed int not null -); - -create table if not exists viable_weather -( - moon_id int not null, - weather_id int not null, - foreign key (moon_id) - references moon (moon_id), - foreign key (weather_id) - references weather (weather_id) -); - -create table if not exists spawn_chance -( - moon_id int not null, - creature_id int not null, - spawn_chance real not null, - foreign key (moon_id) - references moon (moon_id), - foreign key (creature_id) - references creature (creature_id) -); diff --git a/database-scripts/create.sql b/database-scripts/create.sql new file mode 100644 index 0000000..d1c0add --- /dev/null +++ b/database-scripts/create.sql @@ -0,0 +1,104 @@ +create table creature_type +( + creature_type_id int + primary key, + type_name text not null +); + +create table layout +( + layout_id int + primary key, + layout_name text not null +); + +create table moon_tier +( + moon_tier_id int + primary key, + tier_name text not null +); + +create table risk_level +( + risk_level_id int + primary key, + risk_level_name text not null +); + +create table moon +( + moon_id int + primary key, + moon_name text not null, + risk_level_id int not null + references risk_level, + cost int not null, + default_layout_id int not null + references layout, + map_size_multiplier real not null, + min_scrap int not null, + max_scrap int not null, + outside_max_power int not null, + inside_max_power int not null, + moon_tier_id int not null + references moon_tier +); + +create table creature +( + creature_id int + primary key, + creature_name text not null, + creature_nickname text, + health int, + power_level int not null, + max_spawn int not null, + stunnable int not null, + stun_multiplier real, + door_open_speed real, + hostile int not null, + creature_type_id int not null + references creature_type, + favorite_moon_id int not null + references moon +); + +create table scrap +( + scrap_id int + primary key, + scrap_name text not null, + min_value int not null, + max_value int not null, + weight int not null, + conductive int not null, + two_handed int not null +); + +create table spawn_chance +( + moon_id int not null + references moon, + creature_id int not null + references creature, + spawn_chance real not null +); + +create table weather +( + weather_id int + primary key, + weather_name text not null, + effect text +); + +create table viable_weather +( + moon_id int not null + references moon, + weather_id int not null + references weather +); + + diff --git a/database-scripts/creature.sql b/database-scripts/creature.sql new file mode 100644 index 0000000..c0de889 --- /dev/null +++ b/database-scripts/creature.sql @@ -0,0 +1,20 @@ +insert into main.creature (creature_id, creature_name, creature_nickname, health, power_level, max_spawn, stunnable, stun_multiplier, door_open_speed, hostile, creature_type_id, favorite_moon_id) +values (1, 'Snare Flea', 'Head Bug', 2, 1, 4, 1, 3, 4.35, 1, 2, 2), + (2, 'Bunker Spider', null, 5, 3, 1, 1, 1, 6.67, 1, 2, 1), + (3, 'Hoarding Bug', 'Yippee Bug', 2, 1, 8, 1, 0.5, 0.67, 1, 2, 2), + (4, 'Bracken', 'Flower Man', 3, 3, 1, 1, 0.25, 0.8, 1, 2, 3), + (5, 'Thumper', null, 4, 3, 4, 1, 1, 3.33, 1, 2, 4), + (6, 'Hygrodere', 'Goo', null, 1, 2, 1, 4, 0, 1, 2, 4), + (7, 'Ghost Girl', null, null, 2, 1, 0, null, 0.25, 1, 3, 6), + (8, 'Spore Lizard', null, null, 1, 2, 1, 0.6, 3.33, 1, 2, 1), + (9, 'Nutcracker', null, 5, 1, 10, 1, 0.5, 0.5, 1, 2, 6), + (10, 'Coil-Head', null, null, 1, 5, 1, 3.25, 16.67, 1, 2, 4), + (11, 'Jester', null, null, 3, 1, 1, 0.6, 2, 1, 2, 6), + (12, 'Masked', 'Mimic', 4, 1, 10, 1, 0.75, 0.25, 1, 3, 6), + (13, 'Eyeless Dog', null, 12, 2, 8, 1, 0.7, null, 1, 1, 8), + (14, 'Forest Keeper', 'Giant', null, 3, 3, 1, 1.2, null, 1, 1, 3), + (15, 'Earth Leviathan', 'Worm', null, 2, 3, 0, null, null, 1, 1, 2), + (16, 'Baboon Hawk', null, 6, 1, 15, 1, 0.4, null, 1, 1, 5), + (17, 'Circuit Bees', null, null, 1, 6, 0, null, null, 1, 1, 5), + (18, 'Manticoil', null, 2, 1, 16, 1, 1.1, null, 0, 1, 4), + (19, 'Roaming Locusts', null, null, 1, 16, 0, null, null, 0, 1, 1); \ No newline at end of file diff --git a/database-scripts/creature_type.sql b/database-scripts/creature_type.sql new file mode 100644 index 0000000..ef3bb86 --- /dev/null +++ b/database-scripts/creature_type.sql @@ -0,0 +1,4 @@ +insert into main.creature_type (creature_type_id, type_name) +values (1, 'Outside'), + (2, 'Inside'), + (3, 'Hybrid'); \ No newline at end of file diff --git a/database-scripts/layout.sql b/database-scripts/layout.sql new file mode 100644 index 0000000..dc379e3 --- /dev/null +++ b/database-scripts/layout.sql @@ -0,0 +1,3 @@ +insert into main.layout (layout_id, layout_name) +values (1, 'Factory'), + (2, 'Mansion'); \ No newline at end of file diff --git a/database-scripts/moon.sql b/database-scripts/moon.sql new file mode 100644 index 0000000..67b555b --- /dev/null +++ b/database-scripts/moon.sql @@ -0,0 +1,9 @@ +insert into main.moon (moon_id, moon_name, risk_level_id, cost, default_layout_id, map_size_multiplier, min_scrap, max_scrap, outside_max_power, inside_max_power, moon_tier_id) +values (1, '41-Experimentation', 4, 0, 1, 1, 0, 11, 8, 4, 1), + (2, '220-Assurance', 6, 0, 1, 1, 13, 16, 8, 6, 1), + (3, '56-Vow', 5, 0, 1, 1.15, 10, 12, 6, 7, 1), + (4, '21-Offense', 4, 0, 1, 1.25, 14, 17, 8, 12, 2), + (5, '61-March', 4, 0, 1, 2, 18, 25, 12, 14, 2), + (6, '85-Rend', 3, 550, 2, 1.2, 18, 25, 6, 10, 3), + (7, '7-Dine', 2, 600, 2, 1.3, 20, 27, 6, 15, 3), + (8, '8-Titan', 1, 700, 1, 2.35, 23, 37, 7, 18, 3); \ No newline at end of file diff --git a/database-scripts/moon_tier.sql b/database-scripts/moon_tier.sql new file mode 100644 index 0000000..19fcfbd --- /dev/null +++ b/database-scripts/moon_tier.sql @@ -0,0 +1,4 @@ +insert into main.moon_tier (moon_tier_id, tier_name) +values (1, 'Tier 1'), + (2, 'Tier 2'), + (3, 'Tier 3'); \ No newline at end of file diff --git a/database-scripts/risk_level.sql b/database-scripts/risk_level.sql new file mode 100644 index 0000000..714f4c3 --- /dev/null +++ b/database-scripts/risk_level.sql @@ -0,0 +1,7 @@ +insert into main.risk_level (risk_level_id, risk_level_name) +values (1, 'S+'), + (2, 'S'), + (3, 'A'), + (4, 'B'), + (5, 'C'), + (6, 'D'); \ No newline at end of file diff --git a/database-scripts/scrap.sql b/database-scripts/scrap.sql new file mode 100644 index 0000000..1c8a0e7 --- /dev/null +++ b/database-scripts/scrap.sql @@ -0,0 +1 @@ +; \ No newline at end of file diff --git a/database-scripts/spawn_chance.sql b/database-scripts/spawn_chance.sql new file mode 100644 index 0000000..1c8a0e7 --- /dev/null +++ b/database-scripts/spawn_chance.sql @@ -0,0 +1 @@ +; \ No newline at end of file diff --git a/database-scripts/viable_weather.sql b/database-scripts/viable_weather.sql new file mode 100644 index 0000000..990077a --- /dev/null +++ b/database-scripts/viable_weather.sql @@ -0,0 +1,37 @@ +insert into main.viable_weather (moon_id, weather_id) +values (1, 1), + (1, 2), + (1, 4), + (1, 5), + (1, 6), + (1, 3), + (2, 1), + (2, 2), + (2, 3), + (2, 5), + (2, 6), + (3, 1), + (3, 5), + (3, 3), + (3, 4), + (3, 6), + (4, 1), + (4, 2), + (4, 3), + (4, 6), + (4, 5), + (5, 1), + (5, 5), + (5, 3), + (5, 4), + (5, 6), + (6, 1), + (6, 3), + (6, 6), + (7, 1), + (7, 5), + (7, 6), + (8, 1), + (8, 3), + (8, 4), + (8, 6); \ No newline at end of file diff --git a/scouter.db b/scouter.db new file mode 100644 index 0000000000000000000000000000000000000000..0c9641717473fe8f9543c3ae6064015ec27b0019 GIT binary patch literal 77824 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 CtOR)g literal 0 HcmV?d00001