Jump to content

rreinhard2311

Members
  • Content Count

    1
  • Joined

  • Last visited

Posts posted by rreinhard2311


  1. Please help me translating this source code to Hercules one.

    	case NJ_ISSEN:
    		status_change_end(src, SC_NEN, INVALID_TIMER);
    		status_change_end(src, SC_HIDING, INVALID_TIMER);
    		// fall through
    	case MO_EXTREMITYFIST:
    		if( skillid == MO_EXTREMITYFIST )
    		{
    			status_change_end(src, SC_EXPLOSIONSPIRITS, INVALID_TIMER);
    			status_change_end(src, SC_BLADESTOP, INVALID_TIMER);
    		}
    		//Client expects you to move to target regardless of distance
    		{
    			struct unit_data *ud = unit_bl2ud(src);
    			short dx,dy;
    			int i,speed;
    			i = skillid == MO_EXTREMITYFIST?1:2; //Move 2 cells for Issen, 1 for Asura
    			dx = bl->x - src->x;
    			dy = bl->y - src->y;
    			if (dx < 0) dx-=i;
    			else if (dx > 0) dx+=i;
    			if (dy < 0) dy-=i;
    			else if (dy > 0) dy+=i;
    			if (!dx && !dy) dy++;
    			if (map_getcell(src->m, src->x+dx, src->y+dy, CELL_CHKNOPASS))
    			{
    				dx = bl->x;
    				dy = bl->y;
    			} else {
    				dx = src->x + dx;
    				dy = src->y + dy;
    			}
    
    			skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag);
    
    			if(unit_walktoxy(src, dx, dy, 2) && ud) {
    				//Increase can't walk delay to not alter your walk path
    				ud->canmove_tick = tick;
    				speed = status_get_speed(src);
    				for (i = 0; i < ud->walkpath.path_len; i ++)
    				{
    					if(ud->walkpath.path[i]&1)
    						ud->canmove_tick+=7*speed/5;
    					else
    						ud->canmove_tick+=speed;
    				}
    			}
    		}
    		break;

    I tried looking for similar commands that Hercules has to eAthena but I still fail when I compile it. Additionally, I'm not good at reading scripts.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.