summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/login/login.c1
-rw-r--r--src/map/battle.c2
-rw-r--r--src/map/map.h1
-rw-r--r--src/map/mercenary.c2
-rw-r--r--src/map/status.c1
5 files changed, 6 insertions, 1 deletions
diff --git a/src/login/login.c b/src/login/login.c
index 95a55f5fe..639b61afb 100644
--- a/src/login/login.c
+++ b/src/login/login.c
@@ -204,6 +204,7 @@ static void* create_online_user(DBKey key, va_list args) {
p = aCalloc(1, sizeof(struct online_login_data));
p->account_id = key.i;
p->char_server = -1;
+ p->waiting_disconnect = -1;
return p;
}
static int waiting_disconnect_timer(int tid, unsigned int tick, int id, int data);
diff --git a/src/map/battle.c b/src/map/battle.c
index 596cdc55d..d3473872a 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -1817,7 +1817,7 @@ static struct Damage battle_calc_weapon_attack(
ATK_ADD(15*skill_lv);
if (!(nk&NK_NO_ELEFIX) ||
- (s_ele == ELE_NEUTRAL && (battle_config.attack_attr_none&src->type)))
+ (s_ele == ELE_NEUTRAL && !(battle_config.attack_attr_none&src->type)))
{ //Elemental attribute fix
if (wd.damage > 0)
{
diff --git a/src/map/map.h b/src/map/map.h
index 244bc18b3..2e433c619 100644
--- a/src/map/map.h
+++ b/src/map/map.h
@@ -1161,6 +1161,7 @@ enum _sp {
SP_HP_DRAIN_VALUE,SP_SP_DRAIN_VALUE, // 1079-1080
SP_WEAPON_ATK,SP_WEAPON_ATK_RATE, // 1081-1082
SP_DELAYRATE,SP_HP_DRAIN_RATE_RACE,SP_SP_DRAIN_RATE_RACE, // 1083-1085
+
SP_RESTART_FULL_RECOVER=2000,SP_NO_CASTCANCEL,SP_NO_SIZEFIX,SP_NO_MAGIC_DAMAGE,SP_NO_WEAPON_DAMAGE,SP_NO_GEMSTONE, // 2000-2005
SP_NO_CASTCANCEL2,SP_NO_MISC_DAMAGE,SP_UNBREAKABLE_WEAPON,SP_UNBREAKABLE_ARMOR, SP_UNBREAKABLE_HELM, // 2006-2010
SP_UNBREAKABLE_SHIELD, SP_LONG_ATK_RATE, // 2011-2012
diff --git a/src/map/mercenary.c b/src/map/mercenary.c
index 80e471ddc..c21a8721d 100644
--- a/src/map/mercenary.c
+++ b/src/map/mercenary.c
@@ -103,6 +103,8 @@ int merc_hom_vaporize(struct map_session_data *sd, int flag)
//Delete timers when vaporized.
merc_hom_hungry_timer_delete(hd);
hd->homunculus.vaporize = 1;
+ if(battle_config.hom_setting&0x40)
+ memset(hd->blockskill, 0, sizeof(hd->blockskill));
clif_hominfo(sd, sd->hd, 0);
merc_save(hd);
return unit_remove_map(&hd->bl, 0);
diff --git a/src/map/status.c b/src/map/status.c
index d1442e4bf..6aae8ba20 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -1436,6 +1436,7 @@ int status_calc_pet(struct pet_data *pd, int first)
if (first) {
memcpy(&pd->status, &pd->db->status, sizeof(struct status_data));
+ pd->status.mode|= MD_CANMOVE; //so they can chase their master!
pd->status.speed = pd->petDB->speed;
}