Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- # [ Options 選項 ]
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- Options:
- Tag: &6技能 &c&l>>
- #[ 加農炮 ]
- 加農炮.CD: 4
- 加農炮.MP: 65
- 加農炮.Max: 10
- #[ 激光炮 ]
- 激光炮.CD: 8
- 激光炮.MP: 105
- 激光炮.Max: 5
- #[ 熔火炮 ]
- 熔火炮.CD: 7
- 熔火炮.MP: 90
- 熔火炮.Max: 5
- #[ 空襲 ]
- 空襲.CD: 20
- 空襲.MP: 100
- 空襲.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 dye:8 named "&c加農炮" with lore "&e技能介紹:||&f向前方開砲||&f對路徑上敵人造成傷害||&e傷害量: &f(物理攻擊力)*%(550+50*{技能.%{_P}%::激光炮})%%%||&e攻擊距離: &f16格||&e冷卻時間: &f4秒||&e魔力消耗量: &b65MP||&e技能類型: &c主動技能"
- if {技能.%{_P}%::加農炮} >= 10:
- set slot 28 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 28 of {_P}'s current inventory to white stained glass pane named "&6技能等級&7: &f%{技能.%{_P}%::加農炮}%/10" with lore "&a點此升級加農炮"
- set slot 20 of {_P}'s current inventory to nether star named "&c激光炮" with lore "&e技能介紹:||&f聚集強烈能量於炮口向前噴發||&f對路徑上敵人造成大量傷害||&e傷害量: &f(物理攻擊力)*%(1000+100*{技能.%{_P}%::激光炮})%%%||&e攻擊距離: &f25格||&e冷卻時間: &f8秒||&e魔力消耗量: &b105MP||&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 fire charge named "&c熔火炮" with lore "&e技能介紹:||&f一次性將大量火藥爆發||&f對路徑上敵人造成傷害||&f並留下一道燃燒路徑持續7秒||&e傷害量: &f(物理攻擊力)*%(450+70*{技能.%{_P}%::熔火炮})%%%||&e燃燒路徑傷害量: &f(物理攻擊力)*%(100+8*{技能.%{_P}%::熔火炮})%%%||&e攻擊距離: &f20格||&e冷卻時間: &f7秒||&e魔力消耗量: &b90MP||&e技能類型: &c主動技能"
- if {技能.%{_P}%::熔火炮} >= 10:
- 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 blaze powder named "&5空襲" with lore "&e技能介紹:||&f呼叫空襲對前方範圍內敵人造成持續傷害||&e每秒傷害量: &f(物理攻擊力)*%(350+80*{技能.%{_P}%::空襲})%%%||&e空襲持續時間: &f%(5+2*{技能.%{_P}%::空襲})%秒||&e冷卻時間: &f20秒||&e魔力消耗量: &b100MP||&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每級提升30點物理攻擊力,10點最大MP||&f每2級提升1格重砲普攻距離||&e物理攻擊力提升量: &f%30*{技能.%{_P}%::重砲精通}%||&e最大MP提升量: &f%10*{技能.%{_P}%::重砲精通}%||&e攻擊距離提升量: &f%round({技能.%{_P}%::重砲精通}/2)%||&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 blaze powder named "&5烈火雄心" with lore "&e技能介紹:||&f激發熊熊燃起的戰鬥決心||&f時間內提升物理攻擊力與重砲普攻距離||&e物理攻擊力提升量: &f%25*{技能.%{_P}%::烈火雄心}%||&e重砲普攻距離提升量: &f%1*{技能.%{_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 /skill3B4:
- 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 30 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
- play "ENTITY_ZOMBIE_ATTACK_DOOR_WOOD" to player with volume 1000 and pitch 0
- play "ENTITY_BLAZE_SHOOT" to player with volume 1000 and pitch 0
- set {_location.1} to block above player
- set {_location.2} to block 12 in front player
- add 2 to y-coordinate of {_location.2}
- 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}) / 16
- set {_y.difference} to ({_y.2} - {_y.1}) / 16
- set {_z.difference} to ({_z.2} - {_z.1}) / 16
- add player to {_命中::*}
- loop 16 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 1, particle flame, XYZ 0.4, 0.4, 0.4, center {_location.1}, visibleRange 32, pulseDelay 2, keepFor 0.4 seconds
- drawDot count 1, particle flame, XYZ 0.4, 0.4, -0.4, center {_location.1}, visibleRange 32, pulseDelay 2, keepFor 0.4 seconds
- drawDot count 1, particle flame, XYZ -0.4, 0.4, 0.4, center {_location.1}, visibleRange 32, pulseDelay 2, keepFor 0.4 seconds
- drawDot count 1, particle flame, XYZ -0.4, 0.4, -0.4, center {_location.1}, visibleRange 32, pulseDelay 2, keepFor 0.4 seconds
- drawDot count 1, particle smoke, XYZ 0.4, 0.4, 0.4, center {_location.1}, visibleRange 32, pulseDelay 2, keepFor 0.4 seconds
- drawDot count 1, particle smoke, XYZ 0.4, 0.4, -0.4, center {_location.1}, visibleRange 32, pulseDelay 2, keepFor 0.4 seconds
- drawDot count 1, particle smoke, XYZ -0.4, 0.4, 0.4, center {_location.1}, visibleRange 32, pulseDelay 2, keepFor 0.4 seconds
- drawDot count 1, particle smoke, XYZ -0.4, 0.4, -0.4, center {_location.1}, visibleRange 32, pulseDelay 2, keepFor 0.2 seconds
- loop entities in radius 3.5 around block at location of {_location.1}:
- if loop-entity isn't a player or a dropped item:
- if {_命中::*} do not contain loop-entity:
- add loop-entity to {_命中::*}
- drawDot count 5, particle flame, XYZ 0, 1.5, 0, center loop-entity, visibleRange 32, pulseDelay 2, keepFor 0.2 seconds
- make player damage loop-entity by ({_PHYSICDMG})*(5.5+0.5*{技能.%player%::加農炮})
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- #[ 激光炮 ]
- if uncolored name of player's tool contains "激光炮":
- if Skill(player, "&c激光炮", {@激光炮.Max}, {@激光炮.CD}, {@激光炮.MP}) is true:
- set {冷卻.%player%::激光炮} to now
- play "ENTITY_ELDER_GUARDIAN_CURSE" to player with volume 1000 and pitch 1
- set {_location.1} to block above player
- set {_location.2} to block 25 in front player
- add 2 to y-coordinate of {_location.2}
- set {_location.3} to block above 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}) / 25
- set {_y.difference} to ({_y.2} - {_y.1}) / 25
- set {_z.difference} to ({_z.2} - {_z.1}) / 25
- add player to {_命中::*}
- loop 25 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 2, particle endrod, XYZ 0, 0, 0, center {_location.1}, visibleRange 32, pulseDelay 2, keepFor 1.1 seconds
- wait 1 second
- play "ENTITY_BLAZE_SHOOT" to player with volume 1000 and pitch 0
- play "ENTITY_BLAZE_SHOOT" to player with volume 1000 and pitch 2
- loop 25 times:
- set {_location.3} to location of {_location.3}
- increase x-coordinate of {_location.3} by {_x.difference}
- increase y-coordinate of {_location.3} by {_y.difference}
- increase z-coordinate of {_location.3} by {_z.difference}
- drawDot count 1, particle critmagic, XYZ -1, 1, 1, center {_location.3}, visibleRange 32, pulseDelay 2, keepFor 1.1 seconds
- drawDot count 1, particle critmagic, XYZ 1, -1, 1, center {_location.3}, visibleRange 32, pulseDelay 2, keepFor 1.1 seconds
- drawDot count 1, particle critmagic, XYZ 1, 1, -1, center {_location.3}, visibleRange 32, pulseDelay 2, keepFor 1.1 seconds
- drawDot count 1, particle critmagic, XYZ -1, -1, 1, center {_location.3}, visibleRange 32, pulseDelay 2, keepFor 1.1 seconds
- drawDot count 1, particle critmagic, XYZ -1, 1, -1, center {_location.3}, visibleRange 32, pulseDelay 2, keepFor 1.1 seconds
- drawDot count 1, particle critmagic, XYZ 1, -1, -1, center {_location.3}, visibleRange 32, pulseDelay 2, keepFor 1.1 seconds
- loop entities in radius 3 around block at location of {_location.3}:
- if loop-entity isn't a player or a dropped item:
- if {_命中::*} do not contain loop-entity:
- add loop-entity to {_命中::*}
- drawDot count 5, particle critmagic, XYZ 0, 1.5, 0, center loop-entity, visibleRange 32, pulseDelay 2, keepFor 0.2 seconds
- make player damage loop-entity by ({_PHYSICDMG})*(5.5+0.5*{技能.%player%::加農炮})
- wait 0.5 second
- loop 6 times:
- play "ENTITY_GENERIC_EXPLODE" to player with volume 1000 and pitch 3
- wait 1.5 tick
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- #[ 熔火炮 ]
- if uncolored name of player's tool contains "熔火炮":
- if Skill(player, "&c熔火炮", {@熔火炮.Max}, {@熔火炮.CD}, {@熔火炮.MP}) is true:
- set {冷卻.%player%::熔火炮} to now
- play "ENTITY_BLAZE_SHOOT" to player with volume 1000 and pitch 0
- play "ENTITY_BLAZE_SHOOT" to player with volume 1000 and pitch 1
- play "ENTITY_BLAZE_SHOOT" to player with volume 1000 and pitch 2
- play "ENTITY_BLAZE_SHOOT" to player with volume 1000 and pitch 3
- wait 1 tick
- set {_location.1} to block above player
- set {_location.2} to block 20 in front player
- add 2 to y-coordinate of {_location.2}
- set {_location.3} to block above 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:
- drawSphere style 1, particle "flame", center {_location.1}, id "熔火炮1%player%", rainbowMode true, radius 1, density 30, visibleRange 32, pulseDelay 2
- drawSphere style 5, particle "smoke", center {_location.1}, id "熔火炮2%player%", rainbowMode false, radius 2, density 30, visibleRange 32, pulseDelay 2
- 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.5+0.7*{技能.%player%::熔火炮})
- wait 1 ticks
- stopEffect "熔火炮1%player%"
- stopEffect "熔火炮2%player%"
- wait 1 tick
- loop 7 times:
- set {_location.1} to {_location.3}
- add -1.6 to y-coordinate of {_location.1}
- loop 10 times:
- drawDot count 2, particle "flame", XYZ 2, 0.2, 2, center {_location.1}, visibleRange 50, pulseDelay 2, keepFor 0.9 seconds
- drawDot count 2, particle "flame", XYZ -2, 0.2, 2, center {_location.1}, visibleRange 50, pulseDelay 2, keepFor 0.9 seconds
- drawDot count 2, particle "flame", XYZ 2, 0.2, -2, center {_location.1}, visibleRange 50, pulseDelay 2, keepFor 0.9 seconds
- drawDot count 2, particle "flame", XYZ -2, 0.2, -2, center {_location.1}, visibleRange 50, pulseDelay 2, keepFor 0.9 seconds
- drawDot count 4, particle "flame", XYZ 0.5, 0.7, 0.5, center {_location.1}, visibleRange 50, pulseDelay 2, keepFor 0.9 seconds
- drawDot count 4, particle "smoke", XYZ 0.8, 1, 0.8, center {_location.1}, visibleRange 50, pulseDelay 2, keepFor 0.9 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 5 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})*(1+0.8*{技能.%player%::熔火炮})
- wait 1 second
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- #[ 空襲 ]
- if uncolored name of player's tool contains "空襲":
- if Skill(player, "&5空襲", {@空襲.Max}, {@空襲.CD}, {@空襲.MP}) is true:
- set {冷卻.%player%::空襲} to now
- play "ENTITY_WITHER_SPAWN" to player with volume 1000 and pitch 2
- set {_location.1} to block 8 horizontally in front and 0.4 up player
- set {_location.2} to block 8 up {_location.1}
- wait 1 second
- set {_times} to 5+2*{技能.%player%::空襲}
- loop {_times} times:
- loop 5 times:
- set {_location.3} to block 8 up {_location.1}
- increase x-coordinate of {_location.3} by a random integer between -7 and 7
- increase z-coordinate of {_location.3} by a random integer between -7 and 7
- drawDot count 10, particle "flame", XYZ 0.01, -9, 0.01, center {_location.3}, visibleRange 50, pulseDelay 2, keepFor 1 seconds
- drawDot count 3, particle "lava", XYZ 0.01, -9, 0.01, center {_location.3}, visibleRange 50, pulseDelay 2, keepFor 1 seconds
- drawDot count 5, particle "smoke", XYZ 0.01, -9, 0.01, center {_location.3}, visibleRange 50, pulseDelay 2, keepFor 1 seconds
- loop entities in radius 8 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.5+0.8*{技能.%player%::空襲})
- set {_sound} to random integer between 1 and 3
- if {_sound} is 1:
- play "ENTITY_BLAZE_SHOOT" to player with volume 1000 and pitch 0
- play "ENTITY_BLAZE_SHOOT" to player with volume 1000 and pitch 3
- play "ENTITY_GENERIC_EXPLODE" to player with volume 1000 and pitch 0
- wait 3 tick
- play "ENTITY_ZOMBIE_ATTACK_DOOR_WOOD" to player with volume 1000 and pitch 2
- play "ENTITY_BLAZE_SHOOT" to player with volume 1000 and pitch 0
- wait 3 tick
- play "ENTITY_GENERIC_EXPLODE" to player with volume 1000 and pitch 0
- play "ENTITY_ZOMBIE_ATTACK_DOOR_WOOD" to player with volume 1000 and pitch 1
- wait 5 tick
- play "ENTITY_GENERIC_EXPLODE" to player with volume 1000 and pitch 1
- wait 9 tick
- play "ENTITY_ZOMBIE_ATTACK_DOOR_WOOD" to player with volume 1000 and pitch 0
- play "ENTITY_BLAZE_SHOOT" to player with volume 1000 and pitch 2
- if {_sound} is 2:
- play "ENTITY_ZOMBIE_ATTACK_DOOR_WOOD" to player with volume 1000 and pitch 1
- play "ENTITY_BLAZE_SHOOT" to player with volume 1000 and pitch 3
- wait 7 tick
- play "ENTITY_GENERIC_EXPLODE" to player with volume 1000 and pitch 1
- wait 7 tick
- play "ENTITY_BLAZE_SHOOT" to player with volume 1000 and pitch 0
- play "ENTITY_GENERIC_EXPLODE" to player with volume 1000 and pitch 2
- play "ENTITY_ZOMBIE_ATTACK_DOOR_WOOD" to player with volume 1000 and pitch 0
- wait 6 tick
- play "ENTITY_BLAZE_SHOOT" to player with volume 1000 and pitch 2
- play "ENTITY_ZOMBIE_ATTACK_DOOR_WOOD" to player with volume 1000 and pitch 2
- play "ENTITY_BLAZE_SHOOT" to player with volume 1000 and pitch 0
- if {_sound} is 3:
- play "ENTITY_GENERIC_EXPLODE" to player with volume 1000 and pitch 0
- play "ENTITY_BLAZE_SHOOT" to player with volume 1000 and pitch 1
- wait 3 tick
- play "ENTITY_ZOMBIE_ATTACK_DOOR_WOOD" to player with volume 1000 and pitch 1
- wait 4 tick
- play "ENTITY_BLAZE_SHOOT" to player with volume 1000 and pitch 0
- play "ENTITY_GENERIC_EXPLODE" to player with volume 1000 and pitch 1
- wait 5 tick
- play "ENTITY_ZOMBIE_ATTACK_DOOR_WOOD" to player with volume 1000 and pitch 0
- wait 3 tick
- play "ENTITY_BLAZE_SHOOT" to player with volume 1000 and pitch 2
- play "ENTITY_GENERIC_EXPLODE" to player with volume 1000 and pitch 2
- wait 5 tick
- play "ENTITY_GENERIC_EXPLODE" to player with volume 1000 and pitch 0
- stop
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- #[ 烈火雄心 ]
- 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