actually apply armor/weapon modifiers

This commit is contained in:
Tyler Renelle 2013-02-08 14:33:12 -05:00
parent 842d3183b2
commit 4e1d1f6f83
2 changed files with 12 additions and 7 deletions

View file

@ -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}

View file

@ -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