[閒聊] 20130107修改事項
今天接近中午的時間 11:00~14:00 之間沒空。
所以今天不 coding,而是做魔法陣的解析工作,解析過程會貼在下面。
解析完這禮拜至少會再實裝幾個級數,並建立魔法陣的 help 說明文件。
(因為新魔法陣是 belldandy 寫的,我要花點時間解析)
================================================================
魔法陣的兩個相關檔案
/d/spell/magic-cycle.c 施法呼叫主檔
/d/spell/magic-cycle_ob.c 實體魔法陣物件主檔
一些定義
#define MAX_LV 1 這個目前無作用
#define MAGIC_CYCLE_NAMES ({\
"=== 攻擊法術練習魔法陣 ===",\ Lv1
"",\
"",\
"",\ Lv2~Lv7 這禮拜會開幾個
"",\
"",\
"",\
"=== 組隊狀態專用魔法陣 ===",\ Lv8
})
#define can_use ({"justin","cancerj","angelo","angelic"})
#define CAST_SP 5 魔法陣施展時消耗 sp "基本" %數
這個 % 數要再加上施展 Lv 級數
目前 Lv2~Lv7 會轉回原先的魔法陣,而且目前只有上面四位可以先
行試用。
魔法陣施展時需消耗基本 5% 的 SP 量,另外要再加上與級數相同的
sp % 數。所得出的值若小於 CAST_SP x Lv x 500 的話也不行。
if(sp<((int)ppl->query("sp_src")*(CAST_SP+lv))/100 || sp<CAST_SP*lv*500)
同一級數的實體魔法陣不能並存於同一個房間。但是不同級的可以。
每一個魔法陣都有一個獨特的識別 ID,wiz 請參照魔法陣檔案。
張設前必須要做的事是 heart magic,這個我考慮改成要先 control
int,而且施展級數會依 int control 的技能值來做正向限制。
張設魔法陣的時間:大魔導士 1 秒,秘印賢者 2 秒,其它職業則依
張設級數的不同而有不同的張設時間,另外 magic heart 未達 5000
加 1 秒、runes 未達 5000 加 1 秒、魔力值未達 5000 加 1 秒、
沒有拿杖的話加 1 秒。
張設出一道魔法陣後,要再張設時,會有CD時間,基本的CD時間為30
秒,秒數會受到 runes 技能值、魔法陣技能值、魔力控制術技能值的
影響而縮減。進階職業張設的話時間再降低一半。
以 clone_magic_cycle 函數來做 switch(lv) 的控制,用以決定要呼
叫出的魔法陣物件資料為何。目前已寫好 case 1 及 case 8,因此理
論上其它級數只要比照即可。
魔法陣現階段決定的各級數效果如下
// 攻擊法術練習魔法陣 Lv.1
// 輔助法術增幅魔法陣 Lv.2
// 攻擊法術增幅魔法陣 Lv.3
// 縮短大絕再施放時間魔法陣 Lv.4
// 空間封閉魔法陣 Lv.5
// 暫定契約專用魔法陣 Lv.6
// 組隊限定魔法陣 Lv.8
// 二轉專用魔法陣 Lv.9
// 進階專用魔法陣 Lv.10
Lv2、Lv3 都要花不少時間改,Lv4 可以順便導入最近剛決定的過年
優惠(大絕再施放時間縮短),Lv5 還 ok,Lv6 目前還用不到。
所以理論上會先寫 Lv4 跟 Lv5。
魔法陣存在期間會持續消耗張設者的 SP,基本消耗值為 100。
魔法陣啟動咒語會開放玩家自設(使用 setdata or config),目前
有預設啟動咒語。
依照 magic-cycle_ob.c 的寫法,不同的級數還會有不同的函數需
要撰寫。
heart_beat 函數用來控制物件的存在與否。
解析完畢。我會趁這次修改時在魔法陣相關檔案裡頭做更詳細的備
註,並盡可能將它們一些函數的位置重新整理。
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.61.157.53
→
01/07 22:29, , 1F
01/07 22:29, 1F
推
01/08 08:39, , 2F
01/08 08:39, 2F
→
01/08 08:39, , 3F
01/08 08:39, 3F
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
29
45
13
23
405
837