rollback death modal changes

This commit is contained in:
negue
2018-08-18 14:22:16 +02:00
parent 9fd26a88ea
commit b596576c53
2 changed files with 13 additions and 24 deletions

View File

@@ -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>

View File

@@ -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) {