summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec>2013-01-10 05:54:28 +0000
committerrud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec>2013-01-10 05:54:28 +0000
commitbac08d580258b69b365db32ab1705df232851c5b (patch)
tree9f1e3ca599e89419b1486055c45732b5f6676f29
parentca217557a8f647f06e11a1d89592bc0b1c4d1b3e (diff)
downloadhercules-bac08d580258b69b365db32ab1705df232851c5b.tar.gz
hercules-bac08d580258b69b365db32ab1705df232851c5b.tar.bz2
hercules-bac08d580258b69b365db32ab1705df232851c5b.tar.xz
hercules-bac08d580258b69b365db32ab1705df232851c5b.zip
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@17090 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--src/map/battle.c2
-rw-r--r--src/map/skill.c9
-rw-r--r--src/map/status.c4
3 files changed, 11 insertions, 4 deletions
diff --git a/src/map/battle.c b/src/map/battle.c
index 8fb9512f8..6f9595108 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -2067,7 +2067,6 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
case NJ_ISSEN:
wd.damage = 40*sstatus->str +skill_lv*(sstatus->hp/10 + 35);
wd.damage2 = 0;
- status_set_hp(src, 1, 0);
break;
case LK_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)
ATK_ADD(sstatus->hp);
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){
wd.div_ = -( i + 2 ); // mirror image number of hits + 2
ATK_ADDRATE(20 + i*20); // (20 + 20 * mirror image) %
diff --git a/src/map/skill.c b/src/map/skill.c
index 03e4c4baf..757165107 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -3714,7 +3714,14 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
#ifdef RENEWAL
sc_start(src,SC_EXTREMITYFIST2,100,skill_lv,skill_get_time(skill_id,skill_lv));
#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);
if( dir > 0 && dir < 4) x = -i;
diff --git a/src/map/status.c b/src/map/status.c
index 1a8bc247d..357683c95 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -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_FOGWALL:
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_ADORAMUS:
case SC_PARALYSIS:
+ case SC_DEEPSLEEP:
+ case SC_CRYSTALIZE:
// Exploit prevention - kRO Fix
case SC_PYREXIA: