mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-19 15:48:04 +01:00
feat(world-boss): Market Strike support
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 3.9 KiB |
BIN
website/client/assets/images/npc/broken/market_broken_layer.png
Normal file
BIN
website/client/assets/images/npc/broken/market_broken_layer.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.4 KiB |
BIN
website/client/assets/images/npc/broken/market_broken_npc.png
Normal file
BIN
website/client/assets/images/npc/broken/market_broken_npc.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 10 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
@@ -76,7 +76,7 @@
|
|||||||
.m-auto(@click="showWorldBossRage('seasonalShop')")
|
.m-auto(@click="showWorldBossRage('seasonalShop')")
|
||||||
img.rage-strike(src="~assets/images/world-boss/rage_strike@2x.png", v-if="!group.quest.extra.worldDmg.seasonalShop")
|
img.rage-strike(src="~assets/images/world-boss/rage_strike@2x.png", v-if="!group.quest.extra.worldDmg.seasonalShop")
|
||||||
img.rage-strike-active(src="~assets/images/world-boss/rage_strike-seasonalShop@2x.png", v-if="group.quest.extra.worldDmg.seasonalShop")
|
img.rage-strike-active(src="~assets/images/world-boss/rage_strike-seasonalShop@2x.png", v-if="group.quest.extra.worldDmg.seasonalShop")
|
||||||
.m-auto
|
.m-auto(@click="showWorldBossRage('market')")
|
||||||
img.rage-strike(src="~assets/images/world-boss/rage_strike@2x.png", v-if="!group.quest.extra.worldDmg.market")
|
img.rage-strike(src="~assets/images/world-boss/rage_strike@2x.png", v-if="!group.quest.extra.worldDmg.market")
|
||||||
img.rage-strike-active(src="~assets/images/world-boss/rage_strike-market@2x.png", v-if="group.quest.extra.worldDmg.market")
|
img.rage-strike-active(src="~assets/images/world-boss/rage_strike-market@2x.png", v-if="group.quest.extra.worldDmg.market")
|
||||||
.m-auto
|
.m-auto
|
||||||
@@ -760,6 +760,7 @@ export default {
|
|||||||
},
|
},
|
||||||
showWorldBossRage (npc) {
|
showWorldBossRage (npc) {
|
||||||
if (this.group.quest.extra.worldDmg[npc]) {
|
if (this.group.quest.extra.worldDmg[npc]) {
|
||||||
|
this.$store.state.rageModalOptions.npc = npc;
|
||||||
this.$root.$emit('bv::show::modal', 'world-boss-rage');
|
this.$root.$emit('bv::show::modal', 'world-boss-rage');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -27,7 +27,8 @@
|
|||||||
)
|
)
|
||||||
.standard-page
|
.standard-page
|
||||||
div.featuredItems
|
div.featuredItems
|
||||||
.background
|
.background(:class="{broken: broken}")
|
||||||
|
.background(:class="{cracked: broken, broken: broken}")
|
||||||
div.npc
|
div.npc
|
||||||
div.featured-label
|
div.featured-label
|
||||||
span.rectangle
|
span.rectangle
|
||||||
@@ -312,8 +313,24 @@
|
|||||||
left: 80px;
|
left: 80px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.background.broken {
|
||||||
|
background: url('~assets/images/npc/broken/market_broken_background.png');
|
||||||
|
|
||||||
|
background-repeat: repeat-x;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.background.cracked {
|
||||||
|
background: url('~assets/images/npc/broken/market_broken_layer.png');
|
||||||
|
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
}
|
||||||
|
|
||||||
|
.broken .npc {
|
||||||
|
background: url('~assets/images/npc/broken/market_broken_npc.png');
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.market .gems-left {
|
.market .gems-left {
|
||||||
@@ -443,8 +460,14 @@ export default {
|
|||||||
|
|
||||||
hideLocked: false,
|
hideLocked: false,
|
||||||
hidePinned: false,
|
hidePinned: false,
|
||||||
|
|
||||||
|
broken: false,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
async mounted () {
|
||||||
|
const worldState = await this.$store.dispatch('worldState:getWorldState');
|
||||||
|
this.broken = worldState.worldBoss.extra.worldDmg.market;
|
||||||
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapState({
|
...mapState({
|
||||||
content: 'content',
|
content: 'content',
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
<template lang="pug">
|
<template lang="pug">
|
||||||
b-modal#world-boss-rage(title="", :hide-footer="true", :hide-header="true")
|
b-modal#world-boss-rage(title="", :hide-footer="true", :hide-header="true")
|
||||||
|
div(v-if="npc === 'seasonalShop'")
|
||||||
.modal-header.d-flex.align-items-center.justify-content-center
|
.modal-header.d-flex.align-items-center.justify-content-center
|
||||||
.reduce {{ $t('seasonalShopRageStrikeHeader') }}
|
.reduce {{ $t('seasonalShopRageStrikeHeader') }}
|
||||||
img.npc-background(src='~assets/images/npc/broken/rage-strike-seasonalShop-scaled@2x.png')
|
img.npc-background(src='~assets/images/npc/broken/rage-strike-seasonalShop-scaled@2x.png')
|
||||||
@@ -8,6 +9,15 @@
|
|||||||
.col-12.text-center.padding-24
|
.col-12.text-center.padding-24
|
||||||
h2 {{ $t('seasonalShopRageStrikeLead') }}
|
h2 {{ $t('seasonalShopRageStrikeLead') }}
|
||||||
p {{ $t('seasonalShopRageStrikeRecap') }}
|
p {{ $t('seasonalShopRageStrikeRecap') }}
|
||||||
|
div(v-if="npc === 'market'")
|
||||||
|
.modal-header.d-flex.align-items-center.justify-content-center
|
||||||
|
.reduce {{ $t('marketRageStrikeHeader') }}
|
||||||
|
img.npc-background(src='~assets/images/npc/broken/rage-strike-market-scaled@2x.png')
|
||||||
|
.modal-body
|
||||||
|
.row
|
||||||
|
.col-12.text-center.padding-24
|
||||||
|
h2 {{ $t('marketRageStrikeLead') }}
|
||||||
|
p {{ $t('marketRageStrikeRecap') }}
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
@@ -48,10 +58,25 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
|
computed: {
|
||||||
|
npcOption () {
|
||||||
|
return this.$store.state.rageModalOptions.npc;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
npc: 'seasonalShop',
|
||||||
|
};
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
close () {
|
close () {
|
||||||
this.$root.$emit('bv::hide::modal', 'world-boss-rage');
|
this.$root.$emit('bv::hide::modal', 'world-boss-rage');
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
watch: {
|
||||||
|
npcOption () {
|
||||||
|
this.npc = this.$store.state.rageModalOptions.npc;
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -122,6 +122,9 @@ export default function () {
|
|||||||
gemModalOptions: {
|
gemModalOptions: {
|
||||||
startingPage: '',
|
startingPage: '',
|
||||||
},
|
},
|
||||||
|
rageModalOptions: {
|
||||||
|
npc: '',
|
||||||
|
},
|
||||||
profileUser: {},
|
profileUser: {},
|
||||||
upgradingGroup: {},
|
upgradingGroup: {},
|
||||||
notificationStore: [],
|
notificationStore: [],
|
||||||
|
|||||||
@@ -666,6 +666,9 @@
|
|||||||
"seasonalShopRageStrikeHeader": "The Seasonal Shop was Attacked!",
|
"seasonalShopRageStrikeHeader": "The Seasonal Shop was Attacked!",
|
||||||
"seasonalShopRageStrikeLead": "Leslie is Heartbroken!",
|
"seasonalShopRageStrikeLead": "Leslie is Heartbroken!",
|
||||||
"seasonalShopRageStrikeRecap": "On February 21, our beloved Leslie the Seasonal Sorceress was devastated when the Dysheartener shattered the Seasonal Shop. Quickly, tackle your tasks to defeat the monster and help rebuild!",
|
"seasonalShopRageStrikeRecap": "On February 21, our beloved Leslie the Seasonal Sorceress was devastated when the Dysheartener shattered the Seasonal Shop. Quickly, tackle your tasks to defeat the monster and help rebuild!",
|
||||||
|
"marketRageStrikeHeader": "The Market was Attacked!",
|
||||||
|
"marketRageStrikeLead": "Alex is Heartbroken!",
|
||||||
|
"marketRageStrikeRecap": "On February 27, our marvelous Alex the Merchant was horrified when the Dysheartener shattered the Market. Quickly, tackle your tasks to defeat the monster and help rebuild!",
|
||||||
"questDysheartenerBossRageMarket": "`The Dysheartener uses SHATTERING HEARTBREAK!`\n\nHelp! After feasting on our incomplete Dailies, the Dysheartener lets out another Shattering Heartbreak attack, smashing the walls and floor of the Market! As stone rains down, Alex the Merchant weeps at his crushed merchandise, stricken by the destruction.\n\nWe can't let this happen again! Be sure to do all our your Dailies to prevent the Dysheartener from using its final strike.",
|
"questDysheartenerBossRageMarket": "`The Dysheartener uses SHATTERING HEARTBREAK!`\n\nHelp! After feasting on our incomplete Dailies, the Dysheartener lets out another Shattering Heartbreak attack, smashing the walls and floor of the Market! As stone rains down, Alex the Merchant weeps at his crushed merchandise, stricken by the destruction.\n\nWe can't let this happen again! Be sure to do all our your Dailies to prevent the Dysheartener from using its final strike.",
|
||||||
"questDysheartenerBossRageQuests": "`The Dysheartener uses SHATTERING HEARTBREAK!`\n\nAaaah! We've left our Dailies undone again, and the Dysheartener has mustered the energy for one final blow against our beloved shopkeepers. The countryside around Ian the Quest Master is ripped apart by its Shattering Heartbreak attack, and Ian is struck to the core by the horrific vision. We're so close to defeating this monster.... Hurry! Don't stop now!",
|
"questDysheartenerBossRageQuests": "`The Dysheartener uses SHATTERING HEARTBREAK!`\n\nAaaah! We've left our Dailies undone again, and the Dysheartener has mustered the energy for one final blow against our beloved shopkeepers. The countryside around Ian the Quest Master is ripped apart by its Shattering Heartbreak attack, and Ian is struck to the core by the horrific vision. We're so close to defeating this monster.... Hurry! Don't stop now!",
|
||||||
"questDysheartenerDropHippogriffPet": "Hopeful Hippogriff (Pet)",
|
"questDysheartenerDropHippogriffPet": "Hopeful Hippogriff (Pet)",
|
||||||
|
|||||||
Reference in New Issue
Block a user