作者laechan (小太保)
看板mud_sanc
标题[技能] 魔法武器(enchant)
时间Wed Aug 8 10:30:57 2012
感冒好的差不多了,今天状况跟时间应该也还ok,中间要
开会一下。
魔法武器目前有专属指令 enchant,这个东西就像我之前
说的它会有独立延迟计算,另外它的效果也会类似刻纹,
然後技能值没意外的话会达到至少 1000,最高 3000,我
的想法是,给予「5种、6种或10种基本效果」,然後再依
技能值高低做等级区别,效果本身是不储存的,而且初期
只附在武器上这样。
在这情况下可以做的效果,参考D3跟RO的话..
一、hr: 攻击中3p值回复
(写在 normal_attack 所以不支援特攻)
二、kr: 杀死怪物後3p值回复
(秒回就不参考了因为那是某个预定给某个技能的效果)
三、武器格挡能力提升
四、节省 sp/pp 消耗
五、at: 每一回合攻击额外增加 1~n 击普攻/en
六、fi: 攻击中增加熟练度
七、fp: 攻击中增加经验值及学点
八、ad: 增加攻击伤害力
九、ah: 增加命中能力
十、am: 杀死怪物时额外得到金钱
(可以想看看还有啥效果可以使用)
指令格式则倾向..
enchant 名称.级数 谁
名称会采用简称模式,在 enchant 指令说明里面解说,例
如假设击回叫做 rexxxx on hit,那简称可能就叫 rh,使
用第五级的击回刻纹就用 enchant rh.5 xxx 这样。
时间的控制部份基本上有两种..
一、使用 temp_mod
即 enchant 的效果实际上不是附在武器上,在玩家做
remove 动作时该效果会清除。
二、写在武器上
比方存这些效果的参数叫 enchant,考量读取的方便性
就会多弄一个 enchant_times 的参数,先读取该参数判
断「时效未过期」,再读取 enchant。
理论上会采 2,但我不确定有没有减少负担的做法,而原则
上不会采 1,因为目前效果的消除部份似乎有 bug。
另外,因为判别问题,会以「第一武器」优先判断,这是因
为读取时不可能同时去读 second (负担会太大),但未来或
许有可能做到。总之先以第一武器为优先,武器被 remove
时 enchant 即消失。
最後就剩下叠加问题,叠加有三种主要做法..
一、依职业别
因为魔法武器是副法就可使用的技能,所以副法至少可
叠加 1~2 层,主法就加一,进阶就再加一,然後大魔
导士再加一这样。
二、依技能值差异为主、职业别为辅
因为副法基本可到 1000,假设未来进阶技能值最高可
以到 3000,那 3000 跟 1000 其实就有基本区别。
三、依武器级数
这也是一种做法,允许越高级的武器可以叠加越多这样
就正常来说,假设大魔导士跟秘印贤者最多可以帮玩家的第
一武器叠加「三层效果」(不能重覆),那主法跟链金最多就
两种,副法最多就一种。然後特殊情况下副法可帮玩家的第
一武器叠加「两层效果」时,类推之下大魔导士最多就可叠
加到四层。
要实现这样的设计,最简易的做法就是之前提到的「并效」
,也就是说当满足特殊条件时(比方同时学有魔法武器+灵
力武器、或魔法武器+神圣力量=可叠加第11种额外效果)
那在实作上,要改 /std/ob/ob_d.c 的 remove_it 函数,
改法很简单,加两行即可..
me->delete("enchant");
me->delete("enchant_times");
这两行已经加上。
enchant 指令今天会做修改,以後它就不是加属性,而是加
上面那些效果(依你选用的参数及级数),效果的大小将依据
你的技能值来决定,或是技能值为「主参考值」,然後额外
参考其它值这样。目前亦倾向连灵力武器也可支援,然後就
顺便跟灵力武器做并效,比方「攻击中随机施展 xxx hands
」的第 11 个效果就可做为并效後可额外增加的效果。
这样设的好处是它容易再跟其它技能做并效,玩家可以发挥
一下想像力来让这个 mage Lv24 的技能可以更完善。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.61.157.53
1F:→ laechan :对了新的指令一定会等 shutdown 後才开放,这是为了更 08/08 10:32
2F:→ laechan :新所有继承 ob_d.c 的物件 08/08 10:32
※ 编辑: laechan 来自: 210.61.157.53 (08/09 09:05)
※ 编辑: laechan 来自: 210.61.157.53 (08/09 09:06)
※ 编辑: laechan 来自: 210.61.157.53 (08/09 09:08)