feat(dilatory): Add dilatory boss. Add limit-break (rage) to bosses. Add defense

This commit is contained in:
Tyler Renelle 2014-06-09 14:01:54 -06:00
parent ef38db9fad
commit e62a18bd37
14 changed files with 3628 additions and 3494 deletions

File diff suppressed because one or more lines are too long

View file

@ -11388,16 +11388,18 @@ _.each(api.questEggs, function(egg, key) {
api.eggs = _.assign(_.cloneDeep(api.dropEggs), api.questEggs);
api.specialPets = {
'Wolf-Veteran': true,
'Wolf-Cerberus': true,
'Dragon-Hydra': true,
'Turkey-Base': true,
'BearCub-Polar': true
'Wolf-Veteran': 'veteranWolf',
'Wolf-Cerberus': 'cerberusPup',
'Dragon-Hydra': 'hydra',
'Turkey-Base': 'turkey',
'BearCub-Polar': 'polarBearPup',
'MantisShrimp-Base': 'mantisShrimp'
};
api.specialMounts = {
'BearCub-Polar': true,
'LionCub-Ethereal': true
'BearCub-Polar': 'polarBear',
'LionCub-Ethereal': 'etherealLion',
'MantisShrimp-Base': 'mantisShrimp'
};
api.hatchingPotions = {
@ -11593,6 +11595,38 @@ _.each(api.food, function(food, key) {
});
api.quests = {
dilatory: {
text: t("questDilatoryText"),
notes: t("questDilatoryNotes"),
value: 0,
canBuy: false,
boss: {
name: t("questDilatoryBoss"),
hp: 1200,
str: 1,
def: 1,
rage: {
title: t("questDilatoryBossRageTitle"),
description: t("questDilatoryBossRageDescription"),
value: 1000
}
},
drop: {
items: [
{
type: 'pets',
key: 'MantisShrimp-Base',
text: t('questDilatoryDropMantisShrimpPet')
}, {
type: 'mounts',
key: 'MantisShrimp-Base',
text: t('questDilatoryDropMantisShrimpMount')
}
],
gp: 90,
exp: 900
}
},
evilsanta: {
canBuy: false,
text: t('questEvilSantaText'),
@ -11944,10 +11978,24 @@ api.quests = {
};
_.each(api.quests, function(v, key) {
return _.defaults(v, {
var b;
_.defaults(v, {
key: key,
canBuy: true
});
b = v.boss;
if (b) {
_.defaults(b, {
str: 1,
def: 1
});
if (b.rage) {
return _.defaults(b.rage, {
title: t('bossRageTitle'),
description: t('bossRageDescription')
});
}
}
});
api.backgrounds = {

6994
dist/spritesmith.css vendored

File diff suppressed because it is too large Load diff

BIN
dist/spritesmith.png vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 665 KiB

After

Width:  |  Height:  |  Size: 680 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -12,6 +12,7 @@
"veteranWolf": "Veteran Wolf",
"cerberusPup": "Cerberus Pup",
"hydra": "Hydra",
"mantisShrimp": "Mantis Shrimp",
"rarePetPop1": "Click the gold paw to learn more about how you can obtain this rare pet through contributing to HabitRPG!",
"rarePetPop2": "How to Get this Pet!",
"potion": "<%= potionType %> Potion",

View file

@ -17,6 +17,7 @@
"collected": "Collected",
"bossDmg1": "To hurt a boss, complete your Dailies and To-Dos. Higher task damage means higher boss damage (completing reds, Mage spells, Warrior attacks, etc). The boss will deal damage to the party for every Daily you've missed (multiplied by the boss's Strength) in addition to your regular damage, so keep your party healthy by completing your dailies! <strong>All damage to and from a boss is tallied on cron (your day roll-over).</strong>",
"bossDmg2": "Only participants will fight the boss and share in the quest loot.",
"tavernBossInfo": "To hurt a world boss, complete your Dailies and To-Dos. Higher task damage means higher boss damage (completing reds, Mage spells, Warrior attacks, etc). For each Daily you've missed (multiplied by the boss's Strength), the boss's Limit Break will increase. Once his Limit Break reaches max, something bad will happen - so complete your dailies! <strong>All damage to and from a boss is tallied on cron (your day roll-over).</strong>",
"bossColl1": "To collect items, do your positive tasks. Quest items drop just like normal items; however, you won't see the drops until the next day, then everything you've found will be tallied up and contributed to the pile.",
"bossColl2": "Only participants can collect items and share in the quest loot.",
"abort": "Abort",
@ -31,5 +32,7 @@
"mustLvlQuest": "You must be level <%= level %> to buy this quest!",
"sureAbort": "Are you sure you want to abort this mission? It will abort it for everyone in your party, all progress will be lost.",
"doubleSureAbort": "Are you double sure? Make sure they won't hate you forever!",
"questWarning": "Remember: only current party members will be invited. Once the invitation is sent, no new party members can join the quest!"
"questWarning": "Remember: only current party members will be invited. Once the invitation is sent, no new party members can join the quest!",
"bossRageTitle": "Rage",
"bossRageDescription": "Whe this bar fills, the boss will unleash a special attack"
}

View file

@ -64,5 +64,14 @@
"questEggHuntNotes": "Overnight, strange plain eggs have appeared everywhere: in Matt's stables, behind the counter at the Tavern, and even among the pet eggs at the Marketplace! What a nuisance! \"Nobody knows where they came from, or what they might hatch into,\" says <strong>Megan</strong>, \"but we can't just leave them laying around! Work hard and search hard to help me gather up these mysterious eggs. Maybe if you collect enough, there will be some extras left over for you...\"",
"questEggHuntCompletion": "You did it! In gratitude, <strong>Megan</strong> gives you ten of the eggs. \"I don't think they hatch, exactly,\" she says, \"and they certainly won't grow into mounts. But that doesn't mean you can't dye them beautiful colors!\"",
"questEggHuntCollectPlainEgg": "Plain Eggs",
"questEggHuntDropPlainEgg": "Plain Egg"
"questEggHuntDropPlainEgg": "Plain Egg",
"questDilatoryText": "The Dread Drag'on of Dilatory",
"questDilatoryNotes": "We should have heeded the warnings. Dark shining eyes. Ancient scales. Massive jaws, and flashing teeth. We've awoken something horrifying from the crevasse: **the Dread Drag'on of Dilatory!** Screaming Habiticans fled in all directions when it reared out of the sea, its terrifyingly long neck extending hundreds of feet out of the water as it shattered windows with its searing roar. \"This must be what dragged Dilatory down!\" yells Lemoness. \"It wasn't the weight of the neglected tasks - the Dark Red Dailies just attracted its attention!\" \"It's surging with magical energy!\" @Baconsaur cries. \"To have lived this long, it must be able to heal itself! How can we defeat it?\" Why, the same way we defeat all beasts - with productivity! Quickly, Habitica, band together and strike through your tasks, and all of us will battle this monster together. (There's no need to abandon previous quests - we believe in your ability to double-strike!) It won't attack us individually, but the more Dailies we skip, the closer we get to triggering its Neglect Strike - and I don't like the way it's eyeing the Tavern....",
"questDilatoryBoss": "The Dread Drag'on of Dilatory",
"questDilatoryBossRageTitle": "Neglect Strike",
"questDilatoryBossRageDescription": "When this bar is reached, the boss will unleash great havock on Habitca's terrain",
"questDilatoryDropMantisShrimpPet": "Mantis Shrimp (Pet)",
"questDilatoryDropMantisShrimpMount": "Mantis Shrimp (Mount)"
}

View file

@ -630,16 +630,19 @@ _.each api.questEggs, (egg,key) ->
api.eggs = _.assign(_.cloneDeep(api.dropEggs), api.questEggs)
# special pets & mounts are {key:i18n}
api.specialPets =
'Wolf-Veteran': true
'Wolf-Cerberus': true
'Dragon-Hydra': true
'Turkey-Base': true
'BearCub-Polar': true
'Wolf-Veteran': 'veteranWolf'
'Wolf-Cerberus': 'cerberusPup'
'Dragon-Hydra': 'hydra'
'Turkey-Base': 'turkey'
'BearCub-Polar': 'polarBearPup'
'MantisShrimp-Base': 'mantisShrimp'
api.specialMounts =
'BearCub-Polar': true
'LionCub-Ethereal': true
'BearCub-Polar': 'polarBear'
'LionCub-Ethereal': 'etherealLion'
'MantisShrimp-Base': 'mantisShrimp'
api.hatchingPotions =
Base: value: 2, text: t('hatchingPotionBase')
@ -698,6 +701,29 @@ _.each api.food, (food,key) ->
api.quests =
dilatory:
text: t("questDilatoryText")
notes: t("questDilatoryNotes")
#completion: t("questDilatoryCompletion")
value: 0
canBuy: false
boss:
name: t("questDilatoryBoss")
hp: 1200
str: 1
def: 1
rage:
title: t("questDilatoryBossRageTitle")
description: t("questDilatoryBossRageDescription")
value: 1000
drop:
items: [
{type: 'pets', key: 'MantisShrimp-Base', text: t('questDilatoryDropMantisShrimpPet')}
{type: 'mounts', key: 'MantisShrimp-Base', text: t('questDilatoryDropMantisShrimpMount')}
]
gp: 90
exp: 900
evilsanta:
canBuy:false
text: t('questEvilSantaText') # title of the quest (eg, Deep into Vice's Layer)
@ -904,6 +930,11 @@ api.quests =
_.each api.quests, (v,key) ->
_.defaults v, {key,canBuy:true}
b = v.boss
if b
_.defaults b, {str:1,def:1}
if b.rage
_.defaults b.rage, {title:t('bossRageTitle'),description:t('bossRageDescription')}
api.backgrounds =
backgrounds062014: