|
@@ -6277,14 +6277,14 @@ struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list *
|
|
|
* Initial refactoring by Baalberith
|
|
|
* Refined and optimized by helvetica
|
|
|
*/
|
|
|
-struct Damage battle_calc_attack(int attack_type,struct block_list *bl,struct block_list *target,uint16 skill_id,uint16 skill_lv,int count)
|
|
|
+struct Damage battle_calc_attack(int attack_type,struct block_list *bl,struct block_list *target,uint16 skill_id,uint16 skill_lv,int flag)
|
|
|
{
|
|
|
struct Damage d;
|
|
|
|
|
|
switch(attack_type) {
|
|
|
- case BF_WEAPON: d = battle_calc_weapon_attack(bl,target,skill_id,skill_lv,count); break;
|
|
|
- case BF_MAGIC: d = battle_calc_magic_attack(bl,target,skill_id,skill_lv,count); break;
|
|
|
- case BF_MISC: d = battle_calc_misc_attack(bl,target,skill_id,skill_lv,count); break;
|
|
|
+ case BF_WEAPON: d = battle_calc_weapon_attack(bl,target,skill_id,skill_lv,flag); break;
|
|
|
+ case BF_MAGIC: d = battle_calc_magic_attack(bl,target,skill_id,skill_lv,flag); break;
|
|
|
+ case BF_MISC: d = battle_calc_misc_attack(bl,target,skill_id,skill_lv,flag); break;
|
|
|
default:
|
|
|
ShowError("battle_calc_attack: unknown attack type! %d (skill_id=%d, skill_lv=%d)\n", attack_type, skill_id, skill_lv);
|
|
|
memset(&d,0,sizeof(d));
|
|
@@ -7798,6 +7798,7 @@ static const struct _battle_data {
|
|
|
{ "at_monsterignore", &battle_config.autotrade_monsterignore, 0, 0, 1, },
|
|
|
{ "idletime_option", &battle_config.idletime_option, 0x25, 1, INT_MAX, },
|
|
|
{ "spawn_direction", &battle_config.spawn_direction, 0, 0, 1, },
|
|
|
+ { "arrow_shower_knockback", &battle_config.arrow_shower_knockback, 1, 0, 1, },
|
|
|
};
|
|
|
#ifndef STATS_OPT_OUT
|
|
|
/**
|