Ejemplo n.º 1
0
/*------------------------------------------------------------
 * Map 奶矛件玄及 pre post毛质  允月
 * 娄醒
 *  index       int     昙欠丹午仄化中月平乓仿及奶件犯永弁旦
 *  mode        BOOL    TRUE及凛反}in  FALSE及凛反 out 卞覆杀
 * 忒曰袄卅仄
 ------------------------------------------------------------*/
static void MAP_dealprepostevent( int index, BOOL mode )
{
    int     map[2];
    int     i;
    int     damaged=FALSE;

    if( CHAR_getFlg(index,CHAR_ISFLYING) )
        /*    氏匹月支勾卞反窒手仄卅中  */
        return;

    if( !MAP_getMapDataFromCharIndex( index  ,  map ) ) return;

    for( i = 0 ; i < 2 ; i ++ ){
        /*  damage */
        int damage;
        damage = MAP_getImageInt(map[i],
                                 mode ? MAP_INTODAMAGE : MAP_OUTOFDAMAGE);
        if( damage != 0 ){
            /*  母丢□斥汹毛恳匹  蜇允月及匹  寞  木赘尹    */
            int opt[2]={SPR_kmydamY,-damage};
            damaged=TRUE;
            CHAR_setInt(index, CHAR_HP,
                        CHAR_getInt(index,CHAR_HP) + damage );
            CHAR_complianceParameter(index);
            /*  母丢□斥熬仃凶巨白尼弁玄请允    */
            CHAR_sendWatchEvent(CHAR_getWorkInt(index,CHAR_WORKOBJINDEX),
                                CHAR_ACTDAMAGE,opt,2,TRUE);
        }
    }
    if( damaged )
    	CHAR_sendStatusString(index,"M");
}
Ejemplo n.º 2
0
/*------------------------------------------------------------
 * Map 奶矛件玄及 pre post毛質  允月
 * 婁醒
 *  index       int     曇欠丹午仄化中月平乓仿及奶件犯永弁旦
 *  mode        BOOL    TRUE及凜反}in  FALSE及凜反 out 卞覆殺
 * 忒曰襖卅仄
 ------------------------------------------------------------*/
static void MAP_dealprepostevent( int index, BOOL mode )
{
    int     map[2];
    int     i;
    int     damaged=FALSE,statuschange=FALSE;

    if( CHAR_getFlg(index,CHAR_ISFLYING) )
        /*    氏匹月支勾卞反窒手仄卅中  */
        return;

    if( !MAP_getMapDataFromCharIndex( index  ,  map ) ) return;
    /*  damage */
    int damage;
    for( i = 0 ; i < 2 ; i ++ ){
        damage = MAP_getImageInt(map[i],
                                 mode ? MAP_INTODAMAGE : MAP_OUTOFDAMAGE);
        if( damage != 0 ){
            /*  母丟□斥洶毛懇匹  蜇允月及匹  寞  木贅尹    */
            int opt[2]={SPR_kmydamY,-damage};
            damaged=TRUE;
            CHAR_setInt(index, CHAR_HP,
                        CHAR_getInt(index,CHAR_HP) + damage );
            CHAR_complianceParameter(index);
            /*  母丟□斥熬仃凶巨白尼弁玄請允    */
            CHAR_sendWatchEvent(CHAR_getWorkInt(index,CHAR_WORKOBJINDEX),
                                CHAR_ACTDAMAGE,opt,2,TRUE);
        }
        if( MAP_changeCharStatusFromMapDataAndTime(
            index,map[i], mode ? TRUE : FALSE ) )
            statuschange=TRUE;
    }
    if( damaged )       CHAR_sendStatusString(index,"M");
    if( statuschange ){
        CHAR_sendCToArroundCharacter(index);
        CHAR_sendStatusString(index,"P");
    }

}