This commit is contained in:
parent
6957055ab1
commit
9d0aef7b89
@ -108,6 +108,18 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
|
|||||||
2048,
|
2048,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{ // NPC_FIREBALL
|
||||||
|
NPC_INIT_FIREBALL,
|
||||||
|
NPC_SENSOR_NONE,
|
||||||
|
NPC_MOVEMENT_FIREBALL,
|
||||||
|
NPC_MOVEMENT_MODIFIER_NONE,
|
||||||
|
NPC_CLOSE_NONE,
|
||||||
|
NPC_TIMER_NONE,
|
||||||
|
false,
|
||||||
|
3,
|
||||||
|
2048,
|
||||||
|
},
|
||||||
|
|
||||||
{ // NPC_SMALL_JELLYFISH_1
|
{ // NPC_SMALL_JELLYFISH_1
|
||||||
NPC_INIT_DEFAULT,
|
NPC_INIT_DEFAULT,
|
||||||
NPC_SENSOR_JELLYFISH_USER_CLOSE,
|
NPC_SENSOR_JELLYFISH_USER_CLOSE,
|
||||||
@ -483,7 +495,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
|
|||||||
|
|
||||||
void CNpc::init()
|
void CNpc::init()
|
||||||
{
|
{
|
||||||
m_type = NPC_FISH_HOOK;
|
m_type = NPC_FIREBALL;
|
||||||
|
|
||||||
m_heading = m_fireHeading = 0;
|
m_heading = m_fireHeading = 0;
|
||||||
m_movementTimer = 0;
|
m_movementTimer = 0;
|
||||||
@ -638,6 +650,28 @@ void CNpc::init()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case NPC_INIT_FIREBALL:
|
||||||
|
{
|
||||||
|
m_npcPath.initPath();
|
||||||
|
|
||||||
|
DVECTOR newPos;
|
||||||
|
|
||||||
|
newPos.vx = 200;
|
||||||
|
newPos.vy = 100;
|
||||||
|
|
||||||
|
m_npcPath.addWaypoint( newPos );
|
||||||
|
|
||||||
|
m_npcPath.setPathType( SINGLE_USE_PATH );
|
||||||
|
|
||||||
|
m_extension = newPos.vx - Pos.vx;
|
||||||
|
|
||||||
|
m_velocity = m_data[m_type].speed;
|
||||||
|
|
||||||
|
m_timerTimer = GameState::getOneSecondInFrames() * 4;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@ -1146,6 +1180,13 @@ void CNpc::processMovement(int _frames)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case NPC_MOVEMENT_FIREBALL:
|
||||||
|
{
|
||||||
|
processFireballMovement( _frames );
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -34,6 +34,7 @@ public:
|
|||||||
NPC_FISH_HOOK,
|
NPC_FISH_HOOK,
|
||||||
NPC_DUST_DEVIL,
|
NPC_DUST_DEVIL,
|
||||||
NPC_PENDULUM,
|
NPC_PENDULUM,
|
||||||
|
NPC_FIREBALL,
|
||||||
NPC_SMALL_JELLYFISH_1,
|
NPC_SMALL_JELLYFISH_1,
|
||||||
NPC_SMALL_JELLYFISH_2,
|
NPC_SMALL_JELLYFISH_2,
|
||||||
NPC_LARGE_JELLYFISH,
|
NPC_LARGE_JELLYFISH,
|
||||||
@ -92,6 +93,7 @@ protected:
|
|||||||
NPC_INIT_FALLING_ITEM,
|
NPC_INIT_FALLING_ITEM,
|
||||||
NPC_INIT_FISH_HOOK,
|
NPC_INIT_FISH_HOOK,
|
||||||
NPC_INIT_PENDULUM,
|
NPC_INIT_PENDULUM,
|
||||||
|
NPC_INIT_FIREBALL,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum NPC_CONTROL_FUNC
|
enum NPC_CONTROL_FUNC
|
||||||
@ -155,6 +157,7 @@ protected:
|
|||||||
NPC_MOVEMENT_FLYING_DUTCHMAN,
|
NPC_MOVEMENT_FLYING_DUTCHMAN,
|
||||||
NPC_MOVEMENT_IRON_DOGFISH,
|
NPC_MOVEMENT_IRON_DOGFISH,
|
||||||
NPC_MOVEMENT_PENDULUM,
|
NPC_MOVEMENT_PENDULUM,
|
||||||
|
NPC_MOVEMENT_FIREBALL,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum NPC_MOVEMENT_MODIFIER_FUNC
|
enum NPC_MOVEMENT_MODIFIER_FUNC
|
||||||
@ -304,6 +307,7 @@ protected:
|
|||||||
void processCloseFallingItemFall( int _frames );
|
void processCloseFallingItemFall( int _frames );
|
||||||
void processCloseFishHookRise( int _frames );
|
void processCloseFishHookRise( int _frames );
|
||||||
void processPendulumMovement( int _frames );
|
void processPendulumMovement( int _frames );
|
||||||
|
void processFireballMovement( int _frames );
|
||||||
|
|
||||||
// data
|
// data
|
||||||
|
|
||||||
|
@ -84,6 +84,8 @@ void CNpcPath::addWaypoint( DVECTOR newPos )
|
|||||||
|
|
||||||
this->waypoint = newWaypoint;
|
this->waypoint = newWaypoint;
|
||||||
waypointCount++;
|
waypointCount++;
|
||||||
|
|
||||||
|
currentWaypoint = this->waypoint;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user