diff --git a/src/data/priconnedb.js b/src/data/priconnedb.js index de2c79c..7a99bfc 100644 --- a/src/data/priconnedb.js +++ b/src/data/priconnedb.js @@ -251,24 +251,32 @@ export const NUMBER_TO_STAT = { 9: "life_steal", 10: "wave_hp_recovery", // Thank you Loppolutte for pointing out what this stat is 11: "wave_energy_recovery", - 14: "don't know", // TODO. Christina has it. - 15: "hp_recovery_rate" + 14: "energy_recovery_rate", + 15: "hp_recovery_rate", + 16: "energy_reduce_rate", + 17: "accuracy" } // Slightly different numbers for skills because why not export const BUFF_NUMBER_TO_STAT = { - 1: "hp", - 2: "atk", - 3: "def", - 4: "magic_str", - 5: "magic_def", - 6: "magic_critical", - 7: "physical_critical", - 8: "dodge", + 1: "atk", + 2: "def", + 3: "magic_str", + 4: "magic_def", + 5: "dodge", + 6: "physical_critical", + 7: "magic_critical", + 8: "energy_recovery_rate", 9: "life_steal", - 10: "wave_hp_recovery", - 11: "movementSpeed", - 14: "don't know" + 10: "movementSpeed", + 11: "physical_crit_damage", + 12: "magic_crit_damage", + 13: "accuracy", + 14: "received_crit_damage", + 15: "received_damage", + 16: "received_physical_damage", + 17: "received_magic_damage", + 100: "maxHP" } export const WEAPON_TYPES = { diff --git a/src/logic/skill.js b/src/logic/skill.js index 1ed37a6..944c31f 100644 --- a/src/logic/skill.js +++ b/src/logic/skill.js @@ -11,13 +11,17 @@ const action8Detail = { 6: "Sleep", 7: "Stun", 8: "Petrify", - 9: "Confine" + 9: "Confine", + 10: "Faint", + 11: "Timestop" } const action9Detail = { 0: "Confine Damage", 1: "Poison", 2: "Burn", - 3: "Curse" + 3: "Curse", + 4: "Venom", + 5: "Hex" } function getActionAtkType(action) { @@ -45,7 +49,8 @@ export function describeEffect(action, actor, level) { describeStat = "magic"; } description = "{0} " + describeStat + " damage."; - replaceVal = Math.round(action.action_value_1 + action.action_value_2 * level + action.action_value_3 * actor[actionStat]); + replaceVal = Math.round((action.action_value_1 + action.action_value_2 * level) + + (action.action_value_3 + action.action_value_4 * level ) * actor[actionStat]); } else if (action.action_type === 2) { // detail 1 = move to range of target @@ -82,7 +87,7 @@ export function describeEffect(action, actor, level) { } else if (action.action_type === 6) { // barrier - let describeStat = "physical" + let describeStat = "physical"; let mechanism = "blocks"; if (action.action_detail_1 === 2 || action.action_detail_1 === 4) { describeStat = "magic"; @@ -91,7 +96,7 @@ export function describeEffect(action, actor, level) { describeStat = "physical and magic"; } if (action.action_detail_1 === 3 || action.action_detail_1 === 4 || action.action_detail_1 === 6) { - mechanism = "absorbs" + mechanism = "absorbs"; } replaceVal = Math.round(action.action_value_1 + action.action_value_2 * level); description = "Deploy barrier that " + mechanism + " up to {0} " + describeStat + " damage for " + action.action_value_3 + " seconds."; @@ -118,10 +123,14 @@ export function describeEffect(action, actor, level) { else if (action.action_type === 10) { // buff. val 2 = base, val 3 = per level, val 4 = time let isDebuff = (action.action_detail_1 % 2 === 1); - let stat = BUFF_NUMBER_TO_STAT[Math.floor(action.action_detail_1 / 10) + 1]; + let stat = BUFF_NUMBER_TO_STAT[Math.floor(action.action_detail_1 / 10)]; description = (isDebuff ? "Lowers " : "Raises ") + STAT_DISPLAY_NAMES[stat] + " by {0}" + if (action.action_detail_1 === 14 || action.action_detail_1 === 15 || + action.action_detail_1 === 16 || action.aaction_detail_1 === 17) { + description += "%"; + } if (action.action_value_1 === 2) { - description += "%" + description += "%"; } description += " for " + Math.round((action.action_value_4 + action.action_value_5 * level) * 100) / 100 + " seconds."; replaceVal = Math.ceil(action.action_value_2 + action.action_value_3 * level); @@ -578,4 +587,4 @@ export function getSkillCost(level) { } } return cost; -} \ No newline at end of file +}