static int EVENT_onWarpNPC( int charaindex,int echaraindex,int fl,int x, int y ) { NPC_WarpWarpCharacter( echaraindex, charaindex); if( CHAR_getWorkInt( charaindex, CHAR_WORKPARTYMODE ) == CHAR_PARTY_LEADER ) { int i; for( i = 1; i < CHAR_PARTYMAX; i ++ ) { int index = CHAR_getWorkInt( charaindex, i + CHAR_WORKPARTYINDEX1); if( CHAR_CHECKINDEX(index) ) { NPC_WarpWarpCharacter( echaraindex, index); } } } return TRUE; }
void NPC_WarpWatch( int meobjindex, int objindex, CHAR_ACTION act, int x,int y,int dir, int* opt,int optlen ) { int meindex,moveindex; if( OBJECT_getType( objindex ) != OBJTYPE_CHARA )return; meindex = OBJECT_getIndex(meobjindex); moveindex = OBJECT_getIndex(objindex); if( CHAR_getInt( moveindex,CHAR_WHICHTYPE ) != CHAR_TYPEPLAYER ){ return; } if( act != CHAR_ACTWALK )return; if( opt[0] == x && opt[1] == y )return; if( CHAR_getInt(meindex,CHAR_X) == x && CHAR_getInt(meindex,CHAR_Y) == y ) { NPC_WarpWarpCharacter( meindex, moveindex ); } }
void NPC_WarpPostOver(int meindex, int charaindex) { NPC_WarpWarpCharacter(meindex, charaindex); }