diff options
author | Mysterious <mysteriousragnarok@hotmail.com> | 2013-02-09 08:17:19 -0800 |
---|---|---|
committer | Mysterious <mysteriousragnarok@hotmail.com> | 2013-02-09 08:17:19 -0800 |
commit | 8c943e75db3810f6606b41b99aa9f22c257b364e (patch) | |
tree | f587fe4fa52e2415c1b110d195140aecd1254cdc /src/map | |
parent | 5e76d9a1a0ab36af5d8ad072ea4dcbf6122b0ae9 (diff) | |
parent | 7a8857cbf73d589ded8ef7bcf000063ad0ef1432 (diff) | |
download | hercules-8c943e75db3810f6606b41b99aa9f22c257b364e.tar.gz hercules-8c943e75db3810f6606b41b99aa9f22c257b364e.tar.bz2 hercules-8c943e75db3810f6606b41b99aa9f22c257b364e.tar.xz hercules-8c943e75db3810f6606b41b99aa9f22c257b364e.zip |
Merge pull request #3 from HerculesWS/master
Merging Hercules Changes
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/battle.c | 2 | ||||
-rw-r--r-- | src/map/battle.h | 2 | ||||
-rw-r--r-- | src/map/chrif.c | 2 | ||||
-rw-r--r-- | src/map/clif.c | 2 | ||||
-rw-r--r-- | src/map/elemental.c | 2 | ||||
-rw-r--r-- | src/map/homunculus.c | 2 | ||||
-rw-r--r-- | src/map/map.c | 2 | ||||
-rw-r--r-- | src/map/map.h | 2 | ||||
-rw-r--r-- | src/map/mercenary.c | 2 | ||||
-rw-r--r-- | src/map/mob.c | 2 | ||||
-rw-r--r-- | src/map/npc.c | 2 | ||||
-rw-r--r-- | src/map/pc.c | 2 | ||||
-rw-r--r-- | src/map/pc.h | 2 | ||||
-rw-r--r-- | src/map/script.c | 2 | ||||
-rw-r--r-- | src/map/skill.c | 16 | ||||
-rw-r--r-- | src/map/status.c | 4 | ||||
-rw-r--r-- | src/map/unit.c | 8 |
17 files changed, 32 insertions, 24 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index f9748833f..2ad066d33 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -1,6 +1,6 @@ // Copyright (c) Hercules dev team, licensed under GNU GPL. // See the LICENSE file -// Portions Copyright (c) Athena dev team +// Portions Copyright (c) Athena Dev Teams #include "../common/cbasetypes.h" #include "../common/timer.h" diff --git a/src/map/battle.h b/src/map/battle.h index 1354da78a..cd626cd6b 100644 --- a/src/map/battle.h +++ b/src/map/battle.h @@ -1,6 +1,6 @@ // Copyright (c) Hercules dev team, licensed under GNU GPL. // See the LICENSE file -// Portions Copyright (c) Athena dev team +// Portions Copyright (c) Athena Dev Teams #ifndef _BATTLE_H_ #define _BATTLE_H_ diff --git a/src/map/chrif.c b/src/map/chrif.c index 3ad164b89..06eef0564 100644 --- a/src/map/chrif.c +++ b/src/map/chrif.c @@ -1,6 +1,6 @@ // Copyright (c) Hercules dev team, licensed under GNU GPL. // See the LICENSE file -// Portions Copyright (c) Athena dev team +// Portions Copyright (c) Athena Dev Teams #include "../common/cbasetypes.h" #include "../common/malloc.h" diff --git a/src/map/clif.c b/src/map/clif.c index 8d5090c2c..6d9e57bd2 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -1,6 +1,6 @@ // Copyright (c) Hercules dev team, licensed under GNU GPL. // See the LICENSE file -// Portions Copyright (c) Athena dev team +// Portions Copyright (c) Athena Dev Teams #include "../common/cbasetypes.h" #include "../common/socket.h" diff --git a/src/map/elemental.c b/src/map/elemental.c index f6c9eff84..33ef4d1b9 100644 --- a/src/map/elemental.c +++ b/src/map/elemental.c @@ -1,6 +1,6 @@ // Copyright (c) Hercules dev team, licensed under GNU GPL. // See the LICENSE file -// Portions Copyright (c) Athena dev team +// Portions Copyright (c) Athena Dev Teams #include "../common/cbasetypes.h" #include "../common/malloc.h" diff --git a/src/map/homunculus.c b/src/map/homunculus.c index c94a95775..92868c7c7 100644 --- a/src/map/homunculus.c +++ b/src/map/homunculus.c @@ -1,6 +1,6 @@ // Copyright (c) Hercules dev team, licensed under GNU GPL. // See the LICENSE file -// Portions Copyright (c) Athena dev team +// Portions Copyright (c) Athena Dev Teams #include "../common/cbasetypes.h" #include "../common/malloc.h" diff --git a/src/map/map.c b/src/map/map.c index d2cc9c4a9..6f9401dad 100644 --- a/src/map/map.c +++ b/src/map/map.c @@ -1,6 +1,6 @@ // Copyright (c) Hercules dev team, licensed under GNU GPL. // See the LICENSE file -// Portions Copyright (c) Athena dev team +// Portions Copyright (c) Athena Dev Teams #include "../common/cbasetypes.h" #include "../common/core.h" diff --git a/src/map/map.h b/src/map/map.h index 06995024f..73f8e694b 100644 --- a/src/map/map.h +++ b/src/map/map.h @@ -1,6 +1,6 @@ // Copyright (c) Hercules dev team, licensed under GNU GPL. // See the LICENSE file -// Portions Copyright (c) Athena dev team +// Portions Copyright (c) Athena Dev Teams #ifndef _MAP_H_ #define _MAP_H_ diff --git a/src/map/mercenary.c b/src/map/mercenary.c index c3fb8e3e2..a97651b87 100644 --- a/src/map/mercenary.c +++ b/src/map/mercenary.c @@ -1,6 +1,6 @@ // Copyright (c) Hercules dev team, licensed under GNU GPL. // See the LICENSE file -// Portions Copyright (c) Athena dev team +// Portions Copyright (c) Athena Dev Teams #include "../common/cbasetypes.h" #include "../common/malloc.h" diff --git a/src/map/mob.c b/src/map/mob.c index aceebc506..4f28923e9 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -1,6 +1,6 @@ // Copyright (c) Hercules dev team, licensed under GNU GPL. // See the LICENSE file -// Portions Copyright (c) Athena dev team +// Portions Copyright (c) Athena Dev Teams #include "../common/cbasetypes.h" #include "../common/timer.h" diff --git a/src/map/npc.c b/src/map/npc.c index 383cd031a..ba476e810 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -1,6 +1,6 @@ // Copyright (c) Hercules dev team, licensed under GNU GPL. // See the LICENSE file -// Portions Copyright (c) Athena dev team +// Portions Copyright (c) Athena Dev Teams #include "../common/cbasetypes.h" #include "../common/timer.h" diff --git a/src/map/pc.c b/src/map/pc.c index 6e24d7d49..0dd210394 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -1,6 +1,6 @@ // Copyright (c) Hercules dev team, licensed under GNU GPL. // See the LICENSE file -// Portions Copyright (c) Athena dev team +// Portions Copyright (c) Athena Dev Teams #include "../common/cbasetypes.h" #include "../common/core.h" // get_svn_revision() diff --git a/src/map/pc.h b/src/map/pc.h index ac1950a69..6e56a612e 100644 --- a/src/map/pc.h +++ b/src/map/pc.h @@ -1,6 +1,6 @@ // Copyright (c) Hercules dev team, licensed under GNU GPL. // See the LICENSE file -// Portions Copyright (c) Athena dev team +// Portions Copyright (c) Athena Dev Teams #ifndef _PC_H_ #define _PC_H_ diff --git a/src/map/script.c b/src/map/script.c index b4f0a5d9b..a6d588113 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -1,6 +1,6 @@ // Copyright (c) Hercules dev team, licensed under GNU GPL. // See the LICENSE file -// Portions Copyright (c) Athena dev team +// Portions Copyright (c) Athena Dev Teams //#define DEBUG_DISP //#define DEBUG_DISASM diff --git a/src/map/skill.c b/src/map/skill.c index 2cc3ed1ab..ba720da42 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -1,6 +1,6 @@ // Copyright (c) Hercules dev team, licensed under GNU GPL. // See the LICENSE file -// Portions Copyright (c) Athena dev team +// Portions Copyright (c) Athena Dev Teams #include "../common/cbasetypes.h" #include "../common/timer.h" @@ -6360,6 +6360,12 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui } if(status_isimmune(bl) || !tsc || !tsc->count) break; + + if( sd && dstsd && !map_flag_vs(sd->bl.m) && sd->status.guild_id == dstsd->status.guild_id ) { + clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); + break; + } + for(i=0;i<SC_MAX;i++) { if (!tsc->data[i]) @@ -10612,6 +10618,8 @@ struct skill_unit_group* skill_unitsetting (struct block_list *src, uint16 skill break; case WZ_FIREPILLAR: + if( map_getcell(src->m, x, y, CELL_CHKLANDPROTECTOR) ) + return NULL; if((flag&1)!=0) limit=1000; val1=skill_lv+2; @@ -11451,7 +11459,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns const struct TimerData* td = tsc->data[type]?get_timer(tsc->data[type]->timer):NULL; if( td ) sec = DIFF_TICK(td->tick, tick); - if( sg->unit_id == UNT_MANHOLE || battle_config.skill_trap_type ) { + if( sg->unit_id == UNT_MANHOLE || battle_config.skill_trap_type || !map_flag_gvg(src->bl.m) ) { unit_movepos(bl, src->bl.x, src->bl.y, 0, 0); clif_fixpos(bl); } @@ -13064,7 +13072,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id } break; case ST_RIDING: - if(!pc_isriding(sd) || !pc_isridingdragon(sd)) { + if(!pc_isriding(sd) && !pc_isridingdragon(sd)) { clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); return 0; } @@ -14712,7 +14720,7 @@ static int skill_cell_overlap(struct block_list *bl, va_list ap) skill_delunit(unit); return 1; } - if( !(skill_get_inf2(unit->group->skill_id)&(INF2_SONG_DANCE|INF2_TRAP)) ) { //It deletes everything except songs/dances and traps + if( !(skill_get_inf2(unit->group->skill_id)&(INF2_SONG_DANCE|INF2_TRAP)) || unit->group->skill_id == WZ_FIREPILLAR ) { //It deletes everything except songs/dances and traps skill_delunit(unit); return 1; } diff --git a/src/map/status.c b/src/map/status.c index 8fd48aefc..97b7c61a1 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -1,6 +1,6 @@ // Copyright (c) Hercules dev team, licensed under GNU GPL. // See the LICENSE file -// Portions Copyright (c) Athena dev team +// Portions Copyright (c) Athena Dev Teams #include "../common/cbasetypes.h" #include "../common/timer.h" @@ -8663,7 +8663,7 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val unit_stop_walking(bl,1); break; case SC_ANKLE: - if( battle_config.skill_trap_type ) + if( battle_config.skill_trap_type || !map_flag_gvg(bl->m) ) unit_stop_walking(bl,1); break; case SC_HIDING: diff --git a/src/map/unit.c b/src/map/unit.c index 45aca7d41..60de14093 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -1,6 +1,6 @@ // Copyright (c) Hercules dev team, licensed under GNU GPL. // See the LICENSE file -// Portions Copyright (c) Athena dev team +// Portions Copyright (c) Athena Dev Teams #include "../common/showmsg.h" #include "../common/timer.h" @@ -353,7 +353,7 @@ int unit_walktoxy( struct block_list *bl, short x, short y, int flag) map_random_dir(bl, &ud->to_x, &ud->to_y); if(ud->walktimer != INVALID_TIMER) { - if( !battle_config.skill_trap_type && sc && sc->data[SC_ANKLE] ) // Ankle disallows you from changing your path + if( !battle_config.skill_trap_type && sc && map_flag_gvg(bl->m) && sc->data[SC_ANKLE] ) // Ankle disallows you from changing your path return 0; // When you come to the center of the grid because the change of destination while you're walking right now // Call a function from a timer unit_walktoxy_sub @@ -430,7 +430,7 @@ int unit_walktobl(struct block_list *bl, struct block_list *tbl, int range, int map_random_dir(bl, &ud->to_x, &ud->to_y); if(ud->walktimer != INVALID_TIMER) { - if( !battle_config.skill_trap_type && sc && sc->data[SC_ANKLE] ) // Ankle disallows you from changing your path + if( !battle_config.skill_trap_type && sc && map_flag_gvg(bl->m) && sc->data[SC_ANKLE] ) // Ankle disallows you from changing your path return 0; ud->state.change_walk_target = 1; set_mobstate(bl, flag&2); @@ -938,7 +938,7 @@ int unit_can_move(struct block_list *bl) { ) return 0; - if( sc->data[SC_ANKLE] && ( battle_config.skill_trap_type || !unit_is_walking(bl) ) ) // Ankle only stops you after you're done moving + if( sc->data[SC_ANKLE] && ( battle_config.skill_trap_type || ( !map_flag_gvg(bl->m) && !unit_is_walking(bl) ) ) ) // Ankle only stops you after you're done moving return 0; if (sc->opt1 > 0 && sc->opt1 != OPT1_STONEWAIT && sc->opt1 != OPT1_BURNING && !(sc->opt1 == OPT1_CRYSTALIZE && bl->type == BL_MOB)) |