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)
{
"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",
{
"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",
});
});
- 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);
-import {Skill, SkillID} from '../shared/skills';
+import {Skills, Skill, SkillID} from '../shared/skills';
import { db } from './lib/db';
import { each } from 'lodash';
return skillMap;
}
-export async function updatePlayerSkills(playerId: string, skills: Record<SkillID, number>) {
+export async function updatePlayerSkills(playerId: string, playerSkills:Map<SkillID, Skill>, skillExpDiff: Record<SkillID, number>) {
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) {