viewing paste asa | Athena

Posted on the
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
case MO_EXTREMITYFIST: {
                                short x, y, i = 2; // Move 2 cells for Issen(from target)
                                struct block_list *mbl = bl;
                                short dir = 0;
 
                                skill_attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
 
                                if(skill_id == MO_EXTREMITYFIST) {
                                        mbl = src;
                                        i = 3; // for Asura(from caster)
                                        status->set_sp(src, 0, 0);
                                        status_change_end(src, SC_EXPLOSIONSPIRITS, INVALID_TIMER);
                                        status_change_end(src, SC_BLADESTOP, INVALID_TIMER);
#if VERSION == 1
                                        sc_start(src, src,SC_EXTREMITYFIST2,100,skill_lv,skill_get_time(skill_id,skill_lv));
#endif
                                }else{
                                        status_change_end(src, SC_NJ_NEN, INVALID_TIMER);
                                        status_change_end(src, SC_HIDING, INVALID_TIMER);
#if VERSION == 1
                                        status->set_hp(src, max(status_get_max_hp(src) / 100, 1), 0);
#else
                                        status->set_hp(src, 1, 0);
#endif
 
                                }
                                dir = map->calc_dir(src,bl->x,bl->y);
                                if(dir > 0 && dir < 4) x = -i;
                                else if(dir > 4) x = i;
                                else x = 0;
                                if(dir > 2 && dir < 6) y = -i;
                                else if(dir == 7 || dir < 2) y = i;
                                else y = 0;
                                if((mbl == src || (!map_flag_gvg2(src->m) && !map->list[src->m].flag.battleground)) &&  // only NJ_ISSEN don't have slide effect in GVG
                                   unit_movepos(src, mbl->x+x, mbl->y+y, 1, 1)) {
                                        clif_slide(src, src->x, src->y);
                                        clif_fixpos(src);
                                        clif_spiritball(src);
                                }
                        }
                        break;
Viewed 513 times, submitted by unknown.