====== Skill Jumping ======
===== Description =====
User can 'skip' over 1-2 spaces in a selected direction. Distance depends on [[:characters:carrying_capacity|weight carried]] , [[:characters:str|STR]] and [[:characters:dex|DEX]] of the user. This skill may also be used as an attack. Jumping is a Physique skill type.
:!: The jumping attack works as a [[:skills:melee]] attack probably as of server version //1.70.y// . \\ The current server //1.12.svn// at [[:servers:metalforge]] [[http://www.metalforge.net/|.net]] seems not to compute the jump attack in //attack_ob_simple()// or the functions before correctly. \\
The server since v.1.70.y issues the message //You feel more confident in combat.// to the client, when one of the melee skills is readied.
===== Use Skill =====
Unknown, should immediately attempt to jump in the direction, the player is facing. \\
Syntax : ''use_skill jumping''
===== Ready Skill =====
User can 'skip' over 1-2 spaces in a selected direction when fired with the shift key. \\
This will attack if a creature is in the way. \\
Syntax : ''ready_skill jumping''
===== Mathematics =====
From [[:server:server_compiling|Server]] source code file // crossfire/server/skills.c // function // int jump(object *pl, int dir, object *skill) // : \\
''stats=str*str*str*dex * skill->level;''\\
Which then translates as STR3 **multiply** DEX **multiply** SKILL_LEVEL \\
and this number is then **divided** by the carrying weight of the inventory to receive the sum of tiles to jump.
Example : STR=25, DEX=17, JUMP_LEVEL=4, PL_CARRYING=500 * 1000
> ( (25 * 25 *25) * 17 * 4 ) / 500000
>> ( 15625 * 17 * 4 ) / 500000
>> ( 1062500 ) / 500000
>>> 2.125
The jumping distance is limited to 2 tiles:
if(pl->carrying!=0) /* don't want div by zero !! */
spaces=(int) (stats/pl->carrying);
else
spaces=2; /* pl has no objects - gets the far jump */
if(spaces>2)
spaces = 2;
else if(spaces==0) {
new_draw_info(NDI_UNIQUE, 0,pl,"You are carrying too much weight to jump.");
return 0;
===== Discussion =====
The source code has a comment that asks for allowing a greater distance to jump :
> * Perhaps we should allow more spaces based on level, eg, level 50
> * jumper can jump several spaces?