diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-12-01 17:17:09 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-12-01 17:17:09 +0000 |
commit | 61248161ad0386b46d3f37ed4457366841501036 (patch) | |
tree | 2b7e762eeda38166316d2e7cc8018509831d9475 /src/map/status.c | |
parent | 22746a0a0a9efe5fc7e84496f5780116c52f2abe (diff) | |
download | hercules-61248161ad0386b46d3f37ed4457366841501036.tar.gz hercules-61248161ad0386b46d3f37ed4457366841501036.tar.bz2 hercules-61248161ad0386b46d3f37ed4457366841501036.tar.xz hercules-61248161ad0386b46d3f37ed4457366841501036.zip |
- Fixed txt-converter compilation.
- Added my_global.h include to login converter
- Removed sd->char_id since we can use sd->status.char_id instead.
- Small speedup in STRECOVERY, and made it not unlock a mob's target.
- Fixed GS_GROUNDDRIFT consuming ammo when it's time expires (so it was consuming 2 grenades instead of one). Also added a "explosion effect" when their time runs out.
- gvg_dungeon mapflag won't set pvp related mapflags anymore, pc_dead will force pvp ranking gain/loss on gvg_dungeon maps now.
- Now when coming out of hiding land-effects will trigger on the character.
- Made the pc_setpos message when being placed on an unwalkable tile tell you which player triggered it.
- Fixed land effects not taking effect inmediately on map-load when the invincible timer is disabled.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9374 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/map/status.c b/src/map/status.c index 6f7e2b154..52f4afc4f 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -1494,7 +1494,7 @@ static unsigned int status_base_pc_maxhp(struct map_session_data* sd, struct sta val += val * 25/100;
else if (sd->class_&JOBL_BABY)
val -= val * 30/100;
- if ((sd->class_&MAPID_UPPERMASK) == MAPID_TAEKWON && sd->status.base_level >= 90 && pc_famerank(sd->char_id, MAPID_TAEKWON))
+ if ((sd->class_&MAPID_UPPERMASK) == MAPID_TAEKWON && sd->status.base_level >= 90 && pc_famerank(sd->status.char_id, MAPID_TAEKWON))
val *= 3; //Triple max HP for top ranking Taekwons over level 90.
if ((sd->class_&MAPID_UPPERMASK) == MAPID_SUPER_NOVICE && sd->status.base_level >= 99)
val += 2000;
@@ -1511,7 +1511,7 @@ static unsigned int status_base_pc_maxsp(struct map_session_data* sd, struct sta val += val * 25/100;
else if (sd->class_&JOBL_BABY)
val -= val * 30/100;
- if ((sd->class_&MAPID_UPPERMASK) == MAPID_TAEKWON && sd->status.base_level >= 90 && pc_famerank(sd->char_id, MAPID_TAEKWON))
+ if ((sd->class_&MAPID_UPPERMASK) == MAPID_TAEKWON && sd->status.base_level >= 90 && pc_famerank(sd->status.char_id, MAPID_TAEKWON))
val *= 3; //Triple max SP for top ranking Taekwons over level 90.
return val;
@@ -6254,15 +6254,15 @@ int status_change_end( struct block_list* bl , int type,int tid ) case SC_HIDING:
sc->option &= ~OPTION_HIDE;
- opt_flag = 2; //Check for warp trigger.
+ opt_flag|= 2|4; //Check for warp trigger + AoE trigger
break;
case SC_CLOAKING:
sc->option &= ~OPTION_CLOAK;
- opt_flag = 2;
+ opt_flag|= 2;
break;
case SC_CHASEWALK:
sc->option &= ~(OPTION_CHASEWALK|OPTION_CLOAK);
- opt_flag = 2;
+ opt_flag|= 2;
break;
case SC_SIGHT:
sc->option &= ~OPTION_SIGHT;
@@ -6364,7 +6364,10 @@ int status_change_end( struct block_list* bl , int type,int tid ) if (calc_flag)
status_calc_bl(bl,calc_flag);
- if(opt_flag == 2 && sd && map_getcell(bl->m,bl->x,bl->y,CELL_CHKNPC))
+ if(opt_flag&4) //Out of hiding, invoke on place.
+ skill_unit_move(bl,gettick(),1);
+
+ if(opt_flag&2 && sd && map_getcell(bl->m,bl->x,bl->y,CELL_CHKNPC))
npc_touch_areanpc(sd,bl->m,bl->x,bl->y); //Trigger on-touch event.
return 1;
|