353 lines
8.7 KiB
C
353 lines
8.7 KiB
C
#include "z_boss_sst.h"
|
|
|
|
static ColliderJntSphElementInit sJntSphItemsInitHand[11] = {
|
|
{
|
|
{
|
|
ELEMTYPE_UNK1,
|
|
{ 0x20000000, 0x00, 0x00 },
|
|
{ 0xFFCFFFFF, 0x00, 0x00 },
|
|
TOUCH_ON | TOUCH_SFX_NORMAL,
|
|
BUMP_ON,
|
|
OCELEM_ON,
|
|
},
|
|
{ 2, { { 2000, -1500, 250 }, 65 }, 100 },
|
|
},
|
|
{
|
|
{
|
|
ELEMTYPE_UNK1,
|
|
{ 0x20000000, 0x00, 0x00 },
|
|
{ 0xFFCFFFFF, 0x00, 0x00 },
|
|
TOUCH_ON | TOUCH_SFX_NORMAL,
|
|
BUMP_ON,
|
|
OCELEM_ON,
|
|
},
|
|
{ 10, { { 0, 0, 0 }, 22 }, 100 },
|
|
},
|
|
{
|
|
{
|
|
ELEMTYPE_UNK1,
|
|
{ 0x20000000, 0x00, 0x00 },
|
|
{ 0xFFCFFFFF, 0x00, 0x00 },
|
|
TOUCH_ON | TOUCH_SFX_NORMAL,
|
|
BUMP_ON,
|
|
OCELEM_ON,
|
|
},
|
|
{ 11, { { 500, 0, 0 }, 22 }, 100 },
|
|
},
|
|
{
|
|
{
|
|
ELEMTYPE_UNK1,
|
|
{ 0x20000000, 0x00, 0x00 },
|
|
{ 0xFFCFFFFF, 0x00, 0x00 },
|
|
TOUCH_ON | TOUCH_SFX_NORMAL,
|
|
BUMP_ON,
|
|
OCELEM_ON,
|
|
},
|
|
{ 15, { { -250, -250, 0 }, 25 }, 100 },
|
|
},
|
|
{
|
|
{
|
|
ELEMTYPE_UNK1,
|
|
{ 0x20000000, 0x00, 0x00 },
|
|
{ 0xFFCFFFFF, 0x00, 0x00 },
|
|
TOUCH_ON | TOUCH_SFX_NORMAL,
|
|
BUMP_ON,
|
|
OCELEM_ON,
|
|
},
|
|
{ 16, { { 500, -250, 0 }, 25 }, 100 },
|
|
},
|
|
{
|
|
{
|
|
ELEMTYPE_UNK1,
|
|
{ 0x20000000, 0x00, 0x00 },
|
|
{ 0xFFCFFFFF, 0x00, 0x00 },
|
|
TOUCH_ON | TOUCH_SFX_NORMAL,
|
|
BUMP_ON,
|
|
OCELEM_ON,
|
|
},
|
|
{ 20, { { 250, -250, 0 }, 25 }, 100 },
|
|
},
|
|
{
|
|
{
|
|
ELEMTYPE_UNK1,
|
|
{ 0x20000000, 0x00, 0x00 },
|
|
{ 0xFFCFFFFF, 0x00, 0x00 },
|
|
TOUCH_ON | TOUCH_SFX_NORMAL,
|
|
BUMP_ON,
|
|
OCELEM_ON,
|
|
},
|
|
{ 21, { { 500, -250, 0 }, 25 }, 100 },
|
|
},
|
|
{
|
|
{
|
|
ELEMTYPE_UNK1,
|
|
{ 0x20000000, 0x00, 0x00 },
|
|
{ 0xFFCFFFFF, 0x00, 0x00 },
|
|
TOUCH_ON | TOUCH_SFX_NORMAL,
|
|
BUMP_ON,
|
|
OCELEM_ON,
|
|
},
|
|
{ 25, { { 0, 0, 0 }, 27 }, 100 },
|
|
},
|
|
{
|
|
{
|
|
ELEMTYPE_UNK1,
|
|
{ 0x20000000, 0x00, 0x00 },
|
|
{ 0xFFCFFFFF, 0x00, 0x00 },
|
|
TOUCH_ON | TOUCH_SFX_NORMAL,
|
|
BUMP_ON,
|
|
OCELEM_ON,
|
|
},
|
|
{ 26, { { 750, 0, 0 }, 26 }, 100 },
|
|
},
|
|
{
|
|
{
|
|
ELEMTYPE_UNK1,
|
|
{ 0x20000000, 0x00, 0x00 },
|
|
{ 0xFFCFFFFF, 0x00, 0x00 },
|
|
TOUCH_ON | TOUCH_SFX_NORMAL,
|
|
BUMP_ON,
|
|
OCELEM_ON,
|
|
},
|
|
{ 5, { { 750, -150, 0 }, 21 }, 100 },
|
|
},
|
|
{
|
|
{
|
|
ELEMTYPE_UNK1,
|
|
{ 0x20000000, 0x00, 0x00 },
|
|
{ 0xFFCFFFFF, 0x00, 0x00 },
|
|
TOUCH_ON | TOUCH_SFX_NORMAL,
|
|
BUMP_ON,
|
|
OCELEM_ON,
|
|
},
|
|
{ 6, { { 750, 0, 0 }, 20 }, 100 },
|
|
},
|
|
};
|
|
|
|
static ColliderJntSphInit sJntSphInitHand = {
|
|
{
|
|
COLTYPE_HIT0,
|
|
AT_TYPE_ENEMY,
|
|
AC_ON | AC_TYPE_PLAYER,
|
|
OC1_TYPE_ALL,
|
|
OC2_TYPE_1,
|
|
COLSHAPE_JNTSPH,
|
|
},
|
|
11,
|
|
sJntSphItemsInitHand,
|
|
};
|
|
|
|
static ColliderJntSphElementInit sJntSphItemsInitHead[11] = {
|
|
{
|
|
{
|
|
ELEMTYPE_UNK1,
|
|
{ 0x20000000, 0x00, 0x30 },
|
|
{ 0xFFCFFFFF, 0x00, 0x00 },
|
|
TOUCH_ON | TOUCH_SFX_NORMAL,
|
|
BUMP_ON,
|
|
OCELEM_ON,
|
|
},
|
|
{ 7, { { 1500, 0, 0 }, 70 }, 100 },
|
|
},
|
|
{
|
|
{
|
|
ELEMTYPE_UNK1,
|
|
{ 0x20000000, 0x00, 0x30 },
|
|
{ 0xFFCFFFFF, 0x00, 0x00 },
|
|
TOUCH_ON | TOUCH_SFX_NORMAL,
|
|
BUMP_ON,
|
|
OCELEM_ON,
|
|
},
|
|
{ 6, { { 0, 0, 0 }, 75 }, 100 },
|
|
},
|
|
{
|
|
{
|
|
ELEMTYPE_UNK1,
|
|
{ 0x20000000, 0x00, 0x30 },
|
|
{ 0xFFCFFFFF, 0x00, 0x00 },
|
|
TOUCH_ON | TOUCH_SFX_NORMAL,
|
|
BUMP_ON,
|
|
OCELEM_ON,
|
|
},
|
|
{ 4, { { 5000, 0, 0 }, 120 }, 100 },
|
|
},
|
|
{
|
|
{
|
|
ELEMTYPE_UNK1,
|
|
{ 0x20000000, 0x00, 0x30 },
|
|
{ 0xFFCFFFFF, 0x00, 0x00 },
|
|
TOUCH_ON | TOUCH_SFX_NORMAL,
|
|
BUMP_ON,
|
|
OCELEM_ON,
|
|
},
|
|
{ 3, { { -2500, 0, 0 }, 150 }, 100 },
|
|
},
|
|
{
|
|
{
|
|
ELEMTYPE_UNK1,
|
|
{ 0x20000000, 0x00, 0x30 },
|
|
{ 0xFFCFFFFF, 0x00, 0x00 },
|
|
TOUCH_ON | TOUCH_SFX_NORMAL,
|
|
BUMP_ON,
|
|
OCELEM_ON,
|
|
},
|
|
{ 43, { { 1500, 0, 0 }, 80 }, 100 },
|
|
},
|
|
{
|
|
{
|
|
ELEMTYPE_UNK1,
|
|
{ 0x20000000, 0x00, 0x30 },
|
|
{ 0xFFCFFFFF, 0x00, 0x00 },
|
|
TOUCH_ON | TOUCH_SFX_NORMAL,
|
|
BUMP_ON,
|
|
OCELEM_ON,
|
|
},
|
|
{ 43, { { 7500, 0, 0 }, 70 }, 100 },
|
|
},
|
|
{
|
|
{
|
|
ELEMTYPE_UNK1,
|
|
{ 0x20000000, 0x00, 0x30 },
|
|
{ 0xFFCFFFFF, 0x00, 0x00 },
|
|
TOUCH_ON | TOUCH_SFX_NORMAL,
|
|
BUMP_ON,
|
|
OCELEM_ON,
|
|
},
|
|
{ 44, { { 3000, 0, 0 }, 60 }, 100 },
|
|
},
|
|
{
|
|
{
|
|
ELEMTYPE_UNK1,
|
|
{ 0x20000000, 0x00, 0x30 },
|
|
{ 0xFFCFFFFF, 0x00, 0x00 },
|
|
TOUCH_ON | TOUCH_SFX_NORMAL,
|
|
BUMP_ON,
|
|
OCELEM_ON,
|
|
},
|
|
{ 40, { { 1500, 0, 0 }, 80 }, 100 },
|
|
},
|
|
{
|
|
{
|
|
ELEMTYPE_UNK1,
|
|
{ 0x20000000, 0x00, 0x30 },
|
|
{ 0xFFCFFFFF, 0x00, 0x00 },
|
|
TOUCH_ON | TOUCH_SFX_NORMAL,
|
|
BUMP_ON,
|
|
OCELEM_ON,
|
|
},
|
|
{ 40, { { 7500, 0, 0 }, 70 }, 100 },
|
|
},
|
|
{
|
|
{
|
|
ELEMTYPE_UNK1,
|
|
{ 0x20000000, 0x00, 0x30 },
|
|
{ 0xFFCFFFFF, 0x00, 0x00 },
|
|
TOUCH_ON | TOUCH_SFX_NORMAL,
|
|
BUMP_ON,
|
|
OCELEM_ON,
|
|
},
|
|
{ 41, { { 3000, 0, 0 }, 60 }, 100 },
|
|
},
|
|
{
|
|
{
|
|
ELEMTYPE_UNK1,
|
|
{ 0x20000000, 0x00, 0x30 },
|
|
{ 0x00000080, 0x00, 0x00 },
|
|
TOUCH_ON | TOUCH_SFX_NORMAL,
|
|
BUMP_NONE,
|
|
OCELEM_ON,
|
|
},
|
|
{ 8, { { 1500, 0, 0 }, 70 }, 100 },
|
|
},
|
|
};
|
|
|
|
static ColliderJntSphInit sJntSphInitHead = {
|
|
{
|
|
COLTYPE_HARD,
|
|
AT_TYPE_ENEMY,
|
|
AC_ON | AC_HARD | AC_TYPE_PLAYER,
|
|
OC1_TYPE_ALL,
|
|
OC2_TYPE_1,
|
|
COLSHAPE_JNTSPH,
|
|
},
|
|
11,
|
|
sJntSphItemsInitHead,
|
|
};
|
|
|
|
static ColliderCylinderInit sCylinderInitHead = {
|
|
{
|
|
COLTYPE_HIT0,
|
|
AT_NONE,
|
|
AC_NONE | AC_TYPE_PLAYER,
|
|
OC1_NONE,
|
|
OC2_TYPE_1,
|
|
COLSHAPE_CYLINDER,
|
|
},
|
|
{
|
|
ELEMTYPE_UNK0,
|
|
{ 0x00000000, 0x00, 0x00 },
|
|
{ 0xFFCFFFFF, 0x00, 0x00 },
|
|
TOUCH_NONE,
|
|
BUMP_ON,
|
|
OCELEM_NONE,
|
|
},
|
|
{ 85, 100, -50, { 0, 0, 0 } },
|
|
};
|
|
|
|
static ColliderCylinderInit sCylinderInitHand = {
|
|
{
|
|
COLTYPE_NONE,
|
|
AT_TYPE_ENEMY,
|
|
AC_NONE,
|
|
OC1_NONE,
|
|
OC2_TYPE_1,
|
|
COLSHAPE_CYLINDER,
|
|
},
|
|
{
|
|
ELEMTYPE_UNK0,
|
|
{ 0x20000000, 0x04, 0x10 },
|
|
{ 0x00000000, 0x00, 0x00 },
|
|
TOUCH_ON | TOUCH_SFX_NONE,
|
|
BUMP_NONE,
|
|
OCELEM_NONE,
|
|
},
|
|
{ 85, 1, 0, { 0, 0, 0 } },
|
|
};
|
|
|
|
static CollisionCheckInfoInit sColChkInfoInit = { 36, 100, 100, 200 };
|
|
|
|
static DamageTable sDamageTable = {
|
|
/* Deku nut */ DMG_ENTRY(0, 0x0),
|
|
/* Deku stick */ DMG_ENTRY(2, 0x0),
|
|
/* Slingshot */ DMG_ENTRY(1, 0x0),
|
|
/* Explosive */ DMG_ENTRY(2, 0x0),
|
|
/* Boomerang */ DMG_ENTRY(0, 0x0),
|
|
/* Normal arrow */ DMG_ENTRY(2, 0x0),
|
|
/* Hammer swing */ DMG_ENTRY(2, 0x0),
|
|
/* Hookshot */ DMG_ENTRY(2, 0x0),
|
|
/* Kokiri sword */ DMG_ENTRY(1, 0x0),
|
|
/* Master sword */ DMG_ENTRY(2, 0x0),
|
|
/* Giant's Knife */ DMG_ENTRY(4, 0x0),
|
|
/* Fire arrow */ DMG_ENTRY(2, 0x0),
|
|
/* Ice arrow */ DMG_ENTRY(4, 0x3),
|
|
/* Light arrow */ DMG_ENTRY(2, 0x0),
|
|
/* Unk arrow 1 */ DMG_ENTRY(4, 0x0),
|
|
/* Unk arrow 2 */ DMG_ENTRY(2, 0x0),
|
|
/* Unk arrow 3 */ DMG_ENTRY(2, 0x0),
|
|
/* Fire magic */ DMG_ENTRY(0, 0x0),
|
|
/* Ice magic */ DMG_ENTRY(4, 0x3),
|
|
/* Light magic */ DMG_ENTRY(4, 0x4),
|
|
/* Shield */ DMG_ENTRY(0, 0x0),
|
|
/* Mirror Ray */ DMG_ENTRY(0, 0x0),
|
|
/* Kokiri spin */ DMG_ENTRY(1, 0x0),
|
|
/* Giant spin */ DMG_ENTRY(4, 0x0),
|
|
/* Master spin */ DMG_ENTRY(2, 0x0),
|
|
/* Kokiri jump */ DMG_ENTRY(2, 0x0),
|
|
/* Giant jump */ DMG_ENTRY(8, 0x0),
|
|
/* Master jump */ DMG_ENTRY(4, 0x0),
|
|
/* Unknown 1 */ DMG_ENTRY(0, 0x0),
|
|
/* Unblockable */ DMG_ENTRY(0, 0x0),
|
|
/* Hammer jump */ DMG_ENTRY(4, 0x0),
|
|
/* Unknown 2 */ DMG_ENTRY(0, 0x0),
|
|
};
|