diff --git a/src/game/behaviors/bully.inc.c b/src/game/behaviors/bully.inc.c index 3909ffd14..9e35124f3 100644 --- a/src/game/behaviors/bully.inc.c +++ b/src/game/behaviors/bully.inc.c @@ -28,6 +28,15 @@ static u8 bhv_bully_ignore_if_true(void) { return (o->oAction == BULLY_ACT_LAVA_DEATH) || (o->oAction == BULLY_ACT_DEATH_PLANE_DEATH); } +static void bhv_bully_override_ownership(u8* shouldOverride, u8* shouldOwn) { + if ((o->oAction == BULLY_ACT_LAVA_DEATH) || (o->oAction == BULLY_ACT_DEATH_PLANE_DEATH) || (o->oIntangibleTimer != 0)) { + *shouldOverride = TRUE; + *shouldOwn = FALSE; + } else { + *shouldOverride = FALSE; + } +} + static void bhv_bully_network_init(void) { struct SyncObject* so = network_init_object(o, 4000.0f); network_init_object_field(o, &o->oFlags); @@ -39,6 +48,7 @@ static void bhv_bully_network_init(void) { network_init_object_field(o, &o->oBullyMarioCollisionAngle); so->syncDeathEvent = FALSE; so->ignore_if_true = bhv_bully_ignore_if_true; + so->override_ownership = bhv_bully_override_ownership; } void bhv_small_bully_init(void) {