Issue Information
-
#007800
-
0 - None Assigned
-
Fixed
Issue Confirmations
-
Yes (2)No (0)
Homunculus skills AfterCastActDelay is reset when you re-summon homunculus and you can use all skills without delay.
changed status to: Needs More Info
// Homunculus setting (Note 3) // Activates various 'quirks' that makes them behave unlike normal characters. // 0x001: Can't be targetted by support skills (except for their master) // 0x004: Mobs will always go after them instead of players until attacked // 0x008: Copy their master's speed on spawn/map-change // 0x010: They display luk/3+1 instead of their actual critical in the // stat window (by default they don't crit) // 0x020: Their Min-Matk is always the same as their max // 0x040: Skill re-use delay is reset when they are vaporized. hom_setting: 0xFFFFhappens beucase of 0x040 (since its default makes me wonder if officially its like that?)
changing hom_setting and deleting
if(battle_config.hom_setting&0x40) memset(hd->blockskill, 0, sizeof(hd->blockskill));does not work, homunculus still able to cast skill without delay
I'm unable to reproduce, after disabling the setting the skill delays were no longer reset after doing rest+callhomunchanging hom_setting and deleting
if(battle_config.hom_setting&0x40) memset(hd->blockskill, 0, sizeof(hd->blockskill));does not work, homunculus still able to cast skill without delay
changed status to: Started
for me, on a clean latest revision this setting doesn't work.
I started looking for the problem, and found this:
in function skill_blockhomun_start variable tick always = 0 and here:
skill.c
why skill->get_time2 here? replacing it with skill->get_delay solved the problem.
I started looking for the problem, and found this:
in function skill_blockhomun_start variable tick always = 0 and here:
if (tick < 1) { hd->blockskill[idx] = 0;skills block reset when you call a homunculus.
skill.c
case HAMI_BLOODLUST: case HFLI_FLEET: case HFLI_SPEED: case HLIF_CHANGE: case MH_ANGRIFFS_MODUS: case MH_GOLDENE_FERSE: clif->skill_nodamage(src,bl,skill_id,skill_lv, sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv))); if (hd) skill->blockhomun_start(hd, skill_id, skill->get_delay(skill_id,skill_lv)); break;
skill->blockhomun_start(hd, skill_id, skill->get_time2(skill_id,skill_lv));
why skill->get_time2 here? replacing it with skill->get_delay solved the problem.
Edited by Wend, 08 November 2013 - 03:07 PM.
changed status to: Fixed
skill->get_delay is not what you want (delay is what makes you unable to use ANY skills after you cast).
I've made cooldown reset not be default upon vaporising in https://github.com/H...40363d03d85a1b8 if that still doesn't fix for you I think your db files might be wrong configured (show me your skill_cast_db entries for the homun skills).
I've made cooldown reset not be default upon vaporising in https://github.com/H...40363d03d85a1b8 if that still doesn't fix for you I think your db files might be wrong configured (show me your skill_cast_db entries for the homun skills).
skill->get_delay is not what you want (delay is what makes you unable to use ANY skills after you cast).
an this is correct, no? for example:
http://irowiki.org/c...c/Mental_Charge
Lif cannot use Healing Hands or Urgent Escape while in the duration or the cast delay of Mental Charge.
but for now, she can cast all skill (include Mental Change) after vaporize, because get_time2 return Duration2 which equals 0
//-- HLIF_CHANGE 8004,0,600000:900000:1200000,0,60000:120000:180000,0,0
Edited by Wend, 09 November 2013 - 01:31 PM.
changed status to: Started
changed status to: Fixed