Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- # [ Options 選項 ]
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- Options:
- Tag: &6技能 &c&l>>
- #[ 鬥靈迴砍 ]
- 鬥靈迴砍.CD: 4
- 鬥靈迴砍.MP: 60
- 鬥靈迴砍.Max: 5
- #[ 鬥破山河 ]
- 鬥破山河.CD: 7
- 鬥破山河.MP: 85
- 鬥破山河.Max: 5
- #[ 鬥神傳說 ]
- 鬥神傳說.CD: 7
- 鬥神傳說.MP: 95
- 鬥神傳說.Max: 5
- #[ 鬥環之劍 ]
- 鬥環之劍.CD: 5
- 鬥環之劍.MP: 60
- 鬥環之劍.Max: 5
- #[ 鬥魂纏身 ]
- 鬥魂纏身.Max: 10
- #[ 鬥氣爆發 ]
- 鬥氣爆發.CD: 60
- 鬥氣爆發.受益時間: 50
- 鬥氣爆發.MP: 0
- 鬥氣爆發.Max: 10
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- # [ Function 函式 ]
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- Function 劍鬥士skill(P:player):
- set slot 4 of {_P}'s current inventory to 1 of glowing gold sword with no nbt named "&e劍鬥士" with lore "&f《&e剩餘技能點&f: &6%{玩家資料.%{_P}%::剩餘技能點}% &f》"
- set slot 19 of {_P}'s current inventory to 3 of golden sword with no nbt named "&c鬥靈迴砍" with lore "&e技能介紹:||&f將鬥靈激發||&f對前方範圍敵人造成隨機3~6次物理傷害||&f每命中一下恢復4點魔力||&f最多恢復60點魔力||&c使用劍進行普通攻擊將重置該技能冷卻||&e單下傷害量: &f(物理攻擊力)*%(150+30*{技能.%{_P}%::鬥靈迴砍})%%%||&e有效範圍: &f5格||&e冷卻時間: &f4秒||&e魔力消耗量: &b60MP||||&c使用技能後獲得1層鬥氣||||&e技能類型: &c主動技能"
- if {技能.%{_P}%::鬥靈迴砍} >= 5:
- set slot 28 of {_P}'s current inventory to blue stained glass pane named "&6技能等級&7: &f%{技能.%{_P}%::鬥靈迴砍}%/5" with lore "&c等級已滿 無法升級"
- else if {技能.%{_P}%::鬥靈迴砍} >= 0:
- set slot 28 of {_P}'s current inventory to white stained glass pane named "&6技能等級&7: &f%{技能.%{_P}%::鬥靈迴砍}%/5" with lore "&a點此升級鬥靈迴砍"
- set slot 20 of {_P}'s current inventory to glowing gold sword with no nbt named "&c鬥破山河" with lore "&e技能介紹:||&f揮舞手中的劍擊向地面||&f造成強大的震盪波衝擊周圍敵人||&f並給予敵人持續傷害與緩速效果5秒||&e傷害量: &f(物理攻擊力)*( %(700+100*{技能.%{_P}%::鬥破山河})% + (鬥氣值)*%(35+10*{技能.%{_P}%::鬥破山河})% )%%||&e持續傷害量: &f(物理攻擊力)*%(100+10*{技能.%{_P}%::鬥破山河})%%%||&e有效範圍: &f8格||&e冷卻時間: &f7秒||&e魔力消耗量: &b85MP||&c消耗所有鬥氣||&e技能類型: &c主動技能"
- if {技能.%{_P}%::鬥破山河} >= 5:
- set slot 29 of {_P}'s current inventory to blue stained glass pane named "&6技能等級&7: &f%{技能.%{_P}%::鬥破山河}%/5" with lore "&c等級已滿 無法升級"
- else if {技能.%{_P}%::鬥破山河} >= 0:
- set slot 29 of {_P}'s current inventory to white stained glass pane named "&6技能等級&7: &f%{技能.%{_P}%::鬥破山河}%/5" with lore "&a點此升級鬥破山河"
- set slot 21 of {_P}'s current inventory to glowing gold chestplate with no nbt named "&c鬥神傳說" with lore "&e技能介紹:||&f激發強大的鬥志||&f在周圍數個敵人間來回移動並精準的攻擊||&f最多可攻擊10次||&f每命中一次恢復自身4%%HP||&e單次傷害量: &f(物理攻擊力)*( %(450+100*{技能.%{_P}%::鬥神傳說})% + (鬥氣值)*%(25+10*{技能.%{_P}%::鬥神傳說})% )%%||&e有效範圍: &f8格||&e冷卻時間: &f7秒||&e魔力消耗量: &b95MP||&c消耗所有鬥氣||&e技能類型: &c主動技能"
- if {技能.%{_P}%::鬥神傳說} >= 5:
- set slot 30 of {_P}'s current inventory to blue stained glass pane named "&6技能等級&7: &f%{技能.%{_P}%::鬥神傳說}%/5" with lore "&c等級已滿 無法升級"
- else if {技能.%{_P}%::鬥神傳說} >= 0:
- set slot 30 of {_P}'s current inventory to white stained glass pane named "&6技能等級&7: &f%{技能.%{_P}%::鬥神傳說}%/5" with lore "&a點此升級鬥神傳說"
- set slot 23 of {_P}'s current inventory to glowing iron sword with no nbt named "&c鬥環之劍" with lore "&e技能介紹:||&f將鬥氣注入武器內向前劈砍||&f對前方單體敵人造成物理傷害||&f並恢復自身10%%HP||&e傷害量: &f(物理攻擊力)*( %(900+120*{技能.%{_P}%::鬥環之劍})% + (鬥氣值)*%(50+10*{技能.%{_P}%::鬥環之劍})% )%%||&e有效範圍: &f7格||&e冷卻時間: &f5秒||&e魔力消耗量: &b60MP||&c消耗所有鬥氣||&e技能類型: &c主動技能"
- if {技能.%{_P}%::鬥環之劍} >= 5:
- set slot 32 of {_P}'s current inventory to blue stained glass pane named "&6技能等級&7: &f%{技能.%{_P}%::鬥環之劍}%/5" with lore "&c等級已滿 無法升級"
- else if {技能.%{_P}%::鬥環之劍} >= 0:
- set slot 32 of {_P}'s current inventory to white stained glass pane named "&6技能等級&7: &f%{技能.%{_P}%::鬥環之劍}%/5" with lore "&a點此升級鬥環之劍"
- set slot 24 of {_P}'s current inventory to glowing blaze powder named "&a鬥魂纏身" with lore "&e技能介紹:||&f鍛鍊自身讓鬥者的氣息更為強大||&f每級提升150點最大HP,15點最大MP,20點物理攻擊力,90點血量恢復量||&e最大HP提升量: &f%150*{技能.%{_P}%::鬥魂纏身}%||&e最大MP提升量: &f%12*{技能.%{_P}%::鬥魂纏身}%||&e物理攻擊力提升量: &f%20*{技能.%{_P}%::鬥魂纏身}%||&e血量恢復量提升量: &f%90*{技能.%{_P}%::鬥魂纏身}%||||&a>> &e附加額外技能 &7- &4鬥者意志||&e 技能介紹:||&f &a鬥魂纏身&f滿級時||&f 生命力越低時造成的傷害越高||&f 生命於&c10%%&f時 達最高&c3倍&f傷害||||&e技能類型: &a被動技能"
- if {技能.%{_P}%::鬥魂纏身} >= 10:
- set slot 33 of {_P}'s current inventory to blue stained glass pane named "&6技能等級&7: &f%{技能.%{_P}%::鬥魂纏身}%/10" with lore "&c等級已滿 無法升級"
- else if {技能.%{_P}%::鬥魂纏身} >= 0:
- set slot 33 of {_P}'s current inventory to white stained glass pane named "&6技能等級&7: &f%{技能.%{_P}%::鬥魂纏身}%/10" with lore "&a點此升級鬥魂纏身"
- set slot 25 of {_P}'s current inventory to nether star named "&4鬥氣爆發" with lore "&e技能介紹:||&f將體內&c『鬥氣』&f瞬間爆發||&f時間內攻擊與防禦能力大幅提升||&f時間內每級提升50點物理攻擊力與10點防禦力||&f使用後自身防禦力與物理攻擊力總合加入武器傷害中||&f使用條件: &c鬥氣量必須為10||&e物理攻擊力提升量: &f%50*{技能.%{_P}%::鬥氣爆發}%||&e防禦力提升量: &f%10*{技能.%{_P}%::鬥氣爆發}%||&e持續時間: &f30秒||&e冷卻時間: &f60秒||&e魔力消耗量: &b0MP||&c消耗所有鬥氣||&e技能類型: &c主動技能"
- if {技能.%{_P}%::鬥氣爆發} >= 10:
- set slot 34 of {_P}'s current inventory to blue stained glass pane named "&6技能等級&7: &f%{技能.%{_P}%::鬥氣爆發}%/10" with lore "&c等級已滿 無法升級"
- else if {技能.%{_P}%::鬥氣爆發} >= 0:
- set slot 34 of {_P}'s current inventory to white stained glass pane named "&6技能等級&7: &f%{技能.%{_P}%::鬥氣爆發}%/10" with lore "&a點此升級鬥氣爆發"
- Function SkillLevelUp(P:player, S:text, M:number):
- if {玩家資料.%{_P}%::剩餘技能點} is larger than 0:
- {技能.%{_P}%::%{_S}%} < {_M}
- {技能.%{_P}%::%{_S}%} >= 0
- remove 1 from {玩家資料.%{_P}%::剩餘技能點}
- add 1 to {技能.%{_P}%::%{_S}%}
- else:
- send "&6技能 >> &c您的技能點數不足 無法升級該技能" to {_P}
- Function Skill(P:player, S:text, Max:number, CD:number, MP:number) :: boolean:
- set {_Skill} to uncolored {_S}
- if {技能.%{_P}%::%{_Skill}%} <= 0:
- send "{@Tag} &c尚未學習 &f<%{_S}%&f>" to {_P}
- return false
- stop
- if {技能.%{_P}%::%{_Skill}%} > {_Max}:
- send "{@Tag} &c&l注意! 你的技能等級出現錯誤! 請盡速尋求管理員協助!" to {_P}
- return false
- stop
- set {_冷卻} to "%difference between {冷卻.%{_P}%::%{_Skill}%} and now%"
- replace "seconds" and "second" and " " with "" in {_冷卻}
- set {_冷卻} to {_冷卻} parsed as number
- set {_CD} to {_CD} parsed as number
- if {_冷卻} is less than {_CD}:
- set {_冷卻} to "%difference between {_CD} and {_冷卻}%"
- replace "seconds" and "second" and " " with "" in {_冷卻}
- send "{@Tag} &f技能冷卻中 &f<%{_S}%&f> &f還有 &e%{_冷卻}% &f秒" to {_P}
- return false
- stop
- if {玩家魔力值.%{_P}%} is larger or equal to {_MP}:
- remove {_MP} from {玩家魔力值.%{_P}%}
- set {_math} to 0.99 * {玩家魔力值.%{_P}%} / {玩家資料.%{_P}%::魔力值}
- if {_math} is more than or equal to 1:
- set {_math} to 0.99
- set level progress of {_P} to {_math}
- set {_P}'s level to {玩家魔力值.%{_P}%}
- send "{@Tag} &f施放技能 &f<%{_S}%&f> &f消耗了 &9%{_MP}% &f魔力值" to {_P}
- else:
- send "{@Tag} &c魔力不足 無法施放 &f<%{_S}%&f>" to {_P}
- return false
- stop
- return true
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- # [ Fix 重置修復 ]
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- on join:
- wait 1 second
- if {玩家資料.%player%::玩家職業} is "劍鬥士":
- if {技能.%player%::鬥志} is set:
- remove {技能.%player%::鬥志}*100 from {玩家資料.%player%::最大血量}
- remove {技能.%player%::鬥志}*12 from {玩家資料.%player%::魔力值}
- remove {技能.%player%::劍士自尊}*80 from {玩家資料.%player%::血量恢復量}
- remove {技能.%player%::劍士自尊}*2 from {玩家資料.%player%::魔量恢復量}
- add {技能.%player%::虎咆哮} to {玩家資料.%player%::剩餘技能點}
- add {技能.%player%::鬥氣擊} to {玩家資料.%player%::剩餘技能點}
- add {技能.%player%::鬥志} to {玩家資料.%player%::剩餘技能點}
- add {技能.%player%::劍士自尊} to {玩家資料.%player%::剩餘技能點}
- delete {技能.%player%::虎咆哮}
- delete {技能.%player%::鬥氣擊}
- delete {技能.%player%::鬥志}
- delete {技能.%player%::劍士自尊}
- set {技能.%player%::鬥破山河} to 0
- set {技能.%player%::鬥神傳說} to 0
- set {技能.%player%::鬥環之劍} to 0
- set {技能.%player%::鬥魂纏身} to 0
- delete yaml value "技能.虎咆哮" from file "plugins/players/%player%.yml"
- delete yaml value "技能.鬥氣擊" from file "plugins/players/%player%.yml"
- delete yaml value "技能.鬥志" from file "plugins/players/%player%.yml"
- delete yaml value "技能.劍士自尊" from file "plugins/players/%player%.yml"
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- # [ 鬥氣機制 ]
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- on join:
- if {玩家資料.%player%::玩家職業} is "劍鬥士":
- set {鬥氣.%player%} to 0
- while {鬥氣.%player%} is set:
- set {_鬥氣1} to {鬥氣.%player%}
- set {_鬥氣2} to 20-{鬥氣.%player%}
- add "&c鬥氣值:&f[" to {_鬥氣::*}
- loop {_鬥氣1} times:
- add "&c▇" to {_鬥氣::*}
- loop {_鬥氣2} times:
- add "&7▇" to {_鬥氣::*}
- add "&f]" to {_鬥氣::*}
- set {_鬥氣} to "%{_鬥氣::*}%"
- replace all " " , "," and "and" with "" in {_鬥氣}
- show action bar from "%{_鬥氣}%" to player
- clear {_鬥氣::*}
- clear {_鬥氣}
- wait 10 second
- on quit:
- if {玩家資料.%player%::玩家職業} is "劍鬥士":
- delete {鬥氣.%player%}
- command /test:
- trigger:
- player is op
- set {鬥氣.%player%} to 20
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- # [ SkillGui 技能介面 ]
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- command /skill3A3:
- trigger:
- if {玩家資料.%player%::玩家職業} is "劍鬥士":
- set {技能.%player%::鬥靈迴砍} to {技能.%player%::鬥靈迴砍} parsed as number
- set {技能.%player%::鬥破山河} to {技能.%player%::鬥破山河} parsed as number
- set {技能.%player%::鬥神傳說} to {技能.%player%::鬥神傳說} parsed as number
- set {技能.%player%::鬥環之劍} to {技能.%player%::鬥環之劍} parsed as number
- set {技能.%player%::鬥魂纏身} to {技能.%player%::鬥魂纏身} parsed as number
- set {技能.%player%::鬥氣爆發} to {技能.%player%::鬥氣爆發} parsed as number
- open chest with 5 rows named "&c&l劍鬥士[3轉] &6&l技能介面" to player
- wait 1 ticks
- loop 2 times:
- set slot (loop-number) of player's current inventory to 1 of gray stained glass pane named "&7"
- set slot (loop-number + 5) of player's current inventory to 1 of gray stained glass pane named "&7"
- set slot (1 + (loop-number * 2)) of player's current inventory to 1 of orange stained glass pane named "&7"
- loop 6 times:
- set slot ((loop-number - 1) * 9) of player's current inventory to 1 of gray stained glass pane named "&7"
- set slot (8 + (loop-number - 1) * 9) of player's current inventory to 1 of gray stained glass pane named "&7"
- loop 7 times:
- set slot (9 + loop-number) of player's current inventory to 1 of orange stained glass pane named "&7"
- set slot (36 + loop-number) of player's current inventory to 1 of gray stained glass pane named "&7"
- 劍鬥士skill(player)
- on inventory click:
- name of player's current inventory contains "劍鬥士[3轉]":
- cancel event
- if lore of item contains "&a點此升級鬥靈迴砍":
- SkillLevelUp(player,"鬥靈迴砍",{@鬥靈迴砍.Max})
- if lore of item contains "&a點此升級鬥破山河":
- SkillLevelUp(player,"鬥破山河",{@鬥破山河.Max})
- if lore of item contains "&a點此升級鬥神傳說":
- SkillLevelUp(player,"鬥神傳說",{@鬥神傳說.Max})
- if lore of item contains "&a點此升級鬥環之劍":
- SkillLevelUp(player,"鬥環之劍",{@鬥環之劍.Max})
- if lore of item contains "&a點此升級鬥魂纏身":
- if {玩家資料.%player%::剩餘技能點} is larger than 0:
- SkillLevelUp(player,"鬥魂纏身",{@鬥魂纏身.Max})
- add 150 to {玩家資料.%player%::最大血量}
- add 15 to {玩家資料.%player%::魔力值}
- add 20 to {玩家資料.%player%::物理攻擊力}
- add 90 to {玩家資料.%player%::血量恢復量}
- if lore of item contains "&a點此升級鬥氣爆發":
- SkillLevelUp(player,"鬥氣爆發",{@鬥氣爆發.Max})
- 劍鬥士skill(player)
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- # [ Skill 技能 ]
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- on right click:
- {玩家資料.%player%::玩家職業} is "劍鬥士"
- set {_STRATK} to {玩家資料.%player%::力量} * 0.5
- set {_DEXATK} to {玩家資料.%player%::敏捷} * 0.7
- set {_INTATK} to {玩家資料.%player%::智慧} * 0.6
- set {_LUKATK} to {玩家資料.%player%::幸運} * 0.4
- set {_PHYSICDMG} to {玩家資料.%player%::物理攻擊力}
- set {_MAGICDMG} to {玩家資料.%player%::物理攻擊力}
- if {幾轉職業::%{玩家資料.%player%::玩家職業}%} is 0:
- add ({_STRATK} + {_DEXATK} + {_LUKATK}) to {_PHYSICDMG}
- add ({_INTATK} + {_LUKATK}) to {_MAGICDMG}
- if {幾轉職業::%{玩家資料.%player%::玩家職業}%} is 1:
- add ({_STRATK} + {_DEXATK} + {_LUKATK})*1.2 to {_PHYSICDMG}
- add ({_INTATK} + {_LUKATK})*1.2 to {_MAGICDMG}
- if {幾轉職業::%{玩家資料.%player%::玩家職業}%} is 2:
- add ({_STRATK} + {_DEXATK} + {_LUKATK})*1.4 to {_PHYSICDMG}
- add ({_INTATK} + {_LUKATK})*1.4 to {_MAGICDMG}
- if {幾轉職業::%{玩家資料.%player%::玩家職業}%} is 3:
- add ({_STRATK} + {_DEXATK} + {_LUKATK})*1.8 to {_PHYSICDMG}
- add ({_INTATK} + {_LUKATK})*1.8 to {_MAGICDMG}
- set {_check} to {玩家資料.%player%::最大血量}
- if {幾轉職業::%{玩家資料.%player%::玩家職業}%} is 0:
- add ({玩家資料.%player%::力量} * 5) to {_check}
- add ({玩家資料.%player%::智慧} * 4) to {_check}
- add ({玩家資料.%player%::敏捷} * 3) to {_check}
- add ({玩家資料.%player%::幸運} * 2) to {_check}
- if {幾轉職業::%{玩家資料.%player%::玩家職業}%} is 1:
- add ({玩家資料.%player%::力量} * 5)*1.25 to {_check}
- add ({玩家資料.%player%::智慧} * 4)*1.25 to {_check}
- add ({玩家資料.%player%::敏捷} * 3)*1.25 to {_check}
- add ({玩家資料.%player%::幸運} * 2)*1.25 to {_check}
- if {幾轉職業::%{玩家資料.%player%::玩家職業}%} is 2:
- add ({玩家資料.%player%::力量} * 5)*1.5 to {_check}
- add ({玩家資料.%player%::智慧} * 4)*1.5 to {_check}
- add ({玩家資料.%player%::敏捷} * 3)*1.5 to {_check}
- add ({玩家資料.%player%::幸運} * 2)*1.5 to {_check}
- if {幾轉職業::%{玩家資料.%player%::玩家職業}%} is 3:
- add ({玩家資料.%player%::力量} * 5)*2 to {_check}
- add ({玩家資料.%player%::智慧} * 4)*2 to {_check}
- add ({玩家資料.%player%::敏捷} * 3)*2 to {_check}
- add ({玩家資料.%player%::幸運} * 2)*2 to {_check}
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- #[ 鬥靈迴砍 ]
- if uncolored name of player's tool contains "鬥靈迴砍":
- if Skill(player, "&c鬥靈迴砍", {@鬥靈迴砍.Max}, {@鬥靈迴砍.CD}, {@鬥靈迴砍.MP}) is true:
- set {冷卻.%player%::鬥靈迴砍} to now
- add 1 to {鬥氣.%player%}
- if {玩家資料.%player%::玩家等級} >= 110:
- add 1 to {鬥氣.%player%}
- if {鬥氣.%player%} >= 20:
- set {鬥氣.%player%} to 20
- set {_鬥氣1} to {鬥氣.%player%}
- set {_鬥氣2} to 20-{鬥氣.%player%}
- add "&c鬥氣值:&f[" to {_鬥氣::*}
- loop {_鬥氣1} times:
- add "&c▇" to {_鬥氣::*}
- loop {_鬥氣2} times:
- add "&7▇" to {_鬥氣::*}
- add "&f]" to {_鬥氣::*}
- set {_鬥氣} to "%{_鬥氣::*}%"
- replace all " " , "," and "and" with "" in {_鬥氣}
- show action bar from "%{_鬥氣}%" to player
- set {_鬥者意志傷害倍率} to 1
- if {技能.%player%::鬥魂纏身} is 10:
- set {_損失生命} to (player's max health - player's health)*10
- set {_鬥者意志傷害倍率} to (1/45*{_損失生命})+1
- set {_攻擊範圍} to block 3 infront player
- set {_攻擊範圍} to location of {_攻擊範圍}
- if {玩家資料.%player%::玩家等級} >= 100:
- set {_120鬥靈追打} to 6
- else:
- set {_120鬥靈追打} to random integer between 3 and 6
- if {玩家資料.%player%::玩家等級} >= 105:
- set {_120鬥靈傷害} to 1.5
- else:
- set {_120鬥靈傷害} to 1
- loop {_120鬥靈追打} times:
- play "ENTITY_PLAYER_ATTACK_CRIT" to player with volume 1 and pitch 1
- loop entities in radius 5 of {_攻擊範圍}:
- if loop-entity isn't a player or a dropped item:
- make player damage loop-entity by ({_PHYSICDMG})*(1.5+0.3*{技能.%player%::鬥靈迴砍})*{_120鬥靈傷害}*{_鬥者意志傷害倍率}
- drawDot count 6, particle "blockdust", material redstone block, XYZ 0.5, 1, 0.5, center loop-entity, visibleRange 32, pulseDelay 2, keepFor 0.1 seconds
- drawDot count 2, particle sweep, XYZ 0.5, 1, 0.5, center loop-entity, visibleRange 32, pulseDelay 2, keepFor 0.1 seconds
- drawDot count 10, particle crit, XYZ 0.5, 1, 0.5, center loop-entity, visibleRange 32, pulseDelay 2, keepFor 0.1 seconds
- drawDot count 5, particle witchspell, XYZ 0.5, 1, 0.5, center player, visibleRange 32, pulseDelay 2, keepFor 0.2 seconds
- add 1 to {_命中}
- wait 1.5 tick
- set {_恢復量} to round({_命中}*4)
- if {_恢復量} > 60:
- set {_恢復量} to 60
- if ({_恢復量} + {玩家魔力值.%player%}) is more than {玩家資料.%player%::魔力值}:
- set {玩家魔力值.%player%} to {玩家資料.%player%::魔力值}
- else:
- add {_恢復量} to {玩家魔力值.%player%}
- set {_math} to 0.99 * {玩家魔力值.%player%} / {玩家資料.%player%::魔力值}
- if {_math} is more than or equal to 1:
- set {_math} to 0.99
- set level progress of the player to {_math}
- set player's level to {玩家魔力值.%player%}
- send "{@Tag} &f施放技能 &f<&c鬥靈迴砍&f> &f恢復了 &6%{_恢復量}% &f魔力"
- stop
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- #[ 鬥破山河 ]
- if uncolored name of player's tool contains "鬥破山河":
- if Skill(player, "&c鬥破山河", {@鬥破山河.Max}, {@鬥破山河.CD}, {@鬥破山河.MP}) is true:
- set {冷卻.%player%::鬥破山河} to now
- set {_鬥者意志傷害倍率} to 1
- if {技能.%player%::鬥魂纏身} is 10:
- set {_損失生命} to (player's max health - player's health)*10
- set {_鬥者意志傷害倍率} to (1/45*{_損失生命})+1
- set {_鬥氣} to {鬥氣.%player%}
- set {鬥氣.%player%} to 0
- show action bar from "&c鬥氣值:&f[&7▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇&f]" to player
- if {玩家資料.%player%::玩家等級} is more than or equal to 110:
- remove 2 seconds from {冷卻.%player%::鬥破山河}
- play "ENTITY_PLAYER_ATTACK_WEAK" to player with volume 1000 and pitch 2
- wait 0.5 second
- drawWarpRings style 6, particle "blockdust", material dirt, center player, id "鬥破山河%player%", rainbowMode false, scan true, height 4, radius 8, ringCount 5, ringDensity 32, visibleRange 32, pulseDelay 1
- drawDot count 30, particle "blockdust", material dirt, XYZ 4, 2, 4, center player, visibleRange 32, pulseDelay 2, keepFor 1 seconds
- drawDot count 30, particle "blockdust", material stone, XYZ 4, 2, 4, center player, visibleRange 32, pulseDelay 2, keepFor 1 seconds
- play "BLOCK_GRASS_PLACE" to player with volume 1000 and pitch 0
- play "ENTITY_GENERIC_EXPLODE" to player with volume 1000 and pitch 0
- loop entities in radius 8 of player:
- if loop-entity isn't a player or a dropped item:
- make player damage loop-entity by ( {_PHYSICDMG}*(7+1*{技能.%player%::鬥破山河}) + {_PHYSICDMG}*{_鬥氣}*(0.35+0.1*{技能.%player%::鬥破山河}) )*{_鬥者意志傷害倍率}
- set loop-entity's target to player
- add loop-entity to {_list::*}
- apply slowness of tier 1 to loop-entity for 5 second
- wait 0.5 second
- stopeffect id "鬥破山河%player%"
- wait 0.5 second
- loop 6 times:
- loop {_list::*}:
- if loop-value-2's health > 0:
- make player damage loop-value-2 by ({_MAGICDMG})*(1+0.1*{技能.%player%::鬥破山河})
- drawDot count 10, particle "blockdust", material stone, XYZ 0.3, 1, 0.3, center loop-value-2, visibleRange 32, pulseDelay 2, keepFor 1 seconds
- wait 1 second
- stop
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- #[ 鬥神傳說 ]
- if uncolored name of player's tool contains "鬥神傳說":
- if Skill(player, "&c鬥神傳說", {@鬥神傳說.Max}, {@鬥神傳說.CD}, {@鬥神傳說.MP}) is true:
- set {冷卻.%player%::鬥神傳說} to now
- set {鬥神傳說::%player%} to 1
- set {_鬥者意志傷害倍率} to 1
- if {技能.%player%::鬥魂纏身} is 10:
- set {_損失生命} to (player's max health - player's health)*10
- set {_鬥者意志傷害倍率} to (1/45*{_損失生命})+1
- set {_鬥氣} to {鬥氣.%player%}
- set {鬥氣.%player%} to 0
- show action bar from "&c鬥氣值:&f[&7▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇&f]" to player
- set {_原地} to location of player
- set {_目標} to player
- loop 10 times:
- loop entities in radius 8 around block at location of {_原地}:
- if loop-entity isn't a player or a dropped item:
- if loop-entity is not {_目標}:
- set {_目標} to loop-entity
- teleport player to loop-entity
- make player damage loop-entity by ( {_PHYSICDMG}*(4.5+1*{技能.%player%::鬥神傳說}) + {_PHYSICDMG}*{_鬥氣}*(0.25+0.1*{技能.%player%::鬥神傳說}) )*{_鬥者意志傷害倍率}
- play "BLOCK_ANVIL_LAND" to player with volume 1000 and pitch 2
- drawDot count 20, particle "crit", XYZ 0, 1, 0, center player, rainbowMode false, visibleRange 32, pulseDelay 2, keepFor 0.2 seconds
- drawDot count 20, particle "flame", XYZ 0, 1, 0, center player, rainbowMode false, visibleRange 32, pulseDelay 2, keepFor 0.2 seconds
- set {_命中} to 1
- heal player by ({_check}*0.04) / (player's max health + {_check}) * player's max health
- exit loop
- if {_命中} is 1:
- delete {_命中}
- exit loop
- wait 1 tick
- teleport player to {_原地}
- delete {鬥神傳說::%player%}
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- #[ 鬥環之劍 ]
- if uncolored name of player's tool contains "鬥環之劍":
- if Skill(player, "&c鬥環之劍", {@鬥環之劍.Max}, {@鬥環之劍.CD}, {@鬥環之劍.MP}) is true:
- set {冷卻.%player%::鬥環之劍} to now
- if {玩家資料.%player%::玩家等級} is more than or equal to 100:
- set {_120鬥氣傷害} to 2
- else:
- set {_120鬥氣傷害} to 1
- if {玩家資料.%player%::玩家等級} is more than or equal to 115:
- set {_120鬥氣HP} to 2
- else:
- set {_120鬥氣HP} to 1
- set {_鬥者意志傷害倍率} to 1
- if {技能.%player%::鬥魂纏身} is 10:
- set {_損失生命} to (player's max health - player's health)*10
- set {_鬥者意志傷害倍率} to (1/45*{_損失生命})+1
- set {_鬥氣} to {鬥氣.%player%}
- set {鬥氣.%player%} to 0
- show action bar from "&c鬥氣值:&f[&7▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇&f]" to player
- play "ENTITY_IRONGOLEM_DEATH" to player with volume 1 and pitch 2
- set {_location.1} to block above player
- set {_location.2} to block 8 in front player
- set {_x.1} to x-coordinate of {_location.1}
- set {_x.2} to x-coordinate of {_location.2}
- set {_y.1} to y-coordinate of {_location.1}
- set {_y.2} to y-coordinate of {_location.2}
- set {_z.1} to z-coordinate of {_location.1}
- set {_z.2} to z-coordinate of {_location.2}
- set {_x.difference} to ({_x.2} - {_x.1}) / 10
- set {_y.difference} to ({_y.2} - {_y.1}) / 10
- set {_z.difference} to ({_z.2} - {_z.1}) / 10
- loop 10 times:
- set {_location.1} to location of {_location.1}
- increase x-coordinate of {_location.1} by {_x.difference}
- increase y-coordinate of {_location.1} by {_y.difference}
- increase z-coordinate of {_location.1} by {_z.difference}
- drawDot count 10, particle endrod, XYZ 0.1, 0.3, 0.1, center {_location.1}, visibleRange 32, pulseDelay 2, keepFor 0.3 seconds
- drawDot count 10, particle crit, XYZ 0.1, 0.3, 0.1, center {_location.1}, visibleRange 32, pulseDelay 2, keepFor 0.3 seconds
- loop entities in radius 1.1 around block at location of {_location.1}:
- if loop-entity isn't a player or a dropped item:
- if {_one} isn't set:
- set {_one} to 1
- drawDot count 10, particle endrod, XYZ 0.1, 2, -0.1, center loop-entity, visibleRange 32, pulseDelay 2, keepFor 0.3 seconds
- drawDot count 10, particle crit, XYZ -1, 2, 1, center loop-entity, visibleRange 32, pulseDelay 2, keepFor 0.5 seconds
- drawDot count 10, particle sweep, XYZ -0.5, 1, 0.5, center loop-entity, visibleRange 32, pulseDelay 2, keepFor 0.5 seconds
- make player damage loop-entity by ( {_PHYSICDMG}*(9+1.2*{技能.%player%::鬥破山河}) + {_PHYSICDMG}*{_鬥氣}*(0.5+0.1*{技能.%player%::鬥破山河}) )*{_120鬥氣傷害}*{_鬥者意志傷害倍率}
- heal player by ({_check}*0.10*{_120鬥氣HP}) / (player's max health + {_check}) * player's max health
- send "{@Tag} &f施放技能 &f<&c鬥環之劍&f> &f恢復了 &6%0.15*{_check}*{_120鬥氣HP}% &f生命"
- stop loop
- stop
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- #[ 鬥氣爆發 ]
- if uncolored name of player's tool contains "鬥氣爆發":
- if {鬥氣.%player%} < 20:
- send "{@Tag} &c技能 &f<&c鬥氣爆發&f> &c發動失敗 鬥氣值不足"
- stop
- if Skill(player, "&5鬥氣爆發", {@鬥氣爆發.Max}, {@鬥氣爆發.CD}, {@鬥氣爆發.MP}) is true:
- set {冷卻.%player%::鬥氣爆發} to now
- set {鬥氣.%player%} to 0
- show action bar from "&c鬥氣值:&f[&7▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇&f]" to player
- drawWings style 8, particle1 "crit", speed 0, XYZ 0, 0, 0, particle2 "lava", particle3 "flame", center player, id "鬥氣爆發%player%", rainbowMode false, flapSpeed 1, flapRange 4, angle 120, height 0, space 0.1, visibleRange 30, tps 0, second 2
- play "ENTITY_ENDERDRAGON_AMBIENT" to player with volume 1 and pitch 2
- if {BUFF.鬥氣爆發time::%player%} isn't set:
- set {BUFF.鬥氣爆發time::%player%} to now
- set {BUFF.鬥氣爆發物攻::%player%} to {技能.%player%::鬥氣爆發}*50
- set {BUFF.鬥氣爆發防禦::%player%} to {技能.%player%::鬥氣爆發}*10
- add {BUFF.鬥氣爆發物攻::%player%} to {玩家資料.%player%::物理攻擊力}
- add {BUFF.鬥氣爆發防禦::%player%} to {玩家資料.%player%::防禦力}
- execute player command "鬥氣爆發效果持續檢測時間"
- wait 2 seconds
- stopeffect id "鬥氣爆發%player%"
- stop
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- # [ Buff 增益效果 ]
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- #[ 鬥氣爆發 ]
- on command:
- command is "鬥氣爆發效果持續檢測時間"
- cancel event
- if {BUFF.鬥氣爆發物攻::%player%} isn't set:
- stop
- set {_executename} to "%player%"
- set {_冷卻} to difference between {BUFF.鬥氣爆發time::%{_executename}%} and now
- while {_冷卻} is less than {@鬥氣爆發.受益時間} second:
- set {_冷卻} to difference between {BUFF.鬥氣爆發time::%{_executename}%} and now
- wait 5.1 seconds
- if player is online:
- remove {BUFF.鬥氣爆發物攻::%{_executename}%} from {玩家資料.%{_executename}%::物理攻擊力}
- remove {BUFF.鬥氣爆發防禦::%{_executename}%} from {玩家資料.%{_executename}%::防禦力}
- send "{@Tag} &c<&5鬥氣爆發&c> &c持續時間已到" to player
- delete {BUFF.鬥氣爆發物攻::%{_executename}%}
- delete {BUFF.鬥氣爆發防禦::%{_executename}%}
- delete {BUFF.鬥氣爆發time::%{_executename}%}
- on join:
- if {BUFF.鬥氣爆發物攻::%player%} is set:
- remove {BUFF.鬥氣爆發物攻::%player%} from {玩家資料.%player%::物理攻擊力}
- remove {BUFF.鬥氣爆發防禦::%player%} from {玩家資料.%player%::防禦力}
- send "{@Tag} &c<&5鬥氣爆發&c> &c因離線而效果消失" to player
- delete {BUFF.鬥氣爆發物攻::%player%}
- delete {BUFF.鬥氣爆發防禦::%player%}
- delete {BUFF.鬥氣爆發time::%player%}
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- # [ ClearVariable 清除變數 ]
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- on any movement:
- {冷卻.%player%::鬥靈迴砍} is set:
- set {_冷卻} to difference between {冷卻.%player%::鬥靈迴砍} and now
- if {_冷卻} >= {@鬥靈迴砍.CD} second:
- delete {冷卻.%player%::鬥靈迴砍}
- {冷卻.%player%::鬥破山河} is set:
- set {_冷卻} to difference between {冷卻.%player%::鬥破山河} and now
- if {_冷卻} >= {@鬥破山河.CD} second:
- delete {冷卻.%player%::鬥破山河}
- {冷卻.%player%::鬥神傳說} is set:
- set {_冷卻} to difference between {冷卻.%player%::鬥神傳說} and now
- if {_冷卻} >= {@鬥神傳說.CD} second:
- delete {冷卻.%player%::鬥神傳說}
- {冷卻.%player%::鬥環之劍} is set:
- set {_冷卻} to difference between {冷卻.%player%::鬥環之劍} and now
- if {_冷卻} >= {@鬥環之劍.CD} second:
- delete {冷卻.%player%::鬥環之劍}
- {冷卻.%player%::鬥氣爆發} is set:
- set {_冷卻} to difference between {冷卻.%player%::鬥氣爆發} and now
- if {_冷卻} >= {@鬥氣爆發.CD} second:
- delete {冷卻.%player%::鬥氣爆發}
Advertisement
Add Comment
Please, Sign In to add comment