From: xangelo Date: Fri, 25 Aug 2023 15:57:15 +0000 (-0400) Subject: chore(release): 0.2.16 X-Git-Tag: v0.2.16 X-Git-Url: https://git.xangelo.ca/?p=risinglegends.git;a=commitdiff_plain;h=v0.2.16;hp=v0.2.15;ds=sidebyside chore(release): 0.2.16 --- diff --git a/CHANGELOG.md b/CHANGELOG.md index afbacfc..764c882 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [0.2.16](https://git.xangelo.ca/?p=risinglegends.git;a=commitdiff;h=v0.2.16;hp=v0.2.15;ds=sidebyside) (2023-08-25) + + +### Bug Fixes + +* properly increment skill level 24e6b3b + ### [0.2.15](https://git.xangelo.ca/?p=risinglegends.git;a=commitdiff;h=v0.2.15;hp=v0.2.14;ds=sidebyside) (2023-08-25) diff --git a/package-lock.json b/package-lock.json index be5ce86..acc76b8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rising-legends", - "version": "0.2.15", + "version": "0.2.16", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "rising-legends", - "version": "0.2.15", + "version": "0.2.16", "dependencies": { "@honeycombio/opentelemetry-node": "^0.4.0", "@opentelemetry/auto-instrumentations-node": "^0.37.0", diff --git a/package.json b/package.json index a77ebc8..e7d766b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "rising-legends", "private": true, - "version": "0.2.15", + "version": "0.2.16", "scripts": { "up": "npx prisma migrate dev --name \"init\"", "start": "pm2 start dist/server/api.js", diff --git a/src/server/fight.ts b/src/server/fight.ts index 855589a..3ceb706 100644 --- a/src/server/fight.ts +++ b/src/server/fight.ts @@ -167,7 +167,7 @@ export async function fightRound(player: Player, monster: MonsterWithFaction, d }); }); - await updatePlayerSkills(player.id, skillsUsed); + await updatePlayerSkills(player.id, playerSkills, skillsUsed); const playerFinalDamage = (data.action === 'cast' && !anyDamageSpells) ? 0 : Math.floor(playerDamage + playerDamageAfterMasteries); const playerFinalHeal = Math.floor(boost.hp + hpHealAfterMasteries); diff --git a/src/server/skills.ts b/src/server/skills.ts index 131c141..80a6405 100644 --- a/src/server/skills.ts +++ b/src/server/skills.ts @@ -1,4 +1,4 @@ -import {Skill, SkillID} from '../shared/skills'; +import {Skills, Skill, SkillID} from '../shared/skills'; import { db } from './lib/db'; import { each } from 'lodash'; @@ -20,11 +20,21 @@ export async function getPlayerSkillsAsObject(playerId: string): Promise) { +export async function updatePlayerSkills(playerId: string, playerSkills:Map, skillExpDiff: Record) { const sql = []; - each(skills, (val, skillId) => { - sql.push(`update player_skills set exp = exp + ${val} where id = '${skillId}' and player_id = '${playerId}'`); + each(skillExpDiff, (val, skillId: SkillID) => { + const skill = playerSkills.get(skillId); + const def = Skills.get(skillId); + if(skill && def) { + skill.exp += val; + if(skill.exp >= def.expToLevel(skill.level + 1)) { + skill.level++; + skill.exp -= def.expToLevel(skill.level); + sql.push(`update player_skills set exp = ${skill.exp}, level = ${skill.level} where id = '${skillId}' and player_id = '${playerId}'`); + } + } + }); if(sql.length) {