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

  • #008549

  • 0 - None Assigned

  • New

Issue Confirmations

  • Yes (1)No (0)
Photo

Homunculus Eleanor Skill - Style Change: Does not let homun gain Spirit Spheres resulting skills to miss

Posted by Zia on 25 February 2015 - 08:40 AM

Eleanor's Style Change does not let her gain Spirit Spheres. The skills require Spirit Spheres and since Spirit Spheres are not summoned, the skills miss.

What Should Happen:

Eleanor has 2 modes: Fighting and Grappling. Each time Style Change is used, Eleanor changes between them.
  • In either mode, Eleanor obtains Spirit Spheres at a 50% rate when attacking or taking damage
  • When Eleanor is summoned, it is summoned in Fighting mode.
  • A maximum of 10 Spirit Spheres can be active.

source: http://irowiki.org/wiki/Style_Change

More Proof that they should obtain Spirit Spheres:


Result of Testing

Open battle.c and find
if (sc->data[SC_STYLE_CHANGE] && rnd()%2) {
			TBL_HOM *hd = BL_CAST(BL_HOM,bl);
			if (hd) homun->addspiritball(hd, 10); //add a sphere
		}
change to:
if (sc->data[SC_STYLE_CHANGE] && sc->data[SC_STYLE_CHANGE]->val1 == MH_MD_FIGHTING || sc->data[SC_STYLE_CHANGE]->val1 == MH_MD_GRAPPLING) {
			TBL_HOM *hd = BL_CAST(BL_HOM,src); //when attacking
			if ( hd && rnd()%2 )
				homun->addspiritball(hd, 10); // According to WarpPortal, this is a flat 50% chance
		}
Open status.c and find:
if ( opt&SCO_FIRST ) {
		hd->battle_status.hp = hom->hp;
		hd->battle_status.sp = hom->sp;
	}
change to:
if ( opt&SCO_FIRST ) {
		hd->battle_status.hp = hom->hp;
		hd->battle_status.sp = hom->sp;
		if(hom->class_ == 6052) // Eleanor
			sc_start(&hd->bl,&hd->bl, SC_STYLE_CHANGE, 100, MH_MD_FIGHTING, -1);
	}

Edited by Anisotropic Defixation, 26 June 2015 - 04:57 AM.