Removed all unique and simple tool kinds.

This commit is contained in:
Sam 2021-04-30 15:25:08 -04:00
parent a35b8b4aad
commit 3cb0ee98c8
130 changed files with 922 additions and 791 deletions

View File

@ -29,9 +29,9 @@
(Some(Bow(UnlockRepeater)), "common.abilities.bow.repeater"),
],
),
Tool(Unique(Husk)): (
primary: "common.abilities.unique.husk.singlestrike",
secondary: "common.abilities.unique.husk.triplestrike",
Custom("Husk"): (
primary: "common.abilities.custom.husk.singlestrike",
secondary: "common.abilities.custom.husk.triplestrike",
abilities: [],
),
Tool(Spear): (
@ -40,28 +40,28 @@
abilities: [],
),
Tool(HammerSimple): (
Custom("Hammer Simple"): (
primary: "common.abilities.hammersimple.doublestrike",
secondary: "common.abilities.hammersimple.doublestrike",
abilities: [],
),
Tool(AxeSimple): (
Custom("Axe Simple"): (
primary: "common.abilities.axesimple.doublestrike",
secondary: "common.abilities.axesimple.dash",
abilities: [],
),
Tool(SwordSimple): (
Custom("Sword Simple"): (
primary: "common.abilities.swordsimple.doublestrike",
secondary: "common.abilities.swordsimple.dash",
abilities: [
],
),
Tool(StaffSimple): (
Custom("Staff Simple"): (
primary: "common.abilities.staffsimple.firebomb",
secondary: "common.abilities.staffsimple.flamethrower",
abilities: [],
),
Tool(BowSimple): (
Custom("Bow Simple"): (
primary: "common.abilities.bowsimple.basic",
secondary: "common.abilities.bowsimple.basic",
abilities: [
@ -91,134 +91,134 @@
secondary: "common.abilities.shield.block",
abilities: [],
),
Tool(Unique(StoneGolemFist)): (
primary: "common.abilities.unique.stonegolemfist.singlestrike",
secondary: "common.abilities.unique.stonegolemfist.shockwave",
Custom("Stone Golem"): (
primary: "common.abilities.custom.stonegolemfist.singlestrike",
secondary: "common.abilities.custom.stonegolemfist.shockwave",
abilities: [
(None, "common.abilities.unique.stonegolemfist.spin"),
(None, "common.abilities.custom.stonegolemfist.spin"),
],
),
Tool(Unique(BeastClaws)): (
primary: "common.abilities.unique.beastclaws.basic",
secondary: "common.abilities.unique.beastclaws.basic",
Custom("Beast Claws"): (
primary: "common.abilities.custom.beastclaws.basic",
secondary: "common.abilities.custom.beastclaws.basic",
abilities: [],
),
Tool(Unique(WendigoMagic)): (
primary: "common.abilities.unique.wendigomagic.frostbomb",
secondary: "common.abilities.unique.wendigomagic.singlestrike",
Custom("Wendigo Magic"): (
primary: "common.abilities.custom.wendigomagic.frostbomb",
secondary: "common.abilities.custom.wendigomagic.singlestrike",
abilities: [],
),
Tool(Unique(TidalClaws)): (
Custom("Tidal Claws"): (
primary: "common.abilities.staff.flamethrower",
secondary: "common.abilities.unique.wendigomagic.singlestrike",
secondary: "common.abilities.custom.wendigomagic.singlestrike",
abilities: [],
),
Tool(Unique(QuadMedQuick)): (
primary: "common.abilities.unique.quadmedquick.triplestrike",
secondary: "common.abilities.unique.quadmedquick.dash",
Custom("Quad Med Quick"): (
primary: "common.abilities.custom.quadmedquick.triplestrike",
secondary: "common.abilities.custom.quadmedquick.dash",
abilities: [],
),
Tool(Unique(QuadMedJump)): (
primary: "common.abilities.unique.quadmedjump.leap",
secondary: "common.abilities.unique.quadmedjump.doublestrike",
Custom("Quad Med Jump"): (
primary: "common.abilities.custom.quadmedjump.leap",
secondary: "common.abilities.custom.quadmedjump.doublestrike",
abilities: [
(None, "common.abilities.unique.quadmedjump.quickleap"),
(None, "common.abilities.custom.quadmedjump.quickleap"),
],
),
Tool(Unique(QuadMedCharge)): (
primary: "common.abilities.unique.quadmedcharge.doublestrike",
secondary: "common.abilities.unique.quadmedcharge.dash",
Custom("Quad Med Charge"): (
primary: "common.abilities.custom.quadmedcharge.doublestrike",
secondary: "common.abilities.custom.quadmedcharge.dash",
abilities: [],
),
Tool(Unique(QuadMedHoof)): (
primary: "common.abilities.unique.quadmedhoof.basic",
secondary: "common.abilities.unique.quadmedhoof.basic",
Custom("Quad Med Hoof"): (
primary: "common.abilities.custom.quadmedhoof.basic",
secondary: "common.abilities.custom.quadmedhoof.basic",
abilities: [],
),
Tool(Unique(QuadMedBasic)): (
primary: "common.abilities.unique.quadmedbasic.singlestrike",
secondary: "common.abilities.unique.quadmedbasic.triplestrike",
Custom("Quad Med Basic"): (
primary: "common.abilities.custom.quadmedbasic.singlestrike",
secondary: "common.abilities.custom.quadmedbasic.triplestrike",
abilities: [],
),
Tool(Unique(QuadLowRanged)): (
primary: "common.abilities.unique.quadlowranged.singlestrike",
secondary: "common.abilities.unique.quadlowranged.firebomb",
Custom("Quad Low Ranged"): (
primary: "common.abilities.custom.quadlowranged.singlestrike",
secondary: "common.abilities.custom.quadlowranged.firebomb",
abilities: [],
),
Tool(Unique(QuadLowBreathe)): (
primary: "common.abilities.unique.quadlowbreathe.flamethrower",
secondary: "common.abilities.unique.quadlowbreathe.triplestrike",
Custom("Quad Low Breathe"): (
primary: "common.abilities.custom.quadlowbreathe.flamethrower",
secondary: "common.abilities.custom.quadlowbreathe.triplestrike",
abilities: [
(None, "common.abilities.unique.quadlowbreathe.dash"),
(None, "common.abilities.custom.quadlowbreathe.dash"),
],
),
Tool(Unique(QuadLowTail)): (
primary: "common.abilities.unique.quadlowtail.charged",
secondary: "common.abilities.unique.quadlowtail.triplestrike",
Custom("Quad Low Tail"): (
primary: "common.abilities.custom.quadlowtail.charged",
secondary: "common.abilities.custom.quadlowtail.triplestrike",
abilities: [],
),
Tool(Unique(QuadLowQuick)): (
primary: "common.abilities.unique.quadlowquick.dash",
secondary: "common.abilities.unique.quadlowquick.quadstrike",
Custom("Quad Low Quick"): (
primary: "common.abilities.custom.quadlowquick.dash",
secondary: "common.abilities.custom.quadlowquick.quadstrike",
abilities: [],
),
Tool(Unique(QuadLowBasic)): (
primary: "common.abilities.unique.quadlowbasic.triplestrike",
secondary: "common.abilities.unique.quadlowbasic.singlestrike",
Custom("Quad Low Basic"): (
primary: "common.abilities.custom.quadlowbasic.triplestrike",
secondary: "common.abilities.custom.quadlowbasic.singlestrike",
abilities: [],
),
Tool(Unique(QuadLowBeam)): (
primary: "common.abilities.unique.quadlowbeam.healingbeam",
secondary: "common.abilities.unique.quadlowbreathe.triplestrike",
Custom("Quad Low Beam"): (
primary: "common.abilities.custom.quadlowbeam.healingbeam",
secondary: "common.abilities.custom.quadlowbreathe.triplestrike",
abilities: [
(None, "common.abilities.unique.quadlowbreathe.dash"),
(None, "common.abilities.custom.quadlowbreathe.dash"),
],
),
Tool(Unique(QuadSmallBasic)): (
primary: "common.abilities.unique.quadsmallbasic.singlestrike",
secondary: "common.abilities.unique.quadsmallbasic.singlestrike",
Custom("Quad Small Basic"): (
primary: "common.abilities.custom.quadsmallbasic.singlestrike",
secondary: "common.abilities.custom.quadsmallbasic.singlestrike",
abilities: [],
),
Tool(Unique(TheropodBasic)): (
primary: "common.abilities.unique.theropodbasic.triplestrike",
secondary: "common.abilities.unique.theropodbasic.triplestrike",
Custom("Theropod Basic"): (
primary: "common.abilities.custom.theropodbasic.triplestrike",
secondary: "common.abilities.custom.theropodbasic.triplestrike",
abilities: [],
),
Tool(Unique(TheropodBird)): (
primary: "common.abilities.unique.theropodbird.triplestrike",
secondary: "common.abilities.unique.theropodbird.triplestrike",
Custom("Theropod Bird"): (
primary: "common.abilities.custom.theropodbird.triplestrike",
secondary: "common.abilities.custom.theropodbird.triplestrike",
abilities: [],
),
Tool(Unique(TheropodCharge)): (
primary: "common.abilities.unique.theropodbird.triplestrike",
secondary: "common.abilities.unique.theropodbasic.dash",
Custom("Theropod Charge"): (
primary: "common.abilities.custom.theropodbird.triplestrike",
secondary: "common.abilities.custom.theropodbasic.dash",
abilities: [],
),
Tool(Unique(ObjectTurret)): (
primary: "common.abilities.unique.turret.arrows",
secondary: "common.abilities.unique.turret.arrows",
Custom("Turret"): (
primary: "common.abilities.custom.turret.arrows",
secondary: "common.abilities.custom.turret.arrows",
abilities: [],
),
// Tool(Unique(MindflayerStaff)): (
// primary: "common.abilities.unique.mindflayer.cursedflames",
// secondary: "common.abilities.unique.mindflayer.necroticvortex",
// abilities: [
// (None, "common.abilities.unique.mindflayer.dimensionaldoor"),
// (None, "common.abilities.unique.mindflayer.summonminions"),
// ],
// ),
Tool(Unique(BirdLargeBreathe)): (
primary: "common.abilities.unique.birdlargebreathe.firebomb",
secondary: "common.abilities.unique.birdlargebreathe.triplestrike",
Custom("Mindflayer"): (
primary: "common.abilities.custom.mindflayer.cursedflames",
secondary: "common.abilities.custom.mindflayer.necroticvortex",
abilities: [
(None, "common.abilities.unique.birdlargebreathe.flamethrower"),
(None, "common.abilities.custom.mindflayer.dimensionaldoor"),
(None, "common.abilities.custom.mindflayer.summonminions"),
],
),
Tool(Unique(BirdLargeFire)): (
primary: "common.abilities.unique.birdlargefire.firebomb",
secondary: "common.abilities.unique.birdlargefire.triplestrike",
Custom("Bird Large Breathe"): (
primary: "common.abilities.custom.birdlargebreathe.firebomb",
secondary: "common.abilities.custom.birdlargebreathe.triplestrike",
abilities: [
(None, "common.abilities.unique.birdlargefire.fireshockwave"),
(None, "common.abilities.custom.birdlargebreathe.flamethrower"),
],
),
Custom("Bird Large Fire"): (
primary: "common.abilities.custom.birdlargefire.firebomb",
secondary: "common.abilities.custom.birdlargefire.triplestrike",
abilities: [
(None, "common.abilities.custom.birdlargefire.fireshockwave"),
],
),
Tool(Debug): (

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Minotaur Axe",
description: "Placeholder",
kind: Tool((
kind: AxeSimple,
kind: Axe,
hands: Two,
stats: Direct((
equip_time_secs: 0.5,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Axe Simple"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Blue Oni Axe",
description: "Placeholder",
kind: Tool((
kind: AxeSimple,
kind: Axe,
hands: Two,
stats: Direct((
equip_time_secs: 0.5,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Axe Simple"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Gnoll Staff",
description: "eekum bokum",
kind: Tool((
kind: StaffSimple,
kind: Staff,
hands: Two,
stats: Direct((
equip_time_secs: 0.0,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Staff Simple"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Gnoll Staff",
description: "eekum bokum",
kind: Tool((
kind: StaffSimple,
kind: Staff,
hands: Two,
stats: Direct((
equip_time_secs: 0.0,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Staff Simple"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Gnoll Staff",
description: "eekum bokum",
kind: Tool((
kind: StaffSimple,
kind: Staff,
hands: Two,
stats: Direct((
equip_time_secs: 0.0,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Staff Simple"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Gnoll Staff",
description: "eekum bokum",
kind: Tool((
kind: StaffSimple,
kind: Staff,
hands: Two,
stats: Direct((
equip_time_secs: 0.0,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Staff Simple"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Gnoll Staff",
description: "eekum bokum",
kind: Tool((
kind: StaffSimple,
kind: Staff,
hands: Two,
stats: Direct((
equip_time_secs: 0.0,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Staff Simple"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Saurok bow",
description: "Placeholder",
kind: Tool((
kind: BowSimple,
kind: Bow,
hands: Two,
stats: Direct((
equip_time_secs: 0.5,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Bow Simple"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Cyclops Hammer",
description: "Placeholder",
kind: Tool((
kind: HammerSimple,
kind: Hammer,
hands: Two,
stats: Direct((
equip_time_secs: 0.5,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Hammer Simple"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Harvester Sythe",
description: "Placeholder",
kind: Tool((
kind: HammerSimple,
kind: Hammer,
hands: Two,
stats: Direct((
equip_time_secs: 0.001,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Hammer Simple"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Ogre Hammer",
description: "Placeholder",
kind: Tool((
kind: HammerSimple,
kind: Hammer,
hands: Two,
stats: Direct((
equip_time_secs: 0.5,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Hammer Simple"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Red Oni Hammer",
description: "Placeholder",
kind: Tool((
kind: HammerSimple,
kind: Hammer,
hands: Two,
stats: Direct((
equip_time_secs: 0.5,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Hammer Simple"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Troll Hammer",
description: "Placeholder",
kind: Tool((
kind: HammerSimple,
kind: Hammer,
hands: Two,
stats: Direct((
equip_time_secs: 0.5,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Hammer Simple"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Yeti Hammer",
description: "Placeholder",
kind: Tool((
kind: HammerSimple,
kind: Hammer,
hands: Two,
stats: Direct((
equip_time_secs: 0.0,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Hammer Simple"),
)

View File

@ -15,4 +15,5 @@ ItemDef(
)),
quality: Legendary,
tags: [],
ability_set: Some(Custom("Mindflayer")),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Ogre Staff",
description: "Placeholder",
kind: Tool((
kind: StaffSimple,
kind: Staff,
hands: Two,
stats: Direct((
equip_time_secs: 0.5,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Staff Simple"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Saurok Staff",
description: "Placeholder",
kind: Tool((
kind: StaffSimple,
kind: Staff,
hands: Two,
stats: Direct((
equip_time_secs: 0.5,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Staff Simple"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Dullahan Sword",
description: "Placehoder",
kind: Tool((
kind: SwordSimple,
kind: Sword,
hands: Two,
stats: Direct((
equip_time_secs: 0.5,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Sword Simple"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Saurok Sword",
description: "Placehoder",
kind: Tool((
kind: SwordSimple,
kind: Sword,
hands: Two,
stats: Direct((
equip_time_secs: 0.5,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Sword Simple"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Beast Claws",
description: "Was attached to a beast.",
kind: Tool((
kind: Unique(BeastClaws),
kind: Natural,
hands: Two,
stats: Direct((
equip_time_secs: 0.5,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Beast Claws")
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Bird Large Breathe",
description: "testing123",
kind: Tool((
kind: Unique(BirdLargeBreathe),
kind: Natural,
hands: Two,
stats: Direct((
equip_time_secs: 0.01,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Bird Large Breathe"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Bird Large Fire",
description: "testing123",
kind: Tool((
kind: Unique(BirdLargeFire),
kind: Natural,
hands: Two,
stats: Direct((
equip_time_secs: 0.01,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Bird Large Fire"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Husk",
description: "testing123",
kind: Tool((
kind: Unique(Husk),
kind: Natural,
hands: Two,
stats: Direct((
equip_time_secs: 0.01,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Husk"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Quad Low Basic",
description: "testing123",
kind: Tool((
kind: Unique(QuadLowBasic),
kind: Natural,
hands: Two,
stats: Direct((
equip_time_secs: 0.01,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Quad Low Basic"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Quad Small Beam",
description: "testing123",
kind: Tool((
kind: Unique(QuadLowBeam),
kind: Nautral,
hands: Two,
stats: Direct((
equip_time_secs: 0.01,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Quad Low Beam"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Quad Low Breathe",
description: "testing123",
kind: Tool((
kind: Unique(QuadLowBreathe),
kind: Natural,
hands: Two,
stats: Direct((
equip_time_secs: 0.01,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Quad Low Breathe"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Quad Low Quick",
description: "testing123",
kind: Tool((
kind: Unique(QuadLowQuick),
kind: Natural,
hands: Two,
stats: Direct((
equip_time_secs: 0.01,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Quad Low Quick"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Quad Low Ranged",
description: "testing123",
kind: Tool((
kind: Unique(QuadLowRanged),
kind: Natural,
hands: Two,
stats: Direct((
equip_time_secs: 0.01,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Quad Low Ranged"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Quad Low Tail",
description: "testing123",
kind: Tool((
kind: Unique(QuadLowTail),
kind: Natural,
hands: Two,
stats: Direct((
equip_time_secs: 0.01,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Quad Low Tail"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Quad Med Basic",
description: "testing123",
kind: Tool((
kind: Unique(QuadMedBasic),
kind: Natural,
hands: Two,
stats: Direct((
equip_time_secs: 0.01,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Quad Med Basic"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Quad Med Basic",
description: "testing123",
kind: Tool((
kind: Unique(QuadMedBasic),
kind: Natural,
hands: Two,
stats: Direct((
equip_time_secs: 0.01,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Quad Med Basic"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Quad Med Charge",
description: "testing123",
kind: Tool((
kind: Unique(QuadMedCharge),
kind: Natural,
hands: Two,
stats: Direct((
equip_time_secs: 0.01,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Quad Med Charge"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Quad Med Hoof",
description: "testing123",
kind: Tool((
kind: Unique(QuadMedHoof),
kind: Natural,
hands: Two,
stats: Direct((
equip_time_secs: 0.01,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Quad Med Hoof"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Quad Med Jump",
description: "testing123",
kind: Tool((
kind: Unique(QuadMedJump),
kind: Natural,
hands: Two,
stats: Direct((
equip_time_secs: 0.01,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Quad Med Jump"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Quad Med Quick",
description: "testing123",
kind: Tool((
kind: Unique(QuadMedQuick),
kind: Natural,
hands: Two,
stats: Direct((
equip_time_secs: 0.01,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Quad Med Quick"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Quad Small Basic",
description: "testing123",
kind: Tool((
kind: Unique(QuadSmallBasic),
kind: Natural,
hands: Two,
stats: Direct((
equip_time_secs: 0.01,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Quad Small Basic"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Stone Golem's Fist",
description: "Was attached to a mighty stone golem.",
kind: Tool((
kind: Unique(StoneGolemFist),
kind: Natural,
hands: Two,
stats: Direct((
equip_time_secs: 0.001,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Stone Golem"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Theropod Basic",
description: "testing123",
kind: Tool((
kind: Unique(TheropodBasic),
kind: Natural,
hands: Two,
stats: Direct((
equip_time_secs: 0.01,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Theropod Basic"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Theropod Bird",
description: "testing123",
kind: Tool((
kind: Unique(TheropodBird),
kind: Natural,
hands: Two,
stats: Direct((
equip_time_secs: 0.01,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Theropod Bird"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Theropod Charge",
description: "testing123",
kind: Tool((
kind: Unique(TheropodCharge),
kind: Natural,
hands: Two,
stats: Direct((
equip_time_secs: 0.01,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Theropod Charge"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Tidal Claws",
description: "Snip snap",
kind: Tool((
kind: Unique(TidalClaws),
kind: Natural,
hands: Two,
stats: Direct((
equip_time_secs: 0.5,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Tidal Claws"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Turret",
description: "Turret weapon",
kind: Tool((
kind: Unique(ObjectTurret),
kind: Natural,
hands: Two,
stats: Direct((
equip_time_secs: 0.01,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Turret"),
)

View File

@ -2,7 +2,7 @@ ItemDef(
name: "Wendigo Magic",
description: "spook.",
kind: Tool((
kind: Unique(WendigoMagic),
kind: Natural,
hands: Two,
stats: Direct((
equip_time_secs: 0.5,
@ -15,4 +15,5 @@ ItemDef(
)),
quality: Low,
tags: [],
ability_set: Custom("Wendigo Magic"),
)

View File

@ -23,7 +23,7 @@ pub enum Tactic {
Sword,
Bow,
Staff,
StoneGolemBoss,
StoneGolem,
CircleCharge { radius: u32, circle_time: u32 },
QuadLowRanged,
TailSlap,

View File

@ -4,7 +4,7 @@ pub mod tool;
// Reexports
pub use modular::{ModularComponent, ModularComponentKind, ModularComponentTag};
pub use tool::{AbilitySet, AbilitySpec, Hands, MaterialStatManifest, Tool, ToolKind, UniqueKind};
pub use tool::{AbilitySet, AbilitySpec, Hands, MaterialStatManifest, Tool, ToolKind};
use crate::{
assets::{self, AssetExt, Error},
@ -278,7 +278,7 @@ pub struct ItemDef {
pub slots: u16,
/// Used to specify a custom ability set for a weapon. Leave None (or don't
/// include field in ItemDef) to use default ability set for weapon kind.
pub ability_set: Option<String>,
pub ability_set: Option<AbilitySpec>,
}
impl PartialEq for ItemDef {
@ -304,21 +304,27 @@ impl TryFrom<(&Item, &AbilityMap, &MaterialStatManifest)> for ItemConfig {
) -> Result<Self, Self::Error> {
if let ItemKind::Tool(tool) = &item.kind {
// If no custom ability set is specified, fall back to abilityset of tool kind.
let ability_set_key = item
.item_def
.ability_set
.as_ref()
.map_or(AbilitySpec::Tool(tool.kind), |set| {
AbilitySpec::Custom(set.to_string())
});
let abilities = if let Some(set) = ability_map.get_ability_set(&ability_set_key) {
set.clone().modified_by_tool(&tool, msm, &item.components)
let tool_default = ability_map
.get_ability_set(&AbilitySpec::Tool(tool.kind))
.cloned();
let abilities = if let Some(set_key) = item.ability_set() {
if let Some(set) = ability_map.get_ability_set(set_key) {
set.clone().modified_by_tool(&tool, msm, &item.components)
} else {
error!(
"Custom ability set: {:?} references non-existent set, falling back to \
default ability set.",
set_key
);
tool_default.unwrap_or_default()
}
} else if let Some(set) = tool_default {
set.modified_by_tool(&tool, msm, &item.components)
} else {
error!(
"No AbilitySet in the ability map for specification: {:?} falling back to \
default",
ability_set_key
"No ability set defined for tool: {:?}, falling back to default ability \
set.",
tool.kind
);
Default::default()
};
@ -452,7 +458,7 @@ struct RawItemDef {
tags: Vec<ItemTag>,
#[serde(default)]
slots: u16,
ability_set: Option<String>,
ability_set: Option<AbilitySpec>,
}
impl assets::Asset for RawItemDef {
@ -760,6 +766,8 @@ impl Item {
_ => return None,
}))
}
pub fn ability_set(&self) -> Option<&AbilitySpec> { self.item_def.ability_set.as_ref() }
}
/// Provides common methods providing details about an item definition

View File

@ -36,34 +36,34 @@ impl TagExampleInfo for ModularComponentTag {
fn name(&self) -> &'static str {
match self.modkind {
ModularComponentKind::Damage => match self.toolkind {
ToolKind::Sword | ToolKind::SwordSimple => "sword blade",
ToolKind::Axe | ToolKind::AxeSimple => "axe head",
ToolKind::Hammer | ToolKind::HammerSimple => "hammer head",
ToolKind::Bow | ToolKind::BowSimple => "bow limbs",
ToolKind::Sword => "sword blade",
ToolKind::Axe => "axe head",
ToolKind::Hammer => "hammer head",
ToolKind::Bow => "bow limbs",
ToolKind::Dagger => "dagger blade",
ToolKind::Staff | ToolKind::StaffSimple => "staff head",
ToolKind::Staff => "staff head",
ToolKind::Sceptre => "sceptre head",
// TODO: naming
ToolKind::Spear => "spear damage component",
ToolKind::Shield => "shield damage component",
ToolKind::Unique(_) => "unique damage component",
ToolKind::Debug => "debug damage component",
ToolKind::Farming => "farming damage component",
ToolKind::Pick => "pickaxe head",
ToolKind::Natural => "natural damage component",
ToolKind::Empty => "empty damage component",
},
ModularComponentKind::Held => match self.toolkind {
ToolKind::Sword | ToolKind::SwordSimple => "sword hilt",
ToolKind::Axe | ToolKind::AxeSimple => "axe shaft",
ToolKind::Hammer | ToolKind::HammerSimple => "hammer shaft",
ToolKind::Bow | ToolKind::BowSimple => "bow riser",
ToolKind::Sword => "sword hilt",
ToolKind::Axe => "axe shaft",
ToolKind::Hammer => "hammer shaft",
ToolKind::Bow => "bow riser",
ToolKind::Dagger => "dagger grip",
ToolKind::Staff | ToolKind::StaffSimple => "staff shaft",
ToolKind::Staff => "staff shaft",
ToolKind::Sceptre => "sceptre shaft",
// TODO: naming
ToolKind::Spear => "spear held component",
ToolKind::Shield => "shield held component",
ToolKind::Unique(_) => "unique held component",
ToolKind::Natural => "natural held component",
ToolKind::Debug => "debug held component",
ToolKind::Farming => "farming held component",
ToolKind::Pick => "pickaxe handle",
@ -75,48 +75,32 @@ impl TagExampleInfo for ModularComponentTag {
fn exemplar_identifier(&self) -> &'static str {
match self.modkind {
ModularComponentKind::Damage => match self.toolkind {
ToolKind::Sword | ToolKind::SwordSimple => {
"common.items.tag_examples.modular.damage.sword"
},
ToolKind::Axe | ToolKind::AxeSimple => {
"common.items.tag_examples.modular.damage.axe"
},
ToolKind::Hammer | ToolKind::HammerSimple => {
"common.items.tag_examples.modular.damage.hammer"
},
ToolKind::Bow | ToolKind::BowSimple => {
"common.items.tag_examples.modular.damage.bow"
},
ToolKind::Sword => "common.items.tag_examples.modular.damage.sword",
ToolKind::Axe => "common.items.tag_examples.modular.damage.axe",
ToolKind::Hammer => "common.items.tag_examples.modular.damage.hammer",
ToolKind::Bow => "common.items.tag_examples.modular.damage.bow",
ToolKind::Dagger => "common.items.tag_examples.modular.damage.dagger",
ToolKind::Staff | ToolKind::StaffSimple => {
"common.items.tag_examples.modular.damage.staff"
},
ToolKind::Staff => "common.items.tag_examples.modular.damage.staff",
ToolKind::Sceptre => "common.items.tag_examples.modular.damage.sceptre",
ToolKind::Shield => "common.items.tag_examples.modular.damage.shield",
ToolKind::Spear => "common.items.tag_examples.modular.damage.spear",
ToolKind::Unique(_) => "common.items.tag_examples.modular.damage.unique",
ToolKind::Natural => "common.items.tag_examples.modular.damage.natural",
ToolKind::Debug => "common.items.tag_examples.modular.damage.debug",
ToolKind::Farming => "common.items.tag_examples.modular.damage.farming",
ToolKind::Pick => "common.items.tag_examples.modular.damage.pick",
ToolKind::Empty => "common.items.tag_examples.modular.damage.empty",
},
ModularComponentKind::Held => match self.toolkind {
ToolKind::Sword | ToolKind::SwordSimple => {
"common.items.tag_examples.modular.held.sword"
},
ToolKind::Axe | ToolKind::AxeSimple => "common.items.tag_examples.modular.held.axe",
ToolKind::Hammer | ToolKind::HammerSimple => {
"common.items.tag_examples.modular.held.hammer"
},
ToolKind::Bow | ToolKind::BowSimple => "common.items.tag_examples.modular.held.bow",
ToolKind::Sword => "common.items.tag_examples.modular.held.sword",
ToolKind::Axe => "common.items.tag_examples.modular.held.axe",
ToolKind::Hammer => "common.items.tag_examples.modular.held.hammer",
ToolKind::Bow => "common.items.tag_examples.modular.held.bow",
ToolKind::Dagger => "common.items.tag_examples.modular.held.dagger",
ToolKind::Staff | ToolKind::StaffSimple => {
"common.items.tag_examples.modular.held.staff"
},
ToolKind::Staff => "common.items.tag_examples.modular.held.staff",
ToolKind::Sceptre => "common.items.tag_examples.modular.held.sceptre",
ToolKind::Shield => "common.items.tag_examples.modular.held.shield",
ToolKind::Spear => "common.items.tag_examples.modular.held.spear",
ToolKind::Unique(_) => "common.items.tag_examples.modular.held.unique",
ToolKind::Natural => "common.items.tag_examples.modular.held.natural",
ToolKind::Debug => "common.items.tag_examples.modular.held.debug",
ToolKind::Farming => "common.items.tag_examples.modular.held.farming",
ToolKind::Pick => "common.items.tag_examples.modular.held.pick",

View File

@ -17,18 +17,13 @@ pub enum ToolKind {
Sword,
Axe,
Hammer,
HammerSimple, //simple tools utilized by small/large biped variants, to simplify movesets
SwordSimple,
StaffSimple,
BowSimple,
AxeSimple,
Bow,
Dagger,
Staff,
Sceptre,
Shield,
Spear,
Unique(UniqueKind),
Natural, // Intended for invisible weapons (e.g. a creature using its claws or biting)
Debug,
Farming,
Pick,
@ -40,20 +35,15 @@ impl ToolKind {
pub fn identifier_name(&self) -> &'static str {
match self {
ToolKind::Sword => "sword",
ToolKind::SwordSimple => "simple sword",
ToolKind::Axe => "axe",
ToolKind::AxeSimple => "simple axe",
ToolKind::Hammer => "hammer",
ToolKind::HammerSimple => "simple hammer",
ToolKind::Bow => "bow",
ToolKind::BowSimple => "simple bow",
ToolKind::Dagger => "dagger",
ToolKind::Staff => "staff",
ToolKind::StaffSimple => "simple staff",
ToolKind::Spear => "spear",
ToolKind::Sceptre => "sceptre",
ToolKind::Shield => "shield",
ToolKind::Unique(_) => "unique",
ToolKind::Natural => "natural",
ToolKind::Debug => "debug",
ToolKind::Farming => "farming",
ToolKind::Pick => "pickaxe",
@ -424,31 +414,3 @@ impl assets::Compound for AbilityMap {
))
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub enum UniqueKind {
StoneGolemFist,
Husk,
BeastClaws,
WendigoMagic,
TidalClaws,
QuadMedQuick,
QuadMedJump,
QuadMedHoof,
QuadMedBasic,
QuadMedCharge,
QuadLowRanged,
QuadLowBreathe,
QuadLowTail,
QuadLowQuick,
QuadLowBasic,
QuadLowBeam,
QuadSmallBasic,
TheropodBasic,
TheropodBird,
TheropodCharge,
ObjectTurret,
WoodenSpear,
BirdLargeBreathe,
BirdLargeFire,
}

View File

@ -388,7 +388,7 @@ impl LoadoutBuilder {
"common.items.npc_armor.biped_small.adlet.tail.adlet",
)))
.build(),
Some(ToolKind::Spear) | Some(ToolKind::StaffSimple) => LoadoutBuilder::new()
Some(ToolKind::Spear) | Some(ToolKind::Staff) => LoadoutBuilder::new()
.active_item(active_item)
.head(Some(Item::new_from_asset_expect(
"common.items.npc_armor.biped_small.adlet.head.adlet_spear",
@ -433,7 +433,7 @@ impl LoadoutBuilder {
"common.items.npc_armor.biped_small.gnarling.tail.gnarling",
)))
.build(),
Some(ToolKind::StaffSimple) => LoadoutBuilder::new()
Some(ToolKind::Staff) => LoadoutBuilder::new()
.active_item(active_item)
.head(Some(Item::new_from_asset_expect(
"common.items.npc_armor.biped_small.gnarling.head.gnarling",

View File

@ -144,16 +144,11 @@ pub fn skill_to_db_string(skill: comp::skills::Skill) -> String {
UnlockGroup(SkillGroupKind::Weapon(ToolKind::Dagger))
| UnlockGroup(SkillGroupKind::Weapon(ToolKind::Shield))
| UnlockGroup(SkillGroupKind::Weapon(ToolKind::Spear))
| UnlockGroup(SkillGroupKind::Weapon(ToolKind::HammerSimple))
| UnlockGroup(SkillGroupKind::Weapon(ToolKind::StaffSimple))
| UnlockGroup(SkillGroupKind::Weapon(ToolKind::BowSimple))
| UnlockGroup(SkillGroupKind::Weapon(ToolKind::AxeSimple))
| UnlockGroup(SkillGroupKind::Weapon(ToolKind::SwordSimple))
| UnlockGroup(SkillGroupKind::Weapon(ToolKind::Debug))
| UnlockGroup(SkillGroupKind::Weapon(ToolKind::Farming))
| UnlockGroup(SkillGroupKind::Weapon(ToolKind::Pick))
| UnlockGroup(SkillGroupKind::Weapon(ToolKind::Empty))
| UnlockGroup(SkillGroupKind::Weapon(ToolKind::Unique(_)))
| UnlockGroup(SkillGroupKind::Weapon(ToolKind::Natural))
| UnlockGroup(SkillGroupKind::General) => {
panic!("Tried to add unsupported skill to database: {:?}", skill)
},
@ -288,16 +283,11 @@ pub fn skill_group_to_db_string(skill_group: comp::skills::SkillGroupKind) -> St
Weapon(ToolKind::Dagger)
| Weapon(ToolKind::Shield)
| Weapon(ToolKind::Spear)
| Weapon(ToolKind::HammerSimple)
| Weapon(ToolKind::StaffSimple)
| Weapon(ToolKind::BowSimple)
| Weapon(ToolKind::AxeSimple)
| Weapon(ToolKind::SwordSimple)
| Weapon(ToolKind::Debug)
| Weapon(ToolKind::Farming)
| Weapon(ToolKind::Pick)
| Weapon(ToolKind::Empty)
| Weapon(ToolKind::Unique(_)) => panic!(
| Weapon(ToolKind::Natural) => panic!(
"Tried to add unsupported skill group to database: {:?}",
skill_group
),

Some files were not shown because too many files have changed in this diff Show More