主要修正如下
1.$syn_id改為$syn_idmax,並將公式修改
2.取得道具時的限制追加能力最大值限制(最大值為合成裝具總合除上$syn_div)
3.加入$syn_div
4.相同物品合成時能力不會累加
從程式的觀點來看我覺得應該還算合理吧...
底下就不再寫出詳細的修改流程囉~
- 代碼: 選擇全部
case "2":##########random synthetic##########
$syn_id=@implode(",",$_POST['syn']);
$syn_div=1+(pow(count($_POST['syn']),2) / 10);
$syn_idmax=floor(array_sum($_POST["syn"]) / $syn_div);
$syn_max=$DB_site->query_first("SELECT SUM(d_at)/$syn_div AS at,SUM(d_mat)/$syn_div AS mat,SUM(d_df)/$syn_div AS df,SUM(d_mdf)/$syn_div AS mdf,SUM(d_agl)/$syn_div AS agl,SUM(d_money)/$syn_div AS money FROM wog_df WHERE d_id in ($syn_id)");
$sql="SELECT d_id,d_name FROM wog_df WHERE d_id<=".$syn_idmax." AND d_at<=".$syn_max['at']." AND d_mat<=".$syn_max['mat']." AND d_df<=".$syn_max['df']." AND d_mdf<=".$syn_max['mdf']." AND d_agl<=".$syn_max['agl']." AND d_money<=".$syn_max['money']." AND d_dbst=0 ORDER BY RAND() LIMIT 1";
$new_arm=$DB_site->query_first($sql);
//alertwindowmsg($new_arm[0]);
break;
有興趣的話可以測試看看~