summaryrefslogtreecommitdiff
path: root/src/map/map.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-24 19:01:53 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-24 19:01:53 +0000
commit0b4c74ca60babc8e1cc3a5cc2225b5705a430586 (patch)
tree1ee9ffddee70be1397d153ec29d62aab958be559 /src/map/map.c
parentf8ebb28853a8a9c51725778688af0c4bb54d31e0 (diff)
downloadhercules-0b4c74ca60babc8e1cc3a5cc2225b5705a430586.tar.gz
hercules-0b4c74ca60babc8e1cc3a5cc2225b5705a430586.tar.bz2
hercules-0b4c74ca60babc8e1cc3a5cc2225b5705a430586.tar.xz
hercules-0b4c74ca60babc8e1cc3a5cc2225b5705a430586.zip
- Adjusted skill_castfix_sc so that Suffragium will get consumed even on instant cast skills, but Memorize won't.
- Adjusted map_countoncell to receive the BL_* defines currently used instead of 0 to signal all. - BladeStop will now end when either of the characters is moved (knocked out?) around. - Moved the Zeny penalty code from respawn to pc_dead. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7859 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/map.c')
-rw-r--r--src/map/map.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/map/map.c b/src/map/map.c
index bdf147082..323ad3681 100644
--- a/src/map/map.c
+++ b/src/map/map.c
@@ -498,6 +498,8 @@ int map_moveblock(struct block_list *bl, int x1, int y1, unsigned int tick) {
status_change_end(bl, SC_CLOSECONFINE, -1);
if (sc->data[SC_CLOSECONFINE2].timer != -1)
status_change_end(bl, SC_CLOSECONFINE2, -1);
+ if (sc->data[SC_BLADESTOP].timer != -1)
+ status_change_end(bl, SC_BLADESTOP, -1);
}
}
if (moveblock) map_delblock_sub(bl,0);
@@ -575,21 +577,20 @@ int map_count_oncell(int m, int x, int y, int type) {
bx = x/BLOCK_SIZE;
by = y/BLOCK_SIZE;
- if (type == 0 || type != BL_MOB)
+ if (type&~BL_MOB)
{
bl = map[m].block[bx+by*map[m].bxs];
c = map[m].block_count[bx+by*map[m].bxs];
for(i=0;i<c && bl;i++,bl=bl->next)
- if(bl->x == x && bl->y == y && bl->type == (type?type:BL_PC)) count++;
+ if(bl->x == x && bl->y == y && bl->type&type) count++;
}
- if (type == 0 || type == BL_MOB)
+ if (type&BL_MOB)
{
bl = map[m].block_mob[bx+by*map[m].bxs];
c = map[m].block_mob_count[bx+by*map[m].bxs];
- for(i=0;i<c && bl;i++,bl=bl->next){
+ for(i=0;i<c && bl;i++,bl=bl->next)
if(bl->x == x && bl->y == y) count++;
- }
}
return count;
}