Re: [討論] 抗性 與 屬性種類 歸納

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間18年前 (2007/10/31 07:35), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串6/7 (看更多)
※ 引述《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

10/31 17:19, , 1F
對了數值的設定部份,可以多加討論看看
10/31 17:19, 1F
文章代碼(AID): #179x_HaO (mud_sanc)
文章代碼(AID): #179x_HaO (mud_sanc)