mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-16 22:27:26 +01:00
rollback death modal changes
This commit is contained in:
@@ -23,6 +23,7 @@
|
|||||||
p.death-penalty {{ $t('deathPenaltyDetails') }}
|
p.death-penalty {{ $t('deathPenaltyDetails') }}
|
||||||
.modal-footer
|
.modal-footer
|
||||||
.col-12.text-center
|
.col-12.text-center
|
||||||
|
button.btn.btn-danger(@click='revive()') {{ $t('refillHealthTryAgain') }}
|
||||||
h4.text-center(v-html="$t('dyingOftenTips')")
|
h4.text-center(v-html="$t('dyingOftenTips')")
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -36,10 +37,12 @@
|
|||||||
</style>
|
</style>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import axios from 'axios';
|
||||||
import Avatar from '../avatar';
|
import Avatar from '../avatar';
|
||||||
import { mapState } from 'client/libs/store';
|
import { mapState } from 'client/libs/store';
|
||||||
import percent from '../../../common/script/libs/percent';
|
import percent from '../../../common/script/libs/percent';
|
||||||
import {maxHealth} from '../../../common/script/index';
|
import {maxHealth} from '../../../common/script/index';
|
||||||
|
import revive from '../../../common/script/ops/revive';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
@@ -62,6 +65,11 @@ export default {
|
|||||||
close () {
|
close () {
|
||||||
this.$root.$emit('bv::hide::modal', 'death');
|
this.$root.$emit('bv::hide::modal', 'death');
|
||||||
},
|
},
|
||||||
|
async revive () {
|
||||||
|
await axios.post('/api/v4/user/revive');
|
||||||
|
revive(this.user);
|
||||||
|
this.close();
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -118,8 +118,6 @@ import ultimateGear from './achievements/ultimateGear';
|
|||||||
import wonChallenge from './achievements/wonChallenge';
|
import wonChallenge from './achievements/wonChallenge';
|
||||||
import loginIncentives from './achievements/login-incentives';
|
import loginIncentives from './achievements/login-incentives';
|
||||||
|
|
||||||
import revive from '../../common/script/ops/revive';
|
|
||||||
|
|
||||||
const NOTIFICATIONS = {
|
const NOTIFICATIONS = {
|
||||||
CHALLENGE_JOINED_ACHIEVEMENT: {
|
CHALLENGE_JOINED_ACHIEVEMENT: {
|
||||||
achievement: true,
|
achievement: true,
|
||||||
@@ -151,11 +149,6 @@ const NOTIFICATIONS = {
|
|||||||
label: ($t) => $t('modalContribAchievement'),
|
label: ($t) => $t('modalContribAchievement'),
|
||||||
modalId: 'contributor',
|
modalId: 'contributor',
|
||||||
},
|
},
|
||||||
DEATH: {
|
|
||||||
sound: 'Death',
|
|
||||||
label: ($t) => $t('lostAllHealth'),
|
|
||||||
modalId: 'death',
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -220,7 +213,6 @@ export default {
|
|||||||
isRunningYesterdailies: false,
|
isRunningYesterdailies: false,
|
||||||
nextCron: null,
|
nextCron: null,
|
||||||
handledNotifications,
|
handledNotifications,
|
||||||
reviveRunning: false,
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -248,7 +240,7 @@ export default {
|
|||||||
userHp (after, before) {
|
userHp (after, before) {
|
||||||
if (this.user.needsCron) return;
|
if (this.user.needsCron) return;
|
||||||
if (after <= 0) {
|
if (after <= 0) {
|
||||||
this.showDeathNotification();
|
this.showDeathModal();
|
||||||
// @TODO: {keyboard:false, backdrop:'static'}
|
// @TODO: {keyboard:false, backdrop:'static'}
|
||||||
} else if (after <= 30 && !this.user.flags.warnedLowHealth) {
|
} else if (after <= 30 && !this.user.flags.warnedLowHealth) {
|
||||||
this.$root.$emit('bv::show::modal', 'low-health');
|
this.$root.$emit('bv::show::modal', 'low-health');
|
||||||
@@ -348,20 +340,9 @@ export default {
|
|||||||
document.removeEventListener('keydown', this.checkNextCron);
|
document.removeEventListener('keydown', this.checkNextCron);
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
showDeathNotification () {
|
showDeathModal () {
|
||||||
if (this.reviveRunning) return;
|
this.playSound('Death');
|
||||||
|
this.$root.$emit('bv::show::modal', 'death');
|
||||||
this.reviveRunning = true;
|
|
||||||
this.showNotificationWithModal('DEATH');
|
|
||||||
|
|
||||||
// if there is an api call still running (which removes health)
|
|
||||||
// a call to "revive" wouldn't do anything since the user is still alive on the server
|
|
||||||
// wait a second until the prior api call is done
|
|
||||||
setTimeout(async () => {
|
|
||||||
await axios.post('/api/v4/user/revive');
|
|
||||||
revive(this.user);
|
|
||||||
this.reviveRunning = false;
|
|
||||||
}, 1000);
|
|
||||||
},
|
},
|
||||||
showNotificationWithModal (type, forceToModal) {
|
showNotificationWithModal (type, forceToModal) {
|
||||||
const config = NOTIFICATIONS[type];
|
const config = NOTIFICATIONS[type];
|
||||||
@@ -397,7 +378,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (this.user.stats.hp <= 0) {
|
if (this.user.stats.hp <= 0) {
|
||||||
this.showDeathNotification();
|
this.showDeathModal();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.questCompleted) {
|
if (this.questCompleted) {
|
||||||
|
|||||||
Reference in New Issue
Block a user