diff options
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/map/status.c b/src/map/status.c index 453c0b40e..be3c2c01c 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -4624,9 +4624,10 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val if( status_isdead(bl) ) return 0; - if( bl->type == BL_MOB && ((TBL_MOB*)bl)->class_ == MOBID_EMPERIUM ) + if( bl->type == BL_MOB ) { - if( type != SC_SAFETYWALL && type != SC_PNEUMA ) + struct mob_data *md = BL_CAST(BL_MOB,bl); + if( (md->class_ == MOBID_EMPERIUM && type != SC_SAFETYWALL && type != SC_PNEUMA) || md->class_ == MOBID_BARRICADEA ) return 0; //Emperium can't be afflicted by status changes } |