diff options
-rw-r--r-- | Changelog-SVN.txt | 3 | ||||
-rw-r--r-- | conf-tmpl/battle_athena.conf | 4 | ||||
-rw-r--r-- | src/map/battle.c | 2 | ||||
-rw-r--r-- | src/map/battle.h | 1 | ||||
-rw-r--r-- | src/map/guild.c | 13 | ||||
-rw-r--r-- | src/map/map.h | 10 |
6 files changed, 22 insertions, 11 deletions
diff --git a/Changelog-SVN.txt b/Changelog-SVN.txt index 047c96b99..1a5aab776 100644 --- a/Changelog-SVN.txt +++ b/Changelog-SVN.txt @@ -1,6 +1,9 @@ Date Added 03/23 + * Fixed some --addrace variables' sizes [celest] + * Added' require_glory_guild' - sets whether changing guild emblems require + the Glory of Guild skill [celest] * Fixed alot of memory leaks [celest] * Added stray memory cleaning routine to db.c [celest] * Fixed some compile errors, sorry xP [celest] diff --git a/conf-tmpl/battle_athena.conf b/conf-tmpl/battle_athena.conf index 06f6a90ab..9a473704d 100644 --- a/conf-tmpl/battle_athena.conf +++ b/conf-tmpl/battle_athena.conf @@ -817,5 +817,9 @@ finding_ore_rate: 100 //2 - eAthena's, using damage given / total damage as damage ratio exp_calc_type: 1 +// Does changing emblems require the guild skill "Glory of Guild"? (Note 1) +// Note: This new guild skill only appears for 2004-10-25aSakexe or newer +require_glory_guild: yes + import: conf/import/battle_conf.txt diff --git a/src/map/battle.c b/src/map/battle.c index 3c3442c60..54e1ba484 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -4133,6 +4133,7 @@ static const struct { { "finding_ore_rate", &battle_config.finding_ore_rate}, // [celest] { "exp_calc_type", &battle_config.exp_calc_type}, // [celest] { "min_skill_delay_limit", &battle_config.min_skill_delay_limit}, // [celest] + { "require_glory_guild", &battle_config.require_glory_guild}, // [celest] //SQL-only options start #ifndef TXT_ONLY @@ -4380,6 +4381,7 @@ void battle_set_defaults() { battle_config.area_size = 14; battle_config.exp_calc_type = 1; battle_config.min_skill_delay_limit = 100; + battle_config.require_glory_guild = 1; //SQL-only options start #ifndef TXT_ONLY diff --git a/src/map/battle.h b/src/map/battle.h index a4758ab80..3bb9068bf 100644 --- a/src/map/battle.h +++ b/src/map/battle.h @@ -311,6 +311,7 @@ extern struct Battle_Config { int finding_ore_rate; // orn int exp_calc_type; int min_skill_delay_limit; + int require_glory_guild; #ifndef TXT_ONLY /* SQL-only options */ int mail_system; // [Valaris] diff --git a/src/map/guild.c b/src/map/guild.c index 06838c4b8..431ef5dec 100644 --- a/src/map/guild.c +++ b/src/map/guild.c @@ -892,15 +892,16 @@ int guild_notice_changed(int guild_id,const char *mes1,const char *mes2) // ギルドエンブレム変更 int guild_change_emblem(struct map_session_data *sd,int len,const char *data) { - struct guild *g = NULL; - + struct guild *g; nullpo_retr(0, sd); - if ((g = guild_search(sd->status.guild_id)) && guild_checkskill(g, GD_GLORYGUILD)>0) - return intif_guild_emblem(sd->status.guild_id,len,data); + if (battle_config.require_glory_guild && + !((g = guild_search(sd->status.guild_id)) && guild_checkskill(g, GD_GLORYGUILD)>0)) { + clif_skill_fail(sd,GD_GLORYGUILD,0,0); + return 0; + } - clif_skill_fail(sd,GD_GLORYGUILD,0,0); - return 0; + return intif_guild_emblem(sd->status.guild_id,len,data); } // ギルドエンブレム変更通知 int guild_emblem_changed(int len,int guild_id,int emblem_id,const char *data) diff --git a/src/map/map.h b/src/map/map.h index aeb47136c..453d0fbc6 100644 --- a/src/map/map.h +++ b/src/map/map.h @@ -295,16 +295,16 @@ struct map_session_data { short ignore_def_mob, ignore_def_mob_; int hp_loss_tick, hp_loss_rate; short hp_loss_value, hp_loss_type; - int addrace2[6],addrace2_[6]; + int addrace2[12],addrace2_[12]; int subsize[3]; short unequip_losehp[11]; short unequip_losesp[11]; int itemid; - int itemhealrate[6]; + int itemhealrate[7]; //--- 03/15's new card effects - int expaddrace[6]; - int subrace2[6]; - short sp_gain_race[6]; + int expaddrace[12]; + int subrace2[12]; + short sp_gain_race[12]; short spiritball, spiritball_old; int spirit_timer[MAX_SKILL_LEVEL]; |