How to nerf Acid Bomb/Demonstration?

Helena

New member
Messages
238
Points
0
Emulator
rAthena
Hello.

A member of this forums helped me figure out a way to make magic stronger, but unfortunately it also affected the damage caused with Acid Demonstration... now that skill is way too imbalanced.

I know this is the block, but how can I make it weaker? I've messed with numbers but without any luck. Help would be nice. ^^;

Code:
#ifdef RENEWAL		{// [malufett]			int matk=0, atk;			short tdef = iStatus->get_total_def(target);			short tmdef =  iStatus->get_total_mdef(target);			int targetVit = min(120, status_get_vit(target));			short totaldef = (tmdef + tdef - ((uint64)(tmdef + tdef) >> 32)) >> 1;			 matk = battle->calc_magic_attack(src, target, skill_id, skill_lv, mflag).damage;			atk = battle->calc_base_damage(src, target, skill_id, skill_lv, nk, false, s_ele, ELE_NEUTRAL, EQI_HAND_R, (sc && sc->data[SC_MAXIMIZEPOWER]?1:0)|(sc && sc->data[SC_WEAPONPERFECT]?8:0), md.flag);			md.damage = matk + atk;			if( src->type == BL_MOB ){				totaldef = (tdef + tmdef) >> 1;				md.damage = 7 * targetVit * skill_lv * (atk + matk) / 100;				/*				// Pending [malufett]				if( unknown condition )					md.damage >>= 1;				if( unknown condition ){					md.damage = 7 * md.damage % 20;					md.damage = 7 * md.damage / 20;
 
md.damage = (int)(7*tstatus->vit*sstatus->int_*sstatus->int_ / (10*(tstatus->vit+sstatus->int_)));
Haven't tested it. so I am not sure
default_smile.png


 
Thanks for the reply. With what line do I replace that?

this one?

Code:
				md.damage = 7 * targetVit * skill_lv * (atk + matk) / 100;
 
this is the whole block.

  case CR_ACIDDEMONSTRATION:#ifdef RENEWAL    {// [malufett]      int matk=0, atk;      short tdef = iStatus->get_total_def(target);      short tmdef =  iStatus->get_total_mdef(target);      int targetVit = min(120, status_get_vit(target));      short totaldef = (tmdef + tdef - ((uint64)(tmdef + tdef) >> 32)) >> 1;      matk = battle->calc_magic_attack(src, target, skill_id, skill_lv, mflag).damage;      atk = battle->calc_base_damage(src, target, skill_id, skill_lv, nk, false, s_ele, ELE_NEUTRAL, EQI_HAND_R, (sc && sc->data[SC_MAXIMIZEPOWER]?1:0)|(sc && sc->data[SC_WEAPONPERFECT]?8:0), md.flag);      md.damage = matk + atk;      if( src->type == BL_MOB ){        totaldef = (tdef + tmdef) >> 1;        md.damage = 7 * targetVit * skill_lv * (atk + matk) / 100;        /*        // Pending [malufett]        if( unknown condition )          md.damage >>= 1;        if( unknown condition ){          md.damage = 7 * md.damage % 20;          md.damage = 7 * md.damage / 20;        }*/      }else{        float vitfactor = 0.0f, temp;                if( (vitfactor=(status_get_vit(target)-120.0f)) > 0)          vitfactor = (vitfactor * (matk + atk) / 10) / status_get_vit(target);        temp = max(0, vitfactor) + (targetVit * (matk + atk)) / 10;        md.damage =  (int)(temp * 70 * skill_lv / 100);      }      md.damage -= totaldef;    }#else    // updated the formula based on a Japanese formula found to be exact [Reddozen]    if(tstatus->vit+sstatus->int_) //crash fix      md.damage = (int)(7*tstatus->vit*sstatus->int_*sstatus->int_ / (10*(tstatus->vit+sstatus->int_))); // <-- here    else      md.damage = 0;    if (tsd) md.damage>>=1;#endif    if (md.damage < 0 || md.damage > INT_MAX>>1)      //Overflow prevention, will anyone whine if I cap it to a few billion?    //Not capped to INT_MAX to give some room for further damage increase.      md.damage = INT_MAX>>1;    break;

try to change this line:

Code:
md.damage = (int)(7*tstatus->vit*sstatus->int_*sstatus->int_ / (10*(tstatus->vit+sstatus->int_)));
 
anyway are you using renewal ?

@edit

try this

Code:
md.damage = (int)(7*tstatus->vit*sstatus->int_*sstatus->int_ / (10*(tstatus->vit+sstatus->int_))) / 2;
 
Last edited by a moderator:
Yes, I'm using renewal. I tried your code and recompiled but unfortunately no change yet... any other ideas?
default_sad.png


 
as you said you make matk stronger then edit the matk part of the skills

matk = battle->calc_magic_attack(src, target, skill_id, skill_lv, mflag).damage;
to something like:

(reduce by 50%)

matk = battle->calc_magic_attack(src, target, skill_id, skill_lv, mflag).damage / 2;
(reduce by 75%)

matk = battle->calc_magic_attack(src, target, skill_id, skill_lv, mflag).damage * 75 / 100;
or something else..but take note the high int and vit you have and the low vit and int a target has, the more damage it can deal..

default_ani_meow.gif


 
Back
Top