作者laechan (小太保)
看板mud_sanc
标题Re: [讨论] 抗性 与 属性种类 归纳
时间Wed Oct 31 07:35:43 2007
※ 引述《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
1F:→ laechan:对了数值的设定部份,可以多加讨论看看 10/31 17:19