diff options
author | panikon <panikon@zoho.com> | 2014-07-05 08:22:24 -0300 |
---|---|---|
committer | panikon <panikon@zoho.com> | 2014-07-05 08:22:24 -0300 |
commit | a60522bac68e7ce83d2a2703fde154e85c17db30 (patch) | |
tree | c24091037977b1a1b7b5fe0d2201dc8175132190 | |
parent | 9173fa50ef2887b28603f223a102448a2c69a234 (diff) | |
download | hercules-a60522bac68e7ce83d2a2703fde154e85c17db30.tar.gz hercules-a60522bac68e7ce83d2a2703fde154e85c17db30.tar.bz2 hercules-a60522bac68e7ce83d2a2703fde154e85c17db30.tar.xz hercules-a60522bac68e7ce83d2a2703fde154e85c17db30.zip |
Follow up to 9173fa50ef2887b28603f223a102448a2c69a234
-rw-r--r-- | src/map/skill.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index 065aa8e01..a648eb113 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -8657,24 +8657,25 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin case 3: { int rate = 0; + struct item *shield = &sd->status.inventory[sd->equip_index[EQI_HAND_L]]; - if( shield_data->refine == 0 ) + if( shield->refine == 0 ) break; // Nothing should happen if the shield has no refine, not even displaying a message switch( opt ) { case 1: - sc_start(src,bl,SC_SHIELDSPELL_REF,100,opt,shield_data->refine * 30000); //Now breaks Armor at 100% rate + sc_start(src,bl,SC_SHIELDSPELL_REF,100,opt,shield->refine * 30000); //Now breaks Armor at 100% rate break; case 2: val = shield->refine * 10 * status->get_lv(src) / 100; //DEF Increase rate = (shield->refine * 2) + (status_get_luk(src) / 10); //Status Resistance Rate - if( sc_start2(src,bl,SC_SHIELDSPELL_REF,100,opt,val,shield_data->refine * 20000)) + if( sc_start2(src,bl,SC_SHIELDSPELL_REF,100,opt,val,shield->refine * 20000)) clif->skill_nodamage(src,bl,SC_SCRESIST,skill_lv, - sc_start(src,bl,SC_SCRESIST,100,rate,shield_data->refine * 30000)); + sc_start(src,bl,SC_SCRESIST,100,rate,shield->refine * 30000)); break; case 3: sc_start(src,bl,SC_SHIELDSPELL_REF,100,opt,INVALID_TIMER); //HP Recovery - val = sstatus->max_hp * ((status->get_lv(src) / 10) + (shield_data->refine + 1)) / 100; + val = sstatus->max_hp * ((status->get_lv(src) / 10) + (shield->refine + 1)) / 100; status->heal(bl, val, 0, 2); status_change_end(bl,SC_SHIELDSPELL_REF,INVALID_TIMER); break; |