diff options
-rw-r--r-- | Changelog.txt | 1 | ||||
-rw-r--r-- | conf-tmpl/battle_athena.conf | 3 | ||||
-rw-r--r-- | src/map/battle.c | 10 | ||||
-rw-r--r-- | src/map/battle.h | 1 | ||||
-rw-r--r-- | src/map/mob.c | 2 |
5 files changed, 12 insertions, 5 deletions
diff --git a/Changelog.txt b/Changelog.txt index aba6f5a0b..4f51bcfa4 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,5 +1,6 @@ Date Added 12/22 + * Added finding_ore_rate to battle_athena.conf, thanks to orn [celest] * Changed how party exp is passed out to eliminate players current in a chat window or those who havn't moved or attacked in 2 minutes [MouseJstr] diff --git a/conf-tmpl/battle_athena.conf b/conf-tmpl/battle_athena.conf index 4b740e877..6d1d8f21e 100644 --- a/conf-tmpl/battle_athena.conf +++ b/conf-tmpl/battle_athena.conf @@ -827,5 +827,8 @@ disp_hpmeter: no // 0 - Disabled bone_drop: 0 +// The rate of monsters dropping ores by the skill Ore Discovery (Default is 100) +finding_ore_rate: 100 + import: conf/import/battle_conf.txt diff --git a/src/map/battle.c b/src/map/battle.c index 2ff50cfff..ef05f16a8 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -5301,7 +5301,7 @@ static const struct { { "max_cloth_color", &battle_config.max_cloth_color }, // added by [MouseJstr] { "castrate_dex_scale", &battle_config.castrate_dex_scale }, // added by [MouseJstr] { "area_size", &battle_config.area_size }, // added by [MouseJstr] - { "muting_players", &battle_config.muting_players}, // added by [Apple] + { "muting_players", &battle_config.muting_players}, // added by [Apple] { "zeny_from_mobs", &battle_config.zeny_from_mobs}, // [Valaris] { "mobs_level_up", &battle_config.mobs_level_up}, // [Valaris] { "pk_min_level", &battle_config.pk_min_level}, // [celest] @@ -5311,6 +5311,7 @@ static const struct { { "skill_range_leniency", &battle_config.skill_range_leniency}, // [celest] { "motd_type", &battle_config.motd_type}, // [celest] { "allow_atcommand_when_mute", &battle_config.allow_atcommand_when_mute}, // [celest] + { "finding_ore_rate", &battle_config.finding_ore_rate}, // [celest] //SQL-only options start #ifndef TXT_ONLY @@ -5567,10 +5568,8 @@ void battle_set_defaults() { battle_config.skill_range_leniency = 1; battle_config.motd_type = 0; battle_config.allow_atcommand_when_mute = 0; - - + battle_config.finding_ore_rate = 100; battle_config.castrate_dex_scale = 150; - battle_config.area_size = 14; //SQL-only options start @@ -5703,6 +5702,9 @@ void battle_validate_conf() { else if (battle_config.motd_type > 1) battle_config.motd_type = 1; + if (battle_config.finding_ore_rate < 0) + battle_config.finding_ore_rate = 0; + if (battle_config.vending_max_value > 10000000 || battle_config.vending_max_value<=0) // Lupus & Kobra_k88 battle_config.vending_max_value = 10000000; diff --git a/src/map/battle.h b/src/map/battle.h index fb3d3e4e2..bd22b9341 100644 --- a/src/map/battle.h +++ b/src/map/battle.h @@ -355,6 +355,7 @@ extern struct Battle_Config { int skill_range_leniency; // [celest] int motd_type; // [celest] int allow_atcommand_when_mute; // [celest] + int finding_ore_rate; // orn #ifndef TXT_ONLY /* SQL-only options */ int mail_system; // [Valaris] diff --git a/src/map/mob.c b/src/map/mob.c index 1b2792df6..f65e27bc0 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -2483,7 +2483,7 @@ int mob_damage(struct block_list *src,struct mob_data *md,int damage,int type) #endif // Ore Discovery [Celest] - if (pc_checkskill(sd,BS_FINDINGORE)>0 && 1 >= rand()%1000) { + if (pc_checkskill(sd,BS_FINDINGORE)>0 && battle_config.finding_ore_rate/100 >= rand()%1000) { struct delay_item_drop *ditem; int itemid[17] = { 714, 756, 757, 969, 984, 985, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1002 }; ditem=(struct delay_item_drop *)aCalloc(1,sizeof(struct delay_item_drop)); |