summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMysterious <mysteriousragnarok@hotmail.com>2013-02-09 08:17:19 -0800
committerMysterious <mysteriousragnarok@hotmail.com>2013-02-09 08:17:19 -0800
commit8c943e75db3810f6606b41b99aa9f22c257b364e (patch)
treef587fe4fa52e2415c1b110d195140aecd1254cdc
parent5e76d9a1a0ab36af5d8ad072ea4dcbf6122b0ae9 (diff)
parent7a8857cbf73d589ded8ef7bcf000063ad0ef1432 (diff)
downloadhercules-8c943e75db3810f6606b41b99aa9f22c257b364e.tar.gz
hercules-8c943e75db3810f6606b41b99aa9f22c257b364e.tar.bz2
hercules-8c943e75db3810f6606b41b99aa9f22c257b364e.tar.xz
hercules-8c943e75db3810f6606b41b99aa9f22c257b364e.zip
Merge pull request #3 from HerculesWS/master
Merging Hercules Changes
-rw-r--r--README.md3
-rw-r--r--conf/battle/skill.conf6
-rw-r--r--db/pre-re/skill_unit_db.txt2
-rw-r--r--db/re/skill_unit_db.txt2
-rw-r--r--src/char/int_guild.c4
-rw-r--r--src/char/int_pet.c2
-rw-r--r--src/common/core.c2
-rw-r--r--src/common/mapindex.c2
-rw-r--r--src/common/sql.c2
-rw-r--r--src/common/sql.h2
-rw-r--r--src/login/login.c2
-rw-r--r--src/map/battle.c2
-rw-r--r--src/map/battle.h2
-rw-r--r--src/map/chrif.c2
-rw-r--r--src/map/clif.c2
-rw-r--r--src/map/elemental.c2
-rw-r--r--src/map/homunculus.c2
-rw-r--r--src/map/map.c2
-rw-r--r--src/map/map.h2
-rw-r--r--src/map/mercenary.c2
-rw-r--r--src/map/mob.c2
-rw-r--r--src/map/npc.c2
-rw-r--r--src/map/pc.c2
-rw-r--r--src/map/pc.h2
-rw-r--r--src/map/script.c2
-rw-r--r--src/map/skill.c16
-rw-r--r--src/map/status.c4
-rw-r--r--src/map/unit.c8
28 files changed, 47 insertions, 38 deletions
diff --git a/README.md b/README.md
index da3077d15..5b7aac287 100644
--- a/README.md
+++ b/README.md
@@ -62,7 +62,8 @@ relevant to your Operation System, please refer to the Wiki (links at the end of
* Step 2: rpm -Uvhhttp://repo.webtatic.com/yum/centos/5/latest.rpm
* Step 3: yum install --enablerepo=webtatic git-all
* Step 4: yum install --enablerepo=webtatic --disableexcludes=main git-all
- (For Debian) Type: apt-get install git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
+ * (For Debian/Others)
+ * Type: apt-get install git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
* Type: mysql_secure_installation
* Start your MySQL server
* Setup a MySQL user:
diff --git a/conf/battle/skill.conf b/conf/battle/skill.conf
index 0dd97610e..ecb2dd00a 100644
--- a/conf/battle/skill.conf
+++ b/conf/battle/skill.conf
@@ -276,7 +276,7 @@ invincible.nodamage: no
// Default: yes
dancing_weaponswitch_fix: yes
-// Skill Trap Type
-// 0: (official) traps only makes player unable to move after its walk path is complete, and it activates other traps on the way.
-// 1: trap makes player stop moving right when stepping over it.
+// Skill Trap Type (GvG)
+// 0: (official) traps in GvG only makes player unable to move after its walk path is complete, and it activates other traps on the way.
+// 1: trap in GvG makes player stop moving right when stepping over it.
skill_trap_type: 0
diff --git a/db/pre-re/skill_unit_db.txt b/db/pre-re/skill_unit_db.txt
index fe43503a8..c2de0782f 100644
--- a/db/pre-re/skill_unit_db.txt
+++ b/db/pre-re/skill_unit_db.txt
@@ -150,7 +150,7 @@
2485,0xe7, , 0, 3,1000,enemy, 0x098 //GN_DEMONIC_FIRE
2487,0xe8, , 0, 3,1000,enemy, 0x000 //GN_FIRE_EXPANSION_SMOKE_POWDER
2488,0xe9, , 0, 3,1000,enemy, 0x000 //GN_FIRE_EXPANSION_TEAR_GAS
-2490,0xea, , 0, 1,1000,enemy, 0x000 //GN_HELLS_PLANT
+2490,0xea, , 0, 1,1000,enemy, 0x002 //GN_HELLS_PLANT
3006,0x86, , 0, 2, 100,enemy, 0x018 //KO_BAKURETSU
3008,0x86, , 0, 2, 100,enemy, 0x018 //KO_MUCHANAGE
diff --git a/db/re/skill_unit_db.txt b/db/re/skill_unit_db.txt
index fc2c76bfd..3984ef64c 100644
--- a/db/re/skill_unit_db.txt
+++ b/db/re/skill_unit_db.txt
@@ -152,7 +152,7 @@
2485,0xe7, , 0, 3,1000,enemy, 0x098 //GN_DEMONIC_FIRE
2487,0xe8, , 0, 3,1000,enemy, 0x000 //GN_FIRE_EXPANSION_SMOKE_POWDER
2488,0xe9, , 0, 3,1000,enemy, 0x000 //GN_FIRE_EXPANSION_TEAR_GAS
-2490,0xea, , 0, 1,1000,enemy, 0x000 //GN_HELLS_PLANT
+2490,0xea, , 0, 1,1000,enemy, 0x002 //GN_HELLS_PLANT
3006,0x86, , 0, 2, 100,enemy, 0x018 //KO_BAKURETSU
3008,0x86, , 0, 2, 100,enemy, 0x018 //KO_MUCHANAGE
diff --git a/src/char/int_guild.c b/src/char/int_guild.c
index b3a907b1a..e25ebd902 100644
--- a/src/char/int_guild.c
+++ b/src/char/int_guild.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/mmo.h"
@@ -602,7 +602,7 @@ static struct guild_castle* inter_guildcastle_fromsql(int castle_id)
// Read exp_guild.txt
static bool exp_guild_parse_row(char* split[], int column, int current)
{
- unsigned int exp = atoll(split[0]);
+ unsigned int exp = (unsigned int)atol(split[0]);
if (exp < 0 || exp >= UINT_MAX) {
ShowError("exp_guild: Invalid exp %d at line %d\n", exp, current);
diff --git a/src/char/int_pet.c b/src/char/int_pet.c
index d9b0cf5ef..7a6c217f9 100644
--- a/src/char/int_pet.c
+++ b/src/char/int_pet.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/mmo.h"
#include "../common/malloc.h"
diff --git a/src/common/core.c b/src/common/core.c
index b1714b7a5..42cdfa7cd 100644
--- a/src/common/core.c
+++ b/src/common/core.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/mmo.h"
#include "../common/showmsg.h"
diff --git a/src/common/mapindex.c b/src/common/mapindex.c
index cea945ac0..685af641c 100644
--- a/src/common/mapindex.c
+++ b/src/common/mapindex.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/mmo.h"
#include "../common/showmsg.h"
diff --git a/src/common/sql.c b/src/common/sql.c
index 73c4181d9..b842db46d 100644
--- a/src/common/sql.c
+++ b/src/common/sql.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/common/sql.h b/src/common/sql.h
index 5ac92665e..b7159ec90 100644
--- a/src/common/sql.h
+++ b/src/common/sql.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 _COMMON_SQL_H_
#define _COMMON_SQL_H_
diff --git a/src/login/login.c b/src/login/login.c
index 625e0f5c6..7f272e2a4 100644
--- a/src/login/login.c
+++ b/src/login/login.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/core.h"
#include "../common/db.h"
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))