Adjust arrow offset when spawning
This give leniency when jumping off arrow crates that shoots upmain
parent
b8b475bfc4
commit
8de2086e4c
|
@ -1838,27 +1838,32 @@ void container_destroy_system(Scene_t* scene)
|
|||
|
||||
Entity_t* new_ent;
|
||||
AnchorPoint_t spawn_anchor = AP_MID_CENTER;
|
||||
Vector2 offset_adjustment = {0};
|
||||
switch (p_container->item)
|
||||
{
|
||||
case CONTAINER_LEFT_ARROW:
|
||||
new_ent = create_arrow(&scene->ent_manager, 0);
|
||||
play_sfx(scene->engine, ARROW_RELEASE_SFX);
|
||||
spawn_anchor = AP_MID_LEFT;
|
||||
offset_adjustment.x += 16;
|
||||
break;
|
||||
case CONTAINER_RIGHT_ARROW:
|
||||
new_ent = create_arrow(&scene->ent_manager, 1);
|
||||
play_sfx(scene->engine, ARROW_RELEASE_SFX);
|
||||
spawn_anchor = AP_MID_RIGHT;
|
||||
offset_adjustment.x -= 16;
|
||||
break;
|
||||
case CONTAINER_UP_ARROW:
|
||||
new_ent = create_arrow(&scene->ent_manager, 2);
|
||||
play_sfx(scene->engine, ARROW_RELEASE_SFX);
|
||||
spawn_anchor = AP_TOP_CENTER;
|
||||
offset_adjustment.y += 16;
|
||||
break;
|
||||
case CONTAINER_DOWN_ARROW:
|
||||
new_ent = create_arrow(&scene->ent_manager, 3);
|
||||
play_sfx(scene->engine, ARROW_RELEASE_SFX);
|
||||
spawn_anchor = AP_BOT_CENTER;
|
||||
offset_adjustment.y -= 16;
|
||||
break;
|
||||
case CONTAINER_BOMB:
|
||||
if (dmg_src != NULL && dmg_src->m_tag == PLAYER_ENT_TAG)
|
||||
|
@ -1900,6 +1905,10 @@ void container_destroy_system(Scene_t* scene)
|
|||
, spawn_anchor, false
|
||||
)
|
||||
);
|
||||
new_ent->position = Vector2Add(
|
||||
new_ent->position,
|
||||
offset_adjustment
|
||||
);
|
||||
}
|
||||
|
||||
// In case there's more materials
|
||||
|
|
Loading…
Reference in New Issue