mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-07-08 13:35:38 +00:00
math_samples fixes for spells, consequent spell balancing
This commit is contained in:
parent
1fccbecd4e
commit
d8a39e1ffd
2 changed files with 25 additions and 31 deletions
|
|
@ -221,7 +221,7 @@ api.spells =
|
|||
target: 'task'
|
||||
notes: 'With a crack, flames burst from your staff, scorching a task. You deal much higher damage to the task and gain additional experience.'
|
||||
cast: (user, target) ->
|
||||
target.value += user._statsComputed.int * .02 * crit(user, 'per')
|
||||
target.value += user._statsComputed.int * .0075 * crit(user, 'per')
|
||||
user.stats.exp += Math.abs(target.value)
|
||||
|
||||
mpheal:
|
||||
|
|
@ -264,7 +264,7 @@ api.spells =
|
|||
target: 'task'
|
||||
notes: "You savagely hit a single task with all of your might, beating it into submission. The task's redness decreases."
|
||||
cast: (user, target) ->
|
||||
target.value += user._statsComputed.str * .03
|
||||
target.value += user._statsComputed.str * .01 * crit(user, 'per')
|
||||
defensiveStance:
|
||||
text: 'Defensive Stance'
|
||||
mana: 25
|
||||
|
|
@ -356,7 +356,7 @@ api.spells =
|
|||
cast: (user, target) ->
|
||||
_.each user.tasks, (target) ->
|
||||
return if target.type is 'reward'
|
||||
target.value += user._statsComputed.int * .02
|
||||
target.value += user._statsComputed.int * .075
|
||||
protectAura:
|
||||
text: 'Protective Aura'
|
||||
mana: 30
|
||||
|
|
|
|||
|
|
@ -71,8 +71,8 @@ clearUser = (i=1) ->
|
|||
_.merge user.stats, {exp:0, gp:0, hp:50, lvl:i, str:i, con:i, per:i, int:i, mp: 100}
|
||||
_.merge s.buffs, {str:0,con:0,int:0,per:0}
|
||||
|
||||
console.log "lvl\t\texp\t\thp\t\tgp\t\ttask.value"
|
||||
_.times 10, (n) ->
|
||||
console.log "lvl\t\texp\t\thp\t\tgp\t\ttask.value"
|
||||
i = n*10 + 1
|
||||
clearUser(i)
|
||||
task.value = 0
|
||||
|
|
@ -83,82 +83,76 @@ _.times 10, (n) ->
|
|||
delta = user.ops.score params:{id, direction:'down'}
|
||||
console.log "#{s.lvl}\t\t#{s.exp}/#{shared.tnl(s.lvl)}\t\t#{s.hp}\t\t#{s.gp.toFixed(2)}\t\t#{task.value.toFixed(2)} (↓ Δ#{delta.toFixed(2)})"
|
||||
|
||||
console.log 'Wizard'
|
||||
console.log '----------'
|
||||
console.log '[Wizard]'
|
||||
|
||||
task.value = 0;clearUser()
|
||||
task.value = 0;clearUser(i)
|
||||
shared.content.spells.wizard.fireball.cast(user,task)
|
||||
console.log "fireball: task.value=#{task.value} hp=#{s.exp}"
|
||||
|
||||
task.value = 0;clearUser()
|
||||
console.log party
|
||||
task.value = 0;clearUser(i)
|
||||
shared.content.spells.wizard.mpheal.cast(user,party)
|
||||
console.log "mpheal: mp=#{s.mp} (from 100)"
|
||||
|
||||
task.value = 0;clearUser()
|
||||
console.log {user, party}
|
||||
task.value = 0;clearUser(i)
|
||||
shared.content.spells.wizard.earth.cast(user,party)
|
||||
console.log "earth: buffs.int=#{s.buffs.int}"
|
||||
|
||||
task.value = 0;clearUser()
|
||||
task.value = 0;clearUser(i)
|
||||
shared.content.spells.wizard.frost.cast(user,{})
|
||||
console.log "frost: -"
|
||||
|
||||
console.log 'Warrior'
|
||||
console.log '----------'
|
||||
console.log '[Warrior]'
|
||||
|
||||
task.value = 0;clearUser()
|
||||
task.value = 0;clearUser(i)
|
||||
shared.content.spells.warrior.smash.cast(user,task)
|
||||
console.log "smash: task.value=#{task.value}"
|
||||
|
||||
task.value = 0;clearUser()
|
||||
task.value = 0;clearUser(i)
|
||||
shared.content.spells.warrior.defensiveStance.cast(user,{})
|
||||
console.log "defensiveStance: buffs.con=#{s.buffs.con}"
|
||||
|
||||
task.value = 0;clearUser()
|
||||
task.value = 0;clearUser(i)
|
||||
shared.content.spells.warrior.valorousPresence.cast(user,party)
|
||||
console.log "valorousPresence: buffs.str=#{s.buffs.str}"
|
||||
|
||||
task.value = 0;clearUser()
|
||||
task.value = 0;clearUser(i)
|
||||
shared.content.spells.warrior.intimidate.cast(user,party)
|
||||
console.log "intimidate: buffs.con=#{s.buffs.con}"
|
||||
|
||||
console.log 'Rogue'
|
||||
console.log '----------'
|
||||
console.log '[Rogue]'
|
||||
|
||||
task.value = 0;clearUser()
|
||||
task.value = 0;clearUser(i)
|
||||
shared.content.spells.rogue.pickPocket.cast(user,task)
|
||||
console.log "pickPocket: gp=#{s.gp}"
|
||||
|
||||
task.value = 0;clearUser()
|
||||
shared.content.spells.rogue.backStab.cast(user,{})
|
||||
task.value = 0;clearUser(i)
|
||||
shared.content.spells.rogue.backStab.cast(user,task)
|
||||
console.log "backStab: task.value=#{task.value} exp=#{s.exp} gp=#{s.gp}"
|
||||
|
||||
task.value = 0;clearUser()
|
||||
task.value = 0;clearUser(i)
|
||||
shared.content.spells.rogue.toolsOfTrade.cast(user,party)
|
||||
console.log "toolsOfTrade: buffs.per=#{s.buffs.per}"
|
||||
|
||||
task.value = 0;clearUser()
|
||||
task.value = 0;clearUser(i)
|
||||
shared.content.spells.rogue.stealth.cast(user,{})
|
||||
console.log "stealth: -"
|
||||
|
||||
console.log 'Healer'
|
||||
console.log '----------'
|
||||
console.log '[Healer]'
|
||||
|
||||
task.value = 0;clearUser()
|
||||
task.value = 0;clearUser(i)
|
||||
s.hp=0
|
||||
shared.content.spells.healer.heal.cast(user,{})
|
||||
console.log "heal: hp=#{s.hp}"
|
||||
|
||||
task.value = 0;clearUser()
|
||||
task.value = 0;clearUser(i)
|
||||
shared.content.spells.healer.brightness.cast(user,{})
|
||||
console.log "brightness: task.value=#{task.value}"
|
||||
|
||||
task.value = 0;clearUser()
|
||||
task.value = 0;clearUser(i)
|
||||
shared.content.spells.healer.protectAura.cast(user,party)
|
||||
console.log "protectAura: buffs.con=#{s.buffs.con}"
|
||||
|
||||
task.value = 0;clearUser()
|
||||
task.value = 0;clearUser(i)
|
||||
s.hp=0
|
||||
shared.content.spells.healer.heallAll.cast(user,party)
|
||||
console.log "heallAll: hp=#{s.hp}"
|
||||
|
|
|
|||
Loading…
Reference in a new issue