diff --git a/src/app/algos.coffee b/src/app/algos.coffee index 205842d178..8ff90414ca 100644 --- a/src/app/algos.coffee +++ b/src/app/algos.coffee @@ -10,11 +10,11 @@ module.exports.tnl = (level) -> {weaponStrength) weapon strength {level} current user level ### -module.exports.expModifier = (value, weaponStrength, level) -> - levelModifier = (level-1) * MODIFIER - weaponModifier = weaponStrength / 100 - strength = 1 + weaponModifier + levelModifier - return value * strength +module.exports.expModifier = (value, weaponStrength, level, multiplier=1) -> + levelModifier = (level-1) * MODIFIER + weaponModifier = weaponStrength / 100 + strength = 1 + weaponModifier + levelModifier + return value * strength * multiplier ### Calculates HP modification based on level and armor defence @@ -23,17 +23,17 @@ module.exports.expModifier = (value, weaponStrength, level) -> {helmDefense} defense from helm {level} current user level ### -module.exports.hpModifier = (value, armorDefense, helmDefense, shieldDefense, level) -> - levelModifier = (level-1) * MODIFIER - armorModifier = (armorDefense + helmDefense + shieldDefense) / 100 - defense = 1 - levelModifier + armorModifier - return value * defense +module.exports.hpModifier = (value, armorDefense, helmDefense, shieldDefense, level, multiplier=1) -> + levelModifier = (level-1) * MODIFIER + armorModifier = (armorDefense + helmDefense + shieldDefense) / 100 + defense = 1 - levelModifier + armorModifier + return value * defense * multiplier ### Future use ### -module.exports.gpModifier = (value, modifier) -> - return value * modifier +module.exports.gpModifier = (value, modifier, multiplier=1) -> + return value * modifier * multiplier ### Calculates the next task.value based on direction diff --git a/src/app/scoring.coffee b/src/app/scoring.coffee index f9f13a909c..f95d12c7f3 100644 --- a/src/app/scoring.coffee +++ b/src/app/scoring.coffee @@ -28,6 +28,7 @@ score = (model, taskId, direction, times, batch, cron) -> taskPath = "tasks.#{taskId}" taskObj = obj.tasks[taskId] {type, value} = taskObj + multiplier = if taskObj.multiplier then parseInt(taskObj.multiplier) else 1 # If they're trying to purhcase a too-expensive reward, confirm they want to take a hit for it if taskObj.value > obj.stats.gp and taskObj.type is 'reward' @@ -51,7 +52,7 @@ score = (model, taskId, direction, times, batch, cron) -> addPoints = -> level = user.get('stats.lvl') weaponStrength = items.items.weapon[user.get('items.weapon')].strength - modified = algos.expModifier(delta,weaponStrength,level) + modified = algos.expModifier(delta,weaponStrength,level, multiplier) exp += modified*10 gp += delta @@ -60,7 +61,7 @@ score = (model, taskId, direction, times, batch, cron) -> armorDefense = items.items.armor[user.get('items.armor')].defense helmDefense = items.items.head[user.get('items.head')].defense shieldDefense = items.items.shield[user.get('items.shield')].defense - modified = algos.hpModifier(delta,armorDefense,helmDefense,shieldDefense,level) + modified = algos.hpModifier(delta,armorDefense,helmDefense,shieldDefense,level, multiplier) hp += modified switch type diff --git a/views/app/tasks.html b/views/app/tasks.html index 2b881e8a71..b3b6b7e88e 100644 --- a/views/app/tasks.html +++ b/views/app/tasks.html @@ -214,7 +214,7 @@ Advanced
- +