Fixed Leech End poison reportedly not meant to respect phen card.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16202 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
shennetsind 2012-06-01 13:12:42 +00:00
parent c386fd80f3
commit 442132fefe

View File

@ -9373,8 +9373,7 @@ int status_change_timer(int tid, unsigned int tick, int id, intptr_t data)
}
break;
case SC_ABUNDANCE:
if(--(sce->val4) > 0)
{
if(--(sce->val4) > 0) {
if( !sc->data[SC_BERSERK] )
status_heal(bl,0,60,0);
sc_timer_next(10000+tick, status_change_timer, bl->id, data);
@ -9382,8 +9381,7 @@ int status_change_timer(int tid, unsigned int tick, int id, intptr_t data)
break;
case SC_PYREXIA:
if( --(sce->val4) >= 0 )
{
if( --(sce->val4) >= 0 ) {
map_freeblock_lock();
clif_damage(bl,bl,tick,status_get_amotion(bl),0,100,0,0,0);
status_fix_damage(NULL,bl,100,0);
@ -9398,15 +9396,14 @@ int status_change_timer(int tid, unsigned int tick, int id, intptr_t data)
break;
case SC_LEECHESEND:
if( --(sce->val4) >= 0 )
{
if( --(sce->val4) >= 0 ) {
int damage = status->max_hp/100;
if( sd && (sd->status.class_ == JOB_GUILLOTINE_CROSS || sd->status.class_ == JOB_GUILLOTINE_CROSS_T ) )
damage += 3 * status->vit;
else
damage += 7 * status->vit;
unit_skillcastcancel(bl,2);
unit_skillcastcancel(bl,0);
map_freeblock_lock();
status_zap(bl,damage,0);
@ -9419,37 +9416,31 @@ int status_change_timer(int tid, unsigned int tick, int id, intptr_t data)
break;
case SC_MAGICMUSHROOM:
if( --(sce->val4) >= 0 )
{
if( --(sce->val4) >= 0 ) {
bool flag = 0;
int damage = status->max_hp * 3 / 100;
if( status->hp <= damage )
damage = status->hp - 1; // Cannot Kill
if( damage > 0 )
{ // 3% Damage each 4 seconds
if( damage > 0 ) { // 3% Damage each 4 seconds
map_freeblock_lock();
status_zap(bl,damage,0);
flag = !sc->data[type]; // Killed? Should not
map_freeblock_unlock();
}
if( !flag )
{ // Random Skill Cast
if( sd )
{
if( !flag ) { // Random Skill Cast
if( sd ) {
int mushroom_skillid = 0, i;
unit_stop_attack(bl);
unit_skillcastcancel(bl,1);
do
{
do {
i = rnd() % MAX_SKILL_MAGICMUSHROOM_DB;
mushroom_skillid = skill_magicmushroom_db[i].skillid;
}
while( mushroom_skillid == 0 );
switch( skill_get_casttype(mushroom_skillid) )
{ // Magic Mushroom skills are buffs or area damage
switch( skill_get_casttype(mushroom_skillid) ) { // Magic Mushroom skills are buffs or area damage
case CAST_GROUND:
skill_castend_pos2(bl,bl->x,bl->y,mushroom_skillid,1,tick,0);
break;