Skip to content

Commit 9cc388a

Browse files
committed
initial guardian kit skeleton
1 parent 31c7129 commit 9cc388a

File tree

10 files changed

+132
-2
lines changed

10 files changed

+132
-2
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package dev.betrix.superSmashMobsBrawl.abilities
2+
3+
import dev.betrix.superSmashMobsBrawl.extensions.sendDebugMessage
4+
import org.bukkit.entity.Player
5+
6+
class TargetLaserAbility(player: Player) : BrawlAbility("target_laser", player) {
7+
override fun activate() {
8+
super.activate()
9+
player.sendDebugMessage("Target Laser ability pending implementation")
10+
}
11+
}
12+
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package dev.betrix.superSmashMobsBrawl.abilities
2+
3+
import dev.betrix.superSmashMobsBrawl.extensions.sendDebugMessage
4+
import org.bukkit.entity.Player
5+
6+
class WaterSplashAbility(player: Player) : BrawlAbility("water_splash", player) {
7+
override fun activate() {
8+
super.activate()
9+
player.sendDebugMessage("Water Splash ability pending implementation")
10+
}
11+
}
12+
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package dev.betrix.superSmashMobsBrawl.abilities
2+
3+
import dev.betrix.superSmashMobsBrawl.extensions.sendDebugMessage
4+
import org.bukkit.entity.Player
5+
6+
class WhirlpoolAxeAbility(player: Player) : BrawlAbility("whirlpool_axe", player) {
7+
override fun activate() {
8+
super.activate()
9+
player.sendDebugMessage("Whirlpool Axe ability pending implementation")
10+
}
11+
}
12+

plugin/src/main/kotlin/dev/betrix/superSmashMobsBrawl/kits/BrawlKit.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,9 @@ open class BrawlKit(val id: String, val player: Player) : KoinComponent {
7373
"fish_flurry" -> FishFlurryAbility(player)
7474
"bouncy_bacon" -> BouncyBaconAbility(player)
7575
"baby_bacon_bomb" -> BabyBaconBombAbility(player)
76+
"whirlpool_axe" -> WhirlpoolAxeAbility(player)
77+
"water_splash" -> WaterSplashAbility(player)
78+
"target_laser" -> TargetLaserAbility(player)
7679
else -> {
7780
logger.severe(
7881
"No ability found with id ${it.id} reference on kit ${kitData.id}"
@@ -101,6 +104,7 @@ open class BrawlKit(val id: String, val player: Player) : KoinComponent {
101104
"wall_climb" -> WallClimbPassive(player)
102105
"spider_leap" -> SpiderLeapPassive(player)
103106
"nether_pig" -> NetherPigPassive(player)
107+
"thorns" -> ThornsPassive(player)
104108
else -> {
105109
logger.severe(
106110
"No passive found with id ${it.id} reference on kit ${kitData.id}"
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package dev.betrix.superSmashMobsBrawl.passives
2+
3+
import dev.betrix.superSmashMobsBrawl.extensions.sendDebugMessage
4+
import org.bukkit.entity.Player
5+
6+
class ThornsPassive(player: Player) : BrawlPassive("thorns", player) {
7+
override fun setup() {
8+
super.setup()
9+
player.sendDebugMessage("Thorns passive setup pending implementation")
10+
}
11+
12+
override fun teardown() {
13+
player.sendDebugMessage("Thorns passive teardown pending implementation")
14+
super.teardown()
15+
}
16+
}
17+
18+

plugin/src/main/resources/data/abilities.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,33 @@ abilities:
226226
damagePerTick: 1.0
227227
tickIntervalTicks: 5
228228

229+
- id: whirlpool_axe
230+
cooldown: 5.0
231+
type: projectile
232+
itemSlot: 0
233+
usage: right_click
234+
hotbarItem: iron_axe
235+
displayItem: prismarine_shard
236+
metadata: {}
237+
238+
- id: water_splash
239+
cooldown: 12.0
240+
type: recovery
241+
itemSlot: 1
242+
usage: right_click
243+
hotbarItem: iron_shovel
244+
displayItem: water_bucket
245+
metadata: {}
246+
247+
- id: target_laser
248+
cooldown: 15.0
249+
type: aoe
250+
itemSlot: 2
251+
usage: right_click
252+
hotbarItem: iron_sword
253+
displayItem: prismarine_crystals
254+
metadata: {}
255+
229256
- id: bouncy_bacon
230257
cooldown: 5.0
231258
itemSlot: 0

plugin/src/main/resources/data/disguises.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,6 @@ disguises:
1515

1616
- id: squid
1717

18-
- id: pig
18+
- id: pig
19+
20+
- id: guardian

plugin/src/main/resources/data/kits.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,26 @@ kits:
224224
- id: super_squid
225225
- id: fish_flurry
226226
armorItems:
227+
chestplate: chainmail_chestplate
228+
leggings: chainmail_leggings
229+
boots: chainmail_boots
230+
231+
# Guardian
232+
- id: guardian
233+
meleeDamage: 5.0
234+
armor: 4.5
235+
knockbackMultiplier: 1.25
236+
disguiseId: "guardian"
237+
selectionSound: "entity.guardian.ambient"
238+
displayItem: "prismarine_shard"
239+
passives:
240+
- id: thorns
241+
abilities:
242+
- id: whirlpool_axe
243+
- id: water_splash
244+
- id: target_laser
245+
armorItems:
246+
helmet: chainmail_helmet
227247
chestplate: chainmail_chestplate
228248
leggings: chainmail_leggings
229249
boots: chainmail_boots

plugin/src/main/resources/data/lang/en.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ kits:
2727
squid:
2828
name: "Squid"
2929
description: "Squid is an all-around solid defensive kit"
30+
guardian:
31+
name: "Guardian"
32+
description: "Control the tides with lasers, whirlpools, and resilient armor"
3033
abilities:
3134
sulphur_bomb:
3235
name: "Sulphur Bomb"
@@ -85,6 +88,15 @@ abilities:
8588
fish_flurry:
8689
name: "Fish Flurry"
8790
description: "Summon a whirl of fish that batters nearby enemies"
91+
whirlpool_axe:
92+
name: "Whirlpool Axe"
93+
description: "Hurl a spinning axe that drags foes toward its vortex"
94+
water_splash:
95+
name: "Water Splash"
96+
description: "Burst upward on a wave of water to recover and reposition"
97+
target_laser:
98+
name: "Target Laser"
99+
description: "Charge a focused beam that scorches enemies in front of you"
88100
maps:
89101
blue_forest:
90102
name: "Blue Forest"
@@ -167,6 +179,9 @@ messages:
167179
nether_pig:
168180
name: "Nether Pig"
169181
description: "Gain fiery resilience when your health nears collapse"
182+
thorns:
183+
name: "Thorns"
184+
description: "Reflect damage and shrug off hits after surviving near-death"
170185
projectiles:
171186
arrow: "Arrow"
172187
barrage_arrow: "Barrage Arrow"

plugin/src/main/resources/data/passives.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,4 +72,12 @@ passives:
7272
displayItem: nether_wart
7373
userFacing: true
7474
metadata:
75-
lowHealthThreshold: 4.0
75+
lowHealthThreshold: 4.0
76+
77+
- id: thorns
78+
displayItem: prismarine_shard
79+
userFacing: true
80+
metadata:
81+
lowHealthThreshold: 6.0
82+
projectileReduction: 0.2
83+
knockbackReduction: 0.15

0 commit comments

Comments
 (0)