Jump to content

  •  

Bug Tracker Migration

June 3rd
Good news everyone! The staff has decided that it is time to slowly kill off this Bug Tracker. We will begin the process of slowly migrating from this Bug Tracker over to our Github Issues which can be found here: https://github.com/HerculesWS/Hercules/issues

Over the next couple of days, I will be closing off any opportunity to create new reports. However, I still will keep the opportunity to reply to existing Bug Reports. Doing this will allow us to slowly fix any bug reports we have listed here so that we can easily migrate over to our Issue Tracker.

Update - June 7th 2015: Creating new bug posts has been disabled. Please use our https://github.com/HerculesWS/Hercules/issues tracker to post bugs. Users are still able to reply to existing bug posts.

- Administration

Issue Information

  • #007800

  • 0 - None Assigned

  • Fixed

Issue Confirmations

  • Yes (2)No (0)
Photo

homunculus skills cooldown

Posted by Wend on 06 November 2013 - 12:51 PM

Homunculus skills AfterCastActDelay is reset when you re-summon homunculus and you can use all skills without delay.

Ind 
changed status to: Confirmed
changed status to: Started

Ind 
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: 0xFFFF
happens 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

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+callhomun

Ind 
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:
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.


Ind 
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).

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.


Ind 
changed status to: Started

Ind 
changed status to: Fixed