diff options
author | toms <toms@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-08-25 11:07:30 +0000 |
---|---|---|
committer | toms <toms@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-08-25 11:07:30 +0000 |
commit | 5bf1ac604fd1cf6e8e20930180b8ef23907c9ba0 (patch) | |
tree | 3bfbc2cf0e6f3a9ff4520db84d30b50e257fb281 /src/map/status.c | |
parent | 0ad60ff7f298f886be2c05955edd51cb50b58f0d (diff) | |
download | hercules-5bf1ac604fd1cf6e8e20930180b8ef23907c9ba0.tar.gz hercules-5bf1ac604fd1cf6e8e20930180b8ef23907c9ba0.tar.bz2 hercules-5bf1ac604fd1cf6e8e20930180b8ef23907c9ba0.tar.xz hercules-5bf1ac604fd1cf6e8e20930180b8ef23907c9ba0.zip |
Added a flag to skill_delunitgroup, skill_delunit & skill_unit_onlimit.
If 1 is passed, it will avoid UNT_WARP_ACTIVE to be transformed in UNT_WARP_WAITING and will destroy it. [Toms]
( To avoid such crash : http://www.eathena.ws/board/index.php?showtopic=114102 when the code need an empty slot and the oldest one is UNT_WARP_ACTIVE )
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8478 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/map/status.c b/src/map/status.c index df9eebcaa..8f8da8098 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -623,7 +623,7 @@ int status_damage(struct block_list *src,struct block_list *target,int hp, int s sc->data[SC_GRAVITATION].val3 == BCT_SELF) { struct skill_unit_group *sg = (struct skill_unit_group *)sc->data[SC_GRAVITATION].val4; if (sg) { - skill_delunitgroup(target,sg); + skill_delunitgroup(target,sg, 0); sc->data[SC_GRAVITATION].val4 = 0; status_change_end(target, SC_GRAVITATION, -1); } @@ -5991,7 +5991,7 @@ int status_change_end( struct block_list* bl , int type,int tid ) { group = (struct skill_unit_group *)sc->data[type].val2; sc->data[type].val2 = 0; - skill_delunitgroup(bl, group); + skill_delunitgroup(bl, group, 0); } if(sc->data[type].val4 && sc->data[type].val4 != BCT_SELF && (dsd=map_id2sd(sc->data[type].val4))){ dsc = &dsd->sc; @@ -6092,7 +6092,7 @@ int status_change_end( struct block_list* bl , int type,int tid ) if (sc->data[type].val3) { //Clear the group. struct skill_unit_group *group = (struct skill_unit_group *)sc->data[type].val3; sc->data[type].val3 = 0; - skill_delunitgroup(bl, group); + skill_delunitgroup(bl, group, 0); } break; case SC_HERMODE: @@ -6112,7 +6112,7 @@ int status_change_end( struct block_list* bl , int type,int tid ) if (sc->data[type].val4) { //Clear the group. struct skill_unit_group *group = (struct skill_unit_group *)sc->data[type].val4; sc->data[type].val4 = 0; - skill_delunitgroup(bl, group); + skill_delunitgroup(bl, group, 0); } break; case SC_KAAHI: |