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

  • #007073

  • 0 - None Assigned

  • Working as Intended

Issue Confirmations

  • Yes (0)No (0)
Photo

[High Wizard Card] ignores mdef partially

Posted by KyleZ on 17 February 2013 - 02:32 AM

Posted Image High Wizard Card

  • Magic attacks ignore the defense of all targets.
  • Doubles the cast time of skills.
  • Drains 2000 SP from the user when the headgear is unequipped.


It seems that it's different from how Samurai Spector Card works towards physical attacks, which ignores both Hard and Soft Def.
High Wizard Card ignores ONLY Hard Mdef according to current version.

Is this intended or ignore-soft-mdef ignored - -

@src/map/battle.c
		if(sd) {
			//Damage bonuses
			if ((i = pc_skillatk_bonus(sd, skill_id)))
				ad.damage += ad.damage*i/100;


			if( (i = battle_adjust_skill_damage(src->m,skill_id)) )
				MATK_RATE(i);


			//Ignore Defense?
			if (!flag.imdef && (
				sd->bonus.ignore_mdef_ele & ( 1 << tstatus->def_ele ) ||
				sd->bonus.ignore_mdef_race & ( 1 << tstatus->race ) ||
				sd->bonus.ignore_mdef_race & ( is_boss(target) ? 1 << RC_BOSS : 1 << RC_NONBOSS )
			))
				flag.imdef = 1;
		}


		if(!flag.imdef){
			defType mdef = tstatus->mdef;
			int mdef2= tstatus->mdef2;
#ifdef RENEWAL
			if(tsc && tsc->data[SC_ASSUMPTIO])
				mdef <<= 1; // only eMDEF is doubled
#endif
			if(sd) {
				i = sd->ignore_mdef[is_boss(target)?RC_BOSS:RC_NONBOSS];
				i+= sd->ignore_mdef[tstatus->race];
				if (i)
				{
					if (i > 100) i = 100;
					mdef -= mdef * i/100;
					//mdef2-= mdef2* i/100;
				}
			}
		#ifdef RENEWAL
			/**
			 * RE MDEF Reduction
			 * Damage = Magic Attack * (1000+eMDEF)/(1000+eMDEF) - sMDEF
			 **/
			ad.damage = ad.damage * (1000 + mdef) / (1000 + mdef * 10) - mdef2;
		#else
			if(battle_config.magic_defense_type)
				ad.damage = ad.damage - mdef*battle_config.magic_defense_type - mdef2;
			else
				ad.damage = ad.damage * (100-mdef)/100 - mdef2;
		#endif
		}
as the code says it ignores both...


:meow:

if (i) { if (i > 100) i = 100; mdef -= mdef * i/100; //mdef2-= mdef2* i/100;

...
So, only mdef is ignored.. mdef2 isn't the same.

Practical tests root for my theory.

btw: assumptio increases def/mdef by 35% in pvp/woe instead of 100%.

Edited by KyleZ, 18 February 2013 - 07:00 AM.


wait what are you pertaining to?? the partial ignore mdef or the 100% ignore mdef??

:meow:

I meant that Samurai Spector Card ignores both Def1 and Def2 100%, while High Wizard Card ignores ONLY mdef1 100%.

Although they have similar description

Samurai Spector Card: Physical attacks ignore the defense of normal monsters and players.
High Wizard Card: Magic attacks ignore the defense of all targets.

I feel sorry for mdef2, kind of mistreated LOL..

High Wizard Card uses 'bIgnoreMDefRace' therefore 'flag.imdef = 1;' will trigger so it will ignore both hard and soft..

:meow:

errr..
Sorry Katrinn, you're the collateral damage.. LOL

I thought its function was bIgnoreMdefRate, which ignores ONLY hard mdef.

malufett, you design these bonuses, is it intended for bIgnoreMdefRate? If so, i have nothing to complain..

malufett, you design these bonuses, is it intended for bIgnoreMdefRate? If so, i have nothing to complain..

no I'm not...hahaha..wait I'll check kRO if what does partial ignore mdef does..I'll try using piercing staff..

:meow:

Too bad, the MVP card seller was removed in pRO Sakray Sorry i cant help  :(

@kyeme

thanks all the same.

@malufett

yeah, piercing staff sounds like a good idea, or KVM gears if you have them :P

Since the item bonus itself is fine and this discussion is related to the mechanics behind the bonus I'll move this to the core section.

moved issue from Database

changed status to: Working as Intended