精華區beta mud_sanc 關於我們 聯絡資訊
※ 引述《amosdeus (幽素)》之銘言: : int query_dam(object frog,object ppl,string type,string genre,int class) : { : int n,m,dam,table; : if (m - n > 2) return ({0,"但是毫無作用!!"}); 依之前的討論,傷害Lv1對上抗性Lv3時「無作用」? 若是如此應該是 if(m - n >= 2)。 因為對方的抗性等級可以在各個技能檔提早 query 出來,這就代表 以後不是任何一隻怪物都可以拿來練技能的。 我想這是必要的設定。 : n = frog->query(攻擊"kinds"); : m = ppl->query(抗性"屬性[type]","種類[genre]","級數[class]"); 攻擊等級 1 2 3 4 5 : table = ({ ({ 1, 130, 180, 250, 340 }), : 抗 ({ 50, 1, 150, 220, 310 }) , : 性 ({ 33, 66, 1, 170, 260 }}, : 等 ({ 25, 50, 75, 1, 190 }}, : 級 ({ 20, 40, 60, 80, 1 }}); }) }); ㄟ,你最後決定用二維陣列?...應該也是可以。 if(m>0 && n>0) dam = (dam / 100) * table[m-1][n-1]; else if(m<0) dam = dam * (n - m); 這裡必須限定攻擊等級不能有負的,只有抗性等級可以設負的。 (這樣才合理) 再來是種類的部份,magic/fire/Lv3 對上對 magic 類攻擊均有 k% 抵抗力的怪... dam = (dam /100) * k; 這樣應該就 ok 了,wiz 們可以參考看看,沒意外的話這個函數 應該會是 simul_efun。 Laechan -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.225.167.238
laechan:對了數值的設定部份,可以多加討論看看 10/31 17:19