diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-08-10 19:06:13 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-08-10 19:06:13 +0000 |
commit | b2eab179f9d7a34e5e1027fd48007005e2b906f2 (patch) | |
tree | dea5de98321b12a8db525fb8d85d2dee2cf53014 /src/map/battle.c | |
parent | 09191b769abcca2ce8db3fb4fc225c849d9a3610 (diff) | |
download | hercules-b2eab179f9d7a34e5e1027fd48007005e2b906f2.tar.gz hercules-b2eab179f9d7a34e5e1027fd48007005e2b906f2.tar.bz2 hercules-b2eab179f9d7a34e5e1027fd48007005e2b906f2.tar.xz hercules-b2eab179f9d7a34e5e1027fd48007005e2b906f2.zip |
- Should have fixed the login-sql crash when passed user-name's length is beyond the limit.
- Removed setting mob_ghostring_fix
- Changed setting attack_attr_none to affect all neutral-element attacks. Basicly, this setting is now used to determine who can hit for full damage always when using neutral-attacks (defaults to non-players)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8237 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/battle.c')
-rw-r--r-- | src/map/battle.c | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index 1731e12e7..6e52cb267 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -1788,19 +1788,16 @@ static struct Damage battle_calc_weapon_attack( if(skill_num==TF_POISON) ATK_ADD(15*skill_lv); - if (skill_num || !(battle_config.attack_attr_none&src->type)) + if (s_ele != ELE_NEUTRAL || !(battle_config.attack_attr_none&src->type)) { //Elemental attribute fix - if (!(!sd && tsd && battle_config.mob_ghostring_fix && tstatus->def_ele==ELE_GHOST)) + if (wd.damage > 0) { - if (wd.damage > 0) - { - wd.damage=battle_attr_fix(src,target,wd.damage,s_ele,tstatus->def_ele, tstatus->ele_lv); - if(skill_num==MC_CARTREVOLUTION) //Cart Revolution applies the element fix once more with neutral element - wd.damage = battle_attr_fix(src,target,wd.damage,ELE_NEUTRAL,tstatus->def_ele, tstatus->ele_lv); - } - if (flag.lh && wd.damage2 > 0) - wd.damage2 = battle_attr_fix(src,target,wd.damage2,s_ele_,tstatus->def_ele, tstatus->ele_lv); + wd.damage=battle_attr_fix(src,target,wd.damage,s_ele,tstatus->def_ele, tstatus->ele_lv); + if(skill_num==MC_CARTREVOLUTION) //Cart Revolution applies the element fix once more with neutral element + wd.damage = battle_attr_fix(src,target,wd.damage,ELE_NEUTRAL,tstatus->def_ele, tstatus->ele_lv); } + if (flag.lh && wd.damage2 > 0) + wd.damage2 = battle_attr_fix(src,target,wd.damage2,s_ele_,tstatus->def_ele, tstatus->ele_lv); if(sc && sc->data[SC_WATK_ELEMENT].timer != -1) { //Descriptions indicate this means adding a percent of a normal attack in another element. [Skotlex] int damage= battle_calc_base_damage(sstatus, &sstatus->rhw, sc, tstatus->size, sd, (flag.arrow?2:0)); @@ -3590,7 +3587,6 @@ static const struct battle_data_short { { "show_party_share_picker", &battle_config.party_show_share_picker }, { "party_update_interval", &battle_config.party_update_interval }, { "party_item_share_type", &battle_config.party_share_type }, - { "mob_ghostring_fix", &battle_config.mob_ghostring_fix }, { "attack_attr_none", &battle_config.attack_attr_none }, { "gx_allhit", &battle_config.gx_allhit }, { "gx_disptype", &battle_config.gx_disptype }, @@ -4007,7 +4003,6 @@ void battle_set_defaults() { battle_config.party_hp_mode = 0; battle_config.party_show_share_picker = 0; battle_config.attack_attr_none = ~BL_PC; - battle_config.mob_ghostring_fix = 1; battle_config.gx_allhit = 1; battle_config.gx_disptype = 1; battle_config.devotion_level_difference = 10; |