@@ -3,10 +3,10 @@ const { getLatestProfile } = require("../../../API/functions/getLatestProfile.js
33const minecraftCommand = require ( "../../contracts/minecraftCommand.js" ) ;
44const getTalismans = require ( "../../../API/stats/talismans.js" ) ;
55const getDungeons = require ( "../../../API/stats/dungeons.js" ) ;
6- const getSkills = require ( "../../../API/stats/skills.js" ) ;
76const getSlayer = require ( "../../../API/stats/slayer.js" ) ;
87const getHotm = require ( "../../../API/stats/hotm.js" ) ;
98const { getNetworth } = require ( "skyhelper-networth" ) ;
9+ const { getSkillAverage } = require ( "../../../API/constants/skills.js" ) ;
1010
1111class SkyblockCommand extends minecraftCommand {
1212 constructor ( minecraft ) {
@@ -31,8 +31,8 @@ class SkyblockCommand extends minecraftCommand {
3131 const data = await getLatestProfile ( username ) ;
3232 username = formatUsername ( username , data . profileData . game_mode ) ;
3333
34- const [ skills , slayer , networth , dungeons , talismans , hotm ] = await Promise . all ( [
35- getSkills ( data . profile , data . profileData ) ,
34+ const [ skillAverage , slayer , networth , dungeons , talismans , hotm ] = await Promise . all ( [
35+ getSkillAverage ( data . profile , null ) ,
3636 getSlayer ( data . profile ) ,
3737 getNetworth ( data . profile , data . profileData ?. banking ?. balance || 0 , {
3838 onlyNetworth : true ,
@@ -44,33 +44,20 @@ class SkyblockCommand extends minecraftCommand {
4444 getHotm ( data . profile )
4545 ] ) ;
4646
47- const skillAverage = (
48- Object . keys ( skills )
49- . filter ( ( skill ) => ! [ "runecrafting" , "social" ] . includes ( skill ) )
50- . map ( ( skill ) => skills [ skill ] . level )
51- . reduce ( ( a , b ) => a + b , 0 ) /
52- ( Object . keys ( skills ) . length - 2 )
53- ) . toFixed ( 1 ) ;
54-
5547 const slayerText = Object . keys ( slayer )
56- . reduce (
57- ( acc , slayerType ) => `${ acc } | ${ slayerType . substring ( 0 , 1 ) . toUpperCase ( ) } :${ slayer [ slayerType ] . level } ` ,
58- ""
59- )
60- . slice ( 3 ) ;
61- const catacombsLevel = dungeons . catacombs . skill . level ;
62- const classAverage =
63- Object . values ( dungeons . classes )
64- . map ( ( value ) => value . level )
65- . reduce ( ( a , b ) => a + b , 0 ) / Object . keys ( dungeons . classes ) . length ;
48+ . map ( ( key ) => `${ slayer [ key ] . level } ${ key [ 0 ] . toUpperCase ( ) } ` )
49+ . join ( ", " ) ;
50+
51+ const catacombsLevel = dungeons . dungeons . level ;
52+ const classAverage = formatNumber ( dungeons . classAverage ) ;
6653 const networthValue = formatNumber ( networth . networth ) ;
67- const hotmLevel = hotm ? .level ? .level ?? 0 ;
68- const mp = formatNumber ( talismans ?. magicPower ?? 0 ) ;
54+ const hotmLevel = hotm . level . level ;
55+ const magicalPower = talismans . magicalPower ;
6956
7057 this . send (
7158 `${ username } 's Level: ${
7259 data . profile . leveling ?. experience ? data . profile . leveling . experience / 100 : 0
73- } | Skill Avg: ${ skillAverage } | Slayer: ${ slayerText } | Cata: ${ catacombsLevel } | Class Avg: ${ classAverage } | NW: ${ networthValue } | MP: ${ mp } | Hotm: ${ hotmLevel } `
60+ } | Skill Avg: ${ skillAverage } | Slayer: ${ slayerText } | Cata: ${ catacombsLevel } | Class Avg: ${ classAverage } | NW: ${ networthValue } | MP: ${ magicalPower } | Hotm: ${ hotmLevel } `
7461 ) ;
7562 } catch ( error ) {
7663 this . send ( `[ERROR] ${ error } ` ) ;
0 commit comments