RPGMakerMV探秘17-YEP_X_BattleSysCTB
????????YEP_X_BattleSysCTB插件是YEP引擎插件的一個(gè)擴(kuò)展插件,除了CTB插件,還有類似功能的ATB、STB插件。
????????在YEP的戰(zhàn)斗引擎核心插件(YEP_BattleEngineCore)中,已經(jīng)內(nèi)置了不同戰(zhàn)斗系統(tǒng)的選項(xiàng)(dtb、atb、ctb、stb)。dtb是默認(rèn)戰(zhàn)斗系統(tǒng),其他三個(gè)都是YEP的戰(zhàn)斗系統(tǒng)。

????????默認(rèn)戰(zhàn)斗系統(tǒng)也就是系統(tǒng)自帶的戰(zhàn)斗模式,我方依次選擇出手方式(攻擊、技能、物品、防御等)及攻擊目標(biāo),系統(tǒng)根據(jù)敏捷計(jì)算出手順序,然后根據(jù)計(jì)算所得依次出手,回合結(jié)束。個(gè)人感覺(jué)這樣的戰(zhàn)斗系統(tǒng)略顯僵硬,所以加上YEP_X_BattleSysCTB插件試了一下。戰(zhàn)斗方式發(fā)生了改變,當(dāng)輪到角色出手時(shí),選擇出手方式及目標(biāo)后,角色將立即行動(dòng),而不像默認(rèn)系統(tǒng)需要一次性選擇完所有角色的出手方式和目標(biāo)。
????????從界面上來(lái)看,右上角多了一個(gè)行動(dòng)槽,能夠直觀的看出戰(zhàn)斗順序。當(dāng)然這個(gè)是否可見(jiàn)可以在插件參數(shù)中設(shè)置。

????????
????????如果你有在游戲過(guò)程中改變戰(zhàn)斗系統(tǒng)的需求,可以使用下面的插件命令:
????????setBattleSys?CTB //設(shè)置為CTB
????????setBattleSys?DTB //設(shè)置為DTB
????????
????????插件提供了豐富的注釋命令:
????????Actor and Enemy Notetags(玩家角色和敵人注釋命令)
????????????<CTB Icon: x> //設(shè)置角色或敵人在CTB排位槽中的頭像圖標(biāo)
????????????<CTB Border Color: x> //設(shè)置角色或敵人在CTB排位槽中邊框線條顏色
????????????<CTB Background Color: x> //設(shè)置角色或敵人在CTB排位槽的邊框背景顏色.
????????Actor only Notetags(玩家角色專用)
????????????<Class x CTB Icon: y> //給不同職業(yè)定義不同的頭像圖標(biāo),x為職業(yè)ID,y為頭像ID
????????Skill and Item Notetags(技能和道具注釋命令)
????????????<CTB Help>
????????????????text
????????????????text
????????????</CTB Help> //有時(shí)候你會(huì)在游戲中使用多個(gè)戰(zhàn)斗系統(tǒng),這個(gè)注釋可以為技能和道具添加一個(gè)屬于CTB系統(tǒng)的說(shuō)明信息,這個(gè)信息只在CTB系統(tǒng)啟用的時(shí)候顯示。
????????????<CTB Speed: x> //把目標(biāo)的當(dāng)前排位位置設(shè)置為x,類似于ATB的speed值。
????????????<CTB Speed: x%> //把目標(biāo)的當(dāng)前排位值設(shè)置x%,100%就是直接行動(dòng)
????????????<CTB Speed: +x>
????????????<CTB Speed: -x> //把目標(biāo)的當(dāng)前排位值增加或減少x +/- 起到快速行動(dòng)或延遲行動(dòng)的目的 ,±x也可以換成±x%,以百分比表示
????????????<CTB Order: +x>
????????????<CTB Order: -x> //使用這個(gè)命令按照x參數(shù)改變當(dāng)前目標(biāo)的綜合排序,+x會(huì)使目標(biāo)需要等待更長(zhǎng)的時(shí)間。這個(gè)命令的效果微小,并且只會(huì)持續(xù)到當(dāng)前回合的循環(huán)結(jié)束
????????Actor, Class, Enemy, Weapon, Armor, and State Notetags(角色,職業(yè),敵人,武器,護(hù)甲和狀態(tài)命令)
????????????<CTB Start: +x>
????????????<CTB Start: +x%> //在CTB模式中,定義角色開(kāi)始時(shí)的排序槽值,第一次行動(dòng)后從0開(kāi)始排位。
????????????<CTB Turn: +x>
????????????<CTB Turn: +x%> //每回合開(kāi)始時(shí)目標(biāo)的排序槽值,行動(dòng)后依然從x或x%處開(kāi)始排位。
????????如果有一些JS基礎(chǔ)的,可以用更加獨(dú)特的方式來(lái)控制CTB的speed。
????????Skill and Item Notetags(技能、物品備注)
????????<Target CTB Speed Eval>
? ?????????speed = target.hp / target.mhp * max;
? ?????????charge = target.hp / target.mhp * max;
????????</Target CTB Speed Eval> //speed受到當(dāng)前血量百分比影響
????????<Target CTB Order Eval>
? ?????????if (target.hp > 1000) {
? ? ?????????order = 3;
? ?????????} else {
? ? ?????????order = -1;
? ?????????}
????????</Target CTB Order Eval> //如果還有超過(guò)1000血量,至少要等三個(gè)回合才能出手,否則少于一個(gè)回合即可。
????????
????????接下來(lái)看下插件參數(shù):
????????Per?Tick:每次獲得的speed,默認(rèn)是敏捷度
????????Initial?Speed:初始speed
????????Full?Gauge:行動(dòng)槽總的speed,默認(rèn)公式Math.max(7000,?BattleManager.highestBaseAgi()?*?120)
????????Pre-Emptive?Bonuses、Surprise?Bonuses:先手率,提高sped,一個(gè)針對(duì)角色、一個(gè)針對(duì)敵人
????????Escape?Ratio:逃跑率,默認(rèn)公式:0.5?*?$gameParty.agility()?/?$gameTroop.agility()
????????Fail?Escape?Boost:逃跑失敗,偏移參數(shù),每次逃跑失敗遞增,使逃跑概率逐漸增大
????????Enable?Rubberband、Minimum?Speed、Maximum?Speed:自動(dòng)平衡器,如果開(kāi)啟,通過(guò)設(shè)置的最大、最小speed,控制speed的平衡。
????????---Turn Order---
????????關(guān)于進(jìn)度槽的一些設(shè)置,這里就不展開(kāi)了,可以自行修改設(shè)置,看戰(zhàn)斗場(chǎng)景的變化。
????????
????????國(guó)際慣例,舔一下代碼,發(fā)現(xiàn)舔不動(dòng)。。。粗看了下,戰(zhàn)斗管理器、戰(zhàn)斗場(chǎng)景、戰(zhàn)斗對(duì)象的敵我雙方基本都被改了,只有一聲嘆服。
????????