mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-15 13:47:33 +01:00
auto revive
This commit is contained in:
@@ -118,6 +118,8 @@ import ultimateGear from './achievements/ultimateGear';
|
||||
import wonChallenge from './achievements/wonChallenge';
|
||||
import loginIncentives from './achievements/login-incentives';
|
||||
|
||||
import revive from '../../common/script/ops/revive';
|
||||
|
||||
const NOTIFICATIONS = {
|
||||
CHALLENGE_JOINED_ACHIEVEMENT: {
|
||||
achievement: true,
|
||||
@@ -218,6 +220,7 @@ export default {
|
||||
isRunningYesterdailies: false,
|
||||
nextCron: null,
|
||||
handledNotifications,
|
||||
reviveRunning: false,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@@ -245,8 +248,7 @@ export default {
|
||||
userHp (after, before) {
|
||||
if (this.user.needsCron) return;
|
||||
if (after <= 0) {
|
||||
alert('userHp');
|
||||
this.showNotificationWithModal('DEATH');
|
||||
this.showDeathNotification();
|
||||
// @TODO: {keyboard:false, backdrop:'static'}
|
||||
} else if (after <= 30 && !this.user.flags.warnedLowHealth) {
|
||||
this.$root.$emit('bv::show::modal', 'low-health');
|
||||
@@ -346,6 +348,21 @@ export default {
|
||||
document.removeEventListener('keydown', this.checkNextCron);
|
||||
},
|
||||
methods: {
|
||||
showDeathNotification () {
|
||||
if (this.reviveRunning) return;
|
||||
|
||||
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) {
|
||||
const config = NOTIFICATIONS[type];
|
||||
|
||||
@@ -380,7 +397,7 @@ export default {
|
||||
}
|
||||
|
||||
if (this.user.stats.hp <= 0) {
|
||||
this.showNotificationWithModal('DEATH');
|
||||
this.showDeathNotification();
|
||||
}
|
||||
|
||||
if (this.questCompleted) {
|
||||
|
||||
Reference in New Issue
Block a user