This commit is contained in:
Charles 2001-02-09 19:44:36 +00:00
parent 13d1c9f499
commit f19b381fad
4 changed files with 43 additions and 2 deletions

View file

@ -56,6 +56,7 @@ void CNpc::processCloseFlamingSkullAttack( int _frames )
if ( distXSqr + distYSqr < 100 ) if ( distXSqr + distYSqr < 100 )
{ {
m_state = FLAMING_SKULL_ATTACK; m_state = FLAMING_SKULL_ATTACK;
m_heading = m_fireHeading;
m_controlFunc = NPC_CONTROL_MOVEMENT; m_controlFunc = NPC_CONTROL_MOVEMENT;
m_timerFunc = NPC_TIMER_ATTACK_DONE; m_timerFunc = NPC_TIMER_ATTACK_DONE;

View file

@ -54,7 +54,7 @@ s32 CNpc::playerYDistSqr;
void CNpc::init() void CNpc::init()
{ {
m_type = NPC_ANEMONE_3; m_type = NPC_FLAMING_SKULL;
m_heading = m_fireHeading = 0; m_heading = m_fireHeading = 0;
m_movementTimer = 0; m_movementTimer = 0;
@ -339,7 +339,7 @@ void CNpc::think(int _frames)
void CNpc::detectCollisionWithPlayer() void CNpc::detectCollisionWithPlayer()
{ {
if ( playerXDistSqr + playerYDistSqr < 400 ) if ( m_data[m_type].detectCollision && playerXDistSqr + playerYDistSqr < 400 )
{ {
// close enough for collision // close enough for collision

View file

@ -246,6 +246,7 @@ protected:
bool canTalk; bool canTalk;
u8 speed; u8 speed;
u16 turnSpeed; u16 turnSpeed;
bool detectCollision;
DAMAGE_TYPE damageToUserType; DAMAGE_TYPE damageToUserType;
} }
NPC_DATA; NPC_DATA;

View file

@ -32,6 +32,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
true, true,
3, 3,
128, 128,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -45,6 +46,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
3, 3,
128, 128,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -58,6 +60,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
3, 3,
128, 128,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -71,6 +74,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
3, 3,
2048, 2048,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -84,6 +88,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
3, 3,
2048, 2048,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -97,6 +102,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
40, 40,
2048, 2048,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -110,6 +116,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
3, 3,
2048, 2048,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -123,6 +130,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
3, 3,
128, 128,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -136,6 +144,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
3, 3,
128, 128,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -149,6 +158,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
3, 3,
128, 128,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -162,6 +172,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
0, 0,
128, 128,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -175,6 +186,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
0, 0,
128, 128,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -188,6 +200,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
0, 0,
128, 128,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -200,6 +213,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
NPC_TIMER_NONE, NPC_TIMER_NONE,
0, 0,
128, 128,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -213,6 +227,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
5, 5,
256, 256,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -226,6 +241,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
2, 2,
2048, 2048,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -239,6 +255,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
1, 1,
128, 128,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -252,6 +269,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
3, 3,
256, 256,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -265,6 +283,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
3, 3,
256, 256,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -278,6 +297,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
2, 2,
128, 128,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -291,6 +311,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
1, 1,
128, 128,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -304,6 +325,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
2, 2,
128, 128,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -317,6 +339,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
0, 0,
128, 128,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -330,6 +353,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
0, 0,
128, 128,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -343,6 +367,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
3, 3,
2048, 2048,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -356,6 +381,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
0, 0,
128, 128,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -369,6 +395,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
2, 2,
512, 512,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -382,6 +409,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
2, 2,
2048, 2048,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -395,6 +423,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
3, 3,
64, 64,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -408,6 +437,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
2, 2,
128, 128,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -421,6 +451,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
0, 0,
128, 128,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -434,6 +465,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
3, 3,
128, 128,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -447,6 +479,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
3, 3,
2048, 2048,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -460,6 +493,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
3, 3,
64, 64,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -473,6 +507,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
3, 3,
2048, 2048,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -486,6 +521,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
3, 3,
256, 256,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -499,6 +535,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
3, 3,
256, 256,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -512,6 +549,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
3, 3,
256, 256,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
@ -525,6 +563,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
false, false,
3, 3,
2048, 2048,
false,
DAMAGE__LAVA, DAMAGE__LAVA,
}, },
}; };