diff --git a/assets/common/items/armor/back/warlock.ron b/assets/common/items/armor/back/warlock.ron new file mode 100644 index 0000000000..aefb29bf8f --- /dev/null +++ b/assets/common/items/armor/back/warlock.ron @@ -0,0 +1,12 @@ +ItemDef( + name: "Warlock cape", + description: "Belong to a mighty warlock.", + kind: Armor( + ( + kind: Back("Warlock"), + stats: ( + protection: Normal(4.0)), + ) + ), + quality: Moderate, +) diff --git a/assets/common/items/armor/back/warlord.ron b/assets/common/items/armor/back/warlord.ron new file mode 100644 index 0000000000..c1bf1dad60 --- /dev/null +++ b/assets/common/items/armor/back/warlord.ron @@ -0,0 +1,12 @@ +ItemDef( + name: "Warlord cape", + description: "Belong to a mighty warlord.", + kind: Armor( + ( + kind: Back("Warlord"), + stats: ( + protection: Normal(4.0)), + ) + ), + quality: Moderate, +) diff --git a/assets/common/items/armor/belt/assassin.ron b/assets/common/items/armor/belt/assassin.ron index 1a25e1bf89..bc784b4abe 100644 --- a/assets/common/items/armor/belt/assassin.ron +++ b/assets/common/items/armor/belt/assassin.ron @@ -5,8 +5,8 @@ ItemDef( ( kind: Belt("Assassin"), stats: ( - protection: Normal(1.0) - ), + protection: Normal(2.0) + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/belt/warlock.ron b/assets/common/items/armor/belt/warlock.ron new file mode 100644 index 0000000000..1ae5d83c5d --- /dev/null +++ b/assets/common/items/armor/belt/warlock.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Warlock Belt", + description: "Belong to a mighty warlock.", + kind: Armor( + ( + kind: Belt("Warlock"), + stats: ( + protection: Normal(8.0) + ), + ) + ), + quality: Moderate, +) diff --git a/assets/common/items/armor/belt/warlord.ron b/assets/common/items/armor/belt/warlord.ron new file mode 100644 index 0000000000..ca0173c1cc --- /dev/null +++ b/assets/common/items/armor/belt/warlord.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Warlord Belt", + description: "Belong to a mighty warlord.", + kind: Armor( + ( + kind: Belt("Warlord"), + stats: ( + protection: Normal(8.0) + ), + ) + ), + quality: Moderate, +) diff --git a/assets/common/items/armor/chest/assassin.ron b/assets/common/items/armor/chest/assassin.ron index 3be92f61a1..8aff55ab7e 100644 --- a/assets/common/items/armor/chest/assassin.ron +++ b/assets/common/items/armor/chest/assassin.ron @@ -5,8 +5,8 @@ ItemDef( ( kind: Chest("Assassin"), stats: ( - protection: Normal(6.0) - ), + protection: Normal(15.0) + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/chest/warlock.ron b/assets/common/items/armor/chest/warlock.ron new file mode 100644 index 0000000000..9095ae409a --- /dev/null +++ b/assets/common/items/armor/chest/warlock.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Warlock Vest", + description: "Belong to a mighty warlock.", + kind: Armor( + ( + kind: Chest("Warlock"), + stats: ( + protection: Normal(40.0) + ), + ) + ), + quality: Moderate, +) diff --git a/assets/common/items/armor/chest/warlord.ron b/assets/common/items/armor/chest/warlord.ron new file mode 100644 index 0000000000..5400ffcc0b --- /dev/null +++ b/assets/common/items/armor/chest/warlord.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Warlord Cuirass", + description: "Belong to a mighty warlord.", + kind: Armor( + ( + kind: Chest("Warlord"), + stats: ( + protection: Normal(40.0) + ), + ) + ), + quality: Moderate, +) diff --git a/assets/common/items/armor/foot/assassin.ron b/assets/common/items/armor/foot/assassin.ron index 5e7fdfad80..de74557c1d 100644 --- a/assets/common/items/armor/foot/assassin.ron +++ b/assets/common/items/armor/foot/assassin.ron @@ -5,8 +5,8 @@ ItemDef( ( kind: Foot("Assassin"), stats: ( - protection: Normal(1.0) - ), + protection: Normal(4.0) + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/foot/warlock.ron b/assets/common/items/armor/foot/warlock.ron new file mode 100644 index 0000000000..3bd1951429 --- /dev/null +++ b/assets/common/items/armor/foot/warlock.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Warlock Slippers", + description: "Belong to a mighty warlock.", + kind: Armor( + ( + kind: Foot("Warlock"), + stats: ( + protection: Normal(8.0) + ), + ) + ), + quality: Moderate, +) diff --git a/assets/common/items/armor/foot/warlord.ron b/assets/common/items/armor/foot/warlord.ron new file mode 100644 index 0000000000..74f7cef132 --- /dev/null +++ b/assets/common/items/armor/foot/warlord.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Warlord Feet", + description: "Belong to a mighty warlord.", + kind: Armor( + ( + kind: Foot("Warlord"), + stats: ( + protection: Normal(8.0) + ), + ) + ), + quality: Moderate, +) diff --git a/assets/common/items/armor/hand/assassin.ron b/assets/common/items/armor/hand/assassin.ron index 30cdbc71eb..f1f5892eb7 100644 --- a/assets/common/items/armor/hand/assassin.ron +++ b/assets/common/items/armor/hand/assassin.ron @@ -5,8 +5,8 @@ ItemDef( ( kind: Hand("Assassin"), stats: ( - protection: Normal(2.0) - ), + protection: Normal(6.0) + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/hand/warlock.ron b/assets/common/items/armor/hand/warlock.ron new file mode 100644 index 0000000000..371868f9ec --- /dev/null +++ b/assets/common/items/armor/hand/warlock.ron @@ -0,0 +1,12 @@ +ItemDef( + name: "Warlock Gloves", + description: "Belong to a mighty warlock.", + kind: Armor( + ( + kind: Hand("Warlock"), + stats: ( + protection: Normal(15.0)), + ) + ), + quality: Common, +) diff --git a/assets/common/items/armor/hand/warlord.ron b/assets/common/items/armor/hand/warlord.ron new file mode 100644 index 0000000000..b923282a31 --- /dev/null +++ b/assets/common/items/armor/hand/warlord.ron @@ -0,0 +1,12 @@ +ItemDef( + name: "Warlord Handguards", + description: "Belong to a mighty warlord.", + kind: Armor( + ( + kind: Hand("Warlord"), + stats: ( + protection: Normal(15.0)), + ) + ), + quality: Common, +) diff --git a/assets/common/items/armor/head/warlock.ron b/assets/common/items/armor/head/warlock.ron new file mode 100644 index 0000000000..b0a56ec629 --- /dev/null +++ b/assets/common/items/armor/head/warlock.ron @@ -0,0 +1,12 @@ +ItemDef( + name: "Warlock", + description: "Belong to a mighty warlock.", + kind: Armor( + ( + kind: Head("Warlock"), + stats: ( + protection: Normal(10.0)), + ) + ), + quality: Common, +) diff --git a/assets/common/items/armor/head/warlord.ron b/assets/common/items/armor/head/warlord.ron new file mode 100644 index 0000000000..6ecc46f802 --- /dev/null +++ b/assets/common/items/armor/head/warlord.ron @@ -0,0 +1,12 @@ +ItemDef( + name: "Warlord Helmet", + description: "Belong to a mighty warlord.", + kind: Armor( + ( + kind: Head("Warlord"), + stats: ( + protection: Normal(10.0)), + ) + ), + quality: Common, +) diff --git a/assets/common/items/armor/pants/assassin.ron b/assets/common/items/armor/pants/assassin.ron index 69e654ea88..9de8dc7603 100644 --- a/assets/common/items/armor/pants/assassin.ron +++ b/assets/common/items/armor/pants/assassin.ron @@ -5,8 +5,8 @@ ItemDef( ( kind: Pants("Assassin"), stats: ( - protection: Normal(5.0) - ), + protection: Normal(10.0) + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/pants/warlock.ron b/assets/common/items/armor/pants/warlock.ron new file mode 100644 index 0000000000..782b2bbf05 --- /dev/null +++ b/assets/common/items/armor/pants/warlock.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Warlock Kilt", + description: "Belong to a mighty warlock.", + kind: Armor( + ( + kind: Pants("Warlock"), + stats: ( + protection: Normal(30.0) + ), + ) + ), + quality: Moderate, +) diff --git a/assets/common/items/armor/pants/warlord.ron b/assets/common/items/armor/pants/warlord.ron new file mode 100644 index 0000000000..3836043c68 --- /dev/null +++ b/assets/common/items/armor/pants/warlord.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Warlord Legguards", + description: "Belong to a mighty warlord.", + kind: Armor( + ( + kind: Pants("Warlord"), + stats: ( + protection: Normal(30.0) + ), + ) + ), + quality: Moderate, +) diff --git a/assets/common/items/armor/shoulder/assassin.ron b/assets/common/items/armor/shoulder/assassin.ron index 24d0d9e19d..7ab33f9c58 100644 --- a/assets/common/items/armor/shoulder/assassin.ron +++ b/assets/common/items/armor/shoulder/assassin.ron @@ -5,8 +5,8 @@ ItemDef( ( kind: Shoulder("Assassin"), stats: ( - protection: Normal(3.0) - ), + protection: Normal(8.0) + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/shoulder/warlock.ron b/assets/common/items/armor/shoulder/warlock.ron new file mode 100644 index 0000000000..ee077bbc5f --- /dev/null +++ b/assets/common/items/armor/shoulder/warlock.ron @@ -0,0 +1,12 @@ +ItemDef( + name: "Warlock Shoulders", + description: "Belong to a mighty warlock.", + kind: Armor( + ( + kind: Shoulder("Warlock"), + stats: ( + protection: Normal(22.0)), + ) + ), + quality: Common, +) diff --git a/assets/common/items/armor/shoulder/warlord.ron b/assets/common/items/armor/shoulder/warlord.ron new file mode 100644 index 0000000000..d7163c9155 --- /dev/null +++ b/assets/common/items/armor/shoulder/warlord.ron @@ -0,0 +1,12 @@ +ItemDef( + name: "Warlord Shoulderguards", + description: "Belong to a mighty warlord.", + kind: Armor( + ( + kind: Shoulder("Warlord"), + stats: ( + protection: Normal(22.0)), + ) + ), + quality: Common, +) diff --git a/assets/voxygen/item_image_manifest.ron b/assets/voxygen/item_image_manifest.ron index a1ffe36729..53ecff32b9 100644 --- a/assets/voxygen/item_image_manifest.ron +++ b/assets/voxygen/item_image_manifest.ron @@ -1198,6 +1198,56 @@ "voxel.armor.shoulder.bonerattler_right", (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, ), + //Warlord Set + Armor(Chest("Warlord")): VoxTrans( + "voxel.armor.chest.warlord", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Pants("Warlord")): VoxTrans( + "voxel.armor.pants.warlord", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Belt("Warlord")): VoxTrans( + "voxel.armor.belt.warlord", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.4, + ), + Armor(Foot("Warlord")): VoxTrans( + "voxel.armor.foot.warlord", + (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, + ), + Armor(Hand("Warlord")): VoxTrans( + "voxel.armor.hand.warlord_right", + (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, + ), + Armor(Shoulder("Warlord")): VoxTrans( + "voxel.armor.shoulder.warlord_right", + (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, + ), + //Warlock Set + Armor(Chest("Warlock")): VoxTrans( + "voxel.armor.chest.warlock", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Pants("Warlock")): VoxTrans( + "voxel.armor.pants.warlock", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Belt("Warlock")): VoxTrans( + "voxel.armor.belt.warlock", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.4, + ), + Armor(Foot("Warlock")): VoxTrans( + "voxel.armor.foot.warlock", + (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, + ), + Armor(Hand("Warlock")): VoxTrans( + "voxel.armor.hand.warlock_right", + (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, + ), + Armor(Shoulder("Warlock")): VoxTrans( + "voxel.armor.shoulder.warlock_right", + (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, + ), //misc Armor(Pants("Hunting")): VoxTrans( "voxel.armor.pants.grayscale", @@ -1232,6 +1282,14 @@ "voxel.armor.back.backpack-0", (0.0, 0.0, 0.0), (-90.0, 0.0, 0.0), 1.0, ), + Armor(Back("Warlord")): VoxTrans( + "voxel.armor.back.warlord", + (0.0, 0.0, 0.0), (-90.0, 0.0, 0.0), 1.0, + ), + Armor(Back("Warlock")): VoxTrans( + "voxel.armor.back.warlock", + (0.0, 0.0, 0.0), (-90.0, 0.0, 0.0), 1.0, + ), // Rings Armor(Ring("Ring0")): VoxTrans( "voxel.armor.ring.simple_purp-0", diff --git a/assets/voxygen/voxel/armor/back/warlock.vox b/assets/voxygen/voxel/armor/back/warlock.vox new file mode 100644 index 0000000000..fb82350fac --- /dev/null +++ b/assets/voxygen/voxel/armor/back/warlock.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85ffa4d74176319b1e5d04ee77f30f0302da07de21ffbcdd2a5f1d8b08ad56a6 +size 1672 diff --git a/assets/voxygen/voxel/armor/back/warlord.vox b/assets/voxygen/voxel/armor/back/warlord.vox new file mode 100644 index 0000000000..fb82350fac --- /dev/null +++ b/assets/voxygen/voxel/armor/back/warlord.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85ffa4d74176319b1e5d04ee77f30f0302da07de21ffbcdd2a5f1d8b08ad56a6 +size 1672 diff --git a/assets/voxygen/voxel/armor/belt/warlock.vox b/assets/voxygen/voxel/armor/belt/warlock.vox new file mode 100644 index 0000000000..1bb7882da2 --- /dev/null +++ b/assets/voxygen/voxel/armor/belt/warlock.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c89b30d7c27160da2b3ebf630fc72ec848b61a0ff2ea7d2a858f9d1f04760fe +size 1480 diff --git a/assets/voxygen/voxel/armor/belt/warlord.vox b/assets/voxygen/voxel/armor/belt/warlord.vox new file mode 100644 index 0000000000..0d9caebb57 --- /dev/null +++ b/assets/voxygen/voxel/armor/belt/warlord.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5dbe296ee96535eef6c0cb0003b0de0db3e755f3e617f2e59ac3fd5393bbafa +size 1480 diff --git a/assets/voxygen/voxel/armor/chest/warlock.vox b/assets/voxygen/voxel/armor/chest/warlock.vox new file mode 100644 index 0000000000..2e1acd3be6 --- /dev/null +++ b/assets/voxygen/voxel/armor/chest/warlock.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3c589d0251aec0de2caba5418ff2423d636ddbe9b31119992cc119a886f2ee1 +size 3232 diff --git a/assets/voxygen/voxel/armor/chest/warlord.vox b/assets/voxygen/voxel/armor/chest/warlord.vox new file mode 100644 index 0000000000..f9d37970e9 --- /dev/null +++ b/assets/voxygen/voxel/armor/chest/warlord.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b738090936daddd8115a30595fc90a149dabf90a32269f7359166bc6decbdc3 +size 3248 diff --git a/assets/voxygen/voxel/armor/foot/warlock.vox b/assets/voxygen/voxel/armor/foot/warlock.vox new file mode 100644 index 0000000000..2cfa84c5ad --- /dev/null +++ b/assets/voxygen/voxel/armor/foot/warlock.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad381a9188748c38906b7a6543a19351ffc5d214cd93a0f6019bae0feba01911 +size 1516 diff --git a/assets/voxygen/voxel/armor/foot/warlord.vox b/assets/voxygen/voxel/armor/foot/warlord.vox new file mode 100644 index 0000000000..2cfa84c5ad --- /dev/null +++ b/assets/voxygen/voxel/armor/foot/warlord.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad381a9188748c38906b7a6543a19351ffc5d214cd93a0f6019bae0feba01911 +size 1516 diff --git a/assets/voxygen/voxel/armor/hand/warlock_left.vox b/assets/voxygen/voxel/armor/hand/warlock_left.vox new file mode 100644 index 0000000000..50ba1f3a0a --- /dev/null +++ b/assets/voxygen/voxel/armor/hand/warlock_left.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2c67bd39f3c37c7df0cbac15070a710ae3905fb2713af844f2906aded93452d +size 1688 diff --git a/assets/voxygen/voxel/armor/hand/warlock_right.vox b/assets/voxygen/voxel/armor/hand/warlock_right.vox new file mode 100644 index 0000000000..50ba1f3a0a --- /dev/null +++ b/assets/voxygen/voxel/armor/hand/warlock_right.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2c67bd39f3c37c7df0cbac15070a710ae3905fb2713af844f2906aded93452d +size 1688 diff --git a/assets/voxygen/voxel/armor/hand/warlord_left.vox b/assets/voxygen/voxel/armor/hand/warlord_left.vox new file mode 100644 index 0000000000..32fdee7476 --- /dev/null +++ b/assets/voxygen/voxel/armor/hand/warlord_left.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c6f6270d10ae68f1262e00da2d32051710c754e3c1c1cf92fb22b3bfe67c2f3 +size 1516 diff --git a/assets/voxygen/voxel/armor/hand/warlord_right.vox b/assets/voxygen/voxel/armor/hand/warlord_right.vox new file mode 100644 index 0000000000..1fc34f044a --- /dev/null +++ b/assets/voxygen/voxel/armor/hand/warlord_right.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03f4b54df2558f027ee3a51a428a10d9566586f6a158dfc02b45c5f1251cde4f +size 1516 diff --git a/assets/voxygen/voxel/armor/head/warlock.vox b/assets/voxygen/voxel/armor/head/warlock.vox new file mode 100644 index 0000000000..a372de58d3 --- /dev/null +++ b/assets/voxygen/voxel/armor/head/warlock.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:173b64c09e786e3f6a5a3eb64ecaaaff3e282e867ab92b5ec3c742ccde4cd8cc +size 4848 diff --git a/assets/voxygen/voxel/armor/head/warlord.vox b/assets/voxygen/voxel/armor/head/warlord.vox new file mode 100644 index 0000000000..ac585a3032 --- /dev/null +++ b/assets/voxygen/voxel/armor/head/warlord.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87d742de7978c48db24dd0e556dec87e5e899cbb1ee992a9227882cbcb1b35c2 +size 5440 diff --git a/assets/voxygen/voxel/armor/pants/warlock.vox b/assets/voxygen/voxel/armor/pants/warlock.vox new file mode 100644 index 0000000000..ef55208e60 --- /dev/null +++ b/assets/voxygen/voxel/armor/pants/warlock.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30afe2c1a60843ce0f91fc4429e2bcdc9ed5237c87cc2a3b33113d912a21759f +size 2480 diff --git a/assets/voxygen/voxel/armor/pants/warlord.vox b/assets/voxygen/voxel/armor/pants/warlord.vox new file mode 100644 index 0000000000..55d5629c82 --- /dev/null +++ b/assets/voxygen/voxel/armor/pants/warlord.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4607f047cc371df192d77e048a4594c18eb4c2392ada71258f221f1dc255fcdd +size 2352 diff --git a/assets/voxygen/voxel/armor/shoulder/warlock_left.vox b/assets/voxygen/voxel/armor/shoulder/warlock_left.vox new file mode 100644 index 0000000000..1b99ab2ebe --- /dev/null +++ b/assets/voxygen/voxel/armor/shoulder/warlock_left.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd195cdd8de946cf0042fd7795463070927edc02d58dfa0feaaa7ee10bd63850 +size 1564 diff --git a/assets/voxygen/voxel/armor/shoulder/warlock_right.vox b/assets/voxygen/voxel/armor/shoulder/warlock_right.vox new file mode 100644 index 0000000000..1b99ab2ebe --- /dev/null +++ b/assets/voxygen/voxel/armor/shoulder/warlock_right.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd195cdd8de946cf0042fd7795463070927edc02d58dfa0feaaa7ee10bd63850 +size 1564 diff --git a/assets/voxygen/voxel/armor/shoulder/warlord_left.vox b/assets/voxygen/voxel/armor/shoulder/warlord_left.vox new file mode 100644 index 0000000000..cdc653b8ff --- /dev/null +++ b/assets/voxygen/voxel/armor/shoulder/warlord_left.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d523571667d4bd47a0d2ae9bbfe6a9809ea159257dd9e85416c6286552700a4 +size 1668 diff --git a/assets/voxygen/voxel/armor/shoulder/warlord_right.vox b/assets/voxygen/voxel/armor/shoulder/warlord_right.vox new file mode 100644 index 0000000000..563c4ea73f --- /dev/null +++ b/assets/voxygen/voxel/armor/shoulder/warlord_right.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e2a124d8094437c719a97d8b6b2a755c7cd1d3180dafca0634d67b9cfe8b55a +size 1668 diff --git a/assets/voxygen/voxel/humanoid_armor_back_manifest.ron b/assets/voxygen/voxel/humanoid_armor_back_manifest.ron index 8c6ade5b02..933113d6cd 100644 --- a/assets/voxygen/voxel/humanoid_armor_back_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_back_manifest.ron @@ -4,41 +4,49 @@ color: None ), map: { - "Short0": ( - vox_spec: ("armor.back.short-0", (-5.0, -1.0, -11.0)), - color: None - ), - "Admin": ( - vox_spec: ("armor.back.admin", (-5.0, -1.0, -11.0)), - color: None - ), - "DungPurp0": ( - vox_spec: ("armor.back.dung_purp-0", (-5.0, -1.0, -14.0)), - color: None - ), - "Short1": ( - vox_spec: ("armor.back.short-1", (-5.0, -1.0, -11.0)), - color: None - ), - "Short2": ( - vox_spec: ("armor.back.short-2", (-5.0, -1.0, -11.0)), - color: None - ), - "Backpack0": ( - vox_spec: ("armor.back.backpack-0", (-7.0, -5.0, -10.0)), - color: None - ), - "BackpackBlue0": ( - vox_spec: ("armor.back.backpack-grey", (-7.0, -5.0, -10.0)), - color: Some((76, 72, 178)) - ), - "VeloriteMage0": ( - vox_spec: ("armor.back.velorite_battlemage", (-5.0, -1.0, -14.0)), - color: None - ), - "LeatherBlue0": ( - vox_spec: ("armor.back.leather_blue-0", (-5.0, -1.0, -11.0)), - color: None - ), + "Short0": ( + vox_spec: ("armor.back.short-0", (-5.0, -1.0, -11.0)), + color: None + ), + "Admin": ( + vox_spec: ("armor.back.admin", (-5.0, -1.0, -11.0)), + color: None + ), + "DungPurp0": ( + vox_spec: ("armor.back.dung_purp-0", (-5.0, -1.0, -14.0)), + color: None + ), + "Short1": ( + vox_spec: ("armor.back.short-1", (-5.0, -1.0, -11.0)), + color: None + ), + "Short2": ( + vox_spec: ("armor.back.short-2", (-5.0, -1.0, -11.0)), + color: None + ), + "Backpack0": ( + vox_spec: ("armor.back.backpack-0", (-7.0, -5.0, -10.0)), + color: None + ), + "BackpackBlue0": ( + vox_spec: ("armor.back.backpack-grey", (-7.0, -5.0, -10.0)), + color: Some((76, 72, 178)) + ), + "VeloriteMage0": ( + vox_spec: ("armor.back.velorite_battlemage", (-5.0, -1.0, -14.0)), + color: None + ), + "LeatherBlue0": ( + vox_spec: ("armor.back.leather_blue-0", (-5.0, -1.0, -11.0)), + color: None + ), + "Warlord": ( + vox_spec: ("armor.back.warlord", (-5.0, -1.0, -14.0)), + color: None + ), + "Warlock": ( + vox_spec: ("armor.back.warlock", (-5.0, -1.5, -15.5)), + color: None + ), }, )) diff --git a/assets/voxygen/voxel/humanoid_armor_belt_manifest.ron b/assets/voxygen/voxel/humanoid_armor_belt_manifest.ron index 4e6ced2872..c7251d3ee7 100644 --- a/assets/voxygen/voxel/humanoid_armor_belt_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_belt_manifest.ron @@ -87,6 +87,14 @@ "VeloriteMage0": ( vox_spec: ("armor.belt.velorite_battlemage", (-5.0, -3.5, 2.0)), color: None - ), + ), + "Warlord":( + vox_spec: ("armor.belt.warlord", (-4.0, -3.5, 1.0)), + color: None + ), + "Warlock":( + vox_spec: ("armor.belt.warlock", (-4.0, -3.0, 2.0)), + color: None + ), }, )) diff --git a/assets/voxygen/voxel/humanoid_armor_chest_manifest.ron b/assets/voxygen/voxel/humanoid_armor_chest_manifest.ron index 4fd1436700..786d64cb9d 100644 --- a/assets/voxygen/voxel/humanoid_armor_chest_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_chest_manifest.ron @@ -88,27 +88,27 @@ "WorkerPurple0": ( vox_spec: ("armor.chest.worker_white-0", (-7.0, -3.5, 2.0)), color: Some((64, 47, 56)) - ), + ), "WorkerPurple1": ( vox_spec: ("armor.chest.shirt_white-0", (-7.0, -3.5, 2.0)), color: Some((64, 47, 56)) - ), + ), "WorkerYellow0": ( vox_spec: ("armor.chest.worker_white-0", (-7.0, -3.5, 2.0)), color: Some((184, 132, 40)) - ), + ), "WorkerYellow1": ( vox_spec: ("armor.chest.shirt_white-0", (-7.0, -3.5, 2.0)), - color: Some((184, 132, 40)) - ), + color: Some((184, 132, 40)) + ), "WorkerOrange0": ( vox_spec: ("armor.chest.worker_white-0", (-7.0, -3.5, 2.0)), color: Some((135, 82, 67)) - ), + ), "WorkerOrange1": ( vox_spec: ("armor.chest.shirt_white-0", (-7.0, -3.5, 2.0)), color: Some((135, 82, 67)) - ), + ), "Druid": ( vox_spec: ("armor.chest.druid", (-7.0, -3.5, 2.0)), color: None @@ -153,7 +153,14 @@ "VeloriteMage0": ( vox_spec: ("armor.chest.velorite_battlemage", (-7.0, -3.5, 0.5)), color: None - ), + ), + "Warlord": ( + vox_spec: ("armor.chest.warlord", (-7.0, -3.5, -0.5)), + color: None + ), + "Warlock": ( + vox_spec: ("armor.chest.warlock", (-7.0, -3.5, 0.5)), + color: None + ), }, -) -) +)) diff --git a/assets/voxygen/voxel/humanoid_armor_foot_manifest.ron b/assets/voxygen/voxel/humanoid_armor_foot_manifest.ron index ff4958709c..0e86f2f0d8 100644 --- a/assets/voxygen/voxel/humanoid_armor_foot_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_foot_manifest.ron @@ -1,4 +1,4 @@ -(( +(( default: ( vox_spec: ("armor.foot.foot_none", (-2.5, -3.5, -2.0)), color: None @@ -11,7 +11,7 @@ "Assassin": ( vox_spec: ("armor.foot.assa", (-2.5, -3.5, -2.0)), color: None - ), + ), "Jester": ( vox_spec: ("armor.foot.dark_jester-elf_shoe", (-2.5, -3.0, -2.0)), color: None @@ -83,6 +83,14 @@ "VeloriteMage0": ( vox_spec: ("armor.foot.velorite_battlemage", (-2.5, -3.5, -2.0)), color: None - ), + ), + "Warlord": ( + vox_spec: ("armor.foot.warlord", (-2.5, -3.5, -2.0)), + color: None + ), + "Warlock": ( + vox_spec: ("armor.foot.warlock", (-2.5, -3.5, -2.0)), + color: None + ), }, )) diff --git a/assets/voxygen/voxel/humanoid_armor_hand_manifest.ron b/assets/voxygen/voxel/humanoid_armor_hand_manifest.ron index a88e064de7..32503f4e36 100644 --- a/assets/voxygen/voxel/humanoid_armor_hand_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_hand_manifest.ron @@ -190,5 +190,25 @@ color: None ) ), + "Warlord": ( + left: ( + vox_spec: ("armor.hand.warlord_left", (-3.0, -2.0, -5.0)), + color: None + ), + right: ( + vox_spec: ("armor.hand.warlord_right", (-2.0, -2.0, -5.0)), + color: None + ) + ), + "Warlock": ( + left: ( + vox_spec: ("armor.hand.warlock_left", (-4.5, -3.5, -5.0)), + color: None + ), + right: ( + vox_spec: ("armor.hand.warlock_right", (-2.5, -3.5, -5.0)), + color: None + ) + ), }, )) diff --git a/assets/voxygen/voxel/humanoid_armor_pants_manifest.ron b/assets/voxygen/voxel/humanoid_armor_pants_manifest.ron index f5a4d04f77..81e6991489 100644 --- a/assets/voxygen/voxel/humanoid_armor_pants_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_pants_manifest.ron @@ -31,7 +31,7 @@ "Kimono": ( vox_spec: ("armor.pants.cloth_red_kimono", (-5.0, -3.5, 0.0)), color: None - ), + ), "PlateGreen0": ( vox_spec: ("armor.pants.plate_green-0", (-5.0, -3.5, 1.0)), color: None @@ -67,7 +67,7 @@ "CultistPurple": ( vox_spec: ("armor.pants.cultist", (-5.0, -3.5, 1.0)), color: Some((30, 0, 64)) - ), + ), "Steel0": ( vox_spec: ("armor.pants.steel-0", (-6.0, -4.5, 1.0)), color: None @@ -101,12 +101,20 @@ color: None ), "VeloriteMage0": ( - vox_spec: ("armor.pants.velorite_battlemage", (-6.0, -3.5, -2.0)), - color: None - ), - "LeatherBlue0": ( - vox_spec: ("armor.pants.leather_blue-0", (-5.0, -3.5, 1.0)), - color: None - ), + vox_spec: ("armor.pants.velorite_battlemage", (-6.0, -3.5, -2.0)), + color: None + ), + "LeatherBlue0": ( + vox_spec: ("armor.pants.leather_blue-0", (-5.0, -3.5, 1.0)), + color: None + ), + "Warlord": ( + vox_spec: ("armor.pants.warlord", (-6.0, -4.5, -2.0)), + color: None + ), + "Warlock": ( + vox_spec: ("armor.pants.warlock", (-5.0, -4.0, -2.0)), + color: None + ), }, )) diff --git a/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron b/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron index d2b24f4141..fd8ce1ab32 100644 --- a/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron @@ -170,7 +170,7 @@ vox_spec: ("armor.shoulder.twigsflowers_shoulder_right", (-1.5, -5.0, 0.0)), color: None ), - ), + ), "ClothBlue1": ( left: ( vox_spec: ("armor.shoulder.cloth_blue_left-1", (-4.0, -2.5, -0.5)), @@ -240,7 +240,7 @@ vox_spec: ("armor.shoulder.leather_strips_right", (-2.0, -2.5, -2.0)), color: None ) - ), + ), "DruidShoulder": ( left: ( vox_spec: ("armor.shoulder.druid_left", (-4.0, -4.5 , -3.0)), @@ -281,5 +281,25 @@ color: None ) ), + "Warlord": ( + left: ( + vox_spec: ("armor.shoulder.warlord_left", (-8.0, -3.5 , -2.5)), + color: None + ), + right: ( + vox_spec: ("armor.shoulder.warlord_right", (-1.0, -3.5 , -2.5)), + color: None + ) + ), + "Warlock": ( + left: ( + vox_spec: ("armor.shoulder.warlock_left", (-6.0, -4.0 , -2.0)), + color: None + ), + right: ( + vox_spec: ("armor.shoulder.warlock_left", (0.0, -4.0, -2.0)), + color: None + ) + ), }, )) diff --git a/common/src/loadout_builder.rs b/common/src/loadout_builder.rs index 74588d3630..1891e87492 100644 --- a/common/src/loadout_builder.rs +++ b/common/src/loadout_builder.rs @@ -30,8 +30,14 @@ use rand::Rng; #[derive(Copy, Clone)] pub enum LoadoutConfig { Guard, - Cultist, Villager, + Outcast, + Highwayman, + Bandit, + CultistNovice, + CultistAcolyte, + Warlord, + Warlock, } pub struct LoadoutBuilder(Loadout); @@ -89,27 +95,187 @@ impl LoadoutBuilder { config: Option, ) -> Self { let loadout = if let Some(config) = config { + let active_item = if let Some(ItemKind::Tool(_)) = main_tool.as_ref().map(|i| i.kind()) + { + main_tool.map(|item| ItemConfig::from((item, map))) + } else { + Some(ItemConfig { + // We need the empty item so npcs can attack + item: Item::new_from_asset_expect("common.items.weapons.empty.empty"), + ability1: Some(CharacterAbility::default()), + ability2: None, + ability3: None, + block_ability: None, + dodge_ability: None, + }) + }; + use LoadoutConfig::*; match config { Guard => Loadout { - active_item: None, + active_item, second_item: None, - shoulder: None, - chest: None, - belt: None, - hand: None, - pants: None, - foot: None, + shoulder: Some(Item::new_from_asset_expect( + "common.items.armor.shoulder.chain", + )), + chest: Some(Item::new_from_asset_expect( + "common.items.armor.chest.steel_0", + )), + belt: Some(Item::new_from_asset_expect( + "common.items.armor.belt.steel_0", + )), + hand: Some(Item::new_from_asset_expect( + "common.items.armor.hand.steel_0", + )), + pants: Some(Item::new_from_asset_expect( + "common.items.armor.pants.steel_0", + )), + foot: Some(Item::new_from_asset_expect( + "common.items.armor.foot.steel_0", + )), back: None, ring: None, neck: None, - lantern: None, + lantern: match rand::thread_rng().gen_range(0, 3) { + 0 => Some(Item::new_from_asset_expect("common.items.lantern.black_0")), + _ => None, + }, glider: None, head: None, tabard: None, }, - Cultist => Loadout { - active_item: None, + Outcast => Loadout { + active_item, + second_item: None, + shoulder: Some(Item::new_from_asset_expect( + "common.items.armor.shoulder.cloth_purple_0", + )), + chest: Some(Item::new_from_asset_expect( + "common.items.armor.chest.cloth_purple_0", + )), + belt: Some(Item::new_from_asset_expect( + "common.items.armor.belt.cloth_purple_0", + )), + hand: Some(Item::new_from_asset_expect( + "common.items.armor.hand.cloth_purple_0", + )), + pants: Some(Item::new_from_asset_expect( + "common.items.armor.pants.cloth_purple_0", + )), + foot: Some(Item::new_from_asset_expect( + "common.items.armor.foot.cloth_purple_0", + )), + back: None, + ring: None, + neck: None, + lantern: match rand::thread_rng().gen_range(0, 3) { + 0 => Some(Item::new_from_asset_expect("common.items.lantern.black_0")), + _ => None, + }, + glider: None, + head: None, + tabard: None, + }, + Highwayman => Loadout { + active_item, + second_item: None, + shoulder: Some(Item::new_from_asset_expect( + "common.items.armor.shoulder.leather_0", + )), + chest: Some(Item::new_from_asset_expect( + "common.items.armor.chest.leather_0", + )), + belt: Some(Item::new_from_asset_expect( + "common.items.armor.belt.leather_0", + )), + hand: Some(Item::new_from_asset_expect( + "common.items.armor.hand.leather_0", + )), + pants: Some(Item::new_from_asset_expect( + "common.items.armor.pants.leather_0", + )), + foot: Some(Item::new_from_asset_expect( + "common.items.armor.foot.leather_0", + )), + back: None, + ring: None, + neck: None, + lantern: match rand::thread_rng().gen_range(0, 3) { + 0 => Some(Item::new_from_asset_expect("common.items.lantern.black_0")), + _ => None, + }, + glider: None, + head: None, + tabard: None, + }, + Bandit => Loadout { + active_item, + second_item: None, + shoulder: Some(Item::new_from_asset_expect( + "common.items.armor.shoulder.assassin", + )), + chest: Some(Item::new_from_asset_expect( + "common.items.armor.chest.assassin", + )), + belt: Some(Item::new_from_asset_expect( + "common.items.armor.belt.assassin", + )), + hand: Some(Item::new_from_asset_expect( + "common.items.armor.hand.assassin", + )), + pants: Some(Item::new_from_asset_expect( + "common.items.armor.pants.assassin", + )), + foot: Some(Item::new_from_asset_expect( + "common.items.armor.foot.assassin", + )), + back: None, + ring: None, + neck: None, + lantern: match rand::thread_rng().gen_range(0, 3) { + 0 => Some(Item::new_from_asset_expect("common.items.lantern.black_0")), + _ => None, + }, + glider: None, + head: None, + tabard: None, + }, + CultistNovice => Loadout { + active_item, + second_item: None, + shoulder: Some(Item::new_from_asset_expect( + "common.items.armor.shoulder.steel_0", + )), + chest: Some(Item::new_from_asset_expect( + "common.items.armor.chest.steel_0", + )), + belt: Some(Item::new_from_asset_expect( + "common.items.armor.belt.steel_0", + )), + hand: Some(Item::new_from_asset_expect( + "common.items.armor.hand.steel_0", + )), + pants: Some(Item::new_from_asset_expect( + "common.items.armor.pants.steel_0", + )), + foot: Some(Item::new_from_asset_expect( + "common.items.armor.foot.steel_0", + )), + back: Some(Item::new_from_asset_expect( + "common.items.armor.back.dungeon_purple-0", + )), + ring: None, + neck: None, + lantern: match rand::thread_rng().gen_range(0, 3) { + 0 => Some(Item::new_from_asset_expect("common.items.lantern.black_0")), + _ => None, + }, + glider: None, + head: None, + tabard: None, + }, + CultistAcolyte => Loadout { + active_item, second_item: None, shoulder: Some(Item::new_from_asset_expect( "common.items.armor.shoulder.cultist_shoulder_purple", @@ -142,10 +308,78 @@ impl LoadoutBuilder { head: None, tabard: None, }, + Warlord => Loadout { + active_item, + second_item: None, + shoulder: Some(Item::new_from_asset_expect( + "common.items.armor.shoulder.warlord", + )), + chest: Some(Item::new_from_asset_expect( + "common.items.armor.chest.warlord", + )), + belt: Some(Item::new_from_asset_expect( + "common.items.armor.belt.warlord", + )), + hand: Some(Item::new_from_asset_expect( + "common.items.armor.hand.warlord", + )), + pants: Some(Item::new_from_asset_expect( + "common.items.armor.pants.warlord", + )), + foot: Some(Item::new_from_asset_expect( + "common.items.armor.foot.warlord", + )), + back: Some(Item::new_from_asset_expect( + "common.items.armor.back.warlord", + )), + ring: None, + neck: None, + lantern: match rand::thread_rng().gen_range(0, 3) { + 0 => Some(Item::new_from_asset_expect("common.items.lantern.black_0")), + _ => None, + }, + glider: None, + head: None, + tabard: None, + }, + Warlock => Loadout { + active_item, + second_item: None, + shoulder: Some(Item::new_from_asset_expect( + "common.items.armor.shoulder.warlock", + )), + chest: Some(Item::new_from_asset_expect( + "common.items.armor.chest.warlock", + )), + belt: Some(Item::new_from_asset_expect( + "common.items.armor.belt.warlock", + )), + hand: Some(Item::new_from_asset_expect( + "common.items.armor.hand.warlock", + )), + pants: Some(Item::new_from_asset_expect( + "common.items.armor.pants.warlock", + )), + foot: Some(Item::new_from_asset_expect( + "common.items.armor.foot.warlock", + )), + back: Some(Item::new_from_asset_expect( + "common.items.armor.back.warlock", + )), + ring: None, + neck: None, + lantern: match rand::thread_rng().gen_range(0, 3) { + 0 => Some(Item::new_from_asset_expect("common.items.lantern.black_0")), + _ => None, + }, + glider: None, + head: None, + tabard: None, + }, Villager => { if is_giant { Loadout { - active_item: None, + active_item, second_item: None, shoulder: Some(Item::new_from_asset_expect( "common.items.armor.shoulder.plate_0", @@ -179,7 +413,7 @@ impl LoadoutBuilder { } } else { Loadout { - active_item: None, + active_item, second_item: None, shoulder: None, chest: Some(Item::new_from_asset_expect( diff --git a/world/src/site/dungeon/mod.rs b/world/src/site/dungeon/mod.rs index d8640fbcc2..3908442686 100644 --- a/world/src/site/dungeon/mod.rs +++ b/world/src/site/dungeon/mod.rs @@ -587,88 +587,106 @@ impl Floor { //.do_if(is_giant, |e| e.into_giant()) .with_body(comp::Body::Humanoid(comp::humanoid::Body::random())) .with_alignment(comp::Alignment::Enemy) - .with_config(common::loadout_builder::LoadoutConfig::Cultist) + .with_config(common::loadout_builder::LoadoutConfig::CultistAcolyte) .with_loot_drop(comp::Item::new_from_asset_expect(chosen)) .with_level(dynamic_rng.gen_range( (room.difficulty as f32).powf(1.25) + 3.0, (room.difficulty as f32).powf(1.5) + 4.0, ).round() as u32); let entity = match room.difficulty { - 0 => entity.with_name("Outcast").with_main_tool( + 0 => entity.with_name("Outcast") + .with_config(common::loadout_builder::LoadoutConfig::Outcast) + .with_main_tool( comp::Item::new_from_asset_expect( match dynamic_rng.gen_range(0, 6) { - 0 => "common.items.npc_weapons.axe.malachite_axe-0", - 1 => "common.items.npc_weapons.sword.cultist_purp_2h-0", - 2 => "common.items.npc_weapons.sword.cultist_purp_2h-0", - 3 => "common.items.npc_weapons.hammer.cultist_purp_2h-0", - 4 => "common.items.npc_weapons.staff.cultist_staff", - _ => "common.items.npc_weapons.bow.horn_longbow-0", + 0 => "common.items.weapons.axe.starter_axe", + 1 => "common.items.weapons.sword.starter_sword", + 2 => "common.items.weapons.sword.starter_sword", + 3 => "common.items.weapons.hammer.starter_hammer", + 4 => "common.items.weapons.staff.starter_staff", + _ => "common.items.weapons.bow.starter_bow", }, ), ), - 1 => entity.with_name("Highwayman").with_main_tool( + 1 => entity.with_name("Highwayman") + .with_config(common::loadout_builder::LoadoutConfig::Highwayman) + .with_main_tool( comp::Item::new_from_asset_expect( match dynamic_rng.gen_range(0, 6) { - 0 => "common.items.npc_weapons.axe.malachite_axe-0", - 1 => "common.items.npc_weapons.sword.cultist_purp_2h-0", - 2 => "common.items.npc_weapons.sword.cultist_purp_2h-0", - 3 => "common.items.npc_weapons.hammer.cultist_purp_2h-0", - 4 => "common.items.npc_weapons.staff.cultist_staff", - _ => "common.items.npc_weapons.bow.horn_longbow-0", + 0 => "common.items.weapons.axe.worn_iron_axe-0", + 1 => "common.items.weapons.sword.zweihander_sword_0", + 2 => "common.items.weapons.sword.zweihander_sword_0", + 3 => "common.items.weapons.hammer.worn_iron_hammer-0", + 4 => "common.items.weapons.staff.bone_staff", + _ => "common.items.weapons.bow.wood_shortbow-1", }, ), ), - 2 => entity.with_name("Bandit").with_main_tool( + 2 => entity.with_name("Bandit") + .with_config(common::loadout_builder::LoadoutConfig::Bandit) + .with_main_tool( comp::Item::new_from_asset_expect( match dynamic_rng.gen_range(0, 6) { - 0 => "common.items.npc_weapons.axe.malachite_axe-0", - 1 => "common.items.npc_weapons.sword.cultist_purp_2h-0", - 2 => "common.items.npc_weapons.sword.cultist_purp_2h-0", - 3 => "common.items.npc_weapons.hammer.cultist_purp_2h-0", - 4 => "common.items.npc_weapons.staff.cultist_staff", - _ => "common.items.npc_weapons.bow.horn_longbow-0", + 0 => "common.items.weapons.axe.bronze_axe-0", + 1 => "common.items.weapons.sword.greatsword_2h_simple-0", + 2 => "common.items.weapons.sword.cultist_purp_2h-0", + 3 => "common.items.weapons.hammer.bronze_hammer-0", + 4 => "common.items.weapons.staff.bone_staff", + _ => "common.items.weapons.bow.wood_longbow-0", }, ), ), - 3 => entity.with_name("Cultist Novice").with_main_tool( + 3 => entity.with_name("Cultist Novice") + .with_config(common::loadout_builder::LoadoutConfig::CultistNovice) + .with_main_tool( comp::Item::new_from_asset_expect( match dynamic_rng.gen_range(0, 6) { - 0 => "common.items.npc_weapons.axe.malachite_axe-0", - 1 => "common.items.npc_weapons.sword.cultist_purp_2h-0", - 2 => "common.items.npc_weapons.sword.cultist_purp_2h-0", - 3 => "common.items.npc_weapons.hammer.cultist_purp_2h-0", - 4 => "common.items.npc_weapons.staff.cultist_staff", - _ => "common.items.npc_weapons.bow.horn_longbow-0", + 0 => "common.items.weapons.axe.steel_axe-0", + 1 => "common.items.weapons.sword.long_2h_orn-0", + 2 => "common.items.weapons.sword.long_2h_orn-0", + 3 => "common.items.weapons.hammer.cobalt_hammer-0", + 4 => "common.items.weapons.staff.amethyst_staff", + _ => "common.items.weapons.bow.horn_longbow-0", }, ), ), - 4 => entity.with_name("Cultist Acolyte").with_main_tool( + 4 => entity.with_name("Cultist Acolyte") + .with_config(common::loadout_builder::LoadoutConfig::CultistAcolyte) + .with_main_tool( comp::Item::new_from_asset_expect( match dynamic_rng.gen_range(0, 6) { - 0 => "common.items.npc_weapons.axe.malachite_axe-0", - 1 => "common.items.npc_weapons.sword.cultist_purp_2h-0", - 2 => "common.items.npc_weapons.sword.cultist_purp_2h-0", - 3 => "common.items.npc_weapons.hammer.cultist_purp_2h-0", - 4 => "common.items.npc_weapons.staff.cultist_staff", - _ => "common.items.npc_weapons.bow.horn_longbow-0", + 0 => "common.items.weapons.axe.malachite_axe-0", + 1 => "common.items.weapons.sword.cultist_purp_2h-0", + 2 => "common.items.weapons.sword.cultist_purp_2h-0", + 3 => "common.items.weapons.hammer.cultist_purp_2h-0", + 4 => "common.items.weapons.staff.cultist_staff", + _ => "common.items.weapons.bow.horn_longbow-0", }, ), ), - 5 => entity.with_name("Cultist Elite").with_main_tool( - comp::Item::new_from_asset_expect( - match dynamic_rng.gen_range(0, 6) { - 0 => "common.items.npc_weapons.axe.malachite_axe-0", - 1 => "common.items.npc_weapons.sword.cultist_purp_2h-0", - 2 => "common.items.npc_weapons.sword.cultist_purp_2h-0", - 3 => "common.items.npc_weapons.hammer.cultist_purp_2h-0", - 4 => "common.items.npc_weapons.staff.cultist_staff", - _ => "common.items.npc_weapons.bow.horn_longbow-0", - }, + 5 => match dynamic_rng.gen_range(0, 6) { + 0 => entity.with_name("Cultist Warlock") + .with_config(common::loadout_builder::LoadoutConfig::Warlock) + .with_main_tool( + comp::Item::new_from_asset_expect("common.items.npc_weapons.staff.cultist_staff"), ), - ), + _ => entity.with_name("Cultist Warlord") + .with_config(common::loadout_builder::LoadoutConfig::Warlord) + .with_main_tool( + comp::Item::new_from_asset_expect( + match dynamic_rng.gen_range(0, 5) { + 0 => "common.items.weapons.axe.malachite_axe-0", + 1 => "common.items.weapons.sword.cultist_purp_2h-0", + 2 => "common.items.weapons.sword.cultist_purp_2h-0", + 3 => "common.items.weapons.hammer.cultist_purp_2h-0", + _ => "common.items.weapons.bow.horn_longbow-0", + }, + ), + ), + }, _ => entity.with_name("Humanoid").with_main_tool( comp::Item::new_from_asset_expect( - "common.items.npc_weapons.bow.horn_longbow-0", + "common.items.weapons.bow.horn_longbow-0", ), ), };