[閒聊] 巨玄龜
最近有玩家在問這隻怪物,今天就來做一集實怪拆解。
聖殿怪物圖鑑 《巨玄龜》
檔案位置:/d/ppl/highelf/west/2/mob/huge.
怪物類別:非一群式怪物。
等級:200 性別:不明 種族:turtle
生命:189868000 精神:34176277 內力:34176277
力量:2159 敏捷:3239 體質:6479 魔力:6910
攻擊設定:自動攻擊
特殊設定:
巨玄龜的等級是 200,血量剩餘:154%。
巨玄龜的生命狀況強壯的不得了,你們的血量比大約是 100:1541 !
巨玄龜的戰力強度力驚人!
巨玄龜的道德是 -1000 ,如果你要賺道德的話,就海扁他一頓吧!
巨玄龜似乎對於自己的技能感到自豪!
物品掉落資訊:
玄紋符石 10.0%
哀唱草 10.0%
這隻怪有自訂 shield 函數也就是自體護盾設計,那雖然常用在
自體護盾,但實際上它其實可針對受到的攻擊去做各種的判斷,
所以功用不僅限於自體護盾。
另外它也有自訂 receive_damage 函數,這函數一般也跟 shield
搭配使用,在 sanc 某一段時期是熱門的常見設計。
int receive_damage(int damage)
{
this_object()->delete_temp("time_record");
set_temp("selfshield2",({1200000,1,this_object(),this_object()}));
::receive_damage(damage);
return 1;
}
這一段是說,它只要受到攻擊,就會自動恢復自體護盾判斷,這
主要是針對玩家部份會把怪物自體護盾移除的攻擊來做反抗,也
就是即便你發出攻擊把怪物的自體護盾移除了,它也會自己恢復
mixed shield(object mob,object me,int dam,string type)
{
string msg="ERROR";
turtle_armor 可當成巨玄龜那套龜甲的損害值
switch((int)query("turtle_armor"))
{
在損害值還在 999 以內的範圍時,如果受到攻擊,不會受傷
case 1..999:
add("turtle_armor",1);
msg="但是,"+me->query("chi_name")+"躲進了堅硬的龜殼裡, 毫髮無傷地接下了"
+NOR+mob->query("chi_name")+"的猛烈攻擊。";
return ({0,msg});
在損害值達到 1000 時,會出現以下訊息,提示玩家「接下來
對巨玄龜的攻擊,巨玄龜就有可能受到傷害」。
case 1000:
add("turtle_armor",1);
tell_room(environment(),"在"+mob->query("chi_name")+"猛烈攻擊下,"
+me->query("chi_name")+"的厚實的龜殼終於出現裂縫了.\n\n");
this_object()->full_3p(111);
若從以上的設計來看,打巨玄龜的策略,就是一開始盡量對巨玄
龜使用高連擊數的攻擊,讓損害值盡可能快地達到 1000 以上。
但是基於它 die 函數的設計,就不推薦這樣子打。
在損害值高於 1000 後
default:
如果偵測到單發(不管是en或特攻的單發)傷害高於 100 萬
(通常 en 單發大概幾十萬,而且 en 可設定使用級數)
if(dam > 1000000)
{
損害值會繼續加 1,但因為損害值超過 1000 後就沒其它
損害值的額外判斷了,所以只要讓損害值達 1001 即可
add("turtle_armor",1);
所以對巨玄龜使出混合的攻擊(高連擊數的en + 高傷害的特攻/法術)
,當看到 再一次地出現裂縫了 這樣的訊息。
tell_room(environment(),HIW"在"+mob->query("chi_name")+HIW"猛烈攻擊下,"
+me->query("chi_name")+HIW"的厚實的龜殼再一次地出現裂縫了.\n\n");
}
這裡會依據攻擊的屬性種類去對傷害做折算,巨玄龜極度抗
火、冰系攻擊,微抗光系及物理攻擊,超抗水系及風系攻擊
switch(type)
{
case "fire":
case "ice":dam=dam/45;break;
case "light":
case "dam":dam=dam/4;break;
case "water":
case "wind":dam=0;
msg="但是沒有效果。";break;
}
}
return ({dam,msg});
}
上面是關於自體護盾的部份,其中 turtle_armor 值的判斷就
只有以上,但是這個值在巨玄龜陣亡時會用到。
if((int)query("turtle_armor") > 1010)
write(HIW"\t哈!哈!哈!這巨龜的龜殼這麼耐......囧rz,居然被我打爆了!!\n\n"NOR);
else if(random(5)==1 && (int)ppl->query("stat/con")-(int)ppl->query("mod/stat-con")>1100)
{
ob_set_names(ob,ppl,all_inventory(room));
ob->move_to(ppl);
write(HIW"\t哈!哈!哈!這巨龜的龜殼這麼耐打、給我拿來當戰甲剛剛好啦!!\n\n"NOR);
}
可看到這裡的判斷很嚴苛,損害值只要達 1010 以上,打巨玄龜
就絕對拿不到 armor。
因此推薦策略是,打巨玄龜不要用高連擊的 en,完全放棄使用,
只使用低連擊但是高傷害的特攻/法術去打,就有機會在達成損害
值 1001 起,在 8 發攻擊以內殺掉牠。
或是抓觸發,看到 "厚實的龜殼再一次地出現裂縫了" 就馬上停
用一般特攻,改成單體大絕(比方大劍技)放下去。
但是巨玄龜的 hp 是 189868000,因此我認為達到這條件是困難
的,因此我把上面
if((int)query("turtle_armor") > 1010)
改成
if((int)query("turtle_armor") > 2026)
因為要嘛修改自體護盾那邊的判斷,要嘛修改 die 函數這邊的判
斷,擇一修改的話,改這邊是比較適當的。
另外 if(random(5)==1 改成 if(random(4)==1 提高一些掉落率。
以上在貼文時即生效。
Laechan
--
明末,鄉間多鬼怪,常夜伏於溪林之間,見孩童便捉,鄉民甚擾之。
某日,一道士造訪,授驅鬼之術,教村民製假蛋,殼白渾圓似真蛋,
先以筆沾墨摹畫童臉,蛋内塞入火藥,再將蛋纏線後懸於樑上,誘鬼
扯蛋而炸之,則鬼可除,鄉民重金酬謝。
是夜,鬼怪又來,見樑上所繫之蛋後,哈哈大笑而離去。隔日村民遍
巡道士不著,怒罵:你他媽鬼扯蛋啊!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.79.231.115 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/mud_sanc/M.1778124467.A.CF1.html
※ 編輯: laechan (42.79.231.115 臺灣), 05/07/2026 11:32:37
→
05/07 11:32,
1小時前
, 1F
05/07 11:32, 1F
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章