diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/login/login.c | 1 | ||||
-rw-r--r-- | src/map/battle.c | 2 | ||||
-rw-r--r-- | src/map/map.h | 1 | ||||
-rw-r--r-- | src/map/mercenary.c | 2 | ||||
-rw-r--r-- | src/map/status.c | 1 |
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; } |