mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-18 07:07:35 +01:00
WIP(world-boss): Initial stats outlay
Also quest reward sprites, groundwork for world damage, and partial content build.
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 23 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
BIN
common/img/sprites/spritesmith/stable/pets/Pet-Phoenix-Base.png
Normal file
BIN
common/img/sprites/spritesmith/stable/pets/Pet-Phoenix-Base.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 854 B |
@@ -298,7 +298,9 @@
|
|||||||
"questBurnoutCompletion": "Placeholder",
|
"questBurnoutCompletion": "Placeholder",
|
||||||
"questBurnoutCompletionChat": "Placeholder",
|
"questBurnoutCompletionChat": "Placeholder",
|
||||||
"questBurnoutBoss": "Burnout",
|
"questBurnoutBoss": "Burnout",
|
||||||
"questBurnoutBossRageTitle": "Placeholder",
|
"questBurnoutBossRageTitle": "Exhaust Strike",
|
||||||
"questBurnoutBossRageDescription": "Placeholder",
|
"questBurnoutBossRageDescription": "When this gauge fills, Burnout will unleash its Exhaust Strike on Habitica!",
|
||||||
"questBurnoutDesperation": "Placeholder"
|
"questBurnoutBossRageQuests": "`Burnout uses EXHAUST STRIKE!`\n\nOh no! Despite our best efforts, we've let some Dailies get away from us, and now Burnout is inflamed with energy! With a crackling snarl, it engulfs Ian the Quest Master in a surge of spectral fire. As fallen quest scrolls smolder, the smoke clears, and you see that Ian has been drained of energy and turned into a drifting Exhaust Spirit!\n\nOnly defeating Burnout can break the spell and restore our beloved Quest Master. Let's keep our Dailies in check and defeat this monster before it attacks again!",
|
||||||
|
"questBurnoutBossRageSeasonalShop": "`Burnout uses EXHAUST STRIKE!`\n\nAhh!!! Our incomplete Dailies have fed the flames of Burnout, and now it has enough energy to strike again! It lets loose a gout of spectral flame that sears the Seasonal Shop. You're horrified to see that the cheery Seasonal Sorceress has been transformed into a drooping Exhaust Spirit.\n\nWe have to rescue our NPCs! Hurry, Habiticans, complete your tasks and defeat Burnout before it strikes for a third time!",
|
||||||
|
"questBurnoutBossRageTavern": "`Burnout uses EXHAUST STRIKE!`\n\nMany Habiticans have been hiding from Burnout in the Tavern, but no longer! With a screeching howl, Burnout rakes the Tavern with its white-hot hands. As the Tavern patrons flee, Daniel is caught in Burnout's grip, and transforms into an Exhaust Spirit right in front of you!\n\nThis hot-headed horror has gone on for too long. Don't give up... we're so close to vanquishing Burnout for once and for all!"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1349,30 +1349,40 @@ api.quests =
|
|||||||
exp: 0
|
exp: 0
|
||||||
|
|
||||||
burnout:
|
burnout:
|
||||||
text: t("questBurnoutText")
|
text: t('questBurnoutText')
|
||||||
notes: t("questBurnoutNotes")
|
notes: t('questBurnoutNotes')
|
||||||
completion: t("questBurnoutCompletion")
|
completion: t('questBurnoutCompletion')
|
||||||
completionChat: t("questBurnoutCompletionChat")
|
completionChat: t('questBurnoutCompletionChat')
|
||||||
value: 0
|
value: 0
|
||||||
canBuy: false
|
canBuy: false
|
||||||
category: 'world'
|
category: 'world'
|
||||||
boss:
|
boss:
|
||||||
name: t("questBurnoutBoss")
|
name: t('questBurnoutBoss')
|
||||||
hp: 5000000
|
hp: 11000000
|
||||||
str: 1
|
str: 2.5
|
||||||
def: 1
|
def: 1
|
||||||
rage:
|
rage:
|
||||||
title: t("questBurnoutBossRageTitle")
|
title: t('questBurnoutBossRageTitle')
|
||||||
description: t("questBurnoutBossRageDescription")
|
description: t('questBurnoutBossRageDescription')
|
||||||
value: 5000000
|
value: 1000000
|
||||||
healing: .3
|
quests: t('questBurnoutBossRageQuests')
|
||||||
desperation:
|
seasonalShop: t('questBurnoutBossRageSeasonalShop')
|
||||||
threshold: 500000
|
tavern: t('questBurnoutBossRageTavern')
|
||||||
str: 3.5
|
|
||||||
def: 2
|
|
||||||
text:t('questBurnoutDesperation')
|
|
||||||
drop:
|
drop:
|
||||||
items: [
|
items: [
|
||||||
|
{type: 'pets', key: 'Phoenix-Base', text: t('questBurnoutDropPhoenixPet')}
|
||||||
|
{type: 'mounts', key: 'Phoenix-Base', text: t('questBurnoutDropPhoenixMount')}
|
||||||
|
|
||||||
|
{type: 'food', key: 'Candy_Base', text: t('foodCandyBase')}
|
||||||
|
{type: 'food', key: 'Candy_White', text: t('foodCandyWhite')}
|
||||||
|
{type: 'food', key: 'Candy_Desert', text: t('foodCandyDesert')}
|
||||||
|
{type: 'food', key: 'Candy_Red', text: t('foodCandyRed')}
|
||||||
|
{type: 'food', key: 'Candy_Shade', text: t('foodCandyShade')}
|
||||||
|
{type: 'food', key: 'Candy_Skeleton', text: t('foodCandySkeleton')}
|
||||||
|
{type: 'food', key: 'Candy_Zombie', text: t('foodCandyZombie')}
|
||||||
|
{type: 'food', key: 'Candy_CottonCandyPink', text: t('foodCandyCottonCandyPink')}
|
||||||
|
{type: 'food', key: 'Candy_CottonCandyBlue', text: t('foodCandyCottonCandyBlue')}
|
||||||
|
{type: 'food', key: 'Candy_Golden', text: t('foodCandyGolden')}
|
||||||
]
|
]
|
||||||
gp: 0
|
gp: 0
|
||||||
exp: 0
|
exp: 0
|
||||||
|
|||||||
@@ -154,6 +154,78 @@ let worldQuests = {
|
|||||||
exp: 0
|
exp: 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
burnout: {
|
||||||
|
completionChat: t('questBurnoutCompletionChat'),
|
||||||
|
boss: {
|
||||||
|
name: t('questBurnoutBoss'),
|
||||||
|
hp: 11000000,
|
||||||
|
str: 2.5,
|
||||||
|
def: 1,
|
||||||
|
rage: {
|
||||||
|
title: t('questBurnoutBossRageTitle'),
|
||||||
|
description: t('questBurnoutBossRageDescription'),
|
||||||
|
value: 1000000,
|
||||||
|
quests: t('questBurnoutBossRageQuests'),
|
||||||
|
seasonalShop: t('questBurnoutBossRageSeasonalShop'),
|
||||||
|
tavern: t('questBurnoutBossRageTavern')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
drop: {
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
type: 'pets',
|
||||||
|
key: 'Phoenix-Base',
|
||||||
|
text: t('questBurnoutDropPhoenixPet')
|
||||||
|
}, {
|
||||||
|
type: 'mounts',
|
||||||
|
key: 'Phoenix-Base',
|
||||||
|
text: t('questBurnoutDropPhoenixMount')
|
||||||
|
}, {
|
||||||
|
type: 'food',
|
||||||
|
key: 'Candy_Base',
|
||||||
|
text: t('foodCandyBase')
|
||||||
|
}, {
|
||||||
|
type: 'food',
|
||||||
|
key: 'Candy_White',
|
||||||
|
text: t('foodCandyWhite')
|
||||||
|
}, {
|
||||||
|
type: 'food',
|
||||||
|
key: 'Candy_Desert',
|
||||||
|
text: t('foodCandyDesert')
|
||||||
|
}, {
|
||||||
|
type: 'food',
|
||||||
|
key: 'Candy_Red',
|
||||||
|
text: t('foodCandyRed')
|
||||||
|
}, {
|
||||||
|
type: 'food',
|
||||||
|
key: 'Candy_Shade',
|
||||||
|
text: t('foodCandyShade')
|
||||||
|
}, {
|
||||||
|
type: 'food',
|
||||||
|
key: 'Candy_Skeleton',
|
||||||
|
text: t('foodCandySkeleton')
|
||||||
|
}, {
|
||||||
|
type: 'food',
|
||||||
|
key: 'Candy_Zombie',
|
||||||
|
text: t('foodCandyZombie')
|
||||||
|
}, {
|
||||||
|
type: 'food',
|
||||||
|
key: 'Candy_CottonCandyPink',
|
||||||
|
text: t('foodCandyCottonCandyPink')
|
||||||
|
}, {
|
||||||
|
type: 'food',
|
||||||
|
key: 'Candy_CottonCandyBlue',
|
||||||
|
text: t('foodCandyCottonCandyBlue')
|
||||||
|
}, {
|
||||||
|
type: 'food',
|
||||||
|
key: 'Candy_Golden',
|
||||||
|
text: t('foodCandyGolden')
|
||||||
|
}
|
||||||
|
],
|
||||||
|
gp: 0,
|
||||||
|
exp: 0
|
||||||
|
}
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
let questDefaults = (name) => {
|
let questDefaults = (name) => {
|
||||||
|
|||||||
@@ -308,8 +308,7 @@ GroupSchema.statics.tavernBoss = function(user,progress) {
|
|||||||
if (tavern.quest.progress.rage >= quest.boss.rage.value) {
|
if (tavern.quest.progress.rage >= quest.boss.rage.value) {
|
||||||
if (!tavern.quest.extra.worldDmg) tavern.quest.extra.worldDmg = {};
|
if (!tavern.quest.extra.worldDmg) tavern.quest.extra.worldDmg = {};
|
||||||
var wd = tavern.quest.extra.worldDmg;
|
var wd = tavern.quest.extra.worldDmg;
|
||||||
// var scene = wd.tavern ? wd.stables ? wd.market ? false : 'market' : 'stables' : 'tavern'; // Dilatory attacks tavern, stables, market
|
var scene = wd.quests ? wd.seasonalShop ? wd.tavern ? false : 'tavern' : 'seasonalShop' : 'quests'; // Burnout attacks Ian, Seasonal Sorceress, tavern
|
||||||
var scene = wd.stables ? wd.bailey ? wd.guide ? false : 'guide' : 'bailey' : 'stables'; // Stressbeast attacks stables, Bailey, Justin
|
|
||||||
if (!scene) {
|
if (!scene) {
|
||||||
tavern.sendChat('`'+quest.boss.name('en')+' tries to unleash '+quest.boss.rage.title('en')+', but is too tired.`');
|
tavern.sendChat('`'+quest.boss.name('en')+' tries to unleash '+quest.boss.rage.title('en')+', but is too tired.`');
|
||||||
tavern.quest.progress.rage = 0 //quest.boss.rage.value;
|
tavern.quest.progress.rage = 0 //quest.boss.rage.value;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ include ../../shared/mixins
|
|||||||
.row
|
.row
|
||||||
.col-md-6
|
.col-md-6
|
||||||
.clearfix
|
.clearfix
|
||||||
.npc_ian.pull-left-sm.col-centered
|
div(class="#{env.worldDmg.quests ? 'npc_ian_broken' : 'npc_ian'}").pull-left-sm.col-centered
|
||||||
.popover.static-popover.fade.right.in.pull-left-sm.col-centered
|
.popover.static-popover.fade.right.in.pull-left-sm.col-centered
|
||||||
.arrow.hidden-xs
|
.arrow.hidden-xs
|
||||||
h3.popover-title=env.t('ian')
|
h3.popover-title=env.t('ian')
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
.npc_ian.pull-left
|
div(class="#{env.worldDmg.quests ? 'npc_ian_broken' : 'npc_ian'}").pull-left
|
||||||
|
|
||||||
div(ng-if='::Content.quests[group.quest.key].boss')
|
div(ng-if='::Content.quests[group.quest.key].boss')
|
||||||
if tavern
|
if tavern
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ div(ng-if='group.quest.active===false')
|
|||||||
|
|
||||||
hr
|
hr
|
||||||
|
|
||||||
.npc_ian.pull-left
|
div(class="#{env.worldDmg.quests ? 'npc_ian_broken' : 'npc_ian'}").pull-left
|
||||||
p=env.t('questStart')
|
p=env.t('questStart')
|
||||||
|
|
||||||
span(ng-if='user.party.quest.RSVPNeeded')
|
span(ng-if='user.party.quest.RSVPNeeded')
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ script(type='text/ng-template', id='modals/showQuest.html')
|
|||||||
.modal-body
|
.modal-body
|
||||||
+questInfo
|
+questInfo
|
||||||
hr
|
hr
|
||||||
.npc_ian.pull-left
|
div(class="#{env.worldDmg.quests ? 'npc_ian_broken' : 'npc_ian'}").pull-left
|
||||||
p=env.t('questSend')
|
p=env.t('questSend')
|
||||||
p=env.t('questWarning')
|
p=env.t('questWarning')
|
||||||
.modal-footer
|
.modal-footer
|
||||||
|
|||||||
Reference in New Issue
Block a user