[摳頂] 指令 _toss.c

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間13年前 (2012/09/03 00:25), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
明天起理論上有空,在公司會挪一部份時間寫新的工具程式, 這個不會佔用太多時間,我還在規劃它的 code 型式。 大部份時間應該都會拿來 coding 聖殿的東西,這個指令我希 望最慢星期二能完成,屆時跟 giant-mood(始源巨人之心)以及 始源巨人一起開放。始源巨人目前暫定會放在秘境第200格,我 會做一個基本的限制:玩家「身上」需帶有石精戒及石神戒, 才能跟始源巨人學 giant-mood。不一定要裝備它們。 ====================================================== // toss, 石化人變身後專用指令 // belldandy@sanc 2011/06/01 // 設定集: // toss [目標] 或 toss [目標] to [方向] // 1.對一般怪物, 丟到半空的期間其閃格擋通通無效(特攻必中狀態) // 被丟到半空的怪無法攻擊, 用 tossing 參數判斷 // 2.對群體怪物會分裂成 2~數 隻. // toss 可以抓空飄的怪物 // toss 可以把任何騎在馬上的生物抓下來(與馬分離) // toss 可以抓到幻影中的實體 #define TOSS_TIMES 5 inherit DAEMON; int help() { write(@LONG toss(抓拋)指令說明: ====================================================== toss 目標 將戰鬥中的目標扔向高空 或將空飄中、騎馬中的目標抓摔在地上 toss 目標 to 方向 將[隊友]扔向 這個指令只有石化人(stoneman)可以使用。 使用前必須先變成巨大化狀態(heart giant-mood)。 ====================================================== Laechan@Sanc 2012/09/03 LONG ); return 1; } int cmd_toss(string str,object me) { object tar,env; string tarname,exits; int t; t=time(); if((string)me->query("race")!="stoneman" || (int)me->query_temp("giant_mood")<t) return notify_fail("toss: 只有巨大化的石化人才能使用這個指令喔.\n"); if(!str || str=="") { help(); return notify_fail(""); } // toss 需設定施展時間間隔 if(!env=environment(me)) return notify_fail("toss: 這個指令無法在虛無空間使用喔.\n"); if(me->query_temp("time_record/toss_times")>t) return notify_fail("toss: 你要等一下才可以再 toss 喔!!\n"); // 不接方向的情況 if(sscanf(str,"%s to %s",tarname,exits)==2) { if(!env->query("exits/"+exits) && !env->query("hide_exits/"+exits)) return notify_fail("toss: 這裡沒有往 "+exits+" 的方向喔.\n"); } else { str=tarname; exits=""; } if(tar=present(str,env)) { if(wizardp(tar) && !wizardp(me)) return notify_fail("toss: 這裡沒有 "+tarname+" 這個對象可以 toss 喔.\n"); if(!living(tar)) return notify_fail("toss: 你不能抓拋它喔.\n"); // 以後 toss 玩家的話就是把玩家抓到身上 or 拋往其它房間 if(userp(tar)) return notify_fail("toss: 你只能抓非玩家的生物喔.\n"); // 允許抓 boss // if(tar->query("BOSS")) // return notify_fail("toss: 你不能抓 BOSS 類的怪物喔.\n"); if(tar->query("tossing")>t) return notify_fail("toss: 你現在不能抓"+tar->query("short")+"喔.\n"); tar->set("tossing",t+TOSS_TIMES); me->set_temp("time_record/toss_times",t+TOSS_TIMES); // 拋往空中 if(exits=="") { show(me,tar,"\n"HIW"$N"HIW"一把抓住了"HIW"$O"HIW",隨手扔到了半空!\n"+ } return notify_fail("toss: 這裡沒有 "+tarname+" 這個對象可以 toss 喔.\n"); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 223.141.14.91

09/03 00:33, , 1F
除了 toss 指令, 應該還能再給 smash(smesh) 指令
09/03 00:33, 1F

09/03 00:33, , 2F
用來攻城打城門用的
09/03 00:33, 2F
※ 編輯: laechan 來自: 210.61.157.53 (09/03 16:51) ※ 編輯: laechan 來自: 210.61.157.53 (09/05 13:13)
文章代碼(AID): #1GGuX-Iw (mud_sanc)
文章代碼(AID): #1GGuX-Iw (mud_sanc)