summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-08-10 19:06:13 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-08-10 19:06:13 +0000
commitb2eab179f9d7a34e5e1027fd48007005e2b906f2 (patch)
treedea5de98321b12a8db525fb8d85d2dee2cf53014 /src/map
parent09191b769abcca2ce8db3fb4fc225c849d9a3610 (diff)
downloadhercules-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')
-rw-r--r--src/map/battle.c19
-rw-r--r--src/map/battle.h1
-rw-r--r--src/map/trade.c2
3 files changed, 8 insertions, 14 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;
diff --git a/src/map/battle.h b/src/map/battle.h
index 9e7836644..355295841 100644
--- a/src/map/battle.h
+++ b/src/map/battle.h
@@ -270,7 +270,6 @@ extern struct Battle_Config {
unsigned short party_share_type;
unsigned short party_hp_mode;
unsigned short party_show_share_picker;
- unsigned short mob_ghostring_fix;
unsigned short attack_attr_none;
int item_rate_mvp, item_rate_common, item_rate_common_boss, item_rate_card, item_rate_card_boss, // added support for MVP drops [Reddozen]
item_rate_equip, item_rate_equip_boss, item_rate_heal, item_rate_heal_boss, item_rate_use,
diff --git a/src/map/trade.c b/src/map/trade.c
index 93f8490d4..6c8675d2b 100644
--- a/src/map/trade.c
+++ b/src/map/trade.c
@@ -151,7 +151,7 @@ int impossible_trade_check(struct map_session_data *sd) {
// re-added! [celest]
// remove equiped items (they can not be trade)
for (i = 0; i < MAX_INVENTORY; i++)
- if (inventory[i].nameid > 0 && inventory[i].equip && !(inventory[i].equip & 0x8000))
+ if (inventory[i].nameid > 0 && inventory[i].equip && !(inventory[i].equip & EQP_AMMO))
memset(&inventory[i], 0, sizeof(struct item));
// check items in player inventory