[武防] 未鑑定防具鑑定流程
直接貼 code 囉~ 下午有空再 // 標註
看的懂 code 的就直接看吧,也可以回文標註挑戰自己看
code 的能力。
另外下面「百分之一」的部份實際上為 1/10,random(10)
就是做 10 取一,只是因為多個 1/10 串在一起,所以實
際上玩家很難得到設定非常完整的超完美物品。
// 每一件未鑑定物品都有初期屬性, 有正有負
// 而且假設完整屬性應該有五個, 實際先跑出來的通常只有四個
// 再交給 1. 那個去做完整化
keys_effect=keys((mapping)ob->query("effect"));
// keys_effect 就是該物品的初期屬性種類
// 1.百分之一的機率可以完整屬性種類
if(random(10)!=4)
{
while(1)
{
r=sizeof(keys_effect);
names=keys_effect[random(r)];
if(ob->query("effect/"+names)<0) continue;
ob->delete("effect/"+names);
keys_effect-=({names});
break;
}
}
else
shorts+="完整";
// 2.調整屬性值
foreach(names in keys_effect)
{
r=ob->query("effect/"+names);
if(r>0)
r=10+random(r-9)+random(10);
else
{
r=-r;
r=10+random(r-9)+random(10);
r=-r;
}
ob->set("effect/"+names,r);
}
// 3.百分之一的機率可以將扣屬性的拿掉
if(random(10)==2)
{
foreach(names in keys_effect)
{
if(ob->query("effect/"+names)<0)
{
keys_effect-=({names});
ob->delete("effect/"+names);
shorts+="無瑕";
break;
}
}
}
// 4.十分之一機率高防禦
if(random(10)==4)
{
r=(int)ob->query("armor");
r=r*(15+random(6))/10;
ob->set("armor",r);
shorts+="堅固";
}
// 5.十分之一機率高屬性
if(random(10)==2)
{
r=sizeof(keys_effect);
while(1)
{
names=keys_effect[random(r)];
if(ob->query("effect/"+names)>0)
{
ob->set("effect/"+names,70+random(30));
shorts="高"+to_chinese(replace_string(names,"stat-",""))+shorts;
break;
}
}
}
// 6.十分之一機率再高屬性
if(random(10)==2)
{
r=sizeof(keys_effect);
while(1)
{
names=keys_effect[random(r)];
if(ob->query("effect/"+names)>0)
{
if(ob->query("effect/"+names)<70)
ob->set("effect/"+names,70+random(30));
else
ob->set("effect/"+names,99); // 最高
shorts="高"+to_chinese(replace_string(names,"stat-",""))+shorts;
break;
}
}
}
// 雙高的情況
if(strlen(shorts)>11)
{
// EX: 高力量高力量 => 最高力量
// 高體質高魔力 => 高體魔
if(shorts[0..1]=="高" && shorts[6..7]=="高")
{
names=shorts[0..11];
shorts=substr(shorts,names,"");
if(names[2..5]==names[8..11])
shorts="最高"+names[2..5]+shorts;
else
shorts="高"+names[2..3]+names[8..9]+shorts;
}
}
if(shorts!="")
{
shorts=shorts+"的 "+ob->query("short");
ob->set("short",shorts);
}
write("\""HIW"噹─!"NOR"\"物品鑑定完成。\n");
--
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 編輯: laechan 來自: 210.61.157.53 (03/19 13:41)
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
13
30