Googleando un poco he encontrado algunas cosas. No soy experto en la materia, así que pido que no se me pida demasiado y puede que algo que diga no es del todo cierto, fruto de mi desconocimiento.
Primero de todo, una
descripción de la skill:
http://irowiki.org/wiki/Slow_Grace. Creo que lo explica bastante bien y se entiende de una manera muy por encima cómo funciona
Slow Grace.
Luego, yendo un poco más a fondo, busqué el script de la skill y esto fue lo que encontré (se encuentra en el archivo skill.c):
case DC_DONTFORGETME:
val1 = 3*skilllv+(status_get_dex(src)/10); // ASPD decrease
val2 = 2*skilllv+(status_get_agi(src)/10); // Movement speed decrease
if(src->type == BL_PC){
val1 += pc_checkskill((struct map_session_data *)src,DC_DANCINGLESSON);
val2 += pc_checkskill((struct map_session_data *)src,DC_DANCINGLESSON);
}
break;
Cómo no soy experto en programación, a mí no me dice nada dicho código, no veo que ponga nada de una duración expresada en tiempo. Quizás, el código sí que esté haciendo referencia, pero yo no lo veo.
Por último, quise revisar el fichero donde se especificaba el tiempo que dura una skill o los delays, etc. (parece ser que se llama skill_cast_db.txt) y esto es lo que encontré:
http://code.google.com/p/rathena/source/browse/trunk/db/re/skill_cast_db.txt?r=16983 de lo cual interesa:
// Structure of Database:
// SkillID,CastingTime,AfterCastActDelay,AfterCastWalkDelay,Duration1,Duration2,Cool Down,Fixed Casting Time
//== Explained:
// CastingTime : time to cast this skill, in miliseconds
// AfterCastActDelay : "normal" delay, character cannot use skills, in miliseconds
// AfterCastWalkDleay : amount of time before character can move again, in miliseconds
// Duration1 / Duration2 : usually the durations used by the skill, at special cases it is used to hold special data
// Cool Down : amount of time until character can re-use this skill, in miliseconds
// Fixed Casting Time: the skills fixed casting time (when 0, uses 20% of cast time and less than 0 means no fixed cast time)
//-- DC_DONTFORGETME
328,0,0,0,180000,20000,0,0
// Duration1 / Duration2 : usually the durations used by the skill, at special cases it is used to hold special data
328,0,0,0,
180000,
20000,0,0
Lo que yo entiendo de esta información es que los valores de
effect duration y
stay duration son diferentes. Otra cosa ya es que esto, precisamente, se haya modificado.
En fin, repito: no soy experto en esto y, por lo tanto, puede ser que esté explicando algo mal. Quisiera que alguien que entienda se pronunciase (staff de programación); y si además me/nos aclarase qué pasa pues mejor ;).
Saludos.