ES2 MUD LIB :: 東方故事二(ES2) 天朝帝國 mudlib 瀏覽展示
/doc/mudlib/feature/damage
□ DAMAGE
int is_ghost()
判斷物件是否為鬼魂.
varargs int receive_damage(string type, int damage, object who)
讓物件某項狀況的數值減少. damage 不得為負數. 本函數會檢查傷害種類是
否合法後將物件的狀況數值減少, 若最後值低於零則設為 -1. 最後, 打開物
件的心跳 (heart_beat).
varargs int receive_wound(string type, int damage, object who)
同 receive_damage. 但傷害是加在狀態值上 (eff_xxx).
varargs int receive_heal(string type, int heal)
同 receive damage, 但作用相反, 本函數是將某個數值加入狀況的數值上.
varargs int receive_curing(string type, int heal)
同 receive_wound, 但作用相反, 本函數是將數值加入狀態值上, 相當於
醫療.
void unconcious()
把某個物件弄昏, 判別及執行步驟如下: 沒有生命的物件不能設, 如果物件
是因為受傷而昏的, 呼叫在 COMBAT_D 中的 winner_reward() 以處理勝利
者的獎賞.. etc. 刪除指定物件的敵人表, 送出相關訊息 (讓在場的大家都
知道) 將精氣神等狀態設為0, 關閉指定物件接受訊息的的權力, 最後設定
清醒的時間, 放到 call_out 上.
varargs void revive(int quiet)
把某人弄醒. 如果 call_out 還在, 刪掉他. 如果清醒的物件本來是在另一
個使用者的 inventory 中, 將之移到使用者的環境中. 呼叫 enable_player()
以設定玩家的指令和相關設定, 傳出對應的訊息並將訊息管道打開. 若傳入
值 quiet 為 1, 則清醒的訊息不會送出.
void die()
死了...
如果物件是昏迷不醒的狀況, 先把他弄醒. 獎勵殺人者 (hmm...) 並製造一
具屍體, 把 killer 表刪除, 如果死者是玩家, 則把他設為鬼魂並送到陰間
去, 否則直接摧毀該物件.
void reincarnate()
復活...
將物件的 ghost 標記去掉. 身體的各項狀態值設為上限.
int heal_up()
update all status (gin, kee, sen, fp, mp, ap.. etc)
Elon@ES2
drafted: 07-12-95