Skip to content

Commit ed0e7b9

Browse files
author
Picoseconds
committed
feat: add damage calculation for weapon variants
1 parent 1675f7b commit ed0e7b9

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

src/items/items.ts

+13-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import weapons from './weapons.json';
22
import items from './items.json';
33
import { ItemType } from './UpgradeItems';
4+
import { WeaponVariant } from '../moomoo/Weapons';
45

56
/**
67
* An enum containing the names of all the items. Saves you the effort of differentiating weapon items and other items
@@ -88,9 +89,19 @@ function getWeaponAttackDetails(item: Weapons): AttackDetails {
8889
return { kbMultiplier: weapon?.knock || 1, attackRange: weapon?.range || 10 };
8990
}
9091

91-
function getWeaponDamage(item: Weapons) {
92+
function getWeaponDamage(item: Weapons, weaponVariant: WeaponVariant) {
9293
let weapon = weapons.find(weapon => weapon.id == item);
93-
return weapon?.dmg || 0;
94+
let baseDamage = weapon?.dmg || 0;
95+
96+
switch (weaponVariant) {
97+
case WeaponVariant.Normal:
98+
return baseDamage;
99+
case WeaponVariant.Gold:
100+
return baseDamage * 1.1;
101+
case WeaponVariant.Diamond:
102+
case WeaponVariant.Ruby:
103+
return baseDamage * 1.18;
104+
}
94105
}
95106

96107
function getItemCost(item: ItemType) {

src/moomoo/Game.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,7 @@ export default class Game {
374374
);
375375

376376
for (let hitPlayer of hitPlayers) {
377-
hitPlayer.health -= getWeaponDamage(player.weapon);
377+
hitPlayer.health -= getWeaponDamage(player.weapon, player.weaponVariant);
378378
if (hitPlayer.health <= 0 && hitPlayer.client) {
379379
this.killPlayer(hitPlayer);
380380
} else {

0 commit comments

Comments
 (0)