Fixed bugreport:7151 where NJ_ISSEN don't consume HP on plant type monsters.

Fixed bugreport:7154 where RC_BOSS type monsters are not immune with SC_DEEPSLEEP.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17090 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
rud0lp20 2013-01-10 05:54:28 +00:00
parent 74e46ab011
commit de0bcbd8de
3 changed files with 11 additions and 4 deletions

View File

@ -2067,7 +2067,6 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
case NJ_ISSEN: case NJ_ISSEN:
wd.damage = 40*sstatus->str +skill_lv*(sstatus->hp/10 + 35); wd.damage = 40*sstatus->str +skill_lv*(sstatus->hp/10 + 35);
wd.damage2 = 0; wd.damage2 = 0;
status_set_hp(src, 1, 0);
break; break;
case LK_SPIRALPIERCE: case LK_SPIRALPIERCE:
case ML_SPIRALPIERCE: case ML_SPIRALPIERCE:
@ -2972,7 +2971,6 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
// Damage = (current HP + atk * skill_lv) - (sdef+edef) // Damage = (current HP + atk * skill_lv) - (sdef+edef)
ATK_ADD(sstatus->hp); ATK_ADD(sstatus->hp);
wd.damage2 = 0;// needs more info if this really 0 for dual weilding KG/OB. [malufett] wd.damage2 = 0;// needs more info if this really 0 for dual weilding KG/OB. [malufett]
status_set_hp(src, max(sstatus->hp/100, 1), 0);
if( sc && sc->data[SC_BUNSINJYUTSU] && (i=sc->data[SC_BUNSINJYUTSU]->val2) > 0){ if( sc && sc->data[SC_BUNSINJYUTSU] && (i=sc->data[SC_BUNSINJYUTSU]->val2) > 0){
wd.div_ = -( i + 2 ); // mirror image number of hits + 2 wd.div_ = -( i + 2 ); // mirror image number of hits + 2
ATK_ADDRATE(20 + i*20); // (20 + 20 * mirror image) % ATK_ADDRATE(20 + i*20); // (20 + 20 * mirror image) %

View File

@ -3714,7 +3714,14 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
#ifdef RENEWAL #ifdef RENEWAL
sc_start(src,SC_EXTREMITYFIST2,100,skill_lv,skill_get_time(skill_id,skill_lv)); sc_start(src,SC_EXTREMITYFIST2,100,skill_lv,skill_get_time(skill_id,skill_lv));
#endif #endif
} }else
status_set_hp(src,
#ifdef RENEWAL
max(status_get_max_hp(src)/100, 1)
#else
1
#endif
, 0);
dir = map_calc_dir(src,bl->x,bl->y); dir = map_calc_dir(src,bl->x,bl->y);
if( dir > 0 && dir < 4) x = -i; if( dir > 0 && dir < 4) x = -i;

View File

@ -6821,10 +6821,12 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val
case SC_ROKISWEIL: case SC_ROKISWEIL:
case SC_FOGWALL: case SC_FOGWALL:
case SC_FREEZING: case SC_FREEZING:
case SC_BURNING: // Place here until we have info about its behavior on Boss-monsters. [pakpil] case SC_BURNING:
case SC_MARSHOFABYSS: case SC_MARSHOFABYSS:
case SC_ADORAMUS: case SC_ADORAMUS:
case SC_PARALYSIS: case SC_PARALYSIS:
case SC_DEEPSLEEP:
case SC_CRYSTALIZE:
// Exploit prevention - kRO Fix // Exploit prevention - kRO Fix
case SC_PYREXIA: case SC_PYREXIA: