Files
tmc/src/bladeTrap.c
T
2020-06-18 03:21:47 -07:00

32 lines
851 B
C

#include "global.h"
#include "entity.h"
#include "room.h"
extern void sub_080A2CC0();
extern void sub_0806F69C();
extern void sub_08004488();
extern Entity* sub_0804B128();
void BladeTrap(Entity* ent) {
u16 uVar1;
Entity* pEVar2;
u16* puVar3;
if (ent->action == 0) {
ent->action = 1;
pEVar2 = sub_0804B128((u8)(ent->entityType).form);
ent->attachedEntity = pEVar2;
sub_080A2CC0((EntityData*)ent, &ent->attachedEntity, &ent->heldObjectPtr);
}
if ((ent->direction & 0x80) == 0) {
sub_0806F69C(ent);
}
puVar3 = (u16*)&(ent->heldObjectPtr);
uVar1 = *puVar3;
*puVar3 = uVar1 - 1;
if ((u16)(*puVar3) == 0) {
if ((ent->direction & 0x80) == 0) {
sub_08004488(0x74);
}
sub_080A2CC0((EntityData*)ent, &ent->attachedEntity, puVar3);
}
}