From 2544c1304566cea5ba8182817d96d4b4e7d630fa Mon Sep 17 00:00:00 2001 From: Daniel the Bard Date: Sat, 23 Nov 2013 13:41:42 -0500 Subject: [PATCH 1/2] Class Abilities Updated --- script/items.coffee | 177 ++++++++++++++++++++++++-------------------- 1 file changed, 98 insertions(+), 79 deletions(-) diff --git a/script/items.coffee b/script/items.coffee index f55df98bfa..796ea76651 100644 --- a/script/items.coffee +++ b/script/items.coffee @@ -68,107 +68,126 @@ items = module.exports.items = spells: wizard: fireball: - text: 'Fireball' + text: 'Burst of Flames' mana: 10 target: 'task' - notes: 'Burns a task, granting additional exp & decreasing its redness.' + notes: 'With a crack, flames burst from your staff, scorching a task. You deal much higher damage to the task and gain additional xp.' cast: (user, target) -> - target.value += user.stats.int * crit(user) - ice: - text: 'Ice Wall' - mana: 25 + target.value += user.stats.int + crit(user) + lightning: + text: 'Lightning Strike' + mana: 15 target: 'task' - notes: 'Freezes all tasks, slowing the damage they deal you for one day' + notes: 'A bolt a lightning pierces through a task. There is a high chance of a critical hit.' cast: (user, target) -> - _.each user.tasks, (task) -> - task.buffs.value ?= task.value - task.buffs.value += user.stats.int - meteorShower: - text: 'Meteor Shower' + crit += user.stats.per*2 + frost: + text: 'Chilling Frost' mana: 40 - target: 'self' - notes: "Causes damage to all tasks, reducing their redness", + target: 'party' + notes: "Ice forms of the party's tasks, slowing them down and opening them up to more attacks. Your party gains a buff to xp.", cast: (user, target) -> - _.each user.tasks, ((task) ->task.value += user.stats.int) + party.stats.buff.exp = user.stats.int + darkness: + text: 'Shroud of Darkness' + mana: 30 + target: 'party' + notes: "Unearthly shadows form and wisp around your party, concealing their presence. Under the shroud, your party can sneak up on tasks, dealing more critical hits.", + cast: (user, target) -> + party.stats.buff.crit = user.stats.per warrior: - bash: - text: 'Bash' + smash: + text: 'Brutal Smash' mana: 10 target: 'task' - notes: 'Hit a single task hard' + 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.stats.str * crit(user) - intimidate: - text: 'Intimidate' - mana: 10 - target: 'task' - notes: "Intimidate a task, making it flee" - cast: (user, target) -> - (target.buffs ?= {}).value = 9999 + target.redness -= user.stat.str defensiveStance: text: 'Defensive Stance' + mana: 25 target: 'self' - mana: 10 - notes: 'Prepare yourself for the onslaught of tasks' + notes: "You take a moment to relax your body and enter a defensive stance to ready yourself for the tasks' next onslaught. Reduced damage from dailies at the end of the day." cast: (user, target) -> - user.stats.buffs.def = user.stats.def - - rogue: - backStab: - text: 'Back Stab' - mana: 10 - target: 'task' - notes: 'High crit chance, stab a habit from behind' - cast: (user, target) -> - _crit = crit(user) - target.value += _crit - user.stats.gp += _crit - pickPocket: - text: 'Pick Pocket' - target: 'task' - mana: 10 - notes: 'High chance of getting a free drop from a task' - cast: (user, target) -> - user.stats.gp += target.value * user.stats.per - stealth: - text: 'Stealth' - target: 'self' - mana: 40 - notes: 'Hide from as many tasks as you can for one day' - cast: (user, target) -> - user.stats.buffs.stealth = user.stats.per # number of tasks you'll evade - healer: - heal: - text: 'Heal' - mana: 10 - target: 'user' - notes: 'Heals self (user.hp += user.def, INT decreases mana cost)' - cast: (user, target) -> - target.stats.hp += user.stats.def - healAll: - text: 'Heal All' + user.stats.buff.con = user.stats.con/2 + valorousPresence: + text: 'Valorous Presence' mana: 20 target: 'party' - notes: 'Heals party (user.hp += user.def, INT decreases mana cost)' + notes: 'Your presence emboldens the party. Their newfound courage gives them a boost of strength. Party members gain a buff to their STR for 24 hours.' cast: (user, target) -> - _.each target, ((member) -> member.stats.hp += user.def) - empower: - text: 'Empower' + party.stats.buff.str = user.stats.str/2 + intimidate + text: 'Intimidating Gaze' + mana: 15 + target: 'party' + notes: "Your gaze strikes fear into the hearts of your party's enemies. The party gains a moderate boost to defense for the day." + cast: (user, target) -> + party.stats.buff.con = user.stats.con/2 + + + rogue: + pickPocket: + text: 'Pickpocket' + mana: 10 + target: 'task' + notes: "Your nimble fingers run through the task's pockets and 'find' some treasures for yourself. You gain an increased gold bonus on the task and a higher chance of an item drop." + cast: (user, target) -> + task.gp += user.stats.per + backStab: + text: 'Backstab' + mana: 15 + target: 'task' + notes: "Without a sound, you sweep behind a task and stab it in the back. You deal higher damage to the stat, with a higher chance of a critical hit." + cast: (user, target) -> + task.redness -= user.stats.str + crit += user.stats.per*2 + stealth: + text: 'Tools of the Trade' mana: 20 - target: 'user' - notes: "Increases target's highest stat" + target: 'party' + notes: "You share your thievery tools with the party to aid them in 'acquiring' more gold. The party's gold bonus for tasks is buffed for a day." cast: (user, target) -> - # TODO find highst stat, not just str - highestStat = 'str' - (target.stats.buffs ?= {})[highestStat] += (user.def/2) - shield: - text: 'Shield' - mana: 20 - target: 'user' - notes: "Increases target's defense for one day" + party.stats.buff.gp = user.stats.per + speedburst + text: 'Burst of Speed' + mana: 25 + target: 'party' + notes: "You hurry your step and dance circles around your party's enemies. You assist your party, helping them do extra damage to a number of tasks equal to half your strength." cast: (user, target) -> - (target.stats.buffs ?= {}).def += user.def + party.stats.buff.str = user.stats.str/2 + ## also, the number of following tasks by each party member should = user.stats.str/2 + + healer: + heal: + text: 'Healing Light' + mana: 15 + target: 'self' + notes: 'Light covers your body, healing your wounds. You gain a boost to your health.' + cast: (user, target) -> + target.stats.hp += user.stats.con + brightness: + text: 'Searing Brightness' + mana: 15 + target: 'self' + notes: "You cast a burst of light that blinds all of your tasks. The redness of your tasks is reduced" + cast: (user, target) -> + target.redness -= user.stats.int + protectAura: + text: 'Protective Aura' + mana: 30 + target: 'party' + notes: "A magical aura surrounds your party members, protecting them from damage. Your party members gain a buff to their defense." + cast: (user, target) -> + party.stats.buff.con = user.stats.con/2 + heallAll: + text: 'Blessing' + mana: 30 + target: 'party' + notes: "Soothing light envelops your party and heals them of their injuries. Your party members gain a boost to their health." + cast: (user, target) -> + party.stats.hp += user.con/2) eggs: # value & other defaults set below From fc39169b7a34e28ba7c907352a7f485e86ec8771 Mon Sep 17 00:00:00 2001 From: Daniel the Bard Date: Sat, 23 Nov 2013 14:03:30 -0500 Subject: [PATCH 2/2] Updated Abilities Not sure how balanced they are. Will probably require some play-testing. I'm sure we'll make adjustments as we go along. Also built this on the assumption of maybe starting with maybe 30mp, and gaining 2 mp per point of INT? --- script/items.coffee | 190 +++++++++++++++++++++++++------------------- 1 file changed, 109 insertions(+), 81 deletions(-) diff --git a/script/items.coffee b/script/items.coffee index f55df98bfa..c11dec3c87 100644 --- a/script/items.coffee +++ b/script/items.coffee @@ -68,107 +68,135 @@ items = module.exports.items = spells: wizard: fireball: - text: 'Fireball' + text: 'Burst of Flames' mana: 10 target: 'task' - notes: 'Burns a task, granting additional exp & decreasing its redness.' + notes: 'With a crack, flames burst from your staff, scorching a task. You deal much higher damage to the task and gain additional xp.' cast: (user, target) -> - target.value += user.stats.int * crit(user) - ice: - text: 'Ice Wall' - mana: 25 + target.value += user.stats.int + crit(user) + lightning: + text: 'Lightning Strike' + mana: 15 target: 'task' - notes: 'Freezes all tasks, slowing the damage they deal you for one day' + notes: 'A bolt a lightning pierces through a task. There is a high chance of a critical hit.' cast: (user, target) -> - _.each user.tasks, (task) -> - task.buffs.value ?= task.value - task.buffs.value += user.stats.int - meteorShower: - text: 'Meteor Shower' - mana: 40 - target: 'self' - notes: "Causes damage to all tasks, reducing their redness", + crit += user.stats.per*2 + frost: + text: 'Chilling Frost' + mana: 35 + target: 'party' + notes: "Ice forms of the party's tasks, slowing them down and opening them up to more attacks. Your party gains a buff to xp.", cast: (user, target) -> - _.each user.tasks, ((task) ->task.value += user.stats.int) + party.stats.buff.exp = user.stats.int + ## lasts for 24 hours ## + darkness: + text: 'Shroud of Darkness' + mana: 30 + target: 'party' + notes: "Unearthly shadows form and wisp around your party, concealing their presence. Under the shroud, your party can sneak up on tasks, dealing more critical hits.", + cast: (user, target) -> + party.stats.buff.crit = user.stats.per + ## lasts for 24 hours ## warrior: - bash: - text: 'Bash' + smash: + text: 'Brutal Smash' mana: 10 target: 'task' - notes: 'Hit a single task hard' + 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.stats.str * crit(user) - intimidate: - text: 'Intimidate' - mana: 10 - target: 'task' - notes: "Intimidate a task, making it flee" - cast: (user, target) -> - (target.buffs ?= {}).value = 9999 + target.redness -= user.stat.str defensiveStance: text: 'Defensive Stance' + mana: 25 target: 'self' - mana: 10 - notes: 'Prepare yourself for the onslaught of tasks' + notes: "You take a moment to relax your body and enter a defensive stance to ready yourself for the tasks' next onslaught. Reduced damage from dailies at the end of the day." cast: (user, target) -> - user.stats.buffs.def = user.stats.def - - rogue: - backStab: - text: 'Back Stab' - mana: 10 - target: 'task' - notes: 'High crit chance, stab a habit from behind' - cast: (user, target) -> - _crit = crit(user) - target.value += _crit - user.stats.gp += _crit - pickPocket: - text: 'Pick Pocket' - target: 'task' - mana: 10 - notes: 'High chance of getting a free drop from a task' - cast: (user, target) -> - user.stats.gp += target.value * user.stats.per - stealth: - text: 'Stealth' - target: 'self' - mana: 40 - notes: 'Hide from as many tasks as you can for one day' - cast: (user, target) -> - user.stats.buffs.stealth = user.stats.per # number of tasks you'll evade - healer: - heal: - text: 'Heal' - mana: 10 - target: 'user' - notes: 'Heals self (user.hp += user.def, INT decreases mana cost)' - cast: (user, target) -> - target.stats.hp += user.stats.def - healAll: - text: 'Heal All' + user.stats.buff.con = user.stats.con/2 + ## Only affects health loss at cron from dailies ## + valorousPresence: + text: 'Valorous Presence' mana: 20 target: 'party' - notes: 'Heals party (user.hp += user.def, INT decreases mana cost)' + notes: "Your presence emboldens the party. Their newfound courage gives them a boost of strength. Party members gain a buff to their STR." cast: (user, target) -> - _.each target, ((member) -> member.stats.hp += user.def) - empower: - text: 'Empower' + party.stats.buff.str = user.stats.str/2 + ## lasts 24 hours ## + intimidate + text: 'Intimidating Gaze' + mana: 15 + target: 'party' + notes: "Your gaze strikes fear into the hearts of your party's enemies. The party gains a moderate boost to defense." + cast: (user, target) -> + party.stats.buff.con = user.stats.con/2 + ## lasts 24 hours ## + + rogue: + pickPocket: + text: 'Pickpocket' + mana: 10 + target: 'task' + notes: "Your nimble fingers run through the task's pockets and 'find' some treasures for yourself. You gain an increased gold bonus on the task and a higher chance of an item drop." + cast: (user, target) -> + task.gp += user.stats.per + backStab: + text: 'Backstab' + mana: 15 + target: 'task' + notes: "Without a sound, you sweep behind a task and stab it in the back. You deal higher damage to the stat, with a higher chance of a critical hit." + cast: (user, target) -> + task.redness -= user.stats.str + crit += user.stats.per*2 + stealth: + text: 'Tools of the Trade' mana: 20 - target: 'user' - notes: "Increases target's highest stat" + target: 'party' + notes: "You share your thievery tools with the party to aid them in 'acquiring' more gold. The party's gold bonus for tasks is buffed for a day." cast: (user, target) -> - # TODO find highst stat, not just str - highestStat = 'str' - (target.stats.buffs ?= {})[highestStat] += (user.def/2) - shield: - text: 'Shield' - mana: 20 - target: 'user' - notes: "Increases target's defense for one day" + party.stats.buff.gp = user.stats.per + ## lasts 24 hours ## + speedburst + text: 'Burst of Speed' + mana: 25 + target: 'party' + notes: "You hurry your step and dance circles around your party's enemies. You assist your party, helping them do extra damage to a number of tasks equal to half your strength." cast: (user, target) -> - (target.stats.buffs ?= {}).def += user.def + party.stats.buff.str = user.stats.str/2 + ## each party member gets this bonus to a number tasks == user.stats.str/2 + ## the effect lasts 24 hours, or when until the party member has used the effected number of tasks. whichever occurs sooner. + ## the 24 hour limit is to help prevent it stacking on a player who has been absent for a long time. + + healer: + heal: + text: 'Healing Light' + mana: 15 + target: 'self' + notes: 'Light covers your body, healing your wounds. You gain a boost to your health.' + cast: (user, target) -> + target.stats.hp += user.stats.con + brightness: + text: 'Searing Brightness' + mana: 15 + target: 'self' + notes: "You cast a burst of light that blinds all of your tasks. The redness of your tasks is reduced" + cast: (user, target) -> + target.redness -= user.stats.int + protectAura: + text: 'Protective Aura' + mana: 30 + target: 'party' + notes: "A magical aura surrounds your party members, protecting them from damage. Your party members gain a buff to their defense." + cast: (user, target) -> + party.stats.buff.con = user.stats.con/2 + ## lasts 24 hours ## + heallAll: + text: 'Blessing' + mana: 25 + target: 'party' + notes: "Soothing light envelops your party and heals them of their injuries. Your party members gain a boost to their health." + cast: (user, target) -> + party.stats.hp += user.con/2) + eggs: # value & other defaults set below @@ -302,4 +330,4 @@ module.exports.equipped = (type, item=0, pref={gender:'m', armorSet:'v1'}, backe # return "f_head_#{item}_#{pref.armorSet}" if (item > 1 and type is 'head') # # return "#{pref.gender}_#{type}_#{item}" - return "m_#{type}_#{item}" \ No newline at end of file + return "m_#{type}_#{item}"