This commit is contained in:
parent
03a805007e
commit
61f98dba74
4 changed files with 56 additions and 2 deletions
|
@ -66,6 +66,7 @@ enemy_src := 2denemy \
|
||||||
nbooger \
|
nbooger \
|
||||||
nmjfish \
|
nmjfish \
|
||||||
nfdutch \
|
nfdutch \
|
||||||
|
nsshark \
|
||||||
enemy
|
enemy
|
||||||
|
|
||||||
projectl_src := projectl
|
projectl_src := projectl
|
||||||
|
|
|
@ -395,6 +395,18 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
|
||||||
256,
|
256,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{ // NPC_SUB_SHARK
|
||||||
|
NPC_INIT_SUB_SHARK,
|
||||||
|
NPC_SENSOR_NONE,
|
||||||
|
NPC_MOVEMENT_SUB_SHARK,
|
||||||
|
NPC_MOVEMENT_MODIFIER_NONE,
|
||||||
|
NPC_CLOSE_SUB_SHARK_ATTACK,
|
||||||
|
NPC_TIMER_NONE,
|
||||||
|
false,
|
||||||
|
3,
|
||||||
|
256,
|
||||||
|
},
|
||||||
|
|
||||||
{ // NPC_FLYING_DUTCHMAN
|
{ // NPC_FLYING_DUTCHMAN
|
||||||
NPC_INIT_FLYING_DUTCHMAN,
|
NPC_INIT_FLYING_DUTCHMAN,
|
||||||
NPC_SENSOR_NONE,
|
NPC_SENSOR_NONE,
|
||||||
|
@ -411,7 +423,7 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
|
||||||
|
|
||||||
void CNpc::init()
|
void CNpc::init()
|
||||||
{
|
{
|
||||||
m_type = NPC_FLYING_DUTCHMAN;
|
m_type = NPC_SUB_SHARK;
|
||||||
|
|
||||||
m_heading = m_fireHeading = 0;
|
m_heading = m_fireHeading = 0;
|
||||||
m_movementTimer = 0;
|
m_movementTimer = 0;
|
||||||
|
@ -497,7 +509,7 @@ void CNpc::init()
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case NPC_FLYING_DUTCHMAN:
|
case NPC_INIT_FLYING_DUTCHMAN:
|
||||||
{
|
{
|
||||||
m_state = FLYING_DUTCHMAN_ATTACK_PLAYER_1;
|
m_state = FLYING_DUTCHMAN_ATTACK_PLAYER_1;
|
||||||
m_extendDir = EXTEND_UP;
|
m_extendDir = EXTEND_UP;
|
||||||
|
@ -505,6 +517,14 @@ void CNpc::init()
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case NPC_INIT_SUB_SHARK:
|
||||||
|
{
|
||||||
|
m_state = SUB_SHARK_CYCLE;
|
||||||
|
m_extendDir = EXTEND_RIGHT;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -958,6 +978,13 @@ void CNpc::processMovement(int _frames)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case NPC_MOVEMENT_SUB_SHARK:
|
||||||
|
{
|
||||||
|
processSubSharkMovement( _frames );
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -1065,6 +1092,11 @@ void CNpc::processClose(int _frames)
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case NPC_CLOSE_SUB_SHARK_ATTACK:
|
||||||
|
processCloseSubSharkAttack( _frames );
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,6 +58,7 @@ public:
|
||||||
NPC_OIL_BLOB,
|
NPC_OIL_BLOB,
|
||||||
NPC_SKULL_STOMPER,
|
NPC_SKULL_STOMPER,
|
||||||
NPC_MOTHER_JELLYFISH,
|
NPC_MOTHER_JELLYFISH,
|
||||||
|
NPC_SUB_SHARK,
|
||||||
NPC_FLYING_DUTCHMAN,
|
NPC_FLYING_DUTCHMAN,
|
||||||
NPC_UNIT_TYPE_MAX,
|
NPC_UNIT_TYPE_MAX,
|
||||||
};
|
};
|
||||||
|
@ -80,6 +81,7 @@ protected:
|
||||||
NPC_INIT_GHOST_PIRATE,
|
NPC_INIT_GHOST_PIRATE,
|
||||||
NPC_INIT_SKULL_STOMPER,
|
NPC_INIT_SKULL_STOMPER,
|
||||||
NPC_INIT_MOTHER_JELLYFISH,
|
NPC_INIT_MOTHER_JELLYFISH,
|
||||||
|
NPC_INIT_SUB_SHARK,
|
||||||
NPC_INIT_FLYING_DUTCHMAN,
|
NPC_INIT_FLYING_DUTCHMAN,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -122,6 +124,7 @@ protected:
|
||||||
NPC_CLOSE_SKULL_STOMPER_ATTACK,
|
NPC_CLOSE_SKULL_STOMPER_ATTACK,
|
||||||
NPC_CLOSE_BOOGER_MONSTER_ATTACK,
|
NPC_CLOSE_BOOGER_MONSTER_ATTACK,
|
||||||
NPC_CLOSE_MOTHER_JELLYFISH_ATTACK,
|
NPC_CLOSE_MOTHER_JELLYFISH_ATTACK,
|
||||||
|
NPC_CLOSE_SUB_SHARK_ATTACK,
|
||||||
NPC_CLOSE_FLYING_DUTCHMAN_ATTACK,
|
NPC_CLOSE_FLYING_DUTCHMAN_ATTACK,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -132,6 +135,7 @@ protected:
|
||||||
NPC_MOVEMENT_USER_SEEK,
|
NPC_MOVEMENT_USER_SEEK,
|
||||||
NPC_MOVEMENT_VERTICAL,
|
NPC_MOVEMENT_VERTICAL,
|
||||||
NPC_MOVEMENT_MOTHER_JELLYFISH,
|
NPC_MOVEMENT_MOTHER_JELLYFISH,
|
||||||
|
NPC_MOVEMENT_SUB_SHARK,
|
||||||
NPC_MOVEMENT_FLYING_DUTCHMAN,
|
NPC_MOVEMENT_FLYING_DUTCHMAN,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -163,6 +167,13 @@ protected:
|
||||||
FLYING_DUTCHMAN_ATTACK_PLAYER_3,
|
FLYING_DUTCHMAN_ATTACK_PLAYER_3,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum NPC_SUB_SHARK_STATE
|
||||||
|
{
|
||||||
|
SUB_SHARK_CYCLE = 0,
|
||||||
|
SUB_SHARK_MINE_1 = 1,
|
||||||
|
SUB_SHARK_MINE_2,
|
||||||
|
};
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
NPC_JELLYFISH_RESISTANCE = 64,
|
NPC_JELLYFISH_RESISTANCE = 64,
|
||||||
|
@ -250,6 +261,11 @@ protected:
|
||||||
void processFlyingDutchmanMovement( int _frames );
|
void processFlyingDutchmanMovement( int _frames );
|
||||||
void processCloseFlyingDutchmanAttack( int _frames );
|
void processCloseFlyingDutchmanAttack( int _frames );
|
||||||
|
|
||||||
|
// sub shark functions
|
||||||
|
|
||||||
|
void processSubSharkMovement( int _frames );
|
||||||
|
void processCloseSubSharkAttack( int _frames );
|
||||||
|
|
||||||
// data
|
// data
|
||||||
|
|
||||||
static NPC_DATA m_data[NPC_UNIT_TYPE_MAX];
|
static NPC_DATA m_data[NPC_UNIT_TYPE_MAX];
|
||||||
|
@ -271,6 +287,7 @@ protected:
|
||||||
bool m_extendDir;
|
bool m_extendDir;
|
||||||
DVECTOR m_base;
|
DVECTOR m_base;
|
||||||
u8 m_state;
|
u8 m_state;
|
||||||
|
u8 m_salvoCount;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -185,6 +185,10 @@ SOURCE=..\..\..\source\enemy\nsjfish.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\source\enemy\nsshark.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\..\source\enemy\nsstomp.cpp
|
SOURCE=..\..\..\source\enemy\nsstomp.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# End Group
|
# End Group
|
||||||
|
|
Loading…
Add table
Reference in a new issue