Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- # [ Options 選項 ]
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- Options:
- Tag: &6技能 &c&l>>
- #[ 暴風神射 ]
- 暴風神射.CD: 18
- 暴風神射.MP: 150
- 暴風神射.Max: 5
- #[ 碎冰風箭 ]
- 碎冰風箭.CD: 8
- 碎冰風箭.MP: 100
- 碎冰風箭.Max: 5
- #[ 火鳳衝擊 ]
- 火鳳衝擊.CD: 3
- 火鳳衝擊.MP: 45
- 火鳳衝擊.Max: 10
- #[ 不死鳥 ]
- 不死鳥.CD: 15
- 不死鳥.MP: 0
- 不死鳥.Max: 5
- #[ 元素歸始 ]
- 元素歸始.Max: 10
- #[ 會心之眼 ]
- 會心之眼.CD: 90
- 會心之眼.受益時間: 60
- 會心之眼.MP: 180
- 會心之眼.Max: 5
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- # [ Function 函式 ]
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- Function 箭神skill(P:player):
- set slot 4 of {_P}'s current inventory to 1 of glowing bow with no nbt named "&e箭神" with lore "&f《&e剩餘技能點&f: &6%{玩家資料.%{_P}%::剩餘技能點}% &f》"
- set slot 19 of {_P}'s current inventory to 25 of tipped arrow with custom nbt "{Potion:leaping,HideFlags:32}" named "&c暴風神射" with lore "&e技能介紹:||&f將風發揮至極限||&f啟動技能1秒後,時間內每秒射出額外箭矢||&f持續/冷卻時間內射擊時物理攻擊力增加75%%||&c造成傷害條件: &f射擊時手持正確的武器,傷害量為武器普攻傷害||&e持續時間: &f%({技能.%{_P}%::暴風神射}*2)%秒||&e冷卻時間: &f18秒||&e魔力消耗量: &f150MP||&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 tipped arrow with custom nbt "{Potion:swiftness,HideFlags:32}" named "&c碎冰風箭" with lore "&e技能介紹:||&f將箭賦予冰屬性向前射擊||&f對路徑上的敵人持續造成物理傷害||&e最大傷害次數: &f10次||&e傷害量: &f(物理攻擊力)*%(300+30*{技能.%{_P}%::碎冰風箭})%%%||&e攻擊距離: &f20格||&e攻擊範圍: &f4格||&e冷卻時間: &f8秒||&e魔力消耗量: &b100MP||&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 tipped arrow with custom nbt "{Potion:strong_healing,HideFlags:32}" named "&c火鳳衝擊" with lore "&e技能介紹:||&f將箭賦予不死鳥的精神||&f對前方範圍敵人造成物理傷害||&f命中敵人時,恢復自身3%%HP||&a>> 附加額外技能 - 鳳凰追擊||&e 技能介紹:||&f 使用弓射擊敵人時,有機率召喚&c『鳳凰』||&f 鳳凰會幫助箭超高速飛行,同時造成雙倍傷害||&e傷害量: &f(物理攻擊力)*%(400+50*{技能.%{_P}%::火鳳衝擊})%%%||&e攻擊距離: &f25格||&e攻擊範圍: &f4格||&e冷卻時間: &f3秒||&e魔力消耗量: &b45MP||&e技能類型: &c主動技能"
- if {技能.%{_P}%::火鳳衝擊} >= 10:
- set slot 30 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 30 of {_P}'s current inventory to white stained glass pane named "&6技能等級&7: &f%{技能.%{_P}%::火鳳衝擊}%/10" with lore "&a點此升級火鳳衝擊"
- set slot 23 of {_P}'s current inventory to glowing blaze powder named "&5不死鳥" with lore "&e技能介紹:||&f將鳳凰的力量與自己結合||&f當HP低於50%%時,以比例恢復HP||&f否則以比例恢復MP||&eHP恢復量: &f(最大血量)*%(20*{技能.%{_P}%::不死鳥})%%%||&eMP恢復量: &f(最大魔量)*%(15*{技能.%{_P}%::不死鳥})%%%||&e冷卻時間: &f20秒||&e魔力消耗量: &b0MP||&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 magma cream named "&a元素歸始" with lore "&e技能介紹:||&f將原有元素歸始,創造出只屬於自己的結合元素||&f每級提升150點最大HP,10點最大MP,25點物理攻擊力||&e最大HP提升量: &f%150*{技能.%{_P}%::元素歸始}%||&e最大MP提升量: &f%10*{技能.%{_P}%::元素歸始}%||&e物理攻擊力提升量: &f%25*{技能.%{_P}%::元素歸始}%||&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 eye of ender named "&5會心之眼" with lore "&e技能介紹:||&f提高範圍內友方的弱點洞察力||&f每級提升4%%爆擊率和6%%爆擊傷害||&e爆擊率提升量: &f%4*{技能.%{_P}%::會心之眼}%%%||&e爆擊傷害提升量: &f%6*{技能.%{_P}%::會心之眼}%%%||&e持續時間: &f60秒||&e冷卻時間: &f90秒||&e魔力消耗量: &b180MP||&e技能類型: &a主動技能"
- if {技能.%{_P}%::會心之眼} >= 5:
- set slot 34 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 34 of {_P}'s current inventory to white stained glass pane named "&6技能等級&7: &f%{技能.%{_P}%::會心之眼}%/5" 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
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- # [ SkillGui 技能介面 ]
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- command /skill3B:
- 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點此升級暴風神射":
- if {玩家資料.%player%::剩餘技能點} is larger than 0:
- SkillLevelUp(player,"暴風神射",{@暴風神射.Max})
- if lore of item contains "&a點此升級碎冰風箭":
- if {玩家資料.%player%::剩餘技能點} is larger than 0:
- SkillLevelUp(player,"碎冰風箭",{@碎冰風箭.Max})
- if lore of item contains "&a點此升級火鳳衝擊":
- if {玩家資料.%player%::剩餘技能點} is larger than 0:
- SkillLevelUp(player,"火鳳衝擊",{@火鳳衝擊.Max})
- if lore of item contains "&a點此升級不死鳥":
- if {玩家資料.%player%::剩餘技能點} is larger than 0:
- SkillLevelUp(player,"不死鳥",{@不死鳥.Max})
- if lore of item contains "&a點此升級元素歸始":
- if {玩家資料.%player%::剩餘技能點} is larger than 0:
- SkillLevelUp(player,"元素歸始",{@元素歸始.Max})
- add 150 to {玩家資料.%player%::最大血量}
- add 10 to {玩家資料.%player%::魔力值}
- add 25 to {玩家資料.%player%::物理攻擊力}
- if lore of item contains "&a點此升級會心之眼":
- if {玩家資料.%player%::剩餘技能點} is larger than 0:
- 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
- play "ENTITY_GENERIC_EXTINGUISH_FIRE" to player with volume 1 and pitch 0
- play "ENTITY_WITHER_SHOOT" to player with volume 1 and pitch 0
- drawComplexSpiral particle "cloud", center player, id "暴風神射%player%", rainbowMode true, clockwise true, scan true, radius 1, density 30, height 15, effectMod 0.2, start 0, visibleRange 30
- drawWarpRings style 1, particle "fireworkspark", center player, id "暴風神射2%player%", rainbowMode false, scan true, height 0, radius 1, ringCount 1, ringDensity 8, visibleRange 32, pulseDelay 1
- wait 1 second
- if {玩家資料.%player%::玩家等級} is more than or equal to 110:
- set {_120暴風} to 16
- else:
- set {_120暴風} to 10
- set {_射擊波數} to {技能.%player%::暴風神射}
- set {_射擊波數} to {_射擊波數} parsed as number
- loop {_射擊波數} times:
- loop {_120暴風} times:
- if uncolored lore of player's tool contain "武器類型: [ 弓 ]":
- shoot an arrow from the player with velocity 3
- play "ENTITY_ARROW_SHOOT" to player with volume 2 and pitch 3
- wait 0.2 second
- wait 5 ticks
- stopeffect id "暴風神射%player%"
- stopeffect id "暴風神射2%player%"
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- #[ 碎冰風箭 ]
- if uncolored name of player's tool contains "碎冰風箭":
- if Skill(player, "&c碎冰風箭", {@碎冰風箭.Max}, {@碎冰風箭.CD}, {@碎冰風箭.MP}) is true:
- set {冷卻.%player%::碎冰風箭} to now
- play "ENTITY_ARROW_SHOOT" to player with volume 1 and pitch 1
- play "BLOCK_GLASS_BREAK" to player with volume 1 and pitch 0
- if {玩家資料.%player%::玩家等級} is more than or equal to 115:
- set {_120碎冰} to 1.5
- else:
- set {_120碎冰} to 1
- set {_location.1} to block above player
- set {_location.2} to block 20 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}
- drawDot count 8, particle "blockdust", material packed ice, XYZ -0.5, 0.5, 0.5, center {_location.1}, visibleRange 32, pulseDelay 2, keepFor 0.1 seconds
- drawDot count 8, particle "waterdrip", XYZ -0.3, 0.3, 0.3, center {_location.1}, visibleRange 32, pulseDelay 2, keepFor 0.1 seconds
- drawDot count 8, particle "critmagic", XYZ -0.3, 0.3, 0.3, center {_location.1}, visibleRange 32, pulseDelay 2, keepFor 0.1 seconds
- drawDot count 25, particle "cloud", XYZ -4, 4, -4, center {_location.1}, visibleRange 32, pulseDelay 2, keepFor 0.1 seconds
- 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}
- loop entities in radius 4 around block at location of {_location.1}:
- if loop-entity isn't a player or a dropped item:
- make player damage loop-entity by {_PHYSICDMG}*(3+0.3*{技能.%player%::碎冰風箭})*{_120碎冰}
- drawDot count 8, particle "blockdust", material stained glass, XYZ -0.5, 1, 0.5, center loop-entity, visibleRange 32, pulseDelay 2, keepFor 0.1 seconds
- play "BLOCK_GLASS_BREAK" to player with volume 1 and pitch 2
- wait 6 ticks
- stop
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- #[ 火鳳衝擊 ]
- 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:
- remove 1.5 seconds from {冷卻.%player%::火鳳衝擊}
- play "ENTITY_ARROW_SHOOT" to player with volume 1 and pitch 1
- play "ENTITY_BLAZE_SHOOT" to player with volume 1 and pitch 1
- set {_location.1} to block above player
- set {_location.2} to block 25 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}) / 4
- set {_y.difference} to ({_y.2} - {_y.1}) / 4
- set {_z.difference} to ({_z.2} - {_z.1}) / 4
- loop 4 times:
- stopeffect id "火鳳衝擊%player%"
- set {_location.1} to location of {_location.1}
- drawWings style 4, particle1 "flame", speed 0, XYZ 4, 0, 0, particle2 "lavadrip", particle3 "lava", center {_location.1}, id "火鳳衝擊%player%", rainbowMode false, flapSpeed 10, flapRange 6, angle 180, height 0, space 0.5, visibleRange 30, tps 0, second 2
- drawDot count 8, particle "smokelarge", XYZ -3, 3, 3, center {_location.1}, visibleRange 32, pulseDelay 2, keepFor 0.2 seconds
- drawDot count 10, particle "flame", XYZ -2, 2, -2, center {_location.1}, visibleRange 32, pulseDelay 2, keepFor 0.2 seconds
- 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}
- loop entities in radius 4 around block at location of {_location.1}:
- if loop-entity isn't a player or a dropped item:
- make player damage loop-entity by {_PHYSICDMG}*(4+0.5*{技能.%player%::火鳳衝擊})
- heal player by ({_check}*{技能.%player%::火鳳衝擊}*0.03) / (player's max health + {_check}) * player's max health
- drawDot count 8, particle "blockdust", material netherrack, XYZ -0.5, 1, 0.5, center loop-entity, visibleRange 32, pulseDelay 2, keepFor 0.1 seconds
- play "ENTITY_BLAZE_SHOOT" to player with volume 1 and pitch 1
- ignite the loop-entity for 10 ticks
- wait 4 ticks
- stopeffect id "火鳳衝擊%player%"
- stop
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- #[ 不死鳥 ]
- if uncolored name of player's tool contains "不死鳥":
- if Skill(player, "&5不死鳥", {@不死鳥.Max}, {@不死鳥.CD}, {@不死鳥.MP}) is true:
- set {冷卻.%player%::不死鳥} to now
- play "ENTITY_PLAYER_LEVELUP" to player with volume 1 and pitch 1
- play "ENTITY_BLAZE_SHOOT" to player with volume 1 and pitch 0
- if player's health < (player's max health/2):
- if {玩家資料.%player%::玩家等級} is more than or equal to 105:
- set {_恢復量} to "%({玩家資料.%player%::魔力值})*({技能.%player%::不死鳥}*0.15)%"
- set {_恢復量::*} to {_恢復量} split at "."
- set {_恢復量::1} to {_恢復量::1} parsed as integer
- if ({_恢復量::1} + {玩家魔力值.%player%}) is more than {玩家資料.%player%::魔力值}:
- set {玩家魔力值.%player%} to {玩家資料.%player%::魔力值}
- else:
- add {_恢復量::1} 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<&5不死鳥&f> &f恢復了 &6%({技能.%player%::不死鳥}*0.15)*{玩家資料.%player%::魔力值}% &f魔力"
- heal player by ({_check}*{技能.%player%::不死鳥}*0.2) / (player's max health + {_check}) * player's max health
- send "{@Tag} &f施放技能 &f<&5不死鳥&f> &f恢復了 &6%({_check}*{技能.%player%::不死鳥}*0.2)% &f生命"
- else:
- set {_恢復量} to "%({玩家資料.%player%::魔力值})*({技能.%player%::不死鳥}*0.15)%"
- set {_恢復量::*} to {_恢復量} split at "."
- set {_恢復量::1} to {_恢復量::1} parsed as integer
- if ({_恢復量::1} + {玩家魔力值.%player%}) is more than {玩家資料.%player%::魔力值}:
- set {玩家魔力值.%player%} to {玩家資料.%player%::魔力值}
- else:
- add {_恢復量::1} 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<&5不死鳥&f> &f恢復了 &6%({技能.%player%::不死鳥}*0.15)*{玩家資料.%player%::魔力值}% &f魔力"
- drawWings style 9, particle1 "flame", speed 0, XYZ 0, 0, 0, particle2 "lavadrip", particle3 "lava", center player, id "不死鳥%player%", rainbowMode false, flapSpeed 10, flapRange 6, angle 120, height 5, space 0.8, visibleRange 30, tps 0, second 1
- wait 0.6 seconds
- stopeffect id "不死鳥%player%"
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- #[ 會心之眼 ]
- if uncolored name of player's tool contains "會心之眼":
- if Skill(player, "&5會心之眼", {@會心之眼.Max}, {@會心之眼.CD}, {@會心之眼.MP}) is true:
- set {冷卻.%player%::會心之眼} to now
- play "ENTITY_GENERIC_EXTINGUISH_FIRE" to player with volume 1 and pitch 2
- play "ENTITY_EXPERIENCE_ORB_PICKUP" to player with volume 1 and pitch 1
- if {BUFF.會心之眼time::%player%} isn't set:
- set {BUFF.會心之眼time::%player%} to now
- set {BUFF.會心之眼爆擊率::%player%} to {技能.%player%::會心之眼}*4
- set {BUFF.會心之眼爆擊傷害::%player%} to {技能.%player%::會心之眼}*6
- add {技能.%player%::會心之眼}*4 to {玩家資料.%player%::爆擊率}
- add {技能.%player%::會心之眼}*6 to {玩家資料.%player%::爆擊傷害}
- send "{@Tag} &b%player% &f的 &f<&5會心之眼&f> &f使你提升了 &c%{技能.%player%::會心之眼}*4%%% &f爆擊率與 &c%{技能.%player%::會心之眼}*6%%% &f爆擊傷害"
- execute player command "會心之眼效果持續檢測時間"
- loop entities in radius 7 of player:
- if loop-entity is a player:
- if {BUFF.會心之眼time::%loop-entity%} isn't set:
- set {BUFF.會心之眼time::%loop-entity%} to now
- set {BUFF.會心之眼爆擊率::%loop-entity%} to {技能.%player%::會心之眼}*4
- set {BUFF.會心之眼爆擊傷害::%loop-entity%} to {技能.%player%::會心之眼}*6
- add {技能.%player%::會心之眼}*4 to {玩家資料.%loop-entity%::爆擊率}
- add {技能.%player%::會心之眼}*6 to {玩家資料.%loop-entity%::爆擊傷害}
- execute loop-entity command "會心之眼效果持續檢測時間"
- send "{@Tag} &b%player% &f的 &f<&5會心之眼&f> &f使你提升了 &c%{技能.%player%::會心之眼}*4%%% &f爆擊率與 &c%{技能.%player%::會心之眼}*6%%% &f爆擊傷害" to loop-entity
- drawAtom particle1 "mobspell", particle2 "happyvillager", center player, id "會心之眼%player%", rainbowMode false, innerPCount 10, innerRadius 2, outerPCount 20, orbitCount 1, start 0, visibleRange 30, rotation 100
- wait 0.6 seconds
- stopeffect id "會心之眼%player%"
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- # [ Buff 增益效果 ]
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- #[ 會心之眼 ]
- on command:
- command is "會心之眼效果持續檢測時間"
- if {BUFF.會心之眼爆擊率::%player%} isn't set:
- stop
- cancel event
- 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<&d會心之眼&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<&d會心之眼&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
Advertisement