* Fixed (assistant/slave)summons/clone, where they dissappeared when going up to a nobranch mapflag map. (bugreport:6925)
* Minor fix to to Nosiege, follow up (r16969) * Fixed RK_Refresh where it was not removing/protecting from the right debuffs. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16979 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
a0b84ee722
commit
d20b06eeec
@ -7523,7 +7523,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, int
|
|||||||
clif_skill_nodamage(src,bl,skillid,skilllv,
|
clif_skill_nodamage(src,bl,skillid,skilllv,
|
||||||
sc_start(bl,type,100,skilllv,skill_get_time(skillid,skilllv)));
|
sc_start(bl,type,100,skilllv,skill_get_time(skillid,skilllv)));
|
||||||
status_heal(bl,heal,0,1);
|
status_heal(bl,heal,0,1);
|
||||||
status_change_clear_buffs(bl,2);
|
status_change_clear_buffs(bl,6);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -6397,7 +6397,7 @@ int status_change_start(struct block_list *bl,enum sc_type type,int rate,int val
|
|||||||
case SC_DEATHHURT:
|
case SC_DEATHHURT:
|
||||||
case SC_PYREXIA:
|
case SC_PYREXIA:
|
||||||
case SC_OBLIVIONCURSE:
|
case SC_OBLIVIONCURSE:
|
||||||
//case SC_LEECHESEND://Need confirm. If it protects against nearly every Guillotine poison, it should work on this too right? [Rytech]
|
case SC_LEECHESEND: //08/31/2011 - Class Balance Changes
|
||||||
case SC_CRYSTALIZE:
|
case SC_CRYSTALIZE:
|
||||||
case SC_DEEPSLEEP:
|
case SC_DEEPSLEEP:
|
||||||
case SC_MANDRAGORA:
|
case SC_MANDRAGORA:
|
||||||
@ -8599,7 +8599,8 @@ int status_change_start(struct block_list *bl,enum sc_type type,int rate,int val
|
|||||||
break;
|
break;
|
||||||
case SC_SLEEP:
|
case SC_SLEEP:
|
||||||
case SC_DEEPSLEEP:
|
case SC_DEEPSLEEP:
|
||||||
opt_flag = 0;
|
if(type == SC_DEEPSLEEP)
|
||||||
|
opt_flag = 0;
|
||||||
sc->opt1 = OPT1_SLEEP;
|
sc->opt1 = OPT1_SLEEP;
|
||||||
break;
|
break;
|
||||||
case SC_BURNING:
|
case SC_BURNING:
|
||||||
@ -10567,8 +10568,14 @@ int status_change_clear_buffs(struct block_list *bl, int type)
|
|||||||
|
|
||||||
if (type&2) //Debuffs
|
if (type&2) //Debuffs
|
||||||
for (i = SC_COMMON_MIN; i <= SC_COMMON_MAX; i++) {
|
for (i = SC_COMMON_MIN; i <= SC_COMMON_MAX; i++) {
|
||||||
status_change_end(bl, (sc_type)i, INVALID_TIMER);
|
if(sc->data[i])
|
||||||
|
status_change_end(bl, (sc_type)i, INVALID_TIMER);
|
||||||
}
|
}
|
||||||
|
if(type&6) //Toxins
|
||||||
|
for (i = SC_TOXIN; i <= SC_LEECHESEND; ++i) {
|
||||||
|
if (sc->data[i])
|
||||||
|
status_change_end(bl, (sc_type)i, INVALID_TIMER);
|
||||||
|
}
|
||||||
|
|
||||||
for (i = SC_COMMON_MAX+1; i < SC_MAX; i++) {
|
for (i = SC_COMMON_MAX+1; i < SC_MAX; i++) {
|
||||||
if (!sc->data[i])
|
if (!sc->data[i])
|
||||||
@ -10630,10 +10637,21 @@ int status_change_clear_buffs(struct block_list *bl, int type)
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
//Debuffs that can be removed.
|
//Debuffs that can be removed.
|
||||||
case SC_HALLUCINATION:
|
case SC_CRYSTALIZE:
|
||||||
|
case SC_DEEPSLEEP:
|
||||||
|
case SC_MANDRAGORA:
|
||||||
|
case SC_MARSHOFABYSS:
|
||||||
|
if(!(type&6))
|
||||||
|
continue;
|
||||||
|
break;
|
||||||
case SC_QUAGMIRE:
|
case SC_QUAGMIRE:
|
||||||
case SC_SIGNUMCRUCIS:
|
|
||||||
case SC_DECREASEAGI:
|
case SC_DECREASEAGI:
|
||||||
|
case SC_BURNING:
|
||||||
|
if(!(type&2))
|
||||||
|
continue;
|
||||||
|
break;
|
||||||
|
case SC_HALLUCINATION:
|
||||||
|
case SC_SIGNUMCRUCIS:
|
||||||
case SC_SLOWDOWN:
|
case SC_SLOWDOWN:
|
||||||
case SC_MINDBREAKER:
|
case SC_MINDBREAKER:
|
||||||
case SC_WINKCHARM:
|
case SC_WINKCHARM:
|
||||||
@ -10646,11 +10664,10 @@ int status_change_clear_buffs(struct block_list *bl, int type)
|
|||||||
case SC_BITE:
|
case SC_BITE:
|
||||||
case SC_ADORAMUS:
|
case SC_ADORAMUS:
|
||||||
case SC_VACUUM_EXTREME:
|
case SC_VACUUM_EXTREME:
|
||||||
case SC_BURNING:
|
|
||||||
case SC_FEAR:
|
case SC_FEAR:
|
||||||
case SC_MAGNETICFIELD:
|
case SC_MAGNETICFIELD:
|
||||||
case SC_NETHERWORLD:
|
case SC_NETHERWORLD:
|
||||||
if (!(type&2))
|
if (!(type&2) || type == 6) //RK_Refresh is not supposed to remove these
|
||||||
continue;
|
continue;
|
||||||
break;
|
break;
|
||||||
//The rest are buffs that can be removed.
|
//The rest are buffs that can be removed.
|
||||||
|
@ -744,7 +744,7 @@ int unit_warp(struct block_list *bl,short m,short x,short y,clr_type type)
|
|||||||
case BL_MOB:
|
case BL_MOB:
|
||||||
if (map[bl->m].flag.monster_noteleport && ((TBL_MOB *)bl)->master_id == 0)
|
if (map[bl->m].flag.monster_noteleport && ((TBL_MOB *)bl)->master_id == 0)
|
||||||
return 1;
|
return 1;
|
||||||
if (m != bl->m && map[m].flag.nobranch && battle_config.mob_warp&4)
|
if (m != bl->m && map[m].flag.nobranch && battle_config.mob_warp&4 && !(((TBL_MOB *)bl)->master_id))
|
||||||
return 1;
|
return 1;
|
||||||
break;
|
break;
|
||||||
case BL_PC:
|
case BL_PC:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user