diff --git a/data/config/server-config-default.yaml b/data/config/server-config-default.yaml index 764e134c6..f3f8d54bc 100644 --- a/data/config/server-config-default.yaml +++ b/data/config/server-config-default.yaml @@ -3,3 +3,4 @@ rsaExp: '12747337179295870166838611986189126026507945904720545965726999254744592 host: '0.0.0.0' port: 43594 showWelcome: true +expRate: 1 diff --git a/src/world/actor/skills.ts b/src/world/actor/skills.ts index 6455a5ca1..8c1816aef 100644 --- a/src/world/actor/skills.ts +++ b/src/world/actor/skills.ts @@ -2,6 +2,7 @@ import { Actor } from '@server/world/actor/actor'; import { Player } from '@server/world/actor/player/player'; import { dialogueAction } from '@server/world/actor/player/action/dialogue-action'; import { startsWithVowel } from '@server/util/strings'; +import { serverConfig } from '@server/game-server'; export enum Skill { ATTACK, @@ -105,7 +106,7 @@ export class Skills { public addExp(skillId: number, exp: number): void { const currentExp = this._values[skillId].exp; const currentLevel = this.getLevelForExp(currentExp); - let finalExp = currentExp + exp; + let finalExp = currentExp + (exp * serverConfig.expRate); if(finalExp > 200000000) { finalExp = 200000000; } @@ -120,7 +121,6 @@ export class Skills { if(currentLevel !== finalLevel) { this.setLevel(skillId, finalLevel); - // this.actor.playGraphics({ id: 199, delay: 0, height: 125 }); if(this.actor instanceof Player) { const achievementDetails = skillDetails[skillId]; diff --git a/src/world/config/server-config.ts b/src/world/config/server-config.ts index d03dd654a..ef393f408 100644 --- a/src/world/config/server-config.ts +++ b/src/world/config/server-config.ts @@ -8,6 +8,7 @@ export interface ServerConfig { host: string; port: number; showWelcome: boolean; + expRate: number; } export function parseServerConfig(useDefault?: boolean): ServerConfig {