鬥魔滅碎陣(touma-mesajin)技能實裝 - 聖殿英雄傳說 MUD

Tristan Cohan avatar
By Tristan Cohan
at 2023-06-07T06:43

Table of Contents


/d/spell/spell.h 不備份更新
/d/spell/touma-mesajin.c 新增
/adm/daemons/mob_d.c 不備份更新


第一階段實裝 2023/06/07

目前部份場所無法施展鬥魔滅碎陣

1.怪物體內、農場、..等
2.副本內
3.房間無可攻擊的怪物時
4.該房間無法使用技能或無法 cast

目前部份情況無法施展鬥魔滅碎陣

1.你剛登入未滿 300 秒
2.你已經在同一個地方施展了
3.處於 CD 時間內
4.你處於無法使用技能或無法 cast 的狀態

目前 CD 時間的設定: 300秒

日後你的等級越高,CD 時間越短。

技能效果的部份

一、基本上,它是從怪物發動攻擊的源頭 continue_attack 函數
去做判斷的,因此它會阻擋怪物發動普攻及特攻。第二階段實
裝時,我會加上成功率的判斷,即個別怪物還是有低機率成功
發動普攻or特攻,它不看怪物等級,機率很低,低於 1/10。

(越多的攻擊中的怪被困住,看到怪物成功發動攻擊的機率越高)

二、滿足可施展鬥魔滅碎陣的條件時即可施展,此時被其影響的怪
物,只要沒有進入戰鬥狀態,所判斷到的施展者就不會扣 sp。

這裡所謂的「所判斷到的施展者」,比方同一房間,A 施展了
鬥魔滅碎陣,B 也施展了鬥魔滅碎陣,則只有其中一人會被判
斷為施展者。

A 施展後離開了房間,離開後沒再施展,又跑回該房間時,A
在該房間施展的鬥魔滅碎陣就會重新恢復效果,但是 A 跟 B
哪一個會被判斷為施展者,仍是看當下該房間的情況。

A 施展後離開了房間,離開後沒再施展,sp 理論上就會停扣,
原房間會偵測還有沒有施展者,有的話比方 B,那它就會判斷
B 為施展者。

三、鬥魔滅碎陣「目前」沒有判斷其它技能效果存在的情況,包括
其它人有沒有在這個房間已施展。不論多少魔王玩家在同一個
房間施展鬥魔滅碎陣,同一時間只會有一個玩家被判斷為施展
者,而且它不是亂數隨機選取的。

四、扣 sp 的多寡,取決於以下因素
a. 被困住的處於戰鬥狀態的怪物越多,扣越多
b. 被困住的處於戰鬥狀態的群式怪物隻數越多,扣越多
c. 如果你困住處於戰鬥狀態的(血牛)怪物,sp 也會扣很多

五、施展後,除非離開施展的房間,不然目前效果不會主動解除。
而就算你離開施展的房間,只要沒施展新的鬥魔滅碎陣,你再
回到原房間時,你施展過的鬥魔滅碎陣就會重新 work。

六、如果某個玩家被判斷為施展者,在困住戰鬥狀態怪物的過程中
sp 被扣減到 0 以下沒有即時回補時,該玩家施展的鬥魔滅碎
陣就會被解除,同時陷入 30 秒無法下指令的狀態。

目前扣減 sp 的過程不會看到敘述,第二階段實裝時我可能會
讓玩家能看到一部份的敘述。

七、目前所有可攻擊怪物,都會受到鬥魔滅碎陣的影響,100% 無法
攻擊。第二階段實裝時,某些怪物會天然免疫鬥魔滅碎陣。

八、目前施展鬥魔滅碎陣後,不會讓同房間所有可攻擊的怪物,從
非戰鬥狀態對施展者進入戰鬥狀態。

九、你只要在其它地方成功施展了鬥魔滅碎陣,原施展房間的由你
施展的鬥魔滅碎陣就會解除。但就算沒解除,只要你人不在原
房間,原房間由你施展的鬥魔滅碎陣本來就不會 work。

十、鬥魔滅碎陣不會受到房間 reborn 的影響。只要你在該房間施
展後都沒有離開該房間,鬥魔滅碎陣就會一直在,除非你看到
因 sp 不足而無法支撐鬥魔滅碎陣的訊息。

第二階段實裝則有可能加上新的解除機制,我還在研究怎麼寫
比較理想,即 loading 輕一些的寫法。


原則上這個技能不是拿來讓魔王玩家帶人用的,帶人請用 confine
spell 等其它更適合的技能及角色。

最後,未來目標是進化種族獨特技能至少兩個,比方魔族→魔王可
取得鬥魔滅碎陣以外,還可以取得一個攻擊技能,也就是:

1.攻擊技能
2.非攻擊技能

以人類→仙人來說,攻擊技能就是靈子崩壞,那日後就是希望能再
給仙人一個非攻擊技能。

但是以上若沒時間做,就當沒講過,目前優先實裝有釋出給玩家的
種族進化獨特技能。


Laechan

--
Tags: 線上

All Comments

大防禦術新增判斷區塊

Lydia avatar
By Lydia
at 2023-06-05T20:52
/std/user/attack.c 不備份更新 直接在減傷函數 receive_damage 多增加大防禦術的判斷。 觸發條件: 怪物的某項攻擊傷害 andgt; 你的剩餘hp值 然後你的大防禦術還有作用(還有次數)時 觸發效果: 大防禦術會幫擋掉這個必殺攻擊(因為傷害andgt; ...

泰山府君

Franklin avatar
By Franklin
at 2023-06-05T12:54
/d/ppl/ina/dinah/blood/mob/king.c else if(i==4) { if(random(4)==1andamp;andamp;query(and#34;hpand#34;)andlt;70000000) { tell_room(room,NAME+a ...

新增我的區域下的帶基數24以上物品

Edwina avatar
By Edwina
at 2023-06-05T12:02
主要目的是增加逛區域價值,然後我只動我的區域,或者我最近 有動或是新增的武防。 菲里德 /u/l/laechan/area/felid/eq/ necklace1.c:7: HIBand#34;魔王and#34;HIWand#34;的and#34;HIRand#34;項鍊and#34;HIWand# ...

貪婪之盾、八識瓊鈴

Kristin avatar
By Kristin
at 2023-06-04T23:27
貪婪之盾(Shield Of Greed) /d/ppl/ina/dinah/eq/shield 它能使用 wahe 指令。 if(query(and#34;timesand#34;)andgt;150) return notify_fail(and#34;我吃的好飽,一點東西都吃不下了!\n\ ...

20230604修改事項

Susan avatar
By Susan
at 2023-06-04T03:40
一、更動 ob routine 的判斷 原本它是去抓底下的字串做分隔判斷 Sun Jun 4 03:31:48 2023 但是因為 Jun 跟 4 隔了太多空格,導致它在判斷上出了 問題,已更正: int t=time(); mixed tmps= ...