MCPcopy Create free account
hub / github.com/OpenStarbound/OpenStarbound / revive

Method revive

source/game/StarPlayer.cpp:673–698  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

671}
672
673void Player::revive(Vec2F const& footPosition) {
674 if (!isDead())
675 return;
676
677 m_state = State::Idle;
678 m_emoteState = HumanoidEmote::Idle;
679
680 m_statusController->setPersistentEffects("armor", m_armor->statusEffects());
681 m_statusController->setPersistentEffects("tools", m_tools->statusEffects());
682 m_statusController->resetAllResources();
683
684 m_statusController->clearEphemeralEffects();
685
686 endPrimaryFire();
687 endAltFire();
688 endTrigger();
689
690 m_effectEmitter->reset();
691 m_movementController->setPosition(footPosition - feetOffset());
692 m_movementController->setVelocity(Vec2F());
693
694 m_techController->reloadTech();
695
696 float moneyCost = m_inventory->currency("money") * modeConfig().reviveCostPercentile;
697 m_inventory->consumeCurrency("money", min((uint64_t)round(moneyCost), m_inventory->currency("money")));
698}
699
700bool Player::shifting() const {
701 return m_shifting;

Callers 1

reviveMainPlayerMethod · 0.80

Calls 11

roundFunction · 0.85
reloadTechMethod · 0.80
consumeCurrencyMethod · 0.80
setPersistentEffectsMethod · 0.45
statusEffectsMethod · 0.45
resetAllResourcesMethod · 0.45
clearEphemeralEffectsMethod · 0.45
resetMethod · 0.45
setPositionMethod · 0.45
setVelocityMethod · 0.45
currencyMethod · 0.45

Tested by

no test coverage detected