summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/map/battle.c4
-rw-r--r--src/map/battle.h1
-rw-r--r--src/map/skill.c4
-rw-r--r--src/map/unit.c6
4 files changed, 13 insertions, 2 deletions
diff --git a/src/map/battle.c b/src/map/battle.c
index 0441164b9..c481d0034 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -3441,6 +3441,7 @@ static const struct battle_data_short {
{ "gtb_sc_immunity", &battle_config.gtb_sc_immunity},
{ "guild_max_castles", &battle_config.guild_max_castles },
{ "emergency_call", &battle_config.emergency_call },
+ { "guild_aura", &battle_config.guild_aura },
{ "death_penalty_type", &battle_config.death_penalty_type },
{ "death_penalty_base", &battle_config.death_penalty_base },
{ "death_penalty_job", &battle_config.death_penalty_job },
@@ -3864,7 +3865,8 @@ void battle_set_defaults() {
battle_config.gm_join_chat=0;
battle_config.gm_kick_chat=0;
battle_config.guild_max_castles=0;
- battle_config.emergency_call=2;
+ battle_config.emergency_call=15;
+ battle_config.guild_aura=31;
battle_config.skillfree = 0;
battle_config.skillup_limit = 0;
battle_config.wp_rate=100;
diff --git a/src/map/battle.h b/src/map/battle.h
index 3c1a9fe2d..2d4651b65 100644
--- a/src/map/battle.h
+++ b/src/map/battle.h
@@ -165,6 +165,7 @@ extern struct Battle_Config {
unsigned short guild_exp_limit;
unsigned short guild_max_castles;
unsigned short emergency_call;
+ unsigned short guild_aura;
unsigned short pc_invincible_time;
unsigned short pet_catch_rate;
unsigned short pet_rename;
diff --git a/src/map/skill.c b/src/map/skill.c
index ff184fb20..33fd6eb89 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -2321,6 +2321,10 @@ int skill_guildaura_sub (struct block_list *bl, va_list ap)
gid = va_arg(ap,int);
if (sd->status.guild_id != gid)
return 0;
+
+ if(id == sd->bl.id && battle_config.guild_aura&16)
+ return 0;
+
strvit = va_arg(ap,int);
agidex = va_arg(ap,int);
diff --git a/src/map/unit.c b/src/map/unit.c
index 4d6fdc29f..52284d83d 100644
--- a/src/map/unit.c
+++ b/src/map/unit.c
@@ -173,7 +173,11 @@ static int unit_walktoxy_timer(int tid,unsigned int tick,int id,int data)
return 0;
} else
sd->areanpc_id=0;
- if (sd->state.gmaster_flag)
+ if (sd->state.gmaster_flag &&
+ (battle_config.guild_aura&(agit_flag?2:1)) &&
+ (battle_config.guild_aura&
+ (map[bl->m].flag.gvg || map[bl->m].flag.gvg_castle?8:4))
+ )
{ //Guild Aura: Likely needs to be recoded, this method seems inefficient.
struct guild *g = sd->state.gmaster_flag;
int skill, strvit= 0, agidex = 0;