瀏覽代碼

Fixed hom_idle_no_share exp check (#4557)

* Follow up to 921b3e2c3e9eae36cbf2ca35bcede6e0d73ba074
Daegaladh 5 年之前
父節點
當前提交
ed51647311
共有 1 個文件被更改,包括 6 次插入5 次删除
  1. 6 5
      src/map/mob.cpp

+ 6 - 5
src/map/mob.cpp

@@ -2611,6 +2611,9 @@ int mob_dead(struct mob_data *md, struct block_list *src, int type)
 				job_exp = (unsigned int)cap_value(exp, 1, UINT_MAX);
 			}
 
+			if ((base_exp > 0 || job_exp > 0) && md->dmglog[i].flag == MDLF_HOMUN && homkillonly && battle_config.hom_idle_no_share && pc_isidle_hom(tmpsd[i]))
+				base_exp = job_exp = 0;
+
 			if ( ( temp = tmpsd[i]->status.party_id)>0 ) {
 				int j;
 				for( j = 0; j < pnum && pt[j].id != temp; j++ ); //Locate party.
@@ -2654,8 +2657,7 @@ int mob_dead(struct mob_data *md, struct block_list *src, int type)
 								job_exp = (unsigned int)cap_value(apply_rate(job_exp, rate), 1, UINT_MAX);
 						}
 #endif
-						if (!(homkillonly && battle_config.hom_idle_no_share && pc_isidle_hom(tmpsd[i])))
-							pc_gainexp(tmpsd[i], &md->bl, base_exp, job_exp, 0);
+						pc_gainexp(tmpsd[i], &md->bl, base_exp, job_exp, 0);
 					}
 				}
 				if(zeny) // zeny from mobs [Valaris]
@@ -2666,9 +2668,8 @@ int mob_dead(struct mob_data *md, struct block_list *src, int type)
 				pc_damage_log_clear(tmpsd[i],md->bl.id);
 		}
 
-		if (!(homkillonly && battle_config.hom_idle_no_share && pc_isidle_hom(map_charid2sd(md->dmglog[0].id))))
-			for( i = 0; i < pnum; i++ ) //Party share.
-				party_exp_share(pt[i].p, &md->bl, pt[i].base_exp,pt[i].job_exp,pt[i].zeny);
+		for( i = 0; i < pnum; i++ ) //Party share.
+			party_exp_share(pt[i].p, &md->bl, pt[i].base_exp,pt[i].job_exp,pt[i].zeny);
 
 	} //End EXP giving.