92 lines
2.1 KiB
OpenEdge ABL
92 lines
2.1 KiB
OpenEdge ABL
/********************************************************************************
|
|
-------------------------
|
|
Ultra 64 MARIO Brothers
|
|
-------------------------
|
|
|
|
File : pathfurafura.s
|
|
Description :
|
|
Date : 1995.
|
|
Author : H.yajima
|
|
|
|
********************************************************************************/
|
|
|
|
|
|
/*################*/
|
|
#ifdef ASSEMBLER
|
|
/*################*/
|
|
|
|
e_furafura:
|
|
p_initialize(enemyA)
|
|
p_setbit( flag,stf_moveON | stf_playerdistON | stf_YangleSAME )
|
|
p_set_pointer(skelanime,furafura_anime)
|
|
p_set_skelanime_number(0)
|
|
p_setmovedata(30,-400,0,0,0,200,0,0)
|
|
p_save_nowpos
|
|
p_setd(enemyinfo,ENEMYINFO_FURAFURA)
|
|
p_while
|
|
p_program(s_furafura)
|
|
p_loop
|
|
|
|
/*################*/
|
|
#else
|
|
/*################*/
|
|
|
|
|
|
|
|
|
|
|
|
/********************************************************************************
|
|
=======================
|
|
furafura main program
|
|
=======================
|
|
********************************************************************************/
|
|
|
|
static HitCheckRecord furafura_hit = {
|
|
OBJNAME_PUNCHATTACK,
|
|
0,2,1,3, /* flag,ap,hp,coin */
|
|
90,80, /* player attack hitarea */
|
|
80,70, /* player damage hitarea */
|
|
};
|
|
|
|
extern void s_furafura(void)
|
|
{
|
|
|
|
Mbitset(execstp->status,OBJECT_NOWATER);
|
|
if ( s_hit_remove_enemy(&furafura_hit,NA_SE3_MOGURA_HIT,0) ) s_set_newmode(1);
|
|
|
|
s_enemybgcheck();
|
|
|
|
switch(obj_mode){
|
|
case 0:
|
|
s_step_speed(&obj_speedF,4,1 );
|
|
|
|
if ( s_calc_playerscope() > 1000 ) obj_targetangle = s_calc_returnangle();
|
|
else if ( obj_playerdist > 300 ) obj_targetangle = s_calc_targetangle(execstp,player1stp);
|
|
s_chase_angleY(obj_targetangle,0x400);
|
|
break;
|
|
case 1:
|
|
Mbitclr(obj_mainflag,stf_YangleSAME);
|
|
obj_speedF = -10;
|
|
if (obj_timer > 20 ){
|
|
obj_mode = 0;
|
|
obj_mail = 0;
|
|
Mbitset(obj_mainflag,stf_YangleSAME);
|
|
}
|
|
break;
|
|
}
|
|
|
|
|
|
s_enemymove(-60);
|
|
|
|
}
|
|
|
|
/*################*/
|
|
#endif
|
|
/*################*/
|
|
/*===============================================================================
|
|
end end end end end end end end
|
|
===============================================================================*/
|
|
|
|
|
|
|