[閒聊] 20130227修改事項
如果 0228 沒啥事的話,0228 也會拿來coding。
今天預定做災難之牆、重力術、快速施法、劇滅強擊之一,或
全部(我猜很難,但我盡量)。
一、全系統備份完畢
聖殿目前壓一壓約 89MB,今年或許有機會看到 100MB,
區域會增加很多。本次備份是因應法師修改。
二、觀測 spell 的 bug
執行時段錯誤: *Bad argument 1 to receive()
Expected: string or buffer Got: 0.
程式: std/user/body.c:102
物件: /std/user#26
生物名: dust
/std/user#3779 "heart_beat" std/user.c:572
/adm/obj/simul_efun "shout" adm/simul_efun/shout.c
(adm/obj/simul_efun.c):23
/std/user#26 "receive_message" std/user/body.c:102
這個 bug 發生段在底下..
if(temp_data["cmd_cast_data"][0])
{
if(catch(call_other(temp_data["cmd_cast_data"][1],"start_effect",
temp_data["cmd_cast_data"][0],me,
temp_data["cmd_cast_data"][2],
temp_data["cmd_cast_data"][3],
temp_data["cmd_cast_data"][4])))
shout(msg);
那因為我忘記在 catch 的前面加 msg=,所以產生 bug log,
但也因此確定了 bug 發生點是在這一個段落,也就是 spell
的部份,所以我改寫了這一部份,shout 底下訊息..
shout(query("name")+" 中 bug 啦!!\n"+msg+"\n"+
identify(temp_data["cmd_cast_data"])+"\n");
今天將觀察這一段。
三、重力術撰寫完成
/d/spell/gravity.c 大致上 cp confine.c 來改。
技能檔今天還會再微調(有部份要參考 god-damn 的寫法)
技能名要叫 gravity 或 gravity spell 也是今天決定。
輔助攻擊類法術、不用接目標、限用 cast,因此
/d/spell/spell.h 大致 cp god-damn 的參數。
查 mob_d.c 關於 god-damn 的程式段
mob_d.c:343: l=(int)me->query("god-damn_effect");
mob_d.c:390: ss=(int)me->query("special")-
(int)me->query("god-damn_effect")/10;
mob_d.c:444: l=me->query("god-damn_effect");
god-damn 主要影響怪物「某一輪的戰鬥」是否攻擊,所以
gravity 不影響這一部份(效果不重覆);god-damn 也影響
怪物特攻的發招機率,這部份 gravity 亦跳過;god-damn
亦影響了怪物普攻的擊痛值,所以這部份 gravity 亦跳過
在這情況下,gravity 應合理影響怪物的..
1.迴避能力 -> 需改 new_defance.c
2.被命中力 -> 需改 new_defance.c
3.擊空能力 -> 需改 new_defance.c
所以我改了底下的東西..
/adm/simul_efun/new_defance.c
rr=random(100);
if(hit<1 || (int)me->query("gravity_effect")>rr)
return ({0,",但是沒有造成任何傷害。"});
if(hit==9999)
return ({damage,""});
if((int)tar->query("gravity_effect")>rr)
{
if(!tar->query_temp("selfshield2") && !tar->query_temp("shield2"))
return ({damage,""});
}
上面的意思是,如果攻擊主體有受到重力術影響,它有機
率會「打空」; 如果被攻擊對象有受到重力術影響,它有
機率會被完全命中,但是該對象若有護盾就不判斷這個。
接著,攻擊主體為 me,被攻擊主體為 tar 時,技能判斷
有一部份是判斷「玩家打有技能的怪物」的情況,這部份
將受到 gravity 的影響,即怪物受影響技能不判斷。
所有的盾擋則不受重力術影響。
重力術的技能屬性則設為 mag+9。(skill_stat.c)
(假設技能名為 gravity spell)
/adm/daemons/pri_guild_skill.c 亦加入 gravity spell。
四、快速施法實裝完成
這個技能幾乎只需改 /cmds/std/_spell.c 即可。
大魔導士有學快速施法時,使用 spell 將改為先發招,
然後才做 1~2 秒的延遲,目前已知 auto spell 還是可
用。
再來的話,快速施法也影響連擊數,這個已實裝。這個也
是主要影響,而且是技能值影響(與魔力無關)。
五、極北部份怪物改為空飄
beholder.c [飄浮中]一群眼魔(Beholder) [321隻眼魔]
condal.c [飄浮中]極樂禿鷹(Condal)
evileye.c [飄浮中]一群邪惡之眼(Evil Eye) [166隻邪惡之眼]
griffon.c [飄浮中]翼獅(Griffon)
harpy.c [飄浮中]一群人面鳥(Harpy) [154隻人面鳥]
harpyhag.c [飄浮中]一群人面鳥魔(Harpy Hag) [389隻人面鳥魔]
sylph.c 風精靈-雪兒芙(sylph)
wingbee.c [飄浮中]巨蜂(Bee)
六、八卦部份怪物改為空飄
a4.c [飄浮中]一群乾之守衛(Guard) [52位守衛]
a7.c [飄浮中]一群巽之守衛(Guard) [50位守衛]
b4.c [飄浮中]一群乾之守衛(Guard) [77位守衛]
b7.c [飄浮中]一群巽之守衛(Guard) [76位守衛]
c4.c [飄浮中]一群乾之守衛(Guard) [36位守衛]
c7.c [飄浮中]一群巽之守衛(Guard) [76位守衛]
f.c 巽天王-羽風(Shuno-King Unfo)
h.c 乾天王-丁昊(Chen-King Jeuo)
七、修 spell bug
weapon 中 bug 啦!!
*Bad argument 1 to call_other()
Expected: string or array or object Got: 0.
({ 0, 房間(/d/spell/thunder), 19, 2000, 8, "spell thunder.19" })
首先要注意的當然是陣列裡的第一個參數為 0 的問題。
if(temp_data["cmd_cast_data"][0])
{
if(msg=catch(call_other(temp_data["cmd_cast_data"][1],"start_effect",
temp_data["cmd_cast_data"][0],me,
temp_data["cmd_cast_data"][2],
temp_data["cmd_cast_data"][3],
temp_data["cmd_cast_data"][4])))
我已暫時修改了上述寫法,目前只能持續再觀察。
八、修改怪物掉錢設定
根據 #1H4WEqF_ [閒聊] 2013年春節前修改事項 這一篇
即日起,打怪物不再掉錢。各區域怪物將陸續實裝掉寶設定
,以後打怪是掉東西,而不是掉錢。
enchant km 的部份,則調整為「若你有 enchant km,打怪
物會掉一些錢」。沒有 enchant km,就不會掉錢。
九、修改聖殿農場作物售價
原單價假設為 value,新單價為 1 + (value / 4)。
天空城商店街的 supply 單價價格則略接近上面的價格,有
高有低。
全農場價格已更新,本次更新不更動農場版本。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
→
02/27 17:26, , 1F
02/27 17:26, 1F
※ 編輯: laechan 來自: 1.165.182.181 (02/27 21:20)
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
13
30