From 0c2a9a4b2428daafbccc72ad9ed93573c8a47611 Mon Sep 17 00:00:00 2001 From: Alice Harris Date: Thu, 3 Jul 2014 16:19:43 +1000 Subject: [PATCH 1/4] allow quest progress from attack skills BEFORE quest starts Currently, if you do Brutal Smash or Burst of Flames BEFORE you start a quest, they do NOT damage the quest boss if you start the quest later in the day (this is the opposite of how tasks work). This also means that if you are not on a boss or collection quest, then those skills can't damage the World Boss. I think this is counterintuitive. This change causes damage from the skills to be treated just like damage from tasks - it's applied to quests started later that day and to Drag'on. THIS HAS NOT BEEN TESTED. Sorry. :( I have broken my VM temporarily. --- script/content.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/script/content.coffee b/script/content.coffee index c40663f606..766e11c1bc 100644 --- a/script/content.coffee +++ b/script/content.coffee @@ -395,7 +395,7 @@ api.spells = bonus *= Math.ceil ((if target.value < 0 then 1 else target.value+1) *.075) #console.log {bonus, expBonus:bonus,upBonus:bonus*.1} user.stats.exp += diminishingReturns(bonus,75) - user.party.quest.progress.up += diminishingReturns(bonus*.1,50,30) if user.party.quest.key + user.party.quest.progress.up += diminishingReturns(bonus*.1,50,30) mpheal: text: t('spellWizardMPHealText') @@ -438,7 +438,7 @@ api.spells = notes: t('spellWarriorSmashNotes') cast: (user, target) -> target.value += 2.5 * (user._statsComputed.str / (user._statsComputed.str + 50)) * user.fns.crit('con') - user.party.quest.progress.up += Math.ceil(user._statsComputed.str * .2) if user.party.quest.key + user.party.quest.progress.up += Math.ceil(user._statsComputed.str * .2) defensiveStance: text: t('spellWarriorDefensiveStanceText') mana: 25 From 964d1a640c1b035cfbd152fa3393cea71be2562d Mon Sep 17 00:00:00 2001 From: Alice Harris Date: Thu, 3 Jul 2014 16:30:15 +1000 Subject: [PATCH 2/4] allow quest progress from attack skills BEFORE quest starts Currently, if you do Brutal Smash or Burst of Flames BEFORE you start a quest, they do NOT damage the quest boss if you start the quest later in the day (this is the opposite of how tasks work). This also means that if you are not on a boss or collection quest, then those skills can't damage the World Boss. I think this is counterintuitive and I think users are expecting those skills to act on Drag'on even when they are not on a quest. This change causes damage from the skills to be treated just like damage from tasks - it's applied to quests started later that day and to Drag'on. THIS HAS NOT BEEN TESTED. Sorry. :( I have broken my VM temporarily. --- dist/habitrpg-shared.js | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/dist/habitrpg-shared.js b/dist/habitrpg-shared.js index 6a6fe1610b..be4b76b99e 100644 --- a/dist/habitrpg-shared.js +++ b/dist/habitrpg-shared.js @@ -11017,9 +11017,7 @@ api.spells = { target.value += diminishingReturns(bonus * .02, 4); bonus *= Math.ceil((target.value < 0 ? 1 : target.value + 1) * .075); user.stats.exp += diminishingReturns(bonus, 75); - if (user.party.quest.key) { - return user.party.quest.progress.up += diminishingReturns(bonus * .1, 50, 30); - } + return user.party.quest.progress.up += diminishingReturns(bonus * .1, 50, 30); } }, mpheal: { @@ -11075,9 +11073,7 @@ api.spells = { notes: t('spellWarriorSmashNotes'), cast: function(user, target) { target.value += 2.5 * (user._statsComputed.str / (user._statsComputed.str + 50)) * user.fns.crit('con'); - if (user.party.quest.key) { - return user.party.quest.progress.up += Math.ceil(user._statsComputed.str * .2); - } + return user.party.quest.progress.up += Math.ceil(user._statsComputed.str * .2); } }, defensiveStance: { @@ -14220,4 +14216,4 @@ api.wrap = function(user, main) { }).call(this,require("/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js")) -},{"./content.coffee":5,"./i18n.coffee":6,"/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js":2,"lodash":3,"moment":4}]},{},[1]) \ No newline at end of file +},{"./content.coffee":5,"./i18n.coffee":6,"/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js":2,"lodash":3,"moment":4}]},{},[1]) From cd874c2d68da66d667c692346ad0e5853f07a382 Mon Sep 17 00:00:00 2001 From: Alice Harris Date: Sun, 13 Jul 2014 16:07:07 +1000 Subject: [PATCH 3/4] make it really obvious that you can choose a class later --- locales/en/character.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/locales/en/character.json b/locales/en/character.json index 432aca1158..ef9c7db533 100644 --- a/locales/en/character.json +++ b/locales/en/character.json @@ -102,12 +102,13 @@ "distributePointsPop": "Assigns all unallocated attribute points according to the selected allocation scheme.", "chooseClass1": "Choose your", "chooseClass2": "Class!", + "chooseClass3": "Or opt out to chose later.", "warriorText": "Warriors score more and better \"critical hits\", which randomly give bonus Gold, Experience, and drop chance for scoring a task. They also deal heavy damage to boss monsters. Play a Warrior if you find motivation from unpredictable jackpot-style rewards, or want to dish out the hurt in boss Quests!", "mageText": "Mages learn swiftly, gaining Experience and Levels faster than other classes. They also get a great deal of Mana for using special abilities. Play a Mage if you enjoy the tactical game aspects of Habit, or if you are strongly motivated by leveling up and unlocking advanced features!", "rogueText": "Rogues love to accumulate wealth, gaining more Gold than anyone else, and are adept at finding random items. Their iconic Stealth ability lets them duck the consequences of missed Dailies. Play a Rogue if you find strong motivation from Rewards and Achievements, striving for loot and badges!", "healerText": "Healers stand impervious against harm, and extend that protection to others. Missed Dailies and bad Habits don't faze them much, and they have ways to recover Health from failure. Play a Healer if you enjoy assisting others in your Party, or if the idea of cheating Death through hard work inspires you!", "optOut": "Opt Out", - "optOutText": "Can't be bothered with classes? Opt out - you'll be a warrior and your points handled automatically. You can enable classes later under Settings", + "optOutText": "Can't be bothered with classes? Want to choose later? Opt out - you'll be a warrior and your points handled automatically. You can enable classes later under Settings.", "select": "Select", "stealth": "Stealth", "stealthNewDay": "When a new day begins, you will avoid damage from this many missed Dailies.", From adacd25ba648095bdcdac3ea61d479b94d7ed200 Mon Sep 17 00:00:00 2001 From: Alice Harris Date: Sun, 13 Jul 2014 16:28:42 +1000 Subject: [PATCH 4/4] put content.coffee and habitrpg-shared.js back the way they're meant to be --- dist/habitrpg-shared.js | 10 +++++++--- script/content.coffee | 4 ++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/dist/habitrpg-shared.js b/dist/habitrpg-shared.js index be4b76b99e..6a6fe1610b 100644 --- a/dist/habitrpg-shared.js +++ b/dist/habitrpg-shared.js @@ -11017,7 +11017,9 @@ api.spells = { target.value += diminishingReturns(bonus * .02, 4); bonus *= Math.ceil((target.value < 0 ? 1 : target.value + 1) * .075); user.stats.exp += diminishingReturns(bonus, 75); - return user.party.quest.progress.up += diminishingReturns(bonus * .1, 50, 30); + if (user.party.quest.key) { + return user.party.quest.progress.up += diminishingReturns(bonus * .1, 50, 30); + } } }, mpheal: { @@ -11073,7 +11075,9 @@ api.spells = { notes: t('spellWarriorSmashNotes'), cast: function(user, target) { target.value += 2.5 * (user._statsComputed.str / (user._statsComputed.str + 50)) * user.fns.crit('con'); - return user.party.quest.progress.up += Math.ceil(user._statsComputed.str * .2); + if (user.party.quest.key) { + return user.party.quest.progress.up += Math.ceil(user._statsComputed.str * .2); + } } }, defensiveStance: { @@ -14216,4 +14220,4 @@ api.wrap = function(user, main) { }).call(this,require("/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js")) -},{"./content.coffee":5,"./i18n.coffee":6,"/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js":2,"lodash":3,"moment":4}]},{},[1]) +},{"./content.coffee":5,"./i18n.coffee":6,"/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js":2,"lodash":3,"moment":4}]},{},[1]) \ No newline at end of file diff --git a/script/content.coffee b/script/content.coffee index 766e11c1bc..c40663f606 100644 --- a/script/content.coffee +++ b/script/content.coffee @@ -395,7 +395,7 @@ api.spells = bonus *= Math.ceil ((if target.value < 0 then 1 else target.value+1) *.075) #console.log {bonus, expBonus:bonus,upBonus:bonus*.1} user.stats.exp += diminishingReturns(bonus,75) - user.party.quest.progress.up += diminishingReturns(bonus*.1,50,30) + user.party.quest.progress.up += diminishingReturns(bonus*.1,50,30) if user.party.quest.key mpheal: text: t('spellWizardMPHealText') @@ -438,7 +438,7 @@ api.spells = notes: t('spellWarriorSmashNotes') cast: (user, target) -> target.value += 2.5 * (user._statsComputed.str / (user._statsComputed.str + 50)) * user.fns.crit('con') - user.party.quest.progress.up += Math.ceil(user._statsComputed.str * .2) + user.party.quest.progress.up += Math.ceil(user._statsComputed.str * .2) if user.party.quest.key defensiveStance: text: t('spellWarriorDefensiveStanceText') mana: 25