Merge branch 'sword-2' into 'master'

Sword 2

See merge request veloren/veloren!3745
This commit is contained in:
Samuel Keiffer 2023-03-22 01:01:33 +00:00
commit 71c9cb516a
328 changed files with 6970 additions and 5306 deletions

View File

@ -28,6 +28,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Bats now have less health - Bats now have less health
- Climbing no longer requires having 10 energy - Climbing no longer requires having 10 energy
- Castles will now be placed close to towns - Castles will now be placed close to towns
- Sword
### Removed ### Removed

5
Cargo.lock generated
View File

@ -7012,7 +7012,6 @@ version = "0.1.0"
dependencies = [ dependencies = [
"itertools", "itertools",
"lazy_static", "lazy_static",
"mimalloc",
"rand 0.8.5", "rand 0.8.5",
"specs", "specs",
"tracing", "tracing",
@ -7045,6 +7044,8 @@ dependencies = [
"veloren-common-frontend", "veloren-common-frontend",
"veloren-common-net", "veloren-common-net",
"veloren-server", "veloren-server",
"veloren-server-agent",
"veloren-world",
] ]
[[package]] [[package]]
@ -7137,7 +7138,6 @@ version = "0.10.0"
dependencies = [ dependencies = [
"bytemuck", "bytemuck",
"lazy_static", "lazy_static",
"mimalloc",
"vek 0.15.8", "vek 0.15.8",
"veloren-common", "veloren-common",
"veloren-common-dynlib", "veloren-common-dynlib",
@ -7187,7 +7187,6 @@ dependencies = [
"kiddo 0.2.4", "kiddo 0.2.4",
"lazy_static", "lazy_static",
"lz-fear", "lz-fear",
"mimalloc",
"minifb", "minifb",
"noise", "noise",
"num 0.4.0", "num 0.4.0",

View File

@ -1,125 +1,193 @@
#![enable(implicit_some)]
// Maps a tool kind to a set of abilities // Maps a tool kind to a set of abilities
// A set of abilities is a primary, a secondary, and a vec of all extra abilities // A set of abilities is a primary, a secondary, and a vec of all extra abilities
({ ({
Tool(Sword): ( Tool(Sword): (
primary: "common.abilities.sword.balanced_combo", primary: Contextualized(
secondary: "common.abilities.sword.balanced_thrust", pseudo_id: "veloren.core.pseudo_abilities.sword.double_slash",
abilities: {
None: (None, "common.abilities.sword.basic_double_slash"),
Stance(Sword(Heavy)): (None, "common.abilities.sword.heavy_double_slash"),
Stance(Sword(Agile)): (None, "common.abilities.sword.agile_double_slash"),
Stance(Sword(Defensive)): (None, "common.abilities.sword.defensive_double_slash"),
Stance(Sword(Crippling)): (None, "common.abilities.sword.crippling_double_slash"),
Stance(Sword(Cleaving)): (None, "common.abilities.sword.cleaving_double_slash"),
},
),
secondary: Contextualized(
pseudo_id: "veloren.core.pseudo_abilities.sword.secondary_ability",
abilities: {
None: (None, "common.abilities.sword.basic_thrust"),
Stance(Sword(Heavy)): (None, "common.abilities.sword.heavy_slam"),
Stance(Sword(Agile)): (None, "common.abilities.sword.agile_perforate"),
Stance(Sword(Defensive)): (None, "common.abilities.sword.defensive_parry"),
Stance(Sword(Crippling)): (None, "common.abilities.sword.crippling_deep_rend"),
Stance(Sword(Cleaving)): (None, "common.abilities.sword.cleaving_spiral_slash"),
},
),
abilities: [ abilities: [
Simple(Some(Sword(OffensiveCombo)), "common.abilities.sword.offensive_combo"), Contextualized(
Simple(Some(Sword(CripplingCombo)), "common.abilities.sword.crippling_combo"), pseudo_id: "veloren.core.pseudo_abilities.sword.crescent_slash",
Simple(Some(Sword(CleavingCombo)), "common.abilities.sword.cleaving_combo"), abilities: {
Simple(Some(Sword(DefensiveCombo)), "common.abilities.sword.defensive_combo"), None: (Sword(CrescentSlash), "common.abilities.sword.basic_crescent_slash"),
Simple(Some(Sword(ParryingCombo)), "common.abilities.sword.parrying_combo"), Stance(Sword(Heavy)): (Sword(CrescentSlash), "common.abilities.sword.heavy_crescent_slash"),
Simple(Some(Sword(HeavyCombo)), "common.abilities.sword.heavy_combo"), Stance(Sword(Agile)): (Sword(CrescentSlash), "common.abilities.sword.agile_crescent_slash"),
Simple(Some(Sword(MobilityCombo)), "common.abilities.sword.mobility_combo"), Stance(Sword(Defensive)): (Sword(CrescentSlash), "common.abilities.sword.defensive_crescent_slash"),
Simple(Some(Sword(ReachingCombo)), "common.abilities.sword.reaching_combo"), Stance(Sword(Crippling)): (Sword(CrescentSlash), "common.abilities.sword.crippling_crescent_slash"),
// Damagey ones Stance(Sword(Cleaving)): (Sword(CrescentSlash), "common.abilities.sword.cleaving_crescent_slash"),
Contextualized({ },
Sword(Balanced): (Some(Sword(BalancedFinisher)), "common.abilities.sword.balanced_finisher"), ),
Sword(Offensive): (Some(Sword(OffensiveFinisher)), "common.abilities.sword.offensive_finisher"), Contextualized(
Sword(Crippling): (Some(Sword(CripplingFinisher)), "common.abilities.sword.crippling_finisher"), pseudo_id: "veloren.core.pseudo_abilities.sword.fell_strike",
Sword(Cleaving): (Some(Sword(CleavingFinisher)), "common.abilities.sword.cleaving_finisher"), abilities: {
Sword(Parrying): (Some(Sword(ParryingCounter)), "common.abilities.sword.parrying_counter"), None: (Sword(FellStrike), "common.abilities.sword.basic_fell_strike"),
Sword(Heavy): (Some(Sword(HeavyFinisher)), "common.abilities.sword.heavy_finisher"), Stance(Sword(Heavy)): (Sword(FellStrike), "common.abilities.sword.heavy_fell_strike"),
Sword(Reaching): (Some(Sword(ReachingFlurry)), "common.abilities.sword.reaching_flurry"), Stance(Sword(Agile)): (Sword(FellStrike), "common.abilities.sword.agile_fell_strike"),
}), Stance(Sword(Defensive)): (Sword(FellStrike), "common.abilities.sword.defensive_fell_strike"),
// Movementy ones Stance(Sword(Crippling)): (Sword(FellStrike), "common.abilities.sword.crippling_fell_strike"),
Contextualized({ Stance(Sword(Cleaving)): (Sword(FellStrike), "common.abilities.sword.cleaving_fell_strike"),
Sword(Offensive): (Some(Sword(OffensiveAdvance)), "common.abilities.sword.offensive_advance"), },
Sword(Crippling): (Some(Sword(CripplingStrike)), "common.abilities.sword.crippling_strike"), ),
Sword(Cleaving): (Some(Sword(CleavingDive)), "common.abilities.sword.cleaving_dive"), Contextualized(
Sword(Defensive): (Some(Sword(DefensiveRetreat)), "common.abilities.sword.defensive_retreat"), pseudo_id: "veloren.core.pseudo_abilities.sword.skewer",
Sword(Parrying): (Some(Sword(ParryingRiposte)), "common.abilities.sword.parrying_riposte"), abilities: {
Sword(Heavy): (Some(Sword(HeavyFortitude)), "common.abilities.sword.heavy_fortitude"), None: (Sword(Skewer), "common.abilities.sword.basic_skewer"),
Sword(Mobility): (Some(Sword(MobilityFeint)), "common.abilities.sword.mobility_feint"), Stance(Sword(Heavy)): (Sword(Skewer), "common.abilities.sword.heavy_skewer"),
Sword(Reaching): (Some(Sword(ReachingCharge)), "common.abilities.sword.reaching_charge"), Stance(Sword(Agile)): (Sword(Skewer), "common.abilities.sword.agile_skewer"),
}), Stance(Sword(Defensive)): (Sword(Skewer), "common.abilities.sword.defensive_skewer"),
// Utilityy ones Stance(Sword(Crippling)): (Sword(Skewer), "common.abilities.sword.crippling_skewer"),
Contextualized({ Stance(Sword(Cleaving)): (Sword(Skewer), "common.abilities.sword.cleaving_skewer"),
Sword(Crippling): (Some(Sword(CripplingGouge)), "common.abilities.sword.crippling_gouge"), },
Sword(Cleaving): (Some(Sword(CleavingSpin)), "common.abilities.sword.cleaving_spin"), ),
Sword(Defensive): (Some(Sword(DefensiveBulwark)), "common.abilities.sword.defensive_bulwark"), Contextualized(
Sword(Parrying): (Some(Sword(ParryingParry)), "common.abilities.sword.parrying_parry"), pseudo_id: "veloren.core.pseudo_abilities.sword.cascade",
Sword(Heavy): (Some(Sword(HeavyPommelStrike)), "common.abilities.sword.heavy_pommelstrike"), abilities: {
Sword(Mobility): (Some(Sword(MobilityAgility)), "common.abilities.sword.mobility_agility"), None: (Sword(Cascade), "common.abilities.sword.basic_cascade"),
Sword(Reaching): (Some(Sword(ReachingSkewer)), "common.abilities.sword.reaching_skewer"), Stance(Sword(Heavy)): (Sword(Cascade), "common.abilities.sword.heavy_cascade"),
}), Stance(Sword(Agile)): (Sword(Cascade), "common.abilities.sword.agile_cascade"),
Stance(Sword(Defensive)): (Sword(Cascade), "common.abilities.sword.defensive_cascade"),
Stance(Sword(Crippling)): (Sword(Cascade), "common.abilities.sword.crippling_cascade"),
Stance(Sword(Cleaving)): (Sword(Cascade), "common.abilities.sword.cleaving_cascade"),
},
),
Contextualized(
pseudo_id: "veloren.core.pseudo_abilities.sword.cross_cut",
abilities: {
None: (Sword(CrossCut), "common.abilities.sword.basic_cross_cut"),
Stance(Sword(Heavy)): (Sword(CrossCut), "common.abilities.sword.heavy_cross_cut"),
Stance(Sword(Agile)): (Sword(CrossCut), "common.abilities.sword.agile_cross_cut"),
Stance(Sword(Defensive)): (Sword(CrossCut), "common.abilities.sword.defensive_cross_cut"),
Stance(Sword(Crippling)): (Sword(CrossCut), "common.abilities.sword.crippling_cross_cut"),
Stance(Sword(Cleaving)): (Sword(CrossCut), "common.abilities.sword.cleaving_cross_cut"),
},
),
Contextualized(
pseudo_id: "veloren.core.pseudo_abilities.sword.finisher",
abilities: {
None: (Sword(Finisher), "common.abilities.sword.basic_mighty_strike"),
Stance(Sword(Heavy)): (Sword(Finisher), "common.abilities.sword.heavy_guillotine"),
Stance(Sword(Agile)): (Sword(Finisher), "common.abilities.sword.agile_hundred_cuts"),
Stance(Sword(Defensive)): (Sword(Finisher), "common.abilities.sword.defensive_counter"),
Stance(Sword(Crippling)): (Sword(Finisher), "common.abilities.sword.crippling_mutilate"),
Stance(Sword(Cleaving)): (Sword(Finisher), "common.abilities.sword.cleaving_bladestorm"),
},
),
Simple(Sword(HeavyWindmillSlash), "common.abilities.sword.heavy_windmill_slash"),
Simple(Sword(HeavyPommelStrike), "common.abilities.sword.heavy_pommel_strike"),
Simple(Sword(AgileQuickDraw), "common.abilities.sword.agile_quick_draw"),
Simple(Sword(AgileFeint), "common.abilities.sword.agile_feint"),
Simple(Sword(DefensiveRiposte), "common.abilities.sword.defensive_riposte"),
Simple(Sword(DefensiveDisengage), "common.abilities.sword.defensive_disengage"),
Simple(Sword(CripplingGouge), "common.abilities.sword.crippling_gouge"),
Simple(Sword(CripplingHamstring), "common.abilities.sword.crippling_hamstring"),
Simple(Sword(CleavingWhirlwindSlice), "common.abilities.sword.cleaving_whirlwind_slice"),
Simple(Sword(CleavingEarthSplitter), "common.abilities.sword.cleaving_earth_splitter"),
Simple(Sword(HeavyFortitude), "common.abilities.sword.heavy_fortitude"),
Simple(Sword(HeavyPillarThrust), "common.abilities.sword.heavy_pillar_thrust"),
Simple(Sword(AgileDancingEdge), "common.abilities.sword.agile_dancing_edge"),
Simple(Sword(AgileFlurry), "common.abilities.sword.agile_flurry"),
Simple(Sword(DefensiveStalwartSword), "common.abilities.sword.defensive_stalwart_sword"),
Simple(Sword(DefensiveDeflect), "common.abilities.sword.defensive_deflect"),
Simple(Sword(CripplingEviscerate), "common.abilities.sword.crippling_eviscerate"),
Simple(Sword(CripplingBloodyGash), "common.abilities.sword.crippling_bloody_gash"),
Simple(Sword(CleavingBladeFever), "common.abilities.sword.cleaving_blade_fever"),
Simple(Sword(CleavingSkySplitter), "common.abilities.sword.cleaving_sky_splitter"),
], ],
), ),
Tool(Axe): ( Tool(Axe): (
primary: "common.abilities.axe.doublestrike", primary: Simple(None, "common.abilities.axe.doublestrike"),
secondary: "common.abilities.axe.spin", secondary: Simple(None, "common.abilities.axe.spin"),
abilities: [ abilities: [
Simple(Some(Axe(UnlockLeap)), "common.abilities.axe.leap"), Simple(Some(Axe(UnlockLeap)), "common.abilities.axe.leap"),
], ],
), ),
Tool(Hammer): ( Tool(Hammer): (
primary: "common.abilities.hammer.singlestrike", primary: Simple(None, "common.abilities.hammer.singlestrike"),
secondary: "common.abilities.hammer.charged", secondary: Simple(None, "common.abilities.hammer.charged"),
abilities: [ abilities: [
Simple(Some(Hammer(UnlockLeap)), "common.abilities.hammer.leap"), Simple(Some(Hammer(UnlockLeap)), "common.abilities.hammer.leap"),
], ],
), ),
Tool(Bow): ( Tool(Bow): (
primary: "common.abilities.bow.charged", primary: Simple(None, "common.abilities.bow.charged"),
secondary: "common.abilities.bow.repeater", secondary: Simple(None, "common.abilities.bow.repeater"),
abilities: [ abilities: [
Simple(Some(Bow(UnlockShotgun)), "common.abilities.bow.shotgun"), Simple(Some(Bow(UnlockShotgun)), "common.abilities.bow.shotgun"),
], ],
), ),
Tool(Staff): ( Tool(Staff): (
primary: "common.abilities.staff.firebomb", primary: Simple(None, "common.abilities.staff.firebomb"),
secondary: "common.abilities.staff.flamethrower", secondary: Simple(None, "common.abilities.staff.flamethrower"),
abilities: [ abilities: [
Simple(Some(Staff(UnlockShockwave)), "common.abilities.staff.fireshockwave"), Simple(Some(Staff(UnlockShockwave)), "common.abilities.staff.fireshockwave"),
], ],
), ),
Tool(Sceptre): ( Tool(Sceptre): (
primary: "common.abilities.sceptre.lifestealbeam", primary: Simple(None, "common.abilities.sceptre.lifestealbeam"),
secondary: "common.abilities.sceptre.healingaura", secondary: Simple(None, "common.abilities.sceptre.healingaura"),
abilities: [ abilities: [
Simple(Some(Sceptre(UnlockAura)), "common.abilities.sceptre.wardingaura"), Simple(Some(Sceptre(UnlockAura)), "common.abilities.sceptre.wardingaura"),
], ],
), ),
Custom("Husk"): ( Custom("Husk"): (
primary: "common.abilities.custom.husk.singlestrike", primary: Simple(None, "common.abilities.custom.husk.singlestrike"),
secondary: "common.abilities.custom.husk.triplestrike", secondary: Simple(None, "common.abilities.custom.husk.triplestrike"),
abilities: [], abilities: [],
), ),
Custom("Husk Brute"): ( Custom("Husk Brute"): (
primary: "common.abilities.custom.husk_brute.singlestrike", primary: Simple(None, "common.abilities.custom.husk_brute.singlestrike"),
secondary: "common.abilities.custom.husk_brute.chargedmelee", secondary: Simple(None, "common.abilities.custom.husk_brute.chargedmelee"),
abilities: [], abilities: [],
), ),
Tool(Spear): ( Tool(Spear): (
primary: "common.abilities.spear.doublestrike", primary: Simple(None, "common.abilities.spear.doublestrike"),
secondary: "common.abilities.spear.dash", secondary: Simple(None, "common.abilities.spear.dash"),
abilities: [], abilities: [],
), ),
Custom("Hammer Simple"): ( Custom("Hammer Simple"): (
primary: "common.abilities.hammersimple.doublestrike", primary: Simple(None, "common.abilities.hammersimple.doublestrike"),
secondary: "common.abilities.hammersimple.doublestrike", secondary: Simple(None, "common.abilities.hammersimple.doublestrike"),
abilities: [], abilities: [],
), ),
// TODO: Later investigate if we want to make this back to a simple axe when more things need a simpler axe ability set // TODO: Later investigate if we want to make this back to a simple axe when more things need a simpler axe ability set
Custom("Gnarling Axe"): ( Custom("Gnarling Axe"): (
primary: "common.abilities.gnarling.axe.chop", primary: Simple(None, "common.abilities.gnarling.axe.chop"),
secondary: "common.abilities.gnarling.axe.chop", secondary: Simple(None, "common.abilities.gnarling.axe.chop"),
abilities: [], abilities: [],
), ),
Custom("Gnarling Dagger"): ( Custom("Gnarling Dagger"): (
primary: "common.abilities.gnarling.dagger.stab", primary: Simple(None, "common.abilities.gnarling.dagger.stab"),
secondary: "common.abilities.gnarling.dagger.stab", secondary: Simple(None, "common.abilities.gnarling.dagger.stab"),
abilities: [], abilities: [],
), ),
Custom("Gnarling Blowgun"): ( Custom("Gnarling Blowgun"): (
primary: "common.abilities.gnarling.blowgun.dart", primary: Simple(None, "common.abilities.gnarling.blowgun.dart"),
secondary: "common.abilities.gnarling.blowgun.dart", secondary: Simple(None, "common.abilities.gnarling.blowgun.dart"),
abilities: [], abilities: [],
), ),
Custom("Gnarling Chieftain"): ( Custom("Gnarling Chieftain"): (
primary: "common.abilities.gnarling.chieftain.flamestrike", primary: Simple(None, "common.abilities.gnarling.chieftain.flamestrike"),
secondary: "common.abilities.gnarling.chieftain.firebarrage", secondary: Simple(None, "common.abilities.gnarling.chieftain.firebarrage"),
abilities: [ abilities: [
Simple(None, "common.abilities.gnarling.chieftain.fireshockwave"), Simple(None, "common.abilities.gnarling.chieftain.fireshockwave"),
Simple(None, "common.abilities.gnarling.chieftain.redtotem"), Simple(None, "common.abilities.gnarling.chieftain.redtotem"),
@ -128,272 +196,272 @@
], ],
), ),
Custom("Gnarling Totem Red"): ( Custom("Gnarling Totem Red"): (
primary: "common.abilities.gnarling.totem.red", primary: Simple(None, "common.abilities.gnarling.totem.red"),
secondary: "common.abilities.gnarling.totem.red", secondary: Simple(None, "common.abilities.gnarling.totem.red"),
abilities: [], abilities: [],
), ),
Custom("Gnarling Totem Green"): ( Custom("Gnarling Totem Green"): (
primary: "common.abilities.gnarling.totem.green", primary: Simple(None, "common.abilities.gnarling.totem.green"),
secondary: "common.abilities.gnarling.totem.green", secondary: Simple(None, "common.abilities.gnarling.totem.green"),
abilities: [], abilities: [],
), ),
Custom("Gnarling Totem White"): ( Custom("Gnarling Totem White"): (
primary: "common.abilities.gnarling.totem.white", primary: Simple(None, "common.abilities.gnarling.totem.white"),
secondary: "common.abilities.gnarling.totem.white", secondary: Simple(None, "common.abilities.gnarling.totem.white"),
abilities: [], abilities: [],
), ),
Custom("Deadwood"): ( Custom("Deadwood"): (
primary: "common.abilities.custom.deadwood.lifestealbeam", primary: Simple(None, "common.abilities.custom.deadwood.lifestealbeam"),
secondary: "common.abilities.custom.deadwood.dash", secondary: Simple(None, "common.abilities.custom.deadwood.dash"),
abilities: [], abilities: [],
), ),
Custom("Mandragora"): ( Custom("Mandragora"): (
primary: "common.abilities.custom.mandragora.basic", primary: Simple(None, "common.abilities.custom.mandragora.basic"),
secondary: "common.abilities.custom.mandragora.scream", secondary: Simple(None, "common.abilities.custom.mandragora.scream"),
abilities: [], abilities: [],
), ),
Custom("Wood Golem"): ( Custom("Wood Golem"): (
primary: "common.abilities.custom.woodgolem.strike", primary: Simple(None, "common.abilities.custom.woodgolem.strike"),
secondary: "common.abilities.custom.woodgolem.spin", secondary: Simple(None, "common.abilities.custom.woodgolem.spin"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.woodgolem.shockwave") Simple(None, "common.abilities.custom.woodgolem.shockwave")
], ],
), ),
Custom("Simple Flying Melee"): ( Custom("Simple Flying Melee"): (
primary: "common.abilities.custom.simpleflyingmelee.singlestrike", primary: Simple(None, "common.abilities.custom.simpleflyingmelee.singlestrike"),
secondary: "common.abilities.custom.simpleflyingmelee.singlestrike", secondary: Simple(None, "common.abilities.custom.simpleflyingmelee.singlestrike"),
abilities: [], abilities: [],
), ),
Custom("Sword Simple"): ( Custom("Sword Simple"): (
primary: "common.abilities.swordsimple.doublestrike", primary: Simple(None, "common.abilities.swordsimple.doublestrike"),
secondary: "common.abilities.swordsimple.dash", secondary: Simple(None, "common.abilities.swordsimple.dash"),
abilities: [], abilities: [],
), ),
Custom("Staff Simple"): ( Custom("Staff Simple"): (
primary: "common.abilities.staffsimple.firebomb", primary: Simple(None, "common.abilities.staffsimple.firebomb"),
secondary: "common.abilities.staffsimple.flamethrower", secondary: Simple(None, "common.abilities.staffsimple.flamethrower"),
abilities: [], abilities: [],
), ),
Custom("Bow Simple"): ( Custom("Bow Simple"): (
primary: "common.abilities.bowsimple.basic", primary: Simple(None, "common.abilities.bowsimple.basic"),
secondary: "common.abilities.bowsimple.basic", secondary: Simple(None, "common.abilities.bowsimple.basic"),
abilities: [], abilities: [],
), ),
Custom("Axe Simple"): ( Custom("Axe Simple"): (
primary: "common.abilities.axesimple.doublestrike", primary: Simple(None, "common.abilities.axesimple.doublestrike"),
secondary: "common.abilities.axesimple.doublestrike", secondary: Simple(None, "common.abilities.axesimple.doublestrike"),
abilities: [], abilities: [],
), ),
Custom("Dagger Simple"): ( Custom("Dagger Simple"): (
primary: "common.abilities.daggersimple.singlestrike", primary: Simple(None, "common.abilities.daggersimple.singlestrike"),
secondary: "common.abilities.daggersimple.singlestrike", secondary: Simple(None, "common.abilities.daggersimple.singlestrike"),
abilities: [], abilities: [],
), ),
Tool(Dagger): ( Tool(Dagger): (
primary: "common.abilities.dagger.tempbasic", primary: Simple(None, "common.abilities.dagger.tempbasic"),
secondary: "common.abilities.dagger.tempbasic", secondary: Simple(None, "common.abilities.dagger.tempbasic"),
abilities: [], abilities: [],
), ),
Tool(Shield): ( Tool(Shield): (
primary: "common.abilities.shield.tempbasic", primary: Simple(None, "common.abilities.shield.tempbasic"),
secondary: "common.abilities.shield.block", secondary: Simple(None, "common.abilities.shield.block"),
abilities: [], abilities: [],
), ),
Custom("Stone Golem"): ( Custom("Stone Golem"): (
primary: "common.abilities.custom.stonegolemfist.singlestrike", primary: Simple(None, "common.abilities.custom.stonegolemfist.singlestrike"),
secondary: "common.abilities.custom.stonegolemfist.shockwave", secondary: Simple(None, "common.abilities.custom.stonegolemfist.shockwave"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.stonegolemfist.spin"), Simple(None, "common.abilities.custom.stonegolemfist.spin"),
], ],
), ),
Custom("Beast Claws"): ( Custom("Beast Claws"): (
primary: "common.abilities.custom.beastclaws.basic", primary: Simple(None, "common.abilities.custom.beastclaws.basic"),
secondary: "common.abilities.custom.beastclaws.basic", secondary: Simple(None, "common.abilities.custom.beastclaws.basic"),
abilities: [], abilities: [],
), ),
Custom("Tursus Claws"): ( Custom("Tursus Claws"): (
primary: "common.abilities.custom.tursus_claws.basic", primary: Simple(None, "common.abilities.custom.tursus_claws.basic"),
secondary: "common.abilities.custom.tursus_claws.basic", secondary: Simple(None, "common.abilities.custom.tursus_claws.basic"),
abilities: [], abilities: [],
), ),
Custom("Wendigo Magic"): ( Custom("Wendigo Magic"): (
primary: "common.abilities.custom.wendigomagic.frostbomb", primary: Simple(None, "common.abilities.custom.wendigomagic.frostbomb"),
secondary: "common.abilities.custom.wendigomagic.singlestrike", secondary: Simple(None, "common.abilities.custom.wendigomagic.singlestrike"),
abilities: [], abilities: [],
), ),
Custom("Tidal Warrior"): ( Custom("Tidal Warrior"): (
primary: "common.abilities.custom.tidalwarrior.pincer", primary: Simple(None, "common.abilities.custom.tidalwarrior.pincer"),
secondary: "common.abilities.custom.tidalwarrior.scuttle", secondary: Simple(None, "common.abilities.custom.tidalwarrior.scuttle"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.tidalwarrior.bubbles"), Simple(None, "common.abilities.custom.tidalwarrior.bubbles"),
Simple(None, "common.abilities.custom.tidalwarrior.totem"), Simple(None, "common.abilities.custom.tidalwarrior.totem"),
], ],
), ),
Custom("Tidal Totem"): ( Custom("Tidal Totem"): (
primary: "common.abilities.custom.tidalwarrior.totem_wave", primary: Simple(None, "common.abilities.custom.tidalwarrior.totem_wave"),
secondary: "common.abilities.custom.tidalwarrior.totem_wave", secondary: Simple(None, "common.abilities.custom.tidalwarrior.totem_wave"),
abilities: [], abilities: [],
), ),
// Note: Consider making a ranking system once we get more entities // Note: Consider making a ranking system once we get more entities
// TODO: Make all purple item droppers have purple CR and a unique skillset // TODO: Make all purple item droppers have purple CR and a unique skillset
Custom("Quad Med Quick"): ( Custom("Quad Med Quick"): (
primary: "common.abilities.custom.quadmedquick.triplestrike", primary: Simple(None, "common.abilities.custom.quadmedquick.triplestrike"),
secondary: "common.abilities.custom.quadmedquick.dash", secondary: Simple(None, "common.abilities.custom.quadmedquick.dash"),
abilities: [], abilities: [],
), ),
Custom("Quad Med Jump"): ( Custom("Quad Med Jump"): (
primary: "common.abilities.custom.quadmedjump.leap", primary: Simple(None, "common.abilities.custom.quadmedjump.leap"),
secondary: "common.abilities.custom.quadmedjump.doublestrike", secondary: Simple(None, "common.abilities.custom.quadmedjump.doublestrike"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.quadmedjump.quickleap"), Simple(None, "common.abilities.custom.quadmedjump.quickleap"),
], ],
), ),
Custom("Quad Med Charge"): ( Custom("Quad Med Charge"): (
primary: "common.abilities.custom.quadmedcharge.doublestrike", primary: Simple(None, "common.abilities.custom.quadmedcharge.doublestrike"),
secondary: "common.abilities.custom.quadmedcharge.dash", secondary: Simple(None, "common.abilities.custom.quadmedcharge.dash"),
abilities: [], abilities: [],
), ),
Custom("Quad Med Hoof"): ( Custom("Quad Med Hoof"): (
primary: "common.abilities.custom.quadmedhoof.basic", primary: Simple(None, "common.abilities.custom.quadmedhoof.basic"),
secondary: "common.abilities.custom.quadmedhoof.basic", secondary: Simple(None, "common.abilities.custom.quadmedhoof.basic"),
abilities: [], abilities: [],
), ),
Custom("Quad Med Basic"): ( Custom("Quad Med Basic"): (
primary: "common.abilities.custom.quadmedbasic.singlestrike", primary: Simple(None, "common.abilities.custom.quadmedbasic.singlestrike"),
secondary: "common.abilities.custom.quadmedbasic.triplestrike", secondary: Simple(None, "common.abilities.custom.quadmedbasic.triplestrike"),
abilities: [], abilities: [],
), ),
Custom("Roshwalr"): ( Custom("Roshwalr"): (
primary: "common.abilities.custom.roshwalr.doublehusk", primary: Simple(None, "common.abilities.custom.roshwalr.doublehusk"),
secondary: "common.abilities.custom.roshwalr.slowcharge", secondary: Simple(None, "common.abilities.custom.roshwalr.slowcharge"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.roshwalr.freezeshockwave"), Simple(None, "common.abilities.custom.roshwalr.freezeshockwave"),
], ],
), ),
Custom("Basilisk"): ( Custom("Basilisk"): (
primary: "common.abilities.custom.basilisk.petrify", primary: Simple(None, "common.abilities.custom.basilisk.petrify"),
secondary: "common.abilities.custom.basilisk.triplestrike", secondary: Simple(None, "common.abilities.custom.basilisk.triplestrike"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.basilisk.dash"), Simple(None, "common.abilities.custom.basilisk.dash"),
], ],
), ),
Custom("Asp"): ( Custom("Asp"): (
primary: "common.abilities.custom.asp.singlestrike", primary: Simple(None, "common.abilities.custom.asp.singlestrike"),
secondary: "common.abilities.custom.asp.firebomb", secondary: Simple(None, "common.abilities.custom.asp.firebomb"),
abilities: [], abilities: [],
), ),
Custom("Maneater"): ( Custom("Maneater"): (
primary: "common.abilities.custom.maneater.singlestrike", primary: Simple(None, "common.abilities.custom.maneater.singlestrike"),
secondary: "common.abilities.custom.maneater.poisonball", secondary: Simple(None, "common.abilities.custom.maneater.poisonball"),
abilities: [], abilities: [],
), ),
Custom("Quad Low Breathe"): ( Custom("Quad Low Breathe"): (
primary: "common.abilities.custom.quadlowbreathe.flamethrower", primary: Simple(None, "common.abilities.custom.quadlowbreathe.flamethrower"),
secondary: "common.abilities.custom.quadlowbreathe.triplestrike", secondary: Simple(None, "common.abilities.custom.quadlowbreathe.triplestrike"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.quadlowbreathe.dash"), Simple(None, "common.abilities.custom.quadlowbreathe.dash"),
], ],
), ),
Custom("Quad Low Tail"): ( Custom("Quad Low Tail"): (
primary: "common.abilities.custom.quadlowtail.charged", primary: Simple(None, "common.abilities.custom.quadlowtail.charged"),
secondary: "common.abilities.custom.quadlowtail.triplestrike", secondary: Simple(None, "common.abilities.custom.quadlowtail.triplestrike"),
abilities: [], abilities: [],
), ),
Custom("Quad Low Quick"): ( Custom("Quad Low Quick"): (
primary: "common.abilities.custom.quadlowquick.dash", primary: Simple(None, "common.abilities.custom.quadlowquick.dash"),
secondary: "common.abilities.custom.quadlowquick.quadstrike", secondary: Simple(None, "common.abilities.custom.quadlowquick.quadstrike"),
abilities: [], abilities: [],
), ),
Custom("Quad Low Basic"): ( Custom("Quad Low Basic"): (
primary: "common.abilities.custom.quadlowbasic.triplestrike", primary: Simple(None, "common.abilities.custom.quadlowbasic.triplestrike"),
secondary: "common.abilities.custom.quadlowbasic.singlestrike", secondary: Simple(None, "common.abilities.custom.quadlowbasic.singlestrike"),
abilities: [], abilities: [],
), ),
Custom("Quad Low Beam"): ( Custom("Quad Low Beam"): (
primary: "common.abilities.custom.quadlowbeam.lifestealbeam", primary: Simple(None, "common.abilities.custom.quadlowbeam.lifestealbeam"),
secondary: "common.abilities.custom.quadlowbreathe.triplestrike", secondary: Simple(None, "common.abilities.custom.quadlowbreathe.triplestrike"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.quadlowbreathe.dash"), Simple(None, "common.abilities.custom.quadlowbreathe.dash"),
], ],
), ),
Custom("Quad Small Basic"): ( Custom("Quad Small Basic"): (
primary: "common.abilities.custom.quadsmallbasic.singlestrike", primary: Simple(None, "common.abilities.custom.quadsmallbasic.singlestrike"),
secondary: "common.abilities.custom.quadsmallbasic.singlestrike", secondary: Simple(None, "common.abilities.custom.quadsmallbasic.singlestrike"),
abilities: [], abilities: [],
), ),
Custom("Theropod Basic"): ( Custom("Theropod Basic"): (
primary: "common.abilities.custom.theropodbasic.triplestrike", primary: Simple(None, "common.abilities.custom.theropodbasic.triplestrike"),
secondary: "common.abilities.custom.theropodbasic.triplestrike", secondary: Simple(None, "common.abilities.custom.theropodbasic.triplestrike"),
abilities: [], abilities: [],
), ),
Custom("Theropod Small"): ( Custom("Theropod Small"): (
primary: "common.abilities.custom.theropodsmall.triplestrike", primary: Simple(None, "common.abilities.custom.theropodsmall.triplestrike"),
secondary: "common.abilities.custom.theropodsmall.triplestrike", secondary: Simple(None, "common.abilities.custom.theropodsmall.triplestrike"),
abilities: [], abilities: [],
), ),
Custom("Theropod Bird"): ( Custom("Theropod Bird"): (
primary: "common.abilities.custom.theropodbird.triplestrike", primary: Simple(None, "common.abilities.custom.theropodbird.triplestrike"),
secondary: "common.abilities.custom.theropodbird.triplestrike", secondary: Simple(None, "common.abilities.custom.theropodbird.triplestrike"),
abilities: [], abilities: [],
), ),
Custom("Theropod Charge"): ( Custom("Theropod Charge"): (
primary: "common.abilities.custom.theropodbasic.triplestrike", primary: Simple(None, "common.abilities.custom.theropodbasic.triplestrike"),
secondary: "common.abilities.custom.theropodbasic.dash", secondary: Simple(None, "common.abilities.custom.theropodbasic.dash"),
abilities: [], abilities: [],
), ),
// Arthropods // Arthropods
Custom("Antlion"): ( Custom("Antlion"): (
primary: "common.abilities.custom.arthropods.antlion.singlestrike", primary: Simple(None, "common.abilities.custom.arthropods.antlion.singlestrike"),
secondary: "common.abilities.custom.arthropods.antlion.charge", secondary: Simple(None, "common.abilities.custom.arthropods.antlion.charge"),
abilities: [], abilities: [],
), ),
Custom("Black Widow"): ( Custom("Black Widow"): (
primary: "common.abilities.custom.arthropods.blackwidow.singlestrike", primary: Simple(None, "common.abilities.custom.arthropods.blackwidow.singlestrike"),
secondary: "common.abilities.custom.arthropods.blackwidow.ensnaringwebs", secondary: Simple(None, "common.abilities.custom.arthropods.blackwidow.ensnaringwebs"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.arthropods.blackwidow.poisonball"), Simple(None, "common.abilities.custom.arthropods.blackwidow.poisonball"),
], ],
), ),
Custom("Horn Beetle"): ( Custom("Horn Beetle"): (
primary: "common.abilities.custom.arthropods.hornbeetle.singlestrike", primary: Simple(None, "common.abilities.custom.arthropods.hornbeetle.singlestrike"),
secondary: "common.abilities.custom.arthropods.hornbeetle.harden", secondary: Simple(None, "common.abilities.custom.arthropods.hornbeetle.harden"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.arthropods.hornbeetle.leap"), Simple(None, "common.abilities.custom.arthropods.hornbeetle.leap"),
], ],
), ),
Custom("Tarantula"): ( Custom("Tarantula"): (
primary: "common.abilities.custom.arthropods.tarantula.singlestrike", primary: Simple(None, "common.abilities.custom.arthropods.tarantula.singlestrike"),
secondary: "common.abilities.custom.arthropods.tarantula.ensnaringwebs", secondary: Simple(None, "common.abilities.custom.arthropods.tarantula.ensnaringwebs"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.arthropods.tarantula.leap"), Simple(None, "common.abilities.custom.arthropods.tarantula.leap"),
], ],
), ),
Custom("Weevil"): ( Custom("Weevil"): (
primary: "common.abilities.custom.arthropods.weevil.singlestrike", primary: Simple(None, "common.abilities.custom.arthropods.weevil.singlestrike"),
secondary: "common.abilities.custom.arthropods.weevil.harden", secondary: Simple(None, "common.abilities.custom.arthropods.weevil.harden"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.arthropods.weevil.threadshot"), Simple(None, "common.abilities.custom.arthropods.weevil.threadshot"),
], ],
), ),
/// TODO: Organize the rest into further catagories and give purple tier droppers+ custom skillsets /// TODO: Organize the rest into further catagories and give purple tier droppers+ custom skillsets
Custom("Turret"): ( Custom("Turret"): (
primary: "common.abilities.custom.turret.arrows", primary: Simple(None, "common.abilities.custom.turret.arrows"),
secondary: "common.abilities.custom.turret.arrows", secondary: Simple(None, "common.abilities.custom.turret.arrows"),
abilities: [], abilities: [],
), ),
Custom("Organ"): ( Custom("Organ"): (
primary: "common.abilities.custom.organ.organaura", primary: Simple(None, "common.abilities.custom.organ.organaura"),
secondary: "common.abilities.custom.organ.organaura", secondary: Simple(None, "common.abilities.custom.organ.organaura"),
abilities: [], abilities: [],
), ),
Custom("Haniwa Sentry"): ( Custom("Haniwa Sentry"): (
primary: "common.abilities.custom.turret.flamethrower", primary: Simple(None, "common.abilities.custom.turret.flamethrower"),
secondary: "common.abilities.custom.turret.flamethrower", secondary: Simple(None, "common.abilities.custom.turret.flamethrower"),
abilities: [], abilities: [],
), ),
Custom("Mindflayer"): ( Custom("Mindflayer"): (
primary: "common.abilities.custom.mindflayer.cursedflames", primary: Simple(None, "common.abilities.custom.mindflayer.cursedflames"),
secondary: "common.abilities.custom.mindflayer.necroticvortex", secondary: Simple(None, "common.abilities.custom.mindflayer.necroticvortex"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.mindflayer.dimensionaldoor"), Simple(None, "common.abilities.custom.mindflayer.dimensionaldoor"),
Simple(None, "common.abilities.custom.mindflayer.necroticsphere"), Simple(None, "common.abilities.custom.mindflayer.necroticsphere"),
@ -401,32 +469,32 @@
], ],
), ),
Custom("Minotaur"): ( Custom("Minotaur"): (
primary: "common.abilities.custom.minotaur.cleave", primary: Simple(None, "common.abilities.custom.minotaur.cleave"),
secondary: "common.abilities.custom.minotaur.cripplingstrike", secondary: Simple(None, "common.abilities.custom.minotaur.cripplingstrike"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.minotaur.charge"), Simple(None, "common.abilities.custom.minotaur.charge"),
Simple(None, "common.abilities.custom.minotaur.frenzy"), Simple(None, "common.abilities.custom.minotaur.frenzy"),
], ],
), ),
Custom("Clay Golem"): ( Custom("Clay Golem"): (
primary: "common.abilities.custom.claygolem.strike", primary: Simple(None, "common.abilities.custom.claygolem.strike"),
secondary: "common.abilities.custom.claygolem.laser", secondary: Simple(None, "common.abilities.custom.claygolem.laser"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.claygolem.shockwave"), Simple(None, "common.abilities.custom.claygolem.shockwave"),
Simple(None, "common.abilities.custom.claygolem.rocket"), Simple(None, "common.abilities.custom.claygolem.rocket"),
], ],
), ),
Custom("Yeti"): ( Custom("Yeti"): (
primary: "common.abilities.custom.yeti.strike", primary: Simple(None, "common.abilities.custom.yeti.strike"),
secondary: "common.abilities.custom.yeti.icespikes", secondary: Simple(None, "common.abilities.custom.yeti.icespikes"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.yeti.frostbreath"), Simple(None, "common.abilities.custom.yeti.frostbreath"),
Simple(None, "common.abilities.custom.yeti.snowball"), Simple(None, "common.abilities.custom.yeti.snowball"),
], ],
), ),
Custom("Harvester"): ( Custom("Harvester"): (
primary: "common.abilities.custom.harvester.scythe", primary: Simple(None, "common.abilities.custom.harvester.scythe"),
secondary: "common.abilities.custom.harvester.firebreath", secondary: Simple(None, "common.abilities.custom.harvester.firebreath"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.harvester.ensnaringvines"), Simple(None, "common.abilities.custom.harvester.ensnaringvines"),
Simple(None, "common.abilities.custom.harvester.explodingpumpkin"), Simple(None, "common.abilities.custom.harvester.explodingpumpkin"),
@ -434,8 +502,8 @@
), ),
// TODO: Allow ability sets to expand other ability sets // TODO: Allow ability sets to expand other ability sets
Custom("Dagon"): ( Custom("Dagon"): (
primary: "common.abilities.custom.dagon.dagonbombs", primary: Simple(None, "common.abilities.custom.dagon.dagonbombs"),
secondary: "common.abilities.custom.dagon.seaurchins", secondary: Simple(None, "common.abilities.custom.dagon.seaurchins"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.dagon.steamwave"), Simple(None, "common.abilities.custom.dagon.steamwave"),
Simple(None, "common.abilities.custom.cardinal.steambeam"), Simple(None, "common.abilities.custom.cardinal.steambeam"),
@ -443,87 +511,87 @@
], ],
), ),
Custom("Cardinal"): ( Custom("Cardinal"): (
primary: "common.abilities.sceptre.lifestealbeam", primary: Simple(None, "common.abilities.sceptre.lifestealbeam"),
secondary: "common.abilities.sceptre.healingaura", secondary: Simple(None, "common.abilities.sceptre.healingaura"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.cardinal.steambeam"), Simple(None, "common.abilities.custom.cardinal.steambeam"),
Simple(None, "common.abilities.custom.cardinal.summonseacrocs"), Simple(None, "common.abilities.custom.cardinal.summonseacrocs"),
], ],
), ),
Custom("Oni"): ( Custom("Oni"): (
primary: "common.abilities.custom.oni.dash", primary: Simple(None, "common.abilities.custom.oni.dash"),
secondary: "common.abilities.custom.oni.doublestrike", secondary: Simple(None, "common.abilities.custom.oni.doublestrike"),
abilities: [], abilities: [],
), ),
Custom("Bird Large Breathe"): ( Custom("Bird Large Breathe"): (
primary: "common.abilities.custom.birdlargebreathe.firebomb", primary: Simple(None, "common.abilities.custom.birdlargebreathe.firebomb"),
secondary: "common.abilities.custom.birdlargebreathe.triplestrike", secondary: Simple(None, "common.abilities.custom.birdlargebreathe.triplestrike"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.birdlargebreathe.flamethrower"), Simple(None, "common.abilities.custom.birdlargebreathe.flamethrower"),
], ],
), ),
Custom("Bird Large Fire"): ( Custom("Bird Large Fire"): (
primary: "common.abilities.custom.birdlargefire.firebomb", primary: Simple(None, "common.abilities.custom.birdlargefire.firebomb"),
secondary: "common.abilities.custom.birdlargefire.triplestrike", secondary: Simple(None, "common.abilities.custom.birdlargefire.triplestrike"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.birdlargefire.fireshockwave"), Simple(None, "common.abilities.custom.birdlargefire.fireshockwave"),
], ],
), ),
Custom("Flame Wyvern"): ( Custom("Flame Wyvern"): (
primary: "common.abilities.custom.flamewyvern.firebomb", primary: Simple(None, "common.abilities.custom.flamewyvern.firebomb"),
secondary: "common.abilities.custom.flamewyvern.fireshockwave", secondary: Simple(None, "common.abilities.custom.flamewyvern.fireshockwave"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.flamewyvern.triplestrike"), Simple(None, "common.abilities.custom.flamewyvern.triplestrike"),
Simple(None, "common.abilities.custom.flamewyvern.flamethrower"), Simple(None, "common.abilities.custom.flamewyvern.flamethrower"),
], ],
), ),
Custom("Frost Wyvern"): ( Custom("Frost Wyvern"): (
primary: "common.abilities.custom.frostwyvern.frostbomb", primary: Simple(None, "common.abilities.custom.frostwyvern.frostbomb"),
secondary: "common.abilities.custom.frostwyvern.iceshockwave", secondary: Simple(None, "common.abilities.custom.frostwyvern.iceshockwave"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.frostwyvern.triplestrike"), Simple(None, "common.abilities.custom.frostwyvern.triplestrike"),
Simple(None, "common.abilities.custom.frostwyvern.frostthrower"), Simple(None, "common.abilities.custom.frostwyvern.frostthrower"),
], ],
), ),
Custom("Cloud Wyvern"): ( Custom("Cloud Wyvern"): (
primary: "common.abilities.custom.cloudwyvern.windbomb", primary: Simple(None, "common.abilities.custom.cloudwyvern.windbomb"),
secondary: "common.abilities.custom.cloudwyvern.windshockwave", secondary: Simple(None, "common.abilities.custom.cloudwyvern.windshockwave"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.cloudwyvern.triplestrike"), Simple(None, "common.abilities.custom.cloudwyvern.triplestrike"),
Simple(None, "common.abilities.custom.cloudwyvern.windthrower"), Simple(None, "common.abilities.custom.cloudwyvern.windthrower"),
], ],
), ),
Custom("Sea Wyvern"): ( Custom("Sea Wyvern"): (
primary: "common.abilities.custom.seawyvern.seabomb", primary: Simple(None, "common.abilities.custom.seawyvern.seabomb"),
secondary: "common.abilities.custom.seawyvern.seashockwave", secondary: Simple(None, "common.abilities.custom.seawyvern.seashockwave"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.seawyvern.triplestrike"), Simple(None, "common.abilities.custom.seawyvern.triplestrike"),
Simple(None, "common.abilities.custom.seawyvern.bubblethrower"), Simple(None, "common.abilities.custom.seawyvern.bubblethrower"),
], ],
), ),
Custom("Weald Wyvern"): ( Custom("Weald Wyvern"): (
primary: "common.abilities.custom.wealdwyvern.firebomb", primary: Simple(None, "common.abilities.custom.wealdwyvern.firebomb"),
secondary: "common.abilities.custom.wealdwyvern.fireshockwave", secondary: Simple(None, "common.abilities.custom.wealdwyvern.fireshockwave"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.wealdwyvern.triplestrike"), Simple(None, "common.abilities.custom.wealdwyvern.triplestrike"),
Simple(None, "common.abilities.custom.wealdwyvern.flamethrower"), Simple(None, "common.abilities.custom.wealdwyvern.flamethrower"),
], ],
), ),
Custom("Bird Large Basic"): ( Custom("Bird Large Basic"): (
primary: "common.abilities.custom.birdlargebasic.triplestrike", primary: Simple(None, "common.abilities.custom.birdlargebasic.triplestrike"),
secondary: "common.abilities.custom.birdlargebasic.summontornadoes", secondary: Simple(None, "common.abilities.custom.birdlargebasic.summontornadoes"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.birdlargebasic.dash"), Simple(None, "common.abilities.custom.birdlargebasic.dash"),
], ],
), ),
Custom("Bird Medium Basic"): ( Custom("Bird Medium Basic"): (
primary: "common.abilities.custom.birdmediumbasic.singlestrike", primary: Simple(None, "common.abilities.custom.birdmediumbasic.singlestrike"),
secondary: "common.abilities.custom.birdmediumbasic.singlestrike", secondary: Simple(None, "common.abilities.custom.birdmediumbasic.singlestrike"),
abilities: [], abilities: [],
), ),
Custom("Frost Gigas"): ( Custom("Frost Gigas"): (
primary: "common.abilities.custom.gigas_frost.cleave", primary: Simple(None, "common.abilities.custom.gigas_frost.cleave"),
secondary: "common.abilities.custom.gigas_frost.wide_cleave", secondary: Simple(None, "common.abilities.custom.gigas_frost.wide_cleave"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.gigas_frost.icespike_smash"), Simple(None, "common.abilities.custom.gigas_frost.icespike_smash"),
Simple(None, "common.abilities.custom.gigas_frost.leapshockwave"), Simple(None, "common.abilities.custom.gigas_frost.leapshockwave"),
@ -533,109 +601,109 @@
], ],
), ),
Custom("Boreal Bow"): ( Custom("Boreal Bow"): (
primary: "common.abilities.custom.boreal_warrior.bow.charged", primary: Simple(None, "common.abilities.custom.boreal_warrior.bow.charged"),
secondary: "common.abilities.custom.boreal_warrior.bow.repeater", secondary: Simple(None, "common.abilities.custom.boreal_warrior.bow.repeater"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.boreal_warrior.bow.shotgun") Simple(None, "common.abilities.custom.boreal_warrior.bow.shotgun")
], ],
), ),
Custom("Boreal Hammer"): ( Custom("Boreal Hammer"): (
primary: "common.abilities.custom.boreal_warrior.hammer.singlestrike", primary: Simple(None, "common.abilities.custom.boreal_warrior.hammer.singlestrike"),
secondary: "common.abilities.custom.boreal_warrior.hammer.dash", secondary: Simple(None, "common.abilities.custom.boreal_warrior.hammer.dash"),
abilities: [ abilities: [
Simple(None, "common.abilities.custom.boreal_warrior.hammer.leap") Simple(None, "common.abilities.custom.boreal_warrior.hammer.leap")
], ],
), ),
Custom("Tornado"): ( Custom("Tornado"): (
primary: "common.abilities.custom.tornado.spin", primary: Simple(None, "common.abilities.custom.tornado.spin"),
secondary: "common.abilities.empty.basic", secondary: Simple(None, "common.abilities.empty.basic"),
abilities: [], abilities: [],
), ),
Custom("Golf Club"): ( Custom("Golf Club"): (
primary: "common.abilities.hammer.singlestrike", primary: Simple(None, "common.abilities.hammer.singlestrike"),
secondary: "common.abilities.tool.golf_club.charged", secondary: Simple(None, "common.abilities.tool.golf_club.charged"),
abilities: [], abilities: [],
), ),
Custom("DoubleBass"): ( Custom("DoubleBass"): (
primary: "common.abilities.music.double_bass", primary: Simple(None, "common.abilities.music.double_bass"),
secondary: "common.abilities.music.double_bass", secondary: Simple(None, "common.abilities.music.double_bass"),
abilities: [], abilities: [],
), ),
Custom("Flute"): ( Custom("Flute"): (
primary: "common.abilities.music.flute", primary: Simple(None, "common.abilities.music.flute"),
secondary: "common.abilities.music.flute", secondary: Simple(None, "common.abilities.music.flute"),
abilities: [], abilities: [],
), ),
Custom("GlassFlute"): ( Custom("GlassFlute"): (
primary: "common.abilities.music.glass_flute", primary: Simple(None, "common.abilities.music.glass_flute"),
secondary: "common.abilities.music.glass_flute", secondary: Simple(None, "common.abilities.music.glass_flute"),
abilities: [], abilities: [],
), ),
Custom("Lyre"): ( Custom("Lyre"): (
primary: "common.abilities.music.lyre", primary: Simple(None, "common.abilities.music.lyre"),
secondary: "common.abilities.music.lyre", secondary: Simple(None, "common.abilities.music.lyre"),
abilities: [], abilities: [],
), ),
Custom("IcyTalharpa"): ( Custom("IcyTalharpa"): (
primary: "common.abilities.music.icy_talharpa", primary: Simple(None, "common.abilities.music.icy_talharpa"),
secondary: "common.abilities.music.icy_talharpa", secondary: Simple(None, "common.abilities.music.icy_talharpa"),
abilities: [], abilities: [],
), ),
Custom("Washboard"): ( Custom("Washboard"): (
primary: "common.abilities.music.washboard", primary: Simple(None, "common.abilities.music.washboard"),
secondary: "common.abilities.music.washboard", secondary: Simple(None, "common.abilities.music.washboard"),
abilities: [], abilities: [],
), ),
Custom("Kalimba"): ( Custom("Kalimba"): (
primary: "common.abilities.music.kalimba", primary: Simple(None, "common.abilities.music.kalimba"),
secondary: "common.abilities.music.kalimba", secondary: Simple(None, "common.abilities.music.kalimba"),
abilities: [], abilities: [],
), ),
Custom("Melodica"): ( Custom("Melodica"): (
primary: "common.abilities.music.melodica", primary: Simple(None, "common.abilities.music.melodica"),
secondary: "common.abilities.music.melodica", secondary: Simple(None, "common.abilities.music.melodica"),
abilities: [], abilities: [],
), ),
Custom("Lute"): ( Custom("Lute"): (
primary: "common.abilities.music.lute", primary: Simple(None, "common.abilities.music.lute"),
secondary: "common.abilities.music.lute", secondary: Simple(None, "common.abilities.music.lute"),
abilities: [], abilities: [],
), ),
Custom("Guitar"): ( Custom("Guitar"): (
primary: "common.abilities.music.guitar", primary: Simple(None, "common.abilities.music.guitar"),
secondary: "common.abilities.music.guitar", secondary: Simple(None, "common.abilities.music.guitar"),
abilities: [], abilities: [],
), ),
Custom("DarkGuitar"): ( Custom("DarkGuitar"): (
primary: "common.abilities.music.dark_guitar", primary: Simple(None, "common.abilities.music.dark_guitar"),
secondary: "common.abilities.music.dark_guitar", secondary: Simple(None, "common.abilities.music.dark_guitar"),
abilities: [], abilities: [],
), ),
Custom("Sitar"): ( Custom("Sitar"): (
primary: "common.abilities.music.sitar", primary: Simple(None, "common.abilities.music.sitar"),
secondary: "common.abilities.music.sitar", secondary: Simple(None, "common.abilities.music.sitar"),
abilities: [], abilities: [],
), ),
Tool(Debug): ( Tool(Debug): (
primary: "common.abilities.debug.forwardboost", primary: Simple(None, "common.abilities.debug.forwardboost"),
secondary: "common.abilities.debug.upboost", secondary: Simple(None, "common.abilities.debug.upboost"),
abilities: [ abilities: [
Simple(None, "common.abilities.debug.possess"), Simple(None, "common.abilities.debug.possess"),
], ],
), ),
Tool(Farming): ( Tool(Farming): (
primary: "common.abilities.farming.basic", primary: Simple(None, "common.abilities.farming.basic"),
secondary: "common.abilities.farming.basic", secondary: Simple(None, "common.abilities.farming.basic"),
abilities: [], abilities: [],
), ),
Tool(Pick): ( Tool(Pick): (
primary: "common.abilities.pick.swing", primary: Simple(None, "common.abilities.pick.swing"),
secondary: "common.abilities.pick.swing", secondary: Simple(None, "common.abilities.pick.swing"),
abilities: [], abilities: [],
), ),
Tool(Empty): ( Tool(Empty): (
primary: "common.abilities.empty.basic", primary: Simple(None, "common.abilities.empty.basic"),
secondary: "common.abilities.empty.basic", secondary: Simple(None, "common.abilities.empty.basic"),
abilities: [], abilities: [],
), ),
}) })

View File

@ -9,4 +9,12 @@ BasicBlock(
), ),
energy_cost: 0.0, energy_cost: 0.0,
can_hold: true, can_hold: true,
blocked_attacks: (
melee: true,
projectiles: true,
beams: true,
ground_shockwaves: false,
air_shockwaves: true,
explosions: true,
),
) )

View File

@ -0,0 +1,22 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 16,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 4.0,
angle: 15.0,
),
buildup_duration: 0.2,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.1,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
)

View File

@ -0,0 +1,22 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 12,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.0,
angle: 60.0,
),
buildup_duration: 0.05,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.1,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
)

View File

@ -0,0 +1,40 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 6,
poise: 3,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 50.0,
),
buildup_duration: 0.1,
swing_duration: 0.05,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Slash(
damage: 6,
poise: 3,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 50.0,
),
buildup_duration: 0.1,
swing_duration: 0.05,
hit_timing: 0.5,
recover_duration: 0.1,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 7.5,
auto_progress: true,
)

View File

@ -0,0 +1,12 @@
SelfBuff(
buildup_duration: 0.4,
cast_duration: 0.3,
recover_duration: 0.3,
buff_kind: Hastened,
buff_strength: 0.25,
buff_duration: Some(30.0),
energy_cost: 30,
meta: (
requirements: (stance: Some(Sword(Agile))),
),
)

View File

@ -0,0 +1,39 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 3,
poise: 2,
knockback: 0,
energy_regen: 5,
),
range: 3.0,
angle: 45.0,
),
buildup_duration: 0.1,
swing_duration: 0.05,
hit_timing: 0.5,
recover_duration: 0.1,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Slash(
damage: 6,
poise: 3,
knockback: 0,
energy_regen: 5,
),
range: 3.0,
angle: 45.0,
),
buildup_duration: 0.1,
swing_duration: 0.05,
hit_timing: 0.5,
recover_duration: 0.1,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 0,
)

View File

@ -3,29 +3,28 @@ ComboMelee2(
( (
melee_constructor: ( melee_constructor: (
kind: Slash( kind: Slash(
damage: 14, damage: 12,
poise: 0, poise: 5,
knockback: 0, knockback: 0,
energy_regen: 5, energy_regen: 0,
), ),
range: 4.0, range: 3.0,
angle: 45.0, angle: 45.0,
), ),
buildup_duration: 0.2, buildup_duration: 0.2,
swing_duration: 0.1, swing_duration: 0.1,
hit_timing: 0.6, hit_timing: 1.0,
recover_duration: 0.3, recover_duration: 0.15,
movement: ( movement: (
buildup: None, buildup: Some(DirectedReverse(1.8)),
swing: Some(Sideways(3.0)), swing: Some(AntiDirectedForward(2.7)),
recover: None, recover: None,
), ),
ori_modifier: 0.6, ori_modifier: 0.6,
), ),
], ],
is_stance: false,
energy_cost_per_strike: 10, energy_cost_per_strike: 10,
meta: ( meta: (
kind: Some(Sword(Mobility)), init_event: Some(EnterStance(Sword(Agile))),
), ),
) )

View File

@ -0,0 +1,22 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 16,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 20.0,
),
buildup_duration: 0.05,
swing_duration: 0.05,
hit_timing: 0.5,
recover_duration: 0.45,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 15,
)

View File

@ -0,0 +1,22 @@
RapidMelee(
buildup_duration: 0.1,
swing_duration: 0.1,
recover_duration: 0.1,
melee_constructor: (
kind: Slash(
damage: 8,
poise: 3,
knockback: 0,
energy_regen: 0,
),
range: 6.0,
angle: 10.0,
),
energy_cost: 10,
max_strikes: Some(3),
move_modifier: 0.35,
ori_modifier: 0.25,
meta: (
requirements: (stance: Some(Sword(Agile))),
),
)

View File

@ -0,0 +1,20 @@
RapidMelee(
buildup_duration: 0.1,
swing_duration: 0.033,
recover_duration: 0.1,
melee_constructor: (
kind: Slash(
damage: 2,
poise: 0,
knockback: 0,
energy_regen: 0,
),
range: 3.0,
angle: 10.0,
),
energy_cost: 2,
max_strikes: Some(20),
move_modifier: 0.6,
ori_modifier: 0.4,
minimum_combo: 20,
)

View File

@ -0,0 +1,19 @@
RapidMelee(
buildup_duration: 0.2,
swing_duration: 0.15,
recover_duration: 0.3,
melee_constructor: (
kind: Slash(
damage: 2,
poise: 1,
knockback: 0,
energy_regen: 2,
),
range: 4.0,
angle: 5.0,
),
energy_cost: 0,
max_strikes: None,
move_modifier: 0.3,
ori_modifier: 0.2,
)

View File

@ -0,0 +1,30 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 8,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 5.0,
angle: 20.0,
),
buildup_duration: 0.2,
swing_duration: 0.05,
hit_timing: 0.5,
recover_duration: 0.05,
movement: (
buildup: None,
swing: Some(Forward(3.0)),
recover: Some(Forward(2.0)),
),
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
meta: (
init_event: Some(EnterStance(Sword(Agile))),
),
)

View File

@ -0,0 +1,27 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Stab(
damage: 12,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 5.0,
angle: 5.0,
),
buildup_duration: 0.1,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.25,
ori_modifier: 0.6,
movement: (
buildup: Some(Forward(2.0)),
swing: Some(Forward(2.0)),
recover: None,
),
),
],
energy_cost_per_strike: 10,
)

View File

@ -0,0 +1,22 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 24,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 4.0,
angle: 15.0,
),
buildup_duration: 0.35,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
)

View File

@ -0,0 +1,22 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 18,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.0,
angle: 60.0,
),
buildup_duration: 0.1,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
)

View File

@ -0,0 +1,40 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 10,
poise: 3,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 50.0,
),
buildup_duration: 0.15,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Slash(
damage: 10,
poise: 3,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 50.0,
),
buildup_duration: 0.15,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.1,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 7.5,
auto_progress: true,
)

View File

@ -0,0 +1,39 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 5,
poise: 5,
knockback: 0,
energy_regen: 5,
),
range: 3.0,
angle: 45.0,
),
buildup_duration: 0.15,
swing_duration: 0.05,
hit_timing: 0.5,
recover_duration: 0.1,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Slash(
damage: 10,
poise: 5,
knockback: 0,
energy_regen: 10,
),
range: 3.0,
angle: 45.0,
),
buildup_duration: 0.1,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 0,
)

View File

@ -0,0 +1,22 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 24,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 20.0,
),
buildup_duration: 0.05,
swing_duration: 0.05,
hit_timing: 0.5,
recover_duration: 0.7,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 15,
)

View File

@ -1,20 +1,17 @@
FinisherMelee( FinisherMelee(
energy_cost: 30, energy_cost: 30,
buildup_duration: 0.3, buildup_duration: 0.2,
swing_duration: 0.1, swing_duration: 0.1,
recover_duration: 0.4, recover_duration: 0.4,
melee_constructor: ( melee_constructor: (
kind: Slash( kind: Slash(
damage: 30, damage: 40,
poise: 0, poise: 10,
knockback: 0, knockback: 0,
energy_regen: 10, energy_regen: 0,
), ),
range: 3.0, range: 3.0,
angle: 15.0, angle: 15.0,
), ),
minimum_combo: 10, minimum_combo: 15,
meta: (
kind: Some(Sword(Balanced)),
),
) )

View File

@ -0,0 +1,27 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Stab(
damage: 18,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 5.0,
angle: 5.0,
),
buildup_duration: 0.15,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.4,
ori_modifier: 0.6,
movement: (
buildup: Some(Forward(2.0)),
swing: Some(Forward(2.0)),
recover: None,
),
),
],
energy_cost_per_strike: 10,
)

View File

@ -0,0 +1,24 @@
ChargedMelee(
energy_cost: 0,
energy_drain: 0,
melee_constructor: (
kind: Stab(
damage: 0,
poise: 0,
knockback: 0,
energy_regen: 0,
),
scaled: Some(Stab(
damage: 20,
poise: 10,
knockback: 0,
energy_regen: 20,
)),
range: 4.5,
angle: 10.0,
),
charge_duration: 0.5,
swing_duration: 0.1,
hit_timing: 0.2,
recover_duration: 0.2,
)

View File

@ -0,0 +1,12 @@
SelfBuff(
buildup_duration: 0.4,
cast_duration: 0.3,
recover_duration: 0.3,
buff_kind: Reckless,
buff_strength: 0.25,
buff_duration: Some(30.0),
energy_cost: 30,
meta: (
requirements: (stance: Some(Sword(Cleaving))),
),
)

View File

@ -0,0 +1,21 @@
RapidMelee(
buildup_duration: 0.3,
swing_duration: 0.15,
recover_duration: 0.3,
melee_constructor: (
kind: Slash(
damage: 8,
poise: 10,
knockback: 0,
energy_regen: 0,
),
range: 4.0,
angle: 360.0,
multi_target: Some(Normal),
),
energy_cost: 5,
max_strikes: Some(6),
move_modifier: 0.8,
ori_modifier: 1.0,
minimum_combo: 10,
)

View File

@ -0,0 +1,23 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 19,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 4.0,
angle: 25.0,
multi_target: Some(Normal),
),
buildup_duration: 0.35,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
)

View File

@ -1,55 +0,0 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 10,
poise: 0,
knockback: 0,
energy_regen: 6,
),
range: 3.0,
angle: 45.0,
multi_target: Some(Normal),
),
buildup_duration: 0.3,
swing_duration: 0.15,
hit_timing: 0.5,
recover_duration: 0.5,
movement: (
buildup: Some(Forward(0.05)),
swing: None,
recover: None,
),
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Slash(
damage: 16,
poise: 0,
knockback: 0,
energy_regen: 8,
),
range: 3.0,
angle: 45.0,
multi_target: Some(Normal),
),
buildup_duration: 0.3,
swing_duration: 0.15,
hit_timing: 0.5,
recover_duration: 0.4,
movement: (
buildup: Some(Forward(0.05)),
swing: None,
recover: None,
),
ori_modifier: 0.6,
),
],
is_stance: true,
energy_cost_per_strike: 5,
meta: (
kind: Some(Sword(Cleaving)),
),
)

View File

@ -0,0 +1,23 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 15,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.0,
angle: 75.0,
multi_target: Some(Normal),
),
buildup_duration: 0.1,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
)

View File

@ -0,0 +1,42 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 10,
poise: 3,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 60.0,
multi_target: Some(Normal),
),
buildup_duration: 0.15,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Slash(
damage: 10,
poise: 3,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 60.0,
multi_target: Some(Normal),
),
buildup_duration: 0.15,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.1,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 7.5,
auto_progress: true,
)

View File

@ -3,41 +3,39 @@ ComboMelee2(
( (
melee_constructor: ( melee_constructor: (
kind: Slash( kind: Slash(
damage: 7, damage: 5,
poise: 0, poise: 5,
knockback: 0, knockback: 0,
energy_regen: 5, energy_regen: 5,
), ),
range: 3.0, range: 3.0,
angle: 45.0, angle: 45.0,
multi_target: Some(Normal),
), ),
buildup_duration: 0.3, buildup_duration: 0.2,
swing_duration: 0.1, swing_duration: 0.05,
hit_timing: 0.5, hit_timing: 0.5,
recover_duration: 0.3, recover_duration: 0.1,
ori_modifier: 0.6, ori_modifier: 0.6,
), ),
( (
melee_constructor: ( melee_constructor: (
kind: Slash( kind: Slash(
damage: 13, damage: 10,
poise: 0, poise: 5,
knockback: 0, knockback: 0,
energy_regen: 7.5, energy_regen: 5,
), ),
range: 3.0, range: 3.0,
angle: 45.0, angle: 45.0,
multi_target: Some(Normal),
), ),
buildup_duration: 0.2, buildup_duration: 0.15,
swing_duration: 0.1, swing_duration: 0.1,
hit_timing: 0.5, hit_timing: 0.5,
recover_duration: 0.3, recover_duration: 0.25,
ori_modifier: 0.6, ori_modifier: 0.6,
), ),
], ],
is_stance: true,
energy_cost_per_strike: 0, energy_cost_per_strike: 0,
meta: (
kind: Some(Sword(Balanced)),
),
) )

View File

@ -1,27 +1,29 @@
DiveMelee( DiveMelee(
energy_cost: 25, energy_cost: 15,
vertical_speed: 10, vertical_speed: 5,
buildup_duration: Some(0.1),
movement_duration: 5, movement_duration: 5,
swing_duration: 0.1, swing_duration: 0.1,
recover_duration: 0.3, recover_duration: 0.3,
melee_constructor: ( melee_constructor: (
kind: Slash( kind: Slash(
damage: 30, damage: 5,
poise: 0, poise: 5,
knockback: 0, knockback: 0,
energy_regen: 5, energy_regen: 0,
), ),
scaled: Some(Slash( scaled: Some(Slash(
damage: 10, damage: 10,
poise: 0, poise: 10,
knockback: 0, knockback: 0,
energy_regen: 10, energy_regen: 0,
)), )),
range: 6.0, range: 6.0,
angle: 15.0, angle: 15.0,
multi_target: Some(Normal), multi_target: Some(Normal),
), ),
max_scaling: 10.0,
meta: ( meta: (
kind: Some(Sword(Cleaving)), init_event: Some(EnterStance(Sword(Cleaving))),
), ),
) )

View File

@ -0,0 +1,23 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 24,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 30.0,
multi_target: Some(Normal),
),
buildup_duration: 0.05,
swing_duration: 0.05,
hit_timing: 0.5,
recover_duration: 0.7,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 15,
)

View File

@ -1,21 +0,0 @@
FinisherMelee(
energy_cost: 40,
buildup_duration: 0.4,
swing_duration: 0.2,
recover_duration: 0.5,
melee_constructor: (
kind: Slash(
damage: 30,
poise: 0,
knockback: 0,
energy_regen: 10,
),
range: 3.0,
angle: 15.0,
multi_target: Some(Scaling(0.5)),
),
minimum_combo: 10,
meta: (
kind: Some(Sword(Cleaving)),
),
)

View File

@ -0,0 +1,28 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Stab(
damage: 14,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 5.0,
angle: 7.5,
multi_target: Some(Normal),
),
buildup_duration: 0.15,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.4,
ori_modifier: 0.6,
movement: (
buildup: Some(Forward(2.0)),
swing: Some(Forward(2.0)),
recover: None,
),
),
],
energy_cost_per_strike: 10,
)

View File

@ -0,0 +1,27 @@
// TODO: When melee system supports it, make this attack hit front, above head, and back
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 30,
poise: 20,
knockback: 10,
energy_regen: 0,
),
range: 4.0,
angle: 15.0,
multi_target: Some(Normal),
),
buildup_duration: 0.2,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.5,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 40,
meta: (
requirements: (stance: Some(Sword(Cleaving))),
),
)

View File

@ -1,27 +0,0 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 16,
poise: 0,
knockback: 0,
energy_regen: 5,
),
range: 6.0,
angle: 360.0,
multi_target: Some(Normal),
),
buildup_duration: 0.1,
swing_duration: 0.3,
hit_timing: 0.6,
recover_duration: 0.4,
ori_modifier: 0.6,
),
],
is_stance: false,
energy_cost_per_strike: 20,
meta: (
kind: Some(Sword(Cleaving)),
),
)

View File

@ -0,0 +1,25 @@
ChargedMelee(
energy_cost: 0,
energy_drain: 0,
melee_constructor: (
kind: Slash(
damage: 0,
poise: 0,
knockback: 0,
energy_regen: 0,
),
scaled: Some(Slash(
damage: 12,
poise: 10,
knockback: 0,
energy_regen: 10,
)),
range: 3.0,
angle: 360.0,
multi_target: Some(Normal),
),
charge_duration: 0.5,
swing_duration: 0.2,
hit_timing: 0.2,
recover_duration: 0.3,
)

View File

@ -0,0 +1,23 @@
RapidMelee(
buildup_duration: 0.2,
swing_duration: 0.2,
recover_duration: 0.4,
melee_constructor: (
kind: Slash(
damage: 12,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 4.0,
angle: 360.0,
multi_target: Some(Normal),
),
energy_cost: 10,
max_strikes: Some(2),
ori_modifier: 1.0,
move_modifier: 1.0,
meta: (
init_event: Some(EnterStance(Sword(Cleaving))),
),
)

View File

@ -0,0 +1,26 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 15,
poise: 5,
knockback: 0,
energy_regen: 5,
),
range: 3.0,
angle: 45.0,
damage_effect: Some(BuffsVulnerable(1.0, Bleeding)),
),
buildup_duration: 0.15,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.15,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 20,
meta: (
requirements: (stance: Some(Sword(Crippling))),
),
)

View File

@ -0,0 +1,28 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 18,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 4.0,
angle: 15.0,
damage_effect: Some(Buff((
kind: Bleeding,
dur_secs: 8.0,
strength: DamageFraction(0.25),
chance: 0.25,
))),
),
buildup_duration: 0.35,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
)

View File

@ -1,55 +0,0 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 8,
poise: 0,
knockback: 0,
energy_regen: 9,
),
range: 3.0,
angle: 45.0,
damage_effect: Some(Buff((
kind: Bleeding,
dur_secs: 10.0,
strength: DamageFraction(0.2),
chance: 0.1,
))),
),
buildup_duration: 0.2,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.5,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Slash(
damage: 14,
poise: 0,
knockback: 0,
energy_regen: 13,
),
range: 3.0,
angle: 45.0,
damage_effect: Some(Buff((
kind: Bleeding,
dur_secs: 10.0,
strength: DamageFraction(0.2),
chance: 0.25,
))),
),
buildup_duration: 0.2,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.3,
ori_modifier: 0.6,
),
],
is_stance: true,
energy_cost_per_strike: 4,
meta: (
kind: Some(Sword(Crippling)),
),
)

View File

@ -0,0 +1,28 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 14,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.0,
angle: 60.0,
damage_effect: Some(Buff((
kind: Bleeding,
dur_secs: 8.0,
strength: DamageFraction(0.25),
chance: 0.25,
))),
),
buildup_duration: 0.1,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
)

View File

@ -0,0 +1,52 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 7,
poise: 3,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 50.0,
damage_effect: Some(Buff((
kind: Bleeding,
dur_secs: 8.0,
strength: DamageFraction(0.25),
chance: 0.25,
))),
),
buildup_duration: 0.15,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Slash(
damage: 7,
poise: 3,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 50.0,
damage_effect: Some(Buff((
kind: Bleeding,
dur_secs: 8.0,
strength: DamageFraction(0.25),
chance: 0.25,
))),
),
buildup_duration: 0.15,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.1,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 7.5,
auto_progress: true,
)

View File

@ -0,0 +1,35 @@
ChargedMelee(
energy_cost: 0,
energy_drain: 0,
melee_constructor: (
kind: Slash(
damage: 0,
poise: 0,
knockback: 0,
energy_regen: 0,
),
scaled: Some(Slash(
damage: 12,
poise: 5,
knockback: 0,
energy_regen: 15,
)),
damage_effect: Some(BuffsVulnerable(0.5, Bleeding)),
range: 4.5,
angle: 10.0,
),
buildup_strike: Some((0.3, (
kind: Slash(
damage: 6,
poise: 0,
knockback: 0,
energy_regen: 5,
),
range: 4.5,
angle: 10.0,
))),
charge_duration: 0.5,
swing_duration: 0.1,
hit_timing: 0.2,
recover_duration: 0.3,
)

View File

@ -0,0 +1,41 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 5,
poise: 5,
knockback: 0,
energy_regen: 5,
),
range: 3.0,
angle: 45.0,
damage_effect: Some(RefreshBuff(0.1, Bleeding)),
),
buildup_duration: 0.15,
swing_duration: 0.05,
hit_timing: 0.5,
recover_duration: 0.1,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Slash(
damage: 10,
poise: 5,
knockback: 0,
energy_regen: 10,
),
range: 3.0,
angle: 45.0,
damage_effect: Some(RefreshBuff(0.1, Bleeding)),
),
buildup_duration: 0.1,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 0,
)

View File

@ -0,0 +1,26 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 15,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.0,
angle: 45.0,
damage_effect: Some(BuffsVulnerable(2.0, Crippled)),
),
buildup_duration: 0.2,
swing_duration: 0.15,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 25,
meta: (
requirements: (stance: Some(Sword(Crippling))),
),
)

View File

@ -0,0 +1,28 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 18,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 20.0,
damage_effect: Some(Buff((
kind: Bleeding,
dur_secs: 8.0,
strength: DamageFraction(0.25),
chance: 0.25,
))),
),
buildup_duration: 0.05,
swing_duration: 0.05,
hit_timing: 0.5,
recover_duration: 0.7,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 15,
)

View File

@ -1,30 +0,0 @@
FinisherMelee(
energy_cost: 40,
buildup_duration: 0.4,
swing_duration: 0.2,
recover_duration: 0.6,
melee_constructor: (
kind: Slash(
damage: 20,
poise: 0,
knockback: 0,
energy_regen: 10,
),
range: 3.0,
angle: 15.0,
damage_effect: Some(Buff((
kind: Bleeding,
dur_secs: 10.0,
strength: DamageFraction(0.25),
chance: 1.0,
))),
),
scaling: Some((
target: Buff,
kind: Sqrt,
)),
minimum_combo: 10,
meta: (
kind: Some(Sword(Crippling)),
),
)

View File

@ -3,30 +3,29 @@ ComboMelee2(
( (
melee_constructor: ( melee_constructor: (
kind: Slash( kind: Slash(
damage: 14, damage: 8,
poise: 0, poise: 5,
knockback: 0, knockback: 0,
energy_regen: 5, energy_regen: 0,
), ),
range: 4.0, range: 4.0,
angle: 45.0, angle: 45.0,
damage_effect: Some(Buff(( damage_effect: Some(Buff((
kind: Bleeding, kind: Bleeding,
dur_secs: 12.0, dur_secs: 8.0,
strength: DamageFraction(0.25), strength: DamageFraction(0.35),
chance: 1.0, chance: 1.0,
))), ))),
), ),
buildup_duration: 0.3, buildup_duration: 0.2,
swing_duration: 0.2, swing_duration: 0.1,
hit_timing: 0.6, hit_timing: 0.6,
recover_duration: 0.6, recover_duration: 0.4,
ori_modifier: 0.6, ori_modifier: 0.6,
), ),
], ],
is_stance: false, energy_cost_per_strike: 15,
energy_cost_per_strike: 25,
meta: ( meta: (
kind: Some(Sword(Crippling)), init_event: Some(EnterStance(Sword(Crippling))),
), ),
) )

View File

@ -3,10 +3,10 @@ ComboMelee2(
( (
melee_constructor: ( melee_constructor: (
kind: Slash( kind: Slash(
damage: 18, damage: 10,
poise: 0, poise: 5,
knockback: 0, knockback: 0,
energy_regen: 5, energy_regen: 0,
), ),
range: 4.0, range: 4.0,
angle: 45.0, angle: 45.0,
@ -17,16 +17,15 @@ ComboMelee2(
chance: 1.0, chance: 1.0,
))), ))),
), ),
buildup_duration: 0.3, buildup_duration: 0.2,
swing_duration: 0.1, swing_duration: 0.1,
hit_timing: 0.6, hit_timing: 0.6,
recover_duration: 0.3, recover_duration: 0.3,
ori_modifier: 0.6, ori_modifier: 0.6,
), ),
], ],
is_stance: false, energy_cost_per_strike: 15,
energy_cost_per_strike: 25,
meta: ( meta: (
kind: Some(Sword(Crippling)), init_event: Some(EnterStance(Sword(Crippling))),
), ),
) )

View File

@ -0,0 +1,21 @@
RapidMelee(
buildup_duration: 0.1,
swing_duration: 0.1,
recover_duration: 0.3,
melee_constructor: (
kind: Slash(
damage: 10,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 4.0,
angle: 15.0,
damage_effect: Some(BuffsVulnerable(1.0, Bleeding)),
),
energy_cost: 7.5,
max_strikes: Some(4),
move_modifier: 0.7,
ori_modifier: 0.2,
minimum_combo: 12,
)

View File

@ -0,0 +1,33 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Stab(
damage: 14,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 5.0,
angle: 5.0,
damage_effect: Some(Buff((
kind: Bleeding,
dur_secs: 8.0,
strength: DamageFraction(0.25),
chance: 0.25,
))),
),
buildup_duration: 0.15,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.4,
ori_modifier: 0.6,
movement: (
buildup: Some(Forward(2.0)),
swing: Some(Forward(2.0)),
recover: None,
),
),
],
energy_cost_per_strike: 10,
)

View File

@ -0,0 +1,28 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 18,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 4.0,
angle: 15.0,
),
buildup_duration: 0.35,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
meta: (
capabilities: (
// When in buildup, attack can get cancelled into parry
bits: 0b00100000,
),
),
)

View File

@ -0,0 +1,18 @@
FinisherMelee(
energy_cost: 30,
buildup_duration: 0.05,
swing_duration: 0.1,
recover_duration: 0.6,
melee_constructor: (
kind: Slash(
damage: 30,
poise: 10,
knockback: 0,
energy_regen: 0,
),
range: 3.0,
angle: 15.0,
damage_effect: Some(BuffsVulnerable(2.0, Parried)),
),
minimum_combo: 15,
)

View File

@ -0,0 +1,28 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 15,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.0,
angle: 60.0,
),
buildup_duration: 0.1,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
meta: (
capabilities: (
// When in buildup, attack can get cancelled into parry
bits: 0b00100000,
),
),
)

View File

@ -0,0 +1,46 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 8,
poise: 3,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 50.0,
),
buildup_duration: 0.15,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Slash(
damage: 8,
poise: 3,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 50.0,
),
buildup_duration: 0.15,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.1,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 7.5,
auto_progress: true,
meta: (
capabilities: (
// When in buildup, attack can get cancelled into parry
bits: 0b00100000,
),
),
)

View File

@ -0,0 +1,23 @@
BasicBlock(
buildup_duration: 0.25,
recover_duration: 0.15,
max_angle: 45.0,
block_strength: 0.75,
parry_window: (
buildup: true,
recover: true,
),
energy_cost: 10,
can_hold: false,
blocked_attacks: (
melee: true,
projectiles: true,
beams: false,
ground_shockwaves: false,
air_shockwaves: false,
explosions: false,
),
meta: (
requirements: (stance: Some(Sword(Defensive))),
),
)

View File

@ -4,9 +4,9 @@ ComboMelee2(
melee_constructor: ( melee_constructor: (
kind: Slash( kind: Slash(
damage: 16, damage: 16,
poise: 0, poise: 5,
knockback: 0, knockback: 0,
energy_regen: 5, energy_regen: 0,
), ),
range: 6.0, range: 6.0,
angle: 45.0, angle: 45.0,
@ -14,7 +14,7 @@ ComboMelee2(
buildup_duration: 0.1, buildup_duration: 0.1,
swing_duration: 0.1, swing_duration: 0.1,
hit_timing: 0.6, hit_timing: 0.6,
recover_duration: 0.5, recover_duration: 0.4,
movement: ( movement: (
buildup: None, buildup: None,
swing: None, swing: None,
@ -23,9 +23,8 @@ ComboMelee2(
ori_modifier: 0.6, ori_modifier: 0.6,
), ),
], ],
is_stance: false,
energy_cost_per_strike: 10, energy_cost_per_strike: 10,
meta: ( meta: (
kind: Some(Sword(Defensive)), init_event: Some(EnterStance(Sword(Defensive))),
), ),
) )

View File

@ -3,45 +3,43 @@ ComboMelee2(
( (
melee_constructor: ( melee_constructor: (
kind: Slash( kind: Slash(
damage: 8, damage: 4,
poise: 0, poise: 5,
knockback: 0, knockback: 0,
energy_regen: 8, energy_regen: 5,
), ),
range: 3.0, range: 3.0,
angle: 45.0, angle: 45.0,
), ),
buildup_duration: 0.3, buildup_duration: 0.15,
swing_duration: 0.1, swing_duration: 0.05,
hit_timing: 0.5, hit_timing: 0.5,
recover_duration: 0.5, recover_duration: 0.1,
ori_modifier: 0.6, ori_modifier: 0.6,
), ),
( (
melee_constructor: ( melee_constructor: (
kind: Slash( kind: Slash(
damage: 12, damage: 8,
poise: 0, poise: 5,
knockback: 0, knockback: 0,
energy_regen: 10, energy_regen: 10,
), ),
range: 3.0, range: 3.0,
angle: 45.0, angle: 45.0,
), ),
buildup_duration: 0.2, buildup_duration: 0.1,
swing_duration: 0.1, swing_duration: 0.1,
hit_timing: 0.5, hit_timing: 0.5,
recover_duration: 0.3, recover_duration: 0.2,
ori_modifier: 0.6, ori_modifier: 0.6,
), ),
], ],
is_stance: true, energy_cost_per_strike: 0,
energy_cost_per_strike: 2,
meta: ( meta: (
kind: Some(Sword(Defensive)),
capabilities: ( capabilities: (
// Blocking can interrupt attack // Blocks melee attacks at 50% strength
bits: 0b00000010, bits: 0b00000100,
), ),
), ),
) )

View File

@ -0,0 +1,28 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 20,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 20.0,
),
buildup_duration: 0.05,
swing_duration: 0.05,
hit_timing: 0.5,
recover_duration: 0.7,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 15,
meta: (
capabilities: (
// When in buildup, attack can get cancelled into parry
bits: 0b00100000,
),
),
)

View File

@ -0,0 +1,20 @@
BasicBlock(
buildup_duration: 0.2,
recover_duration: 0.1,
max_angle: 45.0,
block_strength: 0.75,
parry_window: (
buildup: true,
recover: false,
),
energy_cost: 0,
can_hold: true,
blocked_attacks: (
melee: true,
projectiles: false,
beams: false,
ground_shockwaves: false,
air_shockwaves: false,
explosions: false,
),
)

View File

@ -6,7 +6,7 @@ RiposteMelee(
melee_constructor: ( melee_constructor: (
kind: Slash( kind: Slash(
damage: 25, damage: 25,
poise: 0, poise: 5,
knockback: 0, knockback: 0,
energy_regen: 5, energy_regen: 5,
), ),
@ -14,6 +14,6 @@ RiposteMelee(
angle: 20.0, angle: 20.0,
), ),
meta: ( meta: (
kind: Some(Sword(Parrying)), init_event: Some(EnterStance(Sword(Defensive))),
) ),
) )

View File

@ -0,0 +1,33 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Stab(
damage: 15,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 5.0,
angle: 5.0,
),
buildup_duration: 0.15,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.4,
ori_modifier: 0.6,
movement: (
buildup: Some(Forward(2.0)),
swing: Some(Forward(2.0)),
recover: None,
),
),
],
energy_cost_per_strike: 10,
meta: (
capabilities: (
// When in buildup, attack can get cancelled into parry
bits: 0b00100000,
),
),
)

View File

@ -1,12 +1,12 @@
SelfBuff( SelfBuff(
buildup_duration: 0.15, buildup_duration: 0.25,
cast_duration: 0.4, cast_duration: 0.3,
recover_duration: 0.25, recover_duration: 0.25,
buff_kind: ProtectingWard, buff_kind: ProtectingWard,
buff_strength: 0.4, buff_strength: 0.4,
buff_duration: Some(30.0), buff_duration: Some(30.0),
energy_cost: 40, energy_cost: 30,
meta: ( meta: (
kind: Some(Sword(Defensive)), requirements: (stance: Some(Sword(Defensive))),
), ),
) )

View File

@ -0,0 +1,23 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 26,
poise: 15,
knockback: 0,
energy_regen: 0,
),
range: 4.0,
angle: 15.0,
damage_effect: Some(StunnedVulnerable(0.5)),
),
buildup_duration: 0.5,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.3,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
)

View File

@ -1,47 +0,0 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Bash(
damage: 18,
poise: 5,
knockback: 5,
energy_regen: 10,
),
range: 3.0,
angle: 45.0,
),
buildup_duration: 0.5,
swing_duration: 0.2,
hit_timing: 0.5,
recover_duration: 0.5,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Bash(
damage: 30,
poise: 5,
knockback: 5,
energy_regen: 15,
),
range: 3.0,
angle: 45.0,
),
buildup_duration: 0.6,
swing_duration: 0.2,
hit_timing: 0.5,
recover_duration: 0.4,
ori_modifier: 0.6,
),
],
is_stance: true,
energy_cost_per_strike: 4,
meta: (
kind: Some(Sword(Heavy)),
capabilities: (
// Poise and knockback resistant during attack
bits: 0b00011000,
),
),
)

View File

@ -0,0 +1,23 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 19,
poise: 15,
knockback: 0,
energy_regen: 0,
),
range: 3.0,
angle: 60.0,
damage_effect: Some(StunnedVulnerable(0.5)),
),
buildup_duration: 0.3,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
)

View File

@ -0,0 +1,42 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 11,
poise: 3,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 50.0,
damage_effect: Some(StunnedVulnerable(0.5)),
),
buildup_duration: 0.2,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Slash(
damage: 11,
poise: 3,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 50.0,
damage_effect: Some(StunnedVulnerable(0.5)),
),
buildup_duration: 0.2,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 7.5,
auto_progress: true,
)

View File

@ -4,44 +4,38 @@ ComboMelee2(
melee_constructor: ( melee_constructor: (
kind: Slash( kind: Slash(
damage: 6, damage: 6,
poise: 0, poise: 10,
knockback: 0, knockback: 0,
energy_regen: 9, energy_regen: 10,
), ),
range: 3.0, range: 3.0,
angle: 45.0, angle: 45.0,
damage_effect: Some(StunnedVulnerable(0.5)),
), ),
buildup_duration: 0.2, buildup_duration: 0.3,
swing_duration: 0.1, swing_duration: 0.05,
hit_timing: 0.5, hit_timing: 0.5,
recover_duration: 0.4, recover_duration: 0.1,
ori_modifier: 0.6, ori_modifier: 0.6,
), ),
( (
melee_constructor: ( melee_constructor: (
kind: Slash( kind: Slash(
damage: 11, damage: 9,
poise: 0, poise: 15,
knockback: 0, knockback: 0,
energy_regen: 13, energy_regen: 15,
), ),
range: 3.0, range: 3.0,
angle: 45.0, angle: 45.0,
damage_effect: Some(StunnedVulnerable(0.5)),
), ),
buildup_duration: 0.25, buildup_duration: 0.2,
swing_duration: 0.1, swing_duration: 0.1,
hit_timing: 0.5, hit_timing: 0.5,
recover_duration: 0.3, recover_duration: 0.2,
ori_modifier: 0.6, ori_modifier: 0.6,
), ),
], ],
is_stance: true, energy_cost_per_strike: 0,
energy_cost_per_strike: 5,
meta: (
kind: Some(Sword(Parrying)),
capabilities: (
// Buildup auto parries melee attacks
bits: 0b00000100,
),
),
) )

View File

@ -0,0 +1,23 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 28,
poise: 15,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 20.0,
damage_effect: Some(StunnedVulnerable(0.5)),
),
buildup_duration: 0.15,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.9,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 15,
)

View File

@ -1,30 +0,0 @@
FinisherMelee(
energy_cost: 40,
buildup_duration: 0.4,
swing_duration: 0.2,
recover_duration: 0.4,
melee_constructor: (
kind: Bash(
damage: 40,
poise: 40,
knockback: 0,
energy_regen: 10,
),
scaled: Some(Bash(
damage: 10,
poise: 20,
knockback: 0,
energy_regen: 0,
)),
range: 3.0,
angle: 15.0,
),
scaling: Some((
target: Attack,
kind: Linear,
)),
minimum_combo: 10,
meta: (
kind: Some(Sword(Heavy)),
),
)

View File

@ -3,10 +3,10 @@ SelfBuff(
cast_duration: 0.2, cast_duration: 0.2,
recover_duration: 0.6, recover_duration: 0.6,
buff_kind: Fortitude, buff_kind: Fortitude,
buff_strength: 0.5, buff_strength: 1.0,
buff_duration: Some(30.0), buff_duration: Some(30.0),
energy_cost: 40, energy_cost: 25,
meta: ( meta: (
kind: Some(Sword(Heavy)), requirements: (stance: Some(Sword(Heavy))),
), ),
) )

View File

@ -0,0 +1,18 @@
FinisherMelee(
energy_cost: 30,
buildup_duration: 0.4,
swing_duration: 0.1,
recover_duration: 0.6,
melee_constructor: (
kind: Slash(
damage: 50,
poise: 100,
knockback: 0,
energy_regen: 0,
),
range: 3.0,
angle: 15.0,
damage_effect: Some(StunnedVulnerable(1.0)),
),
minimum_combo: 10,
)

View File

@ -0,0 +1,30 @@
DiveMelee(
energy_cost: 25,
vertical_speed: 5,
buildup_duration: Some(0.1),
movement_duration: 5,
swing_duration: 0.1,
recover_duration: 0.3,
melee_constructor: (
kind: Slash(
damage: 20,
poise: 40,
knockback: 0,
energy_regen: 0,
),
scaled: Some(Slash(
damage: 5,
poise: 10,
knockback: 0,
energy_regen: 0,
)),
range: 2.0,
angle: 45.0,
multi_target: Some(Normal),
damage_effect: Some(StunnedVulnerable(0.5)),
),
max_scaling: 6,
meta: (
requirements: (stance: Some(Sword(Heavy))),
),
)

View File

@ -0,0 +1,26 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Bash(
damage: 12,
poise: 60,
knockback: 0,
energy_regen: 0,
),
range: 1.0,
angle: 45.0,
damage_effect: Some(StunnedVulnerable(0.5)),
),
buildup_duration: 0.15,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.1,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 15,
meta: (
init_event: Some(EnterStance(Sword(Heavy))),
),
)

View File

@ -1,26 +0,0 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Bash(
damage: 20,
poise: 25,
knockback: 0,
energy_regen: 5,
),
range: 4.0,
angle: 5.0,
),
buildup_duration: 0.2,
swing_duration: 0.1,
hit_timing: 0.6,
recover_duration: 0.4,
ori_modifier: 0.6,
),
],
is_stance: false,
energy_cost_per_strike: 15,
meta: (
kind: Some(Sword(Heavy)),
),
)

View File

@ -0,0 +1,28 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Stab(
damage: 21,
poise: 15,
knockback: 0,
energy_regen: 0,
),
range: 5.0,
angle: 5.0,
damage_effect: Some(StunnedVulnerable(0.5)),
),
buildup_duration: 0.3,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.5,
ori_modifier: 0.6,
movement: (
buildup: Some(Forward(2.0)),
swing: Some(Forward(2.0)),
recover: None,
),
),
],
energy_cost_per_strike: 10,
)

View File

@ -3,25 +3,23 @@ ChargedMelee(
energy_drain: 0, energy_drain: 0,
melee_constructor: ( melee_constructor: (
kind: Slash( kind: Slash(
damage: 2, damage: 0,
poise: 0, poise: 0,
knockback: 0, knockback: 0,
energy_regen: 0, energy_regen: 0,
), ),
scaled: Some(Slash( scaled: Some(Slash(
damage: 20, damage: 20,
poise: 0, poise: 30,
knockback: 0, knockback: 0,
energy_regen: 18, energy_regen: 30,
)), )),
range: 4.5, range: 4.5,
angle: 10.0, angle: 10.0,
damage_effect: Some(StunnedVulnerable(0.5)),
), ),
charge_duration: 0.7, charge_duration: 0.8,
swing_duration: 0.1, swing_duration: 0.1,
hit_timing: 0.2, hit_timing: 0.2,
recover_duration: 0.2, recover_duration: 0.4,
meta: (
kind: Some(Sword(Balanced)),
),
) )

View File

@ -0,0 +1,45 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 11,
poise: 15,
knockback: 0,
energy_regen: 0,
),
range: 4.0,
angle: 30.0,
damage_effect: Some(StunnedVulnerable(0.5)),
),
buildup_duration: 0.3,
swing_duration: 0.15,
hit_timing: 0.5,
recover_duration: 0.1,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Slash(
damage: 17,
poise: 30,
knockback: 0,
energy_regen: 0,
),
range: 4.0,
angle: 30.0,
damage_effect: Some(StunnedVulnerable(0.5)),
),
buildup_duration: 0.25,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.25,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
auto_progress: true,
meta: (
init_event: Some(EnterStance(Sword(Heavy))),
),
)

View File

@ -1,12 +0,0 @@
SelfBuff(
buildup_duration: 0.15,
cast_duration: 0.4,
recover_duration: 0.25,
buff_kind: Hastened,
buff_strength: 0.2,
buff_duration: Some(20.0),
energy_cost: 40,
meta: (
kind: Some(Sword(Mobility)),
),
)

View File

@ -1,81 +0,0 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 5,
poise: 0,
knockback: 0,
energy_regen: 6,
),
range: 3.0,
angle: 45.0,
),
buildup_duration: 0.2,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Slash(
damage: 6,
poise: 0,
knockback: 0,
energy_regen: 8,
),
range: 3.0,
angle: 45.0,
),
buildup_duration: 0.2,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.1,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Slash(
damage: 5,
poise: 0,
knockback: 0,
energy_regen: 10,
),
range: 3.0,
angle: 45.0,
),
buildup_duration: 0.15,
swing_duration: 0.05,
hit_timing: 0.5,
recover_duration: 0.1,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Slash(
damage: 8,
poise: 0,
knockback: 0,
energy_regen: 12,
),
range: 3.0,
angle: 45.0,
),
buildup_duration: 0.1,
swing_duration: 0.05,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
],
is_stance: true,
energy_cost_per_strike: 2,
meta: (
kind: Some(Sword(Mobility)),
capabilities: (
// Rolling can interrupt attack
bits: 0b00000001,
),
),
)

View File

@ -1,31 +0,0 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 16,
poise: 0,
knockback: 0,
energy_regen: 5,
),
range: 6.0,
angle: 30.0,
),
buildup_duration: 0.2,
swing_duration: 0.1,
hit_timing: 0.6,
recover_duration: 0.3,
movement: (
buildup: Some(Forward(1.0)),
swing: Some(Forward(3.0)),
recover: None,
),
ori_modifier: 0.6,
),
],
is_stance: false,
energy_cost_per_strike: 10,
meta: (
kind: Some(Sword(Offensive)),
),
)

View File

@ -1,65 +0,0 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 7,
poise: 0,
knockback: 0,
energy_regen: 7,
),
range: 3.0,
angle: 45.0,
),
buildup_duration: 0.2,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.3,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Slash(
damage: 9,
poise: 0,
knockback: 0,
energy_regen: 10,
),
range: 3.0,
angle: 45.0,
),
buildup_duration: 0.3,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.3,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Slash(
damage: 14,
poise: 0,
knockback: 0,
energy_regen: 13,
),
range: 3.0,
angle: 45.0,
),
buildup_duration: 0.2,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
movement: (
buildup: None,
swing: Some(Forward(0.5)),
recover: None,
),
ori_modifier: 0.6,
),
],
is_stance: true,
energy_cost_per_strike: 3,
meta: (
kind: Some(Sword(Offensive)),
),
)

View File

@ -1,30 +0,0 @@
FinisherMelee(
energy_cost: 40,
buildup_duration: 0.4,
swing_duration: 0.05,
recover_duration: 0.4,
melee_constructor: (
kind: Slash(
damage: 30,
poise: 0,
knockback: 0,
energy_regen: 10,
),
scaled: Some(Slash(
damage: 15,
poise: 0,
knockback: 0,
energy_regen: 0,
)),
range: 3.0,
angle: 15.0,
),
scaling: Some((
target: Attack,
kind: Sqrt,
)),
minimum_combo: 10,
meta: (
kind: Some(Sword(Offensive)),
),
)

View File

@ -1,32 +0,0 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 30,
poise: 0,
knockback: 0,
energy_regen: 5,
),
range: 3.0,
angle: 30.0,
damage_effect: Some(BuildupsVulnerable),
),
buildup_duration: 0.05,
swing_duration: 0.1,
hit_timing: 0.6,
recover_duration: 0.75,
movement: (
buildup: Some(Forward(0.5)),
swing: None,
recover: None,
),
ori_modifier: 0.6,
),
],
is_stance: false,
energy_cost_per_strike: 15,
meta: (
kind: Some(Sword(Parrying)),
),
)

View File

@ -1,15 +0,0 @@
BasicBlock(
buildup_duration: 0.25,
recover_duration: 0.25,
max_angle: 45.0,
block_strength: 0.8,
parry_window: (
buildup: true,
recover: true,
),
energy_cost: 15,
can_hold: false,
meta: (
kind: Some(Sword(Parrying)),
),
)

View File

@ -1,30 +0,0 @@
DashMelee(
energy_cost: 10,
melee_constructor: (
kind: Stab(
damage: 10,
poise: 0,
knockback: 0,
energy_regen: 5,
),
scaled: Some(Stab(
damage: 30,
poise: 0,
knockback: 0,
energy_regen: 10,
)),
range: 4,
angle: 15.0,
),
energy_drain: 20,
forward_speed: 3,
buildup_duration: 0.2,
charge_duration: 1.0,
swing_duration: 0.1,
recover_duration: 0.5,
ori_modifier: 0.1,
charge_through: false,
meta: (
kind: Some(Sword(Reaching)),
),
)

View File

@ -1,43 +0,0 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Stab(
damage: 6,
poise: 0,
knockback: 0,
energy_regen: 8,
),
range: 4.0,
angle: 10.0,
),
buildup_duration: 0.2,
swing_duration: 0.05,
hit_timing: 0.5,
recover_duration: 0.3,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Stab(
damage: 18,
poise: 0,
knockback: 0,
energy_regen: 10,
),
range: 5.0,
angle: 7.5,
),
buildup_duration: 0.3,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.3,
ori_modifier: 0.6,
),
],
is_stance: true,
energy_cost_per_strike: 4,
meta: (
kind: Some(Sword(Reaching)),
),
)

View File

@ -1,20 +0,0 @@
RapidMelee(
buildup_duration: 0.3,
swing_duration: 0.1,
recover_duration: 0.5,
melee_constructor: (
kind: Stab(
damage: 10,
poise: 0,
knockback: 0,
energy_regen: 4,
),
range: 4.5,
angle: 10.0,
),
energy_cost: 8,
max_strikes: 6,
meta: (
kind: Some(Sword(Reaching)),
),
)

View File

@ -1,32 +0,0 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Stab(
damage: 24,
poise: 0,
knockback: 0,
energy_regen: 5,
),
range: 8.0,
angle: 10.0,
multi_target: Some(Normal),
),
buildup_duration: 0.3,
swing_duration: 0.1,
hit_timing: 0.6,
recover_duration: 0.3,
movement: (
buildup: None,
swing: Some(Forward(1.0)),
recover: None,
),
ori_modifier: 0.6,
),
],
is_stance: false,
energy_cost_per_strike: 15,
meta: (
kind: Some(Sword(Reaching)),
),
)

View File

@ -17,6 +17,9 @@
(1, Item("common.items.weapons.sceptre.sceptre_velorite_0")), (1, Item("common.items.weapons.sceptre.sceptre_velorite_0")),
]), None)), ]), None)),
)), )),
items: [
(5, "common.items.consumable.potion_big"),
],
), ),
meta: [ meta: [
SkillSetAsset("common.skillset.preset.rank5.fullskill"), SkillSetAsset("common.skillset.preset.rank5.fullskill"),

View File

@ -1,49 +1,43 @@
({ ({
Sword(OffensiveFinisher): {Sword(OffensiveCombo): 1}, Sword(HeavyWindmillSlash): Any({Sword(CrescentSlash): 1, Sword(Cascade): 1}),
Sword(OffensiveAdvance): {Sword(OffensiveCombo): 1}, Sword(HeavyPommelStrike): Any({Sword(CrescentSlash): 1, Sword(Cascade): 1}),
Sword(CripplingCombo): {Sword(OffensiveCombo): 1}, Sword(HeavyFortitude): All({Sword(HeavyWindmillSlash): 1}),
Sword(CripplingFinisher): {Sword(CripplingCombo): 1}, Sword(HeavyPillarThrust): All({Sword(HeavyPommelStrike): 1}),
Sword(CripplingStrike): {Sword(CripplingCombo): 1}, Sword(AgileQuickDraw): Any({Sword(CrossCut): 1, Sword(Skewer): 1}),
Sword(CripplingGouge): {Sword(CripplingCombo): 1}, Sword(AgileFeint): Any({Sword(CrossCut): 1, Sword(Skewer): 1}),
Sword(CleavingCombo): {Sword(OffensiveCombo): 1}, Sword(AgileDancingEdge): All({Sword(AgileQuickDraw): 1}),
Sword(CleavingFinisher): {Sword(CleavingCombo): 1}, Sword(AgileFlurry): All({Sword(AgileFeint): 1}),
Sword(CleavingSpin): {Sword(CleavingCombo): 1}, Sword(DefensiveRiposte): Any({Sword(FellStrike): 1, Sword(CrescentSlash): 1}),
Sword(CleavingDive): {Sword(CleavingCombo): 1}, Sword(DefensiveDisengage): Any({Sword(FellStrike): 1, Sword(CrescentSlash): 1}),
Sword(DefensiveBulwark): {Sword(DefensiveCombo): 1}, Sword(DefensiveDeflect): All({Sword(DefensiveDisengage): 1}),
Sword(DefensiveRetreat): {Sword(DefensiveCombo): 1}, Sword(DefensiveStalwartSword): All({Sword(DefensiveRiposte): 1}),
Sword(ParryingCombo): {Sword(DefensiveCombo): 1}, Sword(CripplingGouge): Any({Sword(Skewer): 1, Sword(FellStrike): 1}),
Sword(ParryingParry): {Sword(ParryingCombo): 1}, Sword(CripplingHamstring): Any({Sword(Skewer): 1, Sword(FellStrike): 1}),
Sword(ParryingRiposte): {Sword(ParryingCombo): 1}, Sword(CripplingBloodyGash): All({Sword(CripplingGouge): 1}),
Sword(ParryingCounter): {Sword(ParryingCombo): 1}, Sword(CripplingEviscerate): All({Sword(CripplingHamstring): 1}),
Sword(HeavyCombo): {Sword(DefensiveCombo): 1}, Sword(CleavingWhirlwindSlice): Any({Sword(Cascade): 1, Sword(CrossCut): 1}),
Sword(HeavyFinisher): {Sword(HeavyCombo): 1}, Sword(CleavingEarthSplitter): Any({Sword(Cascade): 1, Sword(CrossCut): 1}),
Sword(HeavyPommelStrike): {Sword(HeavyCombo): 1}, Sword(CleavingSkySplitter): All({Sword(CleavingEarthSplitter): 1}),
Sword(HeavyFortitude): {Sword(HeavyCombo): 1}, Sword(CleavingBladeFever): All({Sword(CleavingWhirlwindSlice): 1}),
Sword(MobilityFeint): {Sword(MobilityCombo): 1}, Axe(LDamage): All({Axe(UnlockLeap): 1}),
Sword(MobilityAgility): {Sword(MobilityCombo): 1}, Axe(LKnockback): All({Axe(UnlockLeap): 1}),
Sword(ReachingCombo): {Sword(MobilityCombo): 1}, Axe(LCost): All({Axe(UnlockLeap): 1}),
Sword(ReachingCharge): {Sword(ReachingCombo): 1}, Axe(LDistance): All({Axe(UnlockLeap): 1}),
Sword(ReachingFlurry): {Sword(ReachingCombo): 1}, Hammer(LDamage): All({Hammer(UnlockLeap): 1}),
Sword(ReachingSkewer): {Sword(ReachingCombo): 1}, Hammer(LCost): All({Hammer(UnlockLeap): 1}),
Axe(LDamage): {Axe(UnlockLeap): 1}, Hammer(LDistance): All({Hammer(UnlockLeap): 1}),
Axe(LKnockback): {Axe(UnlockLeap): 1}, Hammer(LKnockback): All({Hammer(UnlockLeap): 1}),
Axe(LCost): {Axe(UnlockLeap): 1}, Hammer(LRange): All({Hammer(UnlockLeap): 1}),
Axe(LDistance): {Axe(UnlockLeap): 1}, Bow(SDamage): All({Bow(UnlockShotgun): 1}),
Hammer(LDamage): {Hammer(UnlockLeap): 1}, Bow(SCost): All({Bow(UnlockShotgun): 1}),
Hammer(LCost): {Hammer(UnlockLeap): 1}, Bow(SArrows): All({Bow(UnlockShotgun): 1}),
Hammer(LDistance): {Hammer(UnlockLeap): 1}, Bow(SSpread): All({Bow(UnlockShotgun): 1}),
Hammer(LKnockback): {Hammer(UnlockLeap): 1}, Staff(SDamage): All({Staff(UnlockShockwave): 1}),
Hammer(LRange): {Hammer(UnlockLeap): 1}, Staff(SKnockback): All({Staff(UnlockShockwave): 1}),
Bow(SDamage): {Bow(UnlockShotgun): 1}, Staff(SRange): All({Staff(UnlockShockwave): 1}),
Bow(SCost): {Bow(UnlockShotgun): 1}, Staff(SCost): All({Staff(UnlockShockwave): 1}),
Bow(SArrows): {Bow(UnlockShotgun): 1}, Sceptre(AStrength): All({Sceptre(UnlockAura): 1}),
Bow(SSpread): {Bow(UnlockShotgun): 1}, Sceptre(ADuration): All({Sceptre(UnlockAura): 1}),
Staff(SDamage): {Staff(UnlockShockwave): 1}, Sceptre(ARange): All({Sceptre(UnlockAura): 1}),
Staff(SKnockback): {Staff(UnlockShockwave): 1}, Sceptre(ACost): All({Sceptre(UnlockAura): 1}),
Staff(SRange): {Staff(UnlockShockwave): 1},
Staff(SCost): {Staff(UnlockShockwave): 1},
Sceptre(AStrength): {Sceptre(UnlockAura): 1},
Sceptre(ADuration): {Sceptre(UnlockAura): 1},
Sceptre(ARange): {Sceptre(UnlockAura): 1},
Sceptre(ACost): {Sceptre(UnlockAura): 1},
}) })

View File

@ -16,36 +16,32 @@
Swim(Speed), Swim(Speed),
], ],
Weapon(Sword): [ Weapon(Sword): [
Sword(BalancedFinisher), Sword(CrescentSlash),
Sword(OffensiveCombo), Sword(FellStrike),
Sword(OffensiveFinisher), Sword(Skewer),
Sword(OffensiveAdvance), Sword(Cascade),
Sword(CripplingCombo), Sword(CrossCut),
Sword(CripplingFinisher), Sword(Finisher),
Sword(CripplingStrike), Sword(HeavyWindmillSlash),
Sword(CripplingGouge),
Sword(CleavingCombo),
Sword(CleavingFinisher),
Sword(CleavingSpin),
Sword(CleavingDive),
Sword(DefensiveCombo),
Sword(DefensiveBulwark),
Sword(DefensiveRetreat),
Sword(ParryingCombo),
Sword(ParryingParry),
Sword(ParryingRiposte),
Sword(ParryingCounter),
Sword(HeavyCombo),
Sword(HeavyFinisher),
Sword(HeavyPommelStrike), Sword(HeavyPommelStrike),
Sword(HeavyFortitude), Sword(HeavyFortitude),
Sword(MobilityCombo), Sword(HeavyPillarThrust),
Sword(MobilityFeint), Sword(AgileQuickDraw),
Sword(MobilityAgility), Sword(AgileFeint),
Sword(ReachingCombo), Sword(AgileDancingEdge),
Sword(ReachingCharge), Sword(AgileFlurry),
Sword(ReachingFlurry), Sword(DefensiveRiposte),
Sword(ReachingSkewer), Sword(DefensiveDisengage),
Sword(DefensiveDeflect),
Sword(DefensiveStalwartSword),
Sword(CripplingGouge),
Sword(CripplingHamstring),
Sword(CripplingBloodyGash),
Sword(CripplingEviscerate),
Sword(CleavingWhirlwindSlice),
Sword(CleavingEarthSplitter),
Sword(CleavingSkySplitter),
Sword(CleavingBladeFever),
], ],
Weapon(Axe): [ Weapon(Axe): [
Axe(DsCombo), Axe(DsCombo),

View File

@ -1,4 +1,3 @@
([ ([
Group(Weapon(Sword)), Group(Weapon(Sword)),
Skill((Sword(BalancedFinisher), 1)),
]) ])

View File

@ -1,13 +1,9 @@
([ ([
Group(Weapon(Sword)), Group(Weapon(Sword)),
Skill((Sword(BalancedFinisher), 1)), Skill((Sword(CrescentSlash), 1)),
Skill((Sword(OffensiveCombo), 1)), Skill((Sword(Cascade), 1)),
Skill((Sword(OffensiveFinisher), 1)), Skill((Sword(CrossCut), 1)),
Skill((Sword(OffensiveAdvance), 1)), Skill((Sword(Skewer), 1)),
Skill((Sword(DefensiveCombo), 1)), Skill((Sword(FellStrike), 1)),
Skill((Sword(DefensiveBulwark), 1)), Skill((Sword(Finisher), 1)),
Skill((Sword(DefensiveRetreat), 1)),
Skill((Sword(MobilityCombo), 1)),
Skill((Sword(MobilityFeint), 1)),
Skill((Sword(MobilityAgility), 1)),
]) ])

View File

@ -1,13 +1,19 @@
([ ([
Group(Weapon(Sword)), Group(Weapon(Sword)),
Skill((Sword(BalancedFinisher), 1)), Skill((Sword(CrescentSlash), 1)),
Skill((Sword(OffensiveCombo), 1)), Skill((Sword(Cascade), 1)),
Skill((Sword(OffensiveFinisher), 1)), Skill((Sword(CrossCut), 1)),
Skill((Sword(OffensiveAdvance), 1)), Skill((Sword(Skewer), 1)),
Skill((Sword(DefensiveCombo), 1)), Skill((Sword(FellStrike), 1)),
Skill((Sword(DefensiveBulwark), 1)), Skill((Sword(Finisher), 1)),
Skill((Sword(DefensiveRetreat), 1)), Skill((Sword(HeavyWindmillSlash), 1)),
Skill((Sword(MobilityCombo), 1)), Skill((Sword(HeavyPommelStrike), 1)),
Skill((Sword(MobilityFeint), 1)), Skill((Sword(CleavingEarthSplitter), 1)),
Skill((Sword(MobilityAgility), 1)), Skill((Sword(CleavingWhirlwindSlice), 1)),
]) Skill((Sword(AgileQuickDraw), 1)),
Skill((Sword(AgileFeint), 1)),
Skill((Sword(CripplingHamstring), 1)),
Skill((Sword(CripplingGouge), 1)),
Skill((Sword(DefensiveRiposte), 1)),
Skill((Sword(DefensiveDisengage), 1)),
])

View File

@ -1,33 +1,29 @@
([ ([
Group(Weapon(Sword)), Group(Weapon(Sword)),
Skill((Sword(BalancedFinisher), 1)), Skill((Sword(CrescentSlash), 1)),
Skill((Sword(OffensiveCombo), 1)), Skill((Sword(Cascade), 1)),
Skill((Sword(OffensiveFinisher), 1)), Skill((Sword(CrossCut), 1)),
Skill((Sword(OffensiveAdvance), 1)), Skill((Sword(Skewer), 1)),
Skill((Sword(CripplingCombo), 1)), Skill((Sword(FellStrike), 1)),
Skill((Sword(CripplingFinisher), 1)), Skill((Sword(Finisher), 1)),
Skill((Sword(CripplingStrike), 1)), Skill((Sword(HeavyWindmillSlash), 1)),
Skill((Sword(CripplingGouge), 1)),
Skill((Sword(CleavingCombo), 1)),
Skill((Sword(CleavingFinisher), 1)),
Skill((Sword(CleavingSpin), 1)),
Skill((Sword(CleavingDive), 1)),
Skill((Sword(DefensiveCombo), 1)),
Skill((Sword(DefensiveBulwark), 1)),
Skill((Sword(DefensiveRetreat), 1)),
Skill((Sword(ParryingCombo), 1)),
Skill((Sword(ParryingParry), 1)),
Skill((Sword(ParryingRiposte), 1)),
Skill((Sword(ParryingCounter), 1)),
Skill((Sword(HeavyCombo), 1)),
Skill((Sword(HeavyFinisher), 1)),
Skill((Sword(HeavyPommelStrike), 1)), Skill((Sword(HeavyPommelStrike), 1)),
Skill((Sword(HeavyFortitude), 1)), Skill((Sword(HeavyFortitude), 1)),
Skill((Sword(MobilityCombo), 1)), Skill((Sword(HeavyPillarThrust), 1)),
Skill((Sword(MobilityFeint), 1)), Skill((Sword(CleavingEarthSplitter), 1)),
Skill((Sword(MobilityAgility), 1)), Skill((Sword(CleavingWhirlwindSlice), 1)),
Skill((Sword(ReachingCombo), 1)), Skill((Sword(CleavingSkySplitter), 1)),
Skill((Sword(ReachingCharge), 1)), Skill((Sword(CleavingBladeFever), 1)),
Skill((Sword(ReachingFlurry), 1)), Skill((Sword(AgileQuickDraw), 1)),
Skill((Sword(ReachingSkewer), 1)), Skill((Sword(AgileFeint), 1)),
]) Skill((Sword(AgileDancingEdge), 1)),
Skill((Sword(AgileFlurry), 1)),
Skill((Sword(CripplingHamstring), 1)),
Skill((Sword(CripplingGouge), 1)),
Skill((Sword(CripplingBloodyGash), 1)),
Skill((Sword(CripplingEviscerate), 1)),
Skill((Sword(DefensiveRiposte), 1)),
Skill((Sword(DefensiveDisengage), 1)),
Skill((Sword(DefensiveStalwartSword), 1)),
Skill((Sword(DefensiveDeflect), 1)),
])

View File

@ -1,33 +1,29 @@
([ ([
Group(Weapon(Sword)), Group(Weapon(Sword)),
Skill((Sword(BalancedFinisher), 1)), Skill((Sword(CrescentSlash), 1)),
Skill((Sword(OffensiveCombo), 1)), Skill((Sword(Cascade), 1)),
Skill((Sword(OffensiveFinisher), 1)), Skill((Sword(CrossCut), 1)),
Skill((Sword(OffensiveAdvance), 1)), Skill((Sword(Skewer), 1)),
Skill((Sword(CripplingCombo), 1)), Skill((Sword(FellStrike), 1)),
Skill((Sword(CripplingFinisher), 1)), Skill((Sword(Finisher), 1)),
Skill((Sword(CripplingStrike), 1)), Skill((Sword(HeavyWindmillSlash), 1)),
Skill((Sword(CripplingGouge), 1)),
Skill((Sword(CleavingCombo), 1)),
Skill((Sword(CleavingFinisher), 1)),
Skill((Sword(CleavingSpin), 1)),
Skill((Sword(CleavingDive), 1)),
Skill((Sword(DefensiveCombo), 1)),
Skill((Sword(DefensiveBulwark), 1)),
Skill((Sword(DefensiveRetreat), 1)),
Skill((Sword(ParryingCombo), 1)),
Skill((Sword(ParryingParry), 1)),
Skill((Sword(ParryingRiposte), 1)),
Skill((Sword(ParryingCounter), 1)),
Skill((Sword(HeavyCombo), 1)),
Skill((Sword(HeavyFinisher), 1)),
Skill((Sword(HeavyPommelStrike), 1)), Skill((Sword(HeavyPommelStrike), 1)),
Skill((Sword(HeavyFortitude), 1)), Skill((Sword(HeavyFortitude), 1)),
Skill((Sword(MobilityCombo), 1)), Skill((Sword(HeavyPillarThrust), 1)),
Skill((Sword(MobilityFeint), 1)), Skill((Sword(CleavingEarthSplitter), 1)),
Skill((Sword(MobilityAgility), 1)), Skill((Sword(CleavingWhirlwindSlice), 1)),
Skill((Sword(ReachingCombo), 1)), Skill((Sword(CleavingSkySplitter), 1)),
Skill((Sword(ReachingCharge), 1)), Skill((Sword(CleavingBladeFever), 1)),
Skill((Sword(ReachingFlurry), 1)), Skill((Sword(AgileQuickDraw), 1)),
Skill((Sword(ReachingSkewer), 1)), Skill((Sword(AgileFeint), 1)),
]) Skill((Sword(AgileDancingEdge), 1)),
Skill((Sword(AgileFlurry), 1)),
Skill((Sword(CripplingHamstring), 1)),
Skill((Sword(CripplingGouge), 1)),
Skill((Sword(CripplingBloodyGash), 1)),
Skill((Sword(CripplingEviscerate), 1)),
Skill((Sword(DefensiveRiposte), 1)),
Skill((Sword(DefensiveDisengage), 1)),
Skill((Sword(DefensiveStalwartSword), 1)),
Skill((Sword(DefensiveDeflect), 1)),
])

View File

@ -14,36 +14,32 @@
// Sword // Sword
(UnlockGroup(Weapon(Sword)), 1), (UnlockGroup(Weapon(Sword)), 1),
(Sword(BalancedFinisher), 1), (Sword(CrescentSlash), 1),
(Sword(OffensiveCombo), 1), (Sword(Cascade), 1),
(Sword(OffensiveFinisher), 1), (Sword(CrossCut), 1),
(Sword(OffensiveAdvance), 1), (Sword(Skewer), 1),
(Sword(CripplingCombo), 1), (Sword(FellStrike), 1),
(Sword(CripplingFinisher), 1), (Sword(Finisher), 1),
(Sword(CripplingStrike), 1), (Sword(HeavyWindmillSlash), 1),
(Sword(CripplingGouge), 1),
(Sword(CleavingCombo), 1),
(Sword(CleavingFinisher), 1),
(Sword(CleavingSpin), 1),
(Sword(CleavingDive), 1),
(Sword(DefensiveCombo), 1),
(Sword(DefensiveBulwark), 1),
(Sword(DefensiveRetreat), 1),
(Sword(ParryingCombo), 1),
(Sword(ParryingParry), 1),
(Sword(ParryingRiposte), 1),
(Sword(ParryingCounter), 1),
(Sword(HeavyCombo), 1),
(Sword(HeavyFinisher), 1),
(Sword(HeavyPommelStrike), 1), (Sword(HeavyPommelStrike), 1),
(Sword(HeavyFortitude), 1), (Sword(HeavyFortitude), 1),
(Sword(MobilityCombo), 1), (Sword(HeavyPillarThrust), 1),
(Sword(MobilityFeint), 1), (Sword(CleavingEarthSplitter), 1),
(Sword(MobilityAgility), 1), (Sword(CleavingWhirlwindSlice), 1),
(Sword(ReachingCombo), 1), (Sword(CleavingSkySplitter), 1),
(Sword(ReachingCharge), 1), (Sword(CleavingBladeFever), 1),
(Sword(ReachingFlurry), 1), (Sword(AgileQuickDraw), 1),
(Sword(ReachingSkewer), 1), (Sword(AgileFeint), 1),
(Sword(AgileDancingEdge), 1),
(Sword(AgileFlurry), 1),
(Sword(CripplingHamstring), 1),
(Sword(CripplingGouge), 1),
(Sword(CripplingBloodyGash), 1),
(Sword(CripplingEviscerate), 1),
(Sword(DefensiveRiposte), 1),
(Sword(DefensiveDisengage), 1),
(Sword(DefensiveStalwartSword), 1),
(Sword(DefensiveDeflect), 1),
// Axe // Axe
(UnlockGroup(Weapon(Axe)), 1), (UnlockGroup(Weapon(Axe)), 1),

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