mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-08-05 03:52:14 +00:00
actually apply armor/weapon modifiers
This commit is contained in:
parent
842d3183b2
commit
4e1d1f6f83
2 changed files with 12 additions and 7 deletions
|
|
@ -1,8 +1,8 @@
|
||||||
_ = require 'underscore'
|
_ = require 'underscore'
|
||||||
|
|
||||||
items =
|
items = module.exports.items =
|
||||||
weapon: [
|
weapon: [
|
||||||
{index: 0, text: "Sword 1", classes: "weapon_0", notes:'Training weapon.', modifier: 0.0, value:0}
|
{index: 0, text: "Sword 1", classes: "weapon_0", notes:'Training weapon.', modifier: 0.01, value:0}
|
||||||
{index: 1, text: "Sword 2", classes:'weapon_1', notes:'Increases experience gain by 3%.', modifier: 0.3, value:20}
|
{index: 1, text: "Sword 2", classes:'weapon_1', notes:'Increases experience gain by 3%.', modifier: 0.3, value:20}
|
||||||
{index: 2, text: "Axe", classes:'weapon_2', notes:'Increases experience gain by 6%.', modifier: 0.6, value:30}
|
{index: 2, text: "Axe", classes:'weapon_2', notes:'Increases experience gain by 6%.', modifier: 0.6, value:30}
|
||||||
{index: 3, text: "Morningstar", classes:'weapon_3', notes:'Increases experience gain by 9%.', modifier: 0.9, value:45}
|
{index: 3, text: "Morningstar", classes:'weapon_3', notes:'Increases experience gain by 9%.', modifier: 0.9, value:45}
|
||||||
|
|
@ -11,7 +11,7 @@ items =
|
||||||
{index: 6, text: "Golden Sword", classes:'weapon_6', notes:'Increases experience gain by 18%.', modifier: 1.8, value:120}
|
{index: 6, text: "Golden Sword", classes:'weapon_6', notes:'Increases experience gain by 18%.', modifier: 1.8, value:120}
|
||||||
]
|
]
|
||||||
armor: [
|
armor: [
|
||||||
{index: 0, text: "Cloth Armor", classes: 'armor_0', notes:'Training armor.', modifier: 0.0, value:0}
|
{index: 0, text: "Cloth Armor", classes: 'armor_0', notes:'Training armor.', modifier: 0.01, value:0}
|
||||||
{index: 1, text: "Leather Armor", classes: 'armor_1', notes:'Decreases HP loss by 3%.', modifier: 0.3, value:30}
|
{index: 1, text: "Leather Armor", classes: 'armor_1', notes:'Decreases HP loss by 3%.', modifier: 0.3, value:30}
|
||||||
{index: 2, text: "Chain Mail", classes: 'armor_2', notes:'Decreases HP loss by 6%.', modifier: 0.6, value:45}
|
{index: 2, text: "Chain Mail", classes: 'armor_2', notes:'Decreases HP loss by 6%.', modifier: 0.6, value:45}
|
||||||
{index: 3, text: "Plate Mail", classes: 'armor_3', notes:'Decreases HP loss by 9%.', modifier: 0.9, value:65}
|
{index: 3, text: "Plate Mail", classes: 'armor_3', notes:'Decreases HP loss by 9%.', modifier: 0.9, value:65}
|
||||||
|
|
@ -19,7 +19,7 @@ items =
|
||||||
{index: 5, text: "Golden Armor", classes: 'armor_5', notes:'Decreases HP loss by 15%.', modifier: 1.5, value:120}
|
{index: 5, text: "Golden Armor", classes: 'armor_5', notes:'Decreases HP loss by 15%.', modifier: 1.5, value:120}
|
||||||
]
|
]
|
||||||
head: [
|
head: [
|
||||||
{index: 0, text: "No Helm", classes: 'head_0', notes:'Training armor.', modifier: 0.0, value:0}
|
{index: 0, text: "No Helm", classes: 'head_0', notes:'Training armor.', modifier: 0.01, value:0}
|
||||||
{index: 1, text: "Leather Helm", classes: 'head_1', notes:'Decreases HP loss by 3%.', modifier: 0.3, value:30}
|
{index: 1, text: "Leather Helm", classes: 'head_1', notes:'Decreases HP loss by 3%.', modifier: 0.3, value:30}
|
||||||
{index: 2, text: "Chain Coif", classes: 'head_2', notes:'Decreases HP loss by 6%.', modifier: 0.6, value:45}
|
{index: 2, text: "Chain Coif", classes: 'head_2', notes:'Decreases HP loss by 6%.', modifier: 0.6, value:45}
|
||||||
{index: 3, text: "Plate Helm", classes: 'head_3', notes:'Decreases HP loss by 9%.', modifier: 0.9, value:65}
|
{index: 3, text: "Plate Helm", classes: 'head_3', notes:'Decreases HP loss by 9%.', modifier: 0.9, value:65}
|
||||||
|
|
@ -27,7 +27,7 @@ items =
|
||||||
{index: 5, text: "Golden Helm", classes: 'head_5', notes:'Decreases HP loss by 15%.', modifier: 1.5, value:120}
|
{index: 5, text: "Golden Helm", classes: 'head_5', notes:'Decreases HP loss by 15%.', modifier: 1.5, value:120}
|
||||||
]
|
]
|
||||||
shield: [
|
shield: [
|
||||||
{index: 0, text: "Shield 1", classes: 'shield_0', notes:'Training armor.', value:0}
|
{index: 0, text: "Shield 1", classes: 'shield_0', notes:'Training armor.', modifier: 0.01, value:0}
|
||||||
{index: 1, text: "Shield 2", classes: 'shield_1', notes:'Decreases HP loss by 3%.', modifier: 0.3, value:30}
|
{index: 1, text: "Shield 2", classes: 'shield_1', notes:'Decreases HP loss by 3%.', modifier: 0.3, value:30}
|
||||||
{index: 2, text: "Shield 3", classes: 'shield_2', notes:'Decreases HP loss by 6%.', modifier: 0.6, value:45}
|
{index: 2, text: "Shield 3", classes: 'shield_2', notes:'Decreases HP loss by 6%.', modifier: 0.6, value:45}
|
||||||
{index: 3, text: "Shield 4", classes: 'shield_3', notes:'Decreases HP loss by 9%.', modifier: 0.9, value:65}
|
{index: 3, text: "Shield 4", classes: 'shield_3', notes:'Decreases HP loss by 9%.', modifier: 0.9, value:65}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ _ = require 'underscore'
|
||||||
helpers = require './helpers'
|
helpers = require './helpers'
|
||||||
browser = require './browser'
|
browser = require './browser'
|
||||||
schema = require './schema'
|
schema = require './schema'
|
||||||
|
items = require './items'
|
||||||
MODIFIER = .03 # each new level, armor, weapon add 3% modifier (this number may change)
|
MODIFIER = .03 # each new level, armor, weapon add 3% modifier (this number may change)
|
||||||
user = undefined
|
user = undefined
|
||||||
model = undefined
|
model = undefined
|
||||||
|
|
@ -21,7 +22,8 @@ setModel = (m) ->
|
||||||
expModifier = (value, modifiers = {}) ->
|
expModifier = (value, modifiers = {}) ->
|
||||||
weapon = modifiers.weapon || user.get('items.weapon')
|
weapon = modifiers.weapon || user.get('items.weapon')
|
||||||
lvl = modifiers.lvl || user.get('stats.lvl')
|
lvl = modifiers.lvl || user.get('stats.lvl')
|
||||||
dmg = weapon * MODIFIER # each new weapon increases exp gain
|
dmg = items.items.weapon[weapon].modifier # each new weapon increases exp gain
|
||||||
|
debugger
|
||||||
dmg += (lvl-1) * MODIFIER # same for lvls
|
dmg += (lvl-1) * MODIFIER # same for lvls
|
||||||
modified = value + (value * dmg)
|
modified = value + (value * dmg)
|
||||||
return modified
|
return modified
|
||||||
|
|
@ -33,8 +35,11 @@ expModifier = (value, modifiers = {}) ->
|
||||||
###
|
###
|
||||||
hpModifier = (value, modifiers = {}) ->
|
hpModifier = (value, modifiers = {}) ->
|
||||||
armor = modifiers.armor || user.get('items.armor')
|
armor = modifiers.armor || user.get('items.armor')
|
||||||
|
head = modifiers.head || user.get('items.head')
|
||||||
|
shield = modifiers.shield || user.get('items.shield')
|
||||||
|
debugger
|
||||||
lvl = modifiers.lvl || user.get('stats.lvl')
|
lvl = modifiers.lvl || user.get('stats.lvl')
|
||||||
ac = armor * MODIFIER # each new armor decreases HP loss
|
ac = items.items.armor[armor].modifier + items.items.head[head].modifier + items.items.shield[shield].modifier # each new armor decreases HP loss
|
||||||
ac += (lvl-1) * MODIFIER # same for lvls
|
ac += (lvl-1) * MODIFIER # same for lvls
|
||||||
modified = value - (value * ac)
|
modified = value - (value * ac)
|
||||||
return modified
|
return modified
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue