Made inactive players drop held/heldby/ridden objects
This commit is contained in:
parent
7ae2239670
commit
64ab95efe1
|
@ -1883,6 +1883,32 @@ s32 execute_mario_action(UNUSED struct Object *o) {
|
||||||
if (!gNetworkAreaLoaded || fadedOut || wasNeverVisible) {
|
if (!gNetworkAreaLoaded || fadedOut || wasNeverVisible) {
|
||||||
gMarioState->marioObj->header.gfx.node.flags |= GRAPH_RENDER_INVISIBLE;
|
gMarioState->marioObj->header.gfx.node.flags |= GRAPH_RENDER_INVISIBLE;
|
||||||
gMarioState->marioObj->oIntangibleTimer = -1;
|
gMarioState->marioObj->oIntangibleTimer = -1;
|
||||||
|
mario_stop_riding_and_holding(gMarioState);
|
||||||
|
|
||||||
|
// drop their held object
|
||||||
|
if (gMarioState->heldObj != NULL) {
|
||||||
|
LOG_INFO("dropping held object");
|
||||||
|
u8 tmpPlayerIndex = gMarioState->playerIndex;
|
||||||
|
gMarioState->playerIndex = 0;
|
||||||
|
mario_drop_held_object(gMarioState);
|
||||||
|
gMarioState->playerIndex = tmpPlayerIndex;
|
||||||
|
}
|
||||||
|
|
||||||
|
// no longer held by an object
|
||||||
|
if (gMarioState->heldByObj != NULL) {
|
||||||
|
LOG_INFO("dropping heldby object");
|
||||||
|
gMarioState->heldByObj = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
// no longer riding object
|
||||||
|
if (gMarioState->riddenObj != NULL) {
|
||||||
|
LOG_INFO("dropping ridden object");
|
||||||
|
u8 tmpPlayerIndex = gMarioState->playerIndex;
|
||||||
|
gMarioState->playerIndex = 0;
|
||||||
|
mario_stop_riding_object(gMarioState);
|
||||||
|
gMarioState->playerIndex = tmpPlayerIndex;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue