git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5169 54d463be-8e91-2dee-dedb-b68131a5f0ec

This commit is contained in:
Valaris 2006-02-03 02:10:26 +00:00
parent dacc1b195d
commit 432aefc244
2 changed files with 19 additions and 0 deletions

View File

@ -5,6 +5,7 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. EV
GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS
2006/02/02
* Fixed crash in status_change_timer. For some reason the block type switch was removed. [Valaris]
* Crash fix in npc.c npc_timerevent.
was: struct timer_event_data *ted = (struct timer_event_data*)ted;
changed: struct timer_event_data *ted = (struct timer_event_data*)data;

View File

@ -3635,6 +3635,24 @@ int status_change_start(struct block_list *bl,int type,int val1,int val2,int val
if (!sc || status_isdead(bl))
return 0;
switch (bl->type)
{
case BL_PC:
sd=(struct map_session_data *)bl;
break;
case BL_MOB:
if (((struct mob_data*)bl)->class_ == MOBID_EMPERIUM && type != SC_SAFETYWALL)
return 0; //Emperium can't be afflicted by status changes.
break;
case BL_PET: //Because pets can't have status changes.
case BL_SKILL: //These may happen by attacking traps or the like. [Skotlex]
return 0;
default:
if(battle_config.error_log)
ShowError("status_change_start: invalid source type (%d)!\n", bl->type);
return 0;
}
if(type < 0 || type >= SC_MAX) {
if(battle_config.error_log)
ShowError("status_change_start: invalid status change (%d)!\n", type);