Fixes Magic Immunity and status changes (#5683)

This commit is contained in:
Aleos 2021-01-13 21:49:40 -05:00 committed by GitHub
parent 48fca09807
commit ae4e2b9cba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -8611,38 +8611,12 @@ 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: return 0;
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;
}
} }
rate = cap_value(rate, 0, 10000); rate = cap_value(rate, 0, 10000);