Fixes Magic Immunity and status changes (#5683)
This commit is contained in:
parent
48fca09807
commit
ae4e2b9cba
@ -8611,39 +8611,13 @@ t_tick status_get_sc_def(struct block_list *src, struct block_list *bl, enum sc_
|
|||||||
if (src == NULL)
|
if (src == NULL)
|
||||||
return tick?tick:1; // This should not happen in current implementation, but leave it anyway
|
return tick?tick:1; // This should not happen in current implementation, but leave it anyway
|
||||||
|
|
||||||
// Status that are blocked by Golden Thief Bug card or Wand of Hermod
|
// Skills (magic type) that are blocked by Golden Thief Bug card or Wand of Hermod
|
||||||
if (status_isimmune(bl)) {
|
if (status_isimmune(bl)) {
|
||||||
switch (type) {
|
std::shared_ptr<s_skill_db> skill = skill_db.find(battle_getcurrentskill(src));
|
||||||
case SC_DECREASEAGI:
|
|
||||||
case SC_SILENCE:
|
if (skill != nullptr && skill->skill_type == BF_MAGIC)
|
||||||
case SC_COMA:
|
|
||||||
case SC_INCREASEAGI:
|
|
||||||
case SC_BLESSING:
|
|
||||||
case SC_SLOWPOISON:
|
|
||||||
case SC_IMPOSITIO:
|
|
||||||
case SC_AETERNA:
|
|
||||||
case SC_SUFFRAGIUM:
|
|
||||||
case SC_BENEDICTIO:
|
|
||||||
case SC_PROVIDENCE:
|
|
||||||
case SC_KYRIE:
|
|
||||||
case SC_ASSUMPTIO:
|
|
||||||
case SC_ANGELUS:
|
|
||||||
case SC_MAGNIFICAT:
|
|
||||||
case SC_GLORIA:
|
|
||||||
case SC_WINDWALK:
|
|
||||||
case SC_MAGICROD:
|
|
||||||
case SC_HALLUCINATION:
|
|
||||||
case SC_STONE:
|
|
||||||
case SC_QUAGMIRE:
|
|
||||||
case SC_SUITON:
|
|
||||||
case SC_SWINGDANCE:
|
|
||||||
case SC_FIRE_INSIGNIA:
|
|
||||||
case SC_WATER_INSIGNIA:
|
|
||||||
case SC_WIND_INSIGNIA:
|
|
||||||
case SC_EARTH_INSIGNIA:
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
rate = cap_value(rate, 0, 10000);
|
rate = cap_value(rate, 0, 10000);
|
||||||
sd = BL_CAST(BL_PC,bl);
|
sd = BL_CAST(BL_PC,bl);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user