/******************************************************************************** ------------------------- 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 ===============================================================================*/