From f3d85922ed705fd7f4aa674b89c9527caa888569 Mon Sep 17 00:00:00 2001 From: Daniel Dolezal Date: Thu, 4 Apr 2024 17:11:27 +0200 Subject: [PATCH] add new class for user selection "Goo/Slime" fix bug when not combineble_species in player game broke, allow mulit types in player species but only show first --- classes/Character/CharacterCreater.py | 2 ++ classes/Character/Player.py | 5 +++- config.json | 40 +++++++++++++++++++++++---- 3 files changed, 41 insertions(+), 6 deletions(-) diff --git a/classes/Character/CharacterCreater.py b/classes/Character/CharacterCreater.py index 469d0be..50ab6bb 100644 --- a/classes/Character/CharacterCreater.py +++ b/classes/Character/CharacterCreater.py @@ -29,6 +29,8 @@ class CharacterCreater: if key == "fixed_type": if not element[key]: return None + elif isinstance(element[key], list): + return element[key][0] return element[key] diff --git a/classes/Character/Player.py b/classes/Character/Player.py index e17ab15..7fac9b5 100644 --- a/classes/Character/Player.py +++ b/classes/Character/Player.py @@ -5,7 +5,10 @@ class Player: def __init__(self, name:str, type:dict, species:dict, combineble_species:dict): self.name = name self.type = type - self.species = {"species": species["name"], "combineble": combineble_species["name"]} + if combineble_species: + self.species = {"species": species["name"], "combineble": combineble_species["name"]} + else: + self.species = {"species": species["name"], "combineble": False} self.inventory = [] self.inventory_size = species["inventory_size"] diff --git a/config.json b/config.json index 1750f84..33cc8a1 100644 --- a/config.json +++ b/config.json @@ -134,7 +134,7 @@ "speed": 10, "defense": 1, "inventory_size": 0, - "fixed_type": "Magician", + "fixed_type": ["Magician", "Inflatable"], "combineble": true }, "Were-Thing": { @@ -143,19 +143,49 @@ "speed": 6, "defense": 8, "inventory_size": 5, - "fixed_type": "Warrior", + "fixed_type": ["Warrior", "Were-Thing"], + "combineble": true + }, + "Goo/Slime": { + "hp": 100, + "strength": 5, + "speed": 4, + "defense": 10, + "inventory_size": 0, + "fixed_type": ["Slime"], "combineble": true } }, "types": [ { - "name": "Magician" + "name": "Magician", + "selectable": true, + "attacks": [] }, { - "name": "Warrior" + "name": "Warrior", + "selectable": true, + "attacks": [] }, { - "name": "Archer" + "name": "Archer", + "selectable": true, + "attacks": [] + }, + { + "name": "Inflatable", + "selectable": false, + "attacks": [] + }, + { + "name": "Were-Thing", + "selectable": false, + "attacks": [] + }, + { + "name": "Slime", + "selectable": false, + "attacks": [] } ] },