query all npcs at once
This commit is contained in:
parent
04fb04c7df
commit
8041be1fea
@ -22,13 +22,13 @@ def get_random_place() -> Place:
|
|||||||
"""
|
"""
|
||||||
return random.choice(db.session.query(Place).all())
|
return random.choice(db.session.query(Place).all())
|
||||||
|
|
||||||
def get_random_npc() -> Npc :
|
def get_random_npcs(n: int = 1) -> Npc :
|
||||||
"""
|
"""
|
||||||
Returns a random npc from the database
|
Returns a random npc from the database
|
||||||
|
|
||||||
:return: a Npc object
|
:return: a Npc object
|
||||||
"""
|
"""
|
||||||
return random.choice(db.session.query(Npc).all())
|
return random.sample(db.session.query(Npc).all(), n)
|
||||||
|
|
||||||
def get_npc_random_trait_id(npc_id: int) -> int:
|
def get_npc_random_trait_id(npc_id: int) -> int:
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -277,11 +277,7 @@ def generate_game_data(lang: str) -> tuple[dict, dict]:
|
|||||||
data = {}
|
data = {}
|
||||||
data["npcs"] = {}
|
data["npcs"] = {}
|
||||||
reactions_table = {}
|
reactions_table = {}
|
||||||
npcs = []
|
npcs = list(dbutils.get_random_npcs(5))
|
||||||
while len(npcs) != 5:
|
|
||||||
npc = dbutils.get_random_npc()
|
|
||||||
if npc not in npcs:
|
|
||||||
npcs.append(npc)
|
|
||||||
for npc in npcs:
|
for npc in npcs:
|
||||||
data["npcs"][str(npc.NPC_ID)] = generate_npc_text(npc, lang)
|
data["npcs"][str(npc.NPC_ID)] = generate_npc_text(npc, lang)
|
||||||
reactions_table[str(npc.NPC_ID)] = dbutils.get_npc_random_trait_id(npc)
|
reactions_table[str(npc.NPC_ID)] = dbutils.get_npc_random_trait_id(npc)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user