chore(release): 0.2.16 v0.2.16
authorxangelo <me@xangelo.ca>
Fri, 25 Aug 2023 15:57:15 +0000 (11:57 -0400)
committerxangelo <me@xangelo.ca>
Fri, 25 Aug 2023 15:57:15 +0000 (11:57 -0400)
CHANGELOG.md
package-lock.json
package.json
src/server/fight.ts
src/server/skills.ts

index afbacfc01ff67303628bc5774dd4ba39dd7020f9..764c8824219bd99ea14dc98fb229c334ae9156da 100644 (file)
@@ -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.
 
 
 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)
 
 
 ### [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)
 
 
index be5ce86c5ddc636a8f178a8e034562dca8e56fc7..acc76b88aa3f54758b3a9856d7dbc7eb44e02e73 100644 (file)
@@ -1,12 +1,12 @@
 {
   "name": "rising-legends",
 {
   "name": "rising-legends",
-  "version": "0.2.15",
+  "version": "0.2.16",
   "lockfileVersion": 2,
   "requires": true,
   "packages": {
     "": {
       "name": "rising-legends",
   "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",
       "dependencies": {
         "@honeycombio/opentelemetry-node": "^0.4.0",
         "@opentelemetry/auto-instrumentations-node": "^0.37.0",
index a77ebc80eb85b6a60b505ac4ccd4a996bed726ae..e7d766bfcaf4e61b77ef0944890071395e8e9c99 100644 (file)
@@ -1,7 +1,7 @@
 {
   "name": "rising-legends",
   "private": true,
 {
   "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",
   "scripts": {
     "up": "npx prisma migrate dev --name \"init\"",
     "start": "pm2 start dist/server/api.js",
index 855589a2d06efb7b980447e70602e16c57b0b247..3ceb706031e1cf4520a18177b0fd0bcca53e9a46 100644 (file)
@@ -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);
 
   const playerFinalDamage = (data.action === 'cast' && !anyDamageSpells) ? 0 : Math.floor(playerDamage + playerDamageAfterMasteries);
   const playerFinalHeal = Math.floor(boost.hp + hpHealAfterMasteries);
index 131c1415bd2f553a774e92117b121f77a65d99c4..80a6405f4f9d4d6776fe05970ecabe248a9bc158 100644 (file)
@@ -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';
 
 import { db } from './lib/db';
 import { each } from 'lodash';
 
@@ -20,11 +20,21 @@ export async function getPlayerSkillsAsObject(playerId: string): Promise<Map<Ski
   return skillMap;
 }
 
   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 = [];
 
   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) {
   });
 
   if(sql.length) {