fix: refs to minLevel and maxLevel columns not being quoted in queries
authorxangelo <me@xangelo.ca>
Mon, 18 Dec 2023 05:10:50 +0000 (00:10 -0500)
committerxangelo <me@xangelo.ca>
Mon, 18 Dec 2023 05:10:50 +0000 (00:10 -0500)
src/server/monster.ts

index a0b7aac669e7b2c400180381cfde0f3b22fb8cad..ced4834e5618e7ec607bf058e510daa5f163722b 100644 (file)
@@ -44,7 +44,7 @@ export async function loadMonsterWithFaction(player_id: string): Promise<Monster
   const res = await db.raw(`
                       select 
                         f.*, fa.id as faction_id, fa.name as faction_name,
-                        m.minLevel, m.maxLevel
+                        m."minLevel", m."maxLevel"
                       from fight f
                       join monsters m on f.ref_id = m.id
                       left outer join factions fa on m.faction_id = fa.id
@@ -125,7 +125,7 @@ return db.select(['locations.*', 'cities.name as city_name'])
  * having an equal probability of appearing
  */
 export async function getRandomMonster(city_id: number[]): Promise<MonsterForList> {
-  const res = await db.raw('select id,name,level from monsters where location_id in (select id from locations where city_id in (?)) order by random() limit 1', [city_id.join(',')])
+  const res = await db.raw('select id,name,floor(random() * ("maxLevel"-"minLevel"+1) + 1) as level from monsters where location_id in (select id from locations where city_id in (?)) order by random() limit 1', [city_id.join(',')])
 
   return res.rows[0] as MonsterForList;
 }