more_instruments

This commit is contained in:
flo666
2024-06-20 23:03:53 +02:00
parent 2d62499a5e
commit 2c81b5f2c3
65 changed files with 525 additions and 26 deletions

View File

@ -281,7 +281,7 @@
primary: Simple(None, "common.abilities.custom.cactid.singlestrike"),
secondary: Simple(None, "common.abilities.custom.cactid.dash"),
abilities: [],
),
),
Custom("Irrwurz"): (
primary: Simple(None, "common.abilities.custom.irrwurz.singlestrike"),
secondary: Simple(None, "common.abilities.custom.irrwurz.magicball"),
@ -668,10 +668,10 @@
secondary: Simple(None, "common.abilities.custom.karkatha.leap"),
abilities: [
Simple(None, "common.abilities.custom.karkatha.spinleap"),
Simple(None, "common.abilities.custom.karkatha.summoncrabs"),
Simple(None, "common.abilities.custom.karkatha.riposte"),
Simple(None, "common.abilities.custom.karkatha.summoncrabs"),
Simple(None, "common.abilities.custom.karkatha.riposte"),
],
),
),
/// TODO: Organize the rest into further catagories and give purple tier droppers+ custom skillsets
Custom("Turret"): (
primary: Simple(None, "common.abilities.custom.turret.arrows"),
@ -701,7 +701,7 @@
Simple(None, "common.abilities.custom.mindflayer.necroticsphere"),
Simple(None, "common.abilities.custom.mindflayer.summonminions"),
Simple(None, "common.abilities.custom.mindflayer.necroticsphere_blast"),
Simple(None, "common.abilities.custom.mindflayer.necroticsphere_multiblast"),
Simple(None, "common.abilities.custom.mindflayer.necroticsphere_multiblast"),
],
),
Custom("Flamekeeper"): (
@ -1037,6 +1037,27 @@
secondary: Simple(None, "common.abilities.music.banjo"),
abilities: [],
),
),
Custom("ViolaPizzicato"): (
primary: Simple(None, "common.abilities.music.viola_pizzicato"),
secondary: Simple(None, "common.abilities.music.viola_pizzicato"),
abilities: [],
),
Custom("Conch"): (
primary: Simple(None, "common.abilities.music.conch"),
secondary: Simple(None, "common.abilities.music.conch"),
abilities: [],
),
Custom("Tambourine"): (
primary: Simple(None, "common.abilities.music.tambourine"),
secondary: Simple(None, "common.abilities.music.tambourine"),
abilities: [],
),
Custom("Rhythmo"): (
primary: Simple(None, "common.abilities.music.rhythmo"),
secondary: Simple(None, "common.abilities.music.rhythmo"),
abilities: [],
),
Tool(Debug): (
primary: Simple(None, "common.abilities.debug.forwardboost"),
secondary: Simple(None, "common.abilities.debug.upboost"),

View File

@ -0,0 +1,4 @@
Music(
play_duration: 0.4,
ori_modifier: 1.0,
)

View File

@ -0,0 +1,4 @@
Music(
play_duration: 0.4,
ori_modifier: 1.0,
)

View File

@ -0,0 +1,4 @@
Music(
play_duration: 0.4,
ori_modifier: 1.0,
)

View File

@ -0,0 +1,4 @@
Music(
play_duration: 0.4,
ori_modifier: 1.0,
)

View File

@ -326,7 +326,7 @@
): "common-items-npc_armor-biped_small-bushly-hand-bushly",
Simple(
"common.items.npc_armor.biped_small.cactid.head.cactid",
): "common-items-npc_armor-biped_small-cactid-head-cactid",
): "common-items-npc_armor-biped_small-cactid-head-cactid",
Simple(
"common.items.npc_armor.biped_small.cactid.foot.cactid",
): "common-items-npc_armor-biped_small-cactid-foot-cactid",
@ -338,7 +338,7 @@
): "common-items-npc_armor-biped_small-cactid-chest-cactid",
Simple(
"common.items.npc_armor.biped_small.cactid.hand.cactid",
): "common-items-npc_armor-biped_small-cactid-hand-cactid",
): "common-items-npc_armor-biped_small-cactid-hand-cactid",
Simple(
"common.items.npc_armor.biped_small.treasure_egg.chest.treasure_egg",
): "common-items-npc_armor-biped_small-treasure_egg-chest-treasure_egg",
@ -713,7 +713,7 @@
): "common-items-npc_armor-biped_small-red_legoom-pants-red_legoom",
Simple(
"common.items.npc_armor.crustacean.karkatha",
): "common-items-npc_armor-crustacean-karkatha",
): "common-items-npc_armor-crustacean-karkatha",
Simple(
"common.items.npc_armor.chest.leather_blue",
): "armor-leather_blue-pants",
@ -812,7 +812,7 @@
): "object-key-vampire",
Simple(
"common.items.keys.myrmidon_key",
): "object-key-myrmidon",
): "object-key-myrmidon",
Simple(
"common.items.keys.minotaur_key",
): "object-key-minotaur",
@ -2573,6 +2573,19 @@
Simple(
"common.items.tool.instruments.banjo",
): "weapon-tool-banjo",
): "weapon-tool-kora",
Simple(
"common.items.tool.instruments.viola_pizzicato",
): "weapon-tool-viola_pizzicato",
Simple(
"common.items.tool.instruments.conch",
): "weapon-tool-conch",
Simple(
"common.items.tool.instruments.tambourine",
): "weapon-tool-tambourine",
Simple(
"common.items.tool.instruments.rhythmo",
): "weapon-tool-rhythmo",
Simple(
"common.items.log.bamboo",
): "sprite-wood-item-bamboo",
@ -2768,7 +2781,7 @@
): "common-items-npc_weapons-unique-bushly",
Simple(
"common.items.npc_weapons.unique.cactid",
): "common-items-npc_weapons-unique-cactid",
): "common-items-npc_weapons-unique-cactid",
Simple(
"common.items.npc_weapons.unique.cardinal",
): "common-items-npc_weapons-unique-cardinal",
@ -2798,7 +2811,7 @@
): "common-items-npc_weapons-unique-crab_pincer",
Simple(
"common.items.npc_weapons.unique.karkatha_pincer",
): "common-items-npc_weapons-unique-karkatha_pincer",
): "common-items-npc_weapons-unique-karkatha_pincer",
Simple(
"common.items.npc_weapons.unique.dagon",
): "common-items-npc_weapons-unique-dagon",

View File

@ -0,0 +1,20 @@
ItemDef(
legacy_name: "Conch",
legacy_description: "Conch.",
kind: Tool((
kind: Instrument,
hands: Two,
stats: (
equip_time_secs: 0.4,
power: 0.0,
effect_power: 1.0,
speed: 1.0,
range: 0.0,
energy_efficiency: 1.0,
buff_strength: 1.0,
),
)),
quality: Legendary,
tags: [Utility],
ability_spec: Some(Custom("Conch")),
)

View File

@ -0,0 +1,20 @@
ItemDef(
legacy_name: "Rhythmo",
legacy_description: "Rhythmo.",
kind: Tool((
kind: Instrument,
hands: Two,
stats: (
equip_time_secs: 0.4,
power: 0.0,
effect_power: 1.0,
speed: 1.0,
range: 0.0,
energy_efficiency: 1.0,
buff_strength: 1.0,
),
)),
quality: Legendary,
tags: [Utility],
ability_spec: Some(Custom("Rhythmo")),
)

View File

@ -0,0 +1,20 @@
ItemDef(
legacy_name: "Tambourine",
legacy_description: "Tambourine.",
kind: Tool((
kind: Instrument,
hands: Two,
stats: (
equip_time_secs: 0.4,
power: 0.0,
effect_power: 1.0,
speed: 1.0,
range: 0.0,
energy_efficiency: 1.0,
buff_strength: 1.0,
),
)),
quality: Legendary,
tags: [Utility],
ability_spec: Some(Custom("Tambourine")),
)

View File

@ -0,0 +1,20 @@
ItemDef(
legacy_name: "Viola Pizzicato",
legacy_description: "Viola Pizzicato.",
kind: Tool((
kind: Instrument,
hands: Two,
stats: (
equip_time_secs: 0.4,
power: 0.0,
effect_power: 1.0,
speed: 1.0,
range: 0.0,
energy_efficiency: 1.0,
buff_strength: 1.0,
),
)),
quality: Legendary,
tags: [Utility],
ability_spec: Some(Custom("ViolaPizzicato")),
)

View File

@ -17,6 +17,8 @@
// Crafting material
(0.5, Item("common.items.crafting_ing.mindflayer_bag_damaged")),
(6.9, Nothing),
// Misc
(0.5, Item("common.items.tool.instruments.tambourine")),
]),
// Allow for Eldwood to drop till entity droppers are implemented
Lottery([

View File

@ -3,4 +3,7 @@
(4.5, LootTable("common.loot_tables.armor.tier-3")),
// Special
(1.0, Item("common.items.armor.misc.neck.gem_of_resilience")),
(0.5, Item("common.items.glider.moonrise")),
// Misc
(0.5, Item("common.items.tool.instruments.conch")),
]

View File

@ -174,7 +174,7 @@
(Item("common.items.crafting_tools.mortar_pestle"), 0, false),
],
craft_sprite: Some(CraftingBench),
),
),
"golemite_slab": (
output: ("common.items.crafting_ing.golemite_slab", 1),
inputs: [
@ -2511,15 +2511,26 @@
output: ("common.items.tool.instruments.banjo", 1),
inputs: [
(Item("common.items.log.hardwood"), 3, false),
(Item("common.items.log.wood"), 3, false),
(Item("common.items.log.wood"), 3, false),
(Item("common.items.crafting_ing.resin"), 2, false),
(Item("common.items.flowers.plant_fiber"), 5, false),
(Item("common.items.flowers.plant_fiber"), 5, false),
(Item("common.items.mineral.ingot.iron"), 2, false),
(Item("common.items.mineral.ingot.tin"), 1, false),
],
craft_sprite: Some(CraftingBench),
is_recycling: false,
),
"rhythmo": (
output: ("common.items.tool.instruments.rhythmo", 1),
inputs: [
(Item("common.items.log.hardwood"), 2, false),
(Item("common.items.crafting_ing.resin"), 2, false),
(Item("common.items.mineral.ingot.iron"), 1, false),
(Item("common.items.crafting_ing.dwarven_battery"), 2, false),
],
craft_sprite: Some(CraftingBench),
is_recycling: false,
),
"lockpick": (
output: ("common.items.utility.lockpick_0", 2),
inputs: [

View File

@ -444,6 +444,10 @@
(Item("common.items.tool.instruments.shamisen"),1),
(Item("common.items.tool.instruments.kora"),1),
(Item("common.items.tool.instruments.banjo"),1),
(Item("common.items.tool.instruments.viola_pizzicato"),1),
(Item("common.items.tool.instruments.conch"),1),
(Item("common.items.tool.instruments.tambourine"),1),
(Item("common.items.tool.instruments.rhythmo"),1),
],
"recipes": [
// Armor

View File

@ -825,6 +825,74 @@
threshold: 0.5,
subtitle: "subtitle-instrument_shamisen",
),
Music(Instrument, Custom("ViolaPizzicato")): (
files: [
"voxygen.audio.sfx.instrument.viola_pizzicato.viola_pizzicato_a",
"voxygen.audio.sfx.instrument.viola_pizzicato.viola_pizzicato_ac1",
"voxygen.audio.sfx.instrument.viola_pizzicato.viola_pizzicato_c",
"voxygen.audio.sfx.instrument.viola_pizzicato.viola_pizzicato_c1",
"voxygen.audio.sfx.instrument.viola_pizzicato.viola_pizzicato_cde",
"voxygen.audio.sfx.instrument.viola_pizzicato.viola_pizzicato_ce",
"voxygen.audio.sfx.instrument.viola_pizzicato.viola_pizzicato_ceac1c1",
"voxygen.audio.sfx.instrument.viola_pizzicato.viola_pizzicato_ceg",
"voxygen.audio.sfx.instrument.viola_pizzicato.viola_pizzicato_d",
"voxygen.audio.sfx.instrument.viola_pizzicato.viola_pizzicato_d1",
"voxygen.audio.sfx.instrument.viola_pizzicato.viola_pizzicato_dag",
"voxygen.audio.sfx.instrument.viola_pizzicato.viola_pizzicato_e",
"voxygen.audio.sfx.instrument.viola_pizzicato.viola_pizzicato_edc",
"voxygen.audio.sfx.instrument.viola_pizzicato.viola_pizzicato_eg",
"voxygen.audio.sfx.instrument.viola_pizzicato.viola_pizzicato_egc1",
"voxygen.audio.sfx.instrument.viola_pizzicato.viola_pizzicato_g",
"voxygen.audio.sfx.instrument.viola_pizzicato.viola_pizzicato_gd1a",
"voxygen.audio.sfx.instrument.viola_pizzicato.viola_pizzicato_ggc1a",
],
threshold: 1.0,
subtitle: "subtitle-instrument_viola_pizzicato",
),
Music(Instrument, Custom("Conch")): (
files: [
"voxygen.audio.sfx.instrument.conch.conch_c",
"voxygen.audio.sfx.instrument.conch.conch_c",
"voxygen.audio.sfx.instrument.conch.conch_c",
"voxygen.audio.sfx.instrument.conch.conch_c",
"voxygen.audio.sfx.instrument.conch.conch_c",
"voxygen.audio.sfx.instrument.conch.conch_c",
"voxygen.audio.sfx.instrument.conch.conch_a",
"voxygen.audio.sfx.instrument.conch.conch_ac1",
"voxygen.audio.sfx.instrument.conch.conch_c",
"voxygen.audio.sfx.instrument.conch.conch_c1",
"voxygen.audio.sfx.instrument.conch.conch_cd",
"voxygen.audio.sfx.instrument.conch.conch_cge",
"voxygen.audio.sfx.instrument.conch.conch_d",
"voxygen.audio.sfx.instrument.conch.conch_d1",
"voxygen.audio.sfx.instrument.conch.conch_e",
"voxygen.audio.sfx.instrument.conch.conch_ec",
"voxygen.audio.sfx.instrument.conch.conch_ec1g",
"voxygen.audio.sfx.instrument.conch.conch_g",
"voxygen.audio.sfx.instrument.conch.conch_ga",
"voxygen.audio.sfx.instrument.conch.conch_gd1",
"voxygen.audio.sfx.instrument.conch.conch_ge",
],
threshold: 0.5,
subtitle: "subtitle-instrument_conch",
),
Music(Instrument, Custom("Tambourine")): (
files: [
"voxygen.audio.sfx.instrument.tambourine.tambourine_0",
"voxygen.audio.sfx.instrument.tambourine.tambourine_1",
"voxygen.audio.sfx.instrument.tambourine.tambourine_2",
"voxygen.audio.sfx.instrument.tambourine.tambourine_3",
],
threshold: 0.5,
subtitle: "subtitle-instrument_tambourine",
),
Music(Instrument, Custom("Rhythmo")): (
files: [
"voxygen.audio.sfx.instrument.rhythmo.rhythmo",
],
threshold: 2.0,
subtitle: "subtitle-instrument_rhythmo",
),
Music(Instrument, Custom("Sitar")): (
files: [
"voxygen.audio.sfx.instrument.sitar.sitar_c",

BIN
assets/voxygen/audio/sfx/instrument/conch/conch_a.ogg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/audio/sfx/instrument/conch/conch_ac1.ogg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/audio/sfx/instrument/conch/conch_c.ogg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/audio/sfx/instrument/conch/conch_c1.ogg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/audio/sfx/instrument/conch/conch_cd.ogg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/audio/sfx/instrument/conch/conch_cge.ogg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/audio/sfx/instrument/conch/conch_d.ogg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/audio/sfx/instrument/conch/conch_d1.ogg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/audio/sfx/instrument/conch/conch_e.ogg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/audio/sfx/instrument/conch/conch_ec.ogg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/audio/sfx/instrument/conch/conch_ec1g.ogg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/audio/sfx/instrument/conch/conch_g.ogg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/audio/sfx/instrument/conch/conch_ga.ogg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/audio/sfx/instrument/conch/conch_gd1.ogg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/audio/sfx/instrument/conch/conch_ge.ogg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/audio/sfx/instrument/rhythmo/rhythmo.ogg (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -90,6 +90,10 @@ subtitle-instrument_washboard = Washboard playing
subtitle-instrument_wildskin_drum = Wildskin Drum playing
subtitle-instrument_kora = Kora playing
subtitle-instrument_banjo = Banjo playing
subtitle-instrument_viola_pizzicato = Viola Pizzicato playing
subtitle-instrument_conch = Conch playing
subtitle-instrument_tambourine = Tambourine playing
subtitle-instrument_rhythmo = Rhythmo playing
subtitle-pickup_instrument = Pickup instrument
subtitle-explosion = Explosion

View File

@ -42,9 +42,21 @@ weapon-tool-steeltonguedrum = Steeltongue Drum
weapon-tool-shamisen = Shamisen
.desc = Shamisen.
weapon-tool-kora = Kora
.desc = Kora.
.desc = Kora.
weapon-tool-banjo = Banjo
.desc = Banjo.
.desc = Banjo.
weapon-tool-viola_pizzicato = Viola Pizzicato
.desc = Viola Pizzicato.
weapon-tool-conch = Conch
.desc = Conch.
weapon-tool-tambourine = Tambourine
.desc = Tambourine.
weapon-tool-rhythmo = Rhythmo
.desc = Rhythmo.

View File

@ -1711,6 +1711,23 @@
"voxel.weapon.tool.banjo",
(0.0, 0.0, 0.0), (45.0, 90.0, 0.0), 1.4,
),
),
Simple("common.items.tool.instruments.viola_pizzicato"): VoxTrans(
"voxel.weapon.tool.viola_pizzicato",
(0.0, 0.0, 0.0), (45.0, 90.0, 0.0), 1.0,
),
Simple("common.items.tool.instruments.conch"): VoxTrans(
"voxel.weapon.tool.conch",
(0.0, 0.0, 0.0), (45.0, 90.0, 0.0), 1.0,
),
Simple("common.items.tool.instruments.tambourine"): VoxTrans(
"voxel.weapon.tool.tambourine",
(0.0, 0.0, 0.0), (45.0, 90.0, 0.0), 1.0,
),
Simple("common.items.tool.instruments.rhythmo"): VoxTrans(
"voxel.weapon.tool.rhythmo",
(0.0, 0.0, 0.0), (45.0, 90.0, 0.0), 1.0,
),
// Picks
Simple("common.items.tool.pickaxe_stone"): VoxTrans(
"voxel.weapon.tool.pickaxe_stone",

View File

@ -1192,6 +1192,23 @@
vox_spec: ("weapon.tool.banjo", (-4.0, -6.0, -2.0)),
color: None
),
),
Tool("common.items.tool.instruments.viola_pizzicato"): (
vox_spec: ("weapon.tool.viola_pizzicato", (-2.5, -8.0, 0.0)),
color: None
),
Tool("common.items.tool.instruments.conch"): (
vox_spec: ("weapon.tool.conch", (-5.5, -8.0, 0.0)),
color: None
),
Tool("common.items.tool.instruments.tambourine"): (
vox_spec: ("weapon.tool.tambourine", (-2.5, -8.0, 8.0)),
color: None
),
Tool("common.items.tool.instruments.rhythmo"): (
vox_spec: ("weapon.tool.rhythmo", (-3.5, -7.0, 6.0)),
color: None
),
// Staves
Modular(("common.items.modular.weapon.primary.staff.brand", "common.items.log.wood", Two)): (
vox_spec: ("weapon.staff.brand.wood", (-1.0, -2.5, -4.0)),
@ -1617,7 +1634,7 @@
Tool("common.items.npc_weapons.unique.cactid"): (
vox_spec: ("armor.empty", (-3.0, -3.5, 1.0)),
color: None
),
),
Tool("common.items.npc_weapons.unique.irrwurz"): (
vox_spec: ("armor.empty", (-3.0, -3.5, 1.0)),
color: None
@ -1907,13 +1924,13 @@
Tool("common.items.npc_weapons.unique.ochre_legoom_spade"): (
vox_spec: ("weapon.biped_small.misc.ochre_legoom_spade", (1.0, -5.0, -1.0)),
color: None
),
),
Tool("common.items.npc_weapons.unique.purple_legoom_pitchfork"): (
vox_spec: ("weapon.biped_small.misc.purple_legoom_pitchfork", (-0.5, -3.5, -5.0)),
color: None
),
),
Tool("common.items.npc_weapons.unique.red_legoom_hoe"): (
vox_spec: ("weapon.biped_small.misc.red_legoom_hoe", (0.0, -5.0, 1.0)),
color: None
),
),
})

View File

@ -419,6 +419,11 @@
Simple("common.items.tool.instruments.guitar_dark"): "voxel.weapon.tool.black_velvet_guitar",
Simple("common.items.tool.instruments.kora"): "voxel.weapon.tool.kora",
Simple("common.items.tool.instruments.banjo"): "voxel.weapon.tool.banjo",
Simple("common.items.tool.instruments.kora"): "voxel.weapon.tool.kora",
Simple("common.items.tool.instruments.viola_pizzicato"): "voxel.weapon.tool.viola_pizzicato",
Simple("common.items.tool.instruments.conch"): "voxel.weapon.tool.conch",
Simple("common.items.tool.instruments.tambourine"): "voxel.weapon.tool.tambourine",
Simple("common.items.tool.instruments.rhythmo"): "voxel.weapon.tool.rhythmo",
// Other
Simple("common.items.utility.coins"): "voxel.object.v-coin",
Simple("common.items.utility.collar"): "voxel.object.collar",

BIN
assets/voxygen/voxel/weapon/tool/conch.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/weapon/tool/rhythmo.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/weapon/tool/tambourine.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/weapon/tool/viola_pizzicato.vox (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -42,9 +42,14 @@ impl Animation for MusicAnimation {
let noiseb = (anim_time * 19.0 + PI / 4.0).sin();
let shorte = (anim_time * lab * 6.0).sin();
let shorter = (anim_time * lab * 6.0 + PI * 2.0).sin();
let shortealt_raw = (anim_time * lab * 6.0 + PI / 2.0).sin();
let shortealt = (anim_time * lab * 6.0 + PI / 2.0).sin();
let shortealt_slow = (anim_time * lab * 3.0 + PI / 2.0).sin();
let shortealt = match ability_id {
Some("common.abilities.music.viola_pizzicato") => shortealt_slow,
_ => shortealt_raw,
};
let foot = ((0.1 / (1.0 + (4.0) * ((anim_time * lab * 8.0).sin()).powi(2))).sqrt())
* ((anim_time * lab * 8.0).sin());
@ -65,7 +70,9 @@ impl Animation for MusicAnimation {
next.shorts.orientation = Quaternion::rotation_z(foot * 0.35);
// don't override run animation when instruments are played moving
if rel_vel.magnitude() < 0.1 {
if rel_vel.magnitude() < 0.1
&& !matches!(ability_id, Some("common.abilities.music.viola_pizzicato",))
{
next.foot_l.position = Vec3::new(
-s_a.foot.0 + foot * 0.8,
1.5 + -s_a.foot.1 + foot * -4.0,
@ -107,9 +114,11 @@ impl Animation for MusicAnimation {
Some(ToolKind::Instrument) => {
// instrument specific head_bop
let head_bop = match ability_id {
Some("common.abilities.music.viola_pizzicato") => 0.1,
Some(
"common.abilities.music.flute"
| "common.abilities.music.glass_flute"
| "common.abilities.music.conch"
| "common.abilities.music.melodica",
) => 0.2,
Some(
@ -126,6 +135,8 @@ impl Animation for MusicAnimation {
| "common.abilities.music.icy_talharpa"
| "common.abilities.music.shamisen"
| "common.abilities.music.kalimba"
| "common.abilities.music.tambourine"
| "common.abilities.music.rhythmo"
| "common.abilities.music.steeltonguedrum",
) => 0.3,
_ => 1.0,
@ -203,6 +214,22 @@ impl Animation for MusicAnimation {
* Quaternion::rotation_y(PI)
* Quaternion::rotation_z(0.05);
},
Some("common.abilities.music.conch") => {
next.hand_l.position =
Vec3::new(2.0 - s_a.hand.0, 6.0 + s_a.hand.1, 4.0 + s_a.hand.2);
next.hand_l.orientation = Quaternion::rotation_x(2.4 + foot * 0.15)
* Quaternion::rotation_y(-0.9);
next.hand_r.position =
Vec3::new(-2.5 + s_a.hand.0, 6.0 + s_a.hand.1, 2.0 + s_a.hand.2);
next.hand_r.orientation = Quaternion::rotation_x(1.4 + foot * -0.15)
* Quaternion::rotation_y(0.6);
next.main.position = Vec3::new(-0.5, 18.0, -6.0);
next.main.orientation = Quaternion::rotation_x(4.2)
* Quaternion::rotation_y(PI)
* Quaternion::rotation_z(0.05);
},
Some(
"common.abilities.music.guitar" | "common.abilities.music.dark_guitar",
) => {
@ -232,6 +259,7 @@ impl Animation for MusicAnimation {
"common.abilities.music.lyre"
| "common.abilities.music.wildskin_drum"
| "common.abilities.music.steeltonguedrum"
| "common.abilities.music.tambourine"
| "common.abilities.music.icy_talharpa",
) => {
next.hand_l.position = Vec3::new(
@ -277,6 +305,49 @@ impl Animation for MusicAnimation {
* Quaternion::rotation_y(-0.75)
* Quaternion::rotation_z(PI - 0.2);
},
Some("common.abilities.music.viola_pizzicato") => {
next.hand_l.position = Vec3::new(
-3.0 - s_a.hand.0,
8.0 + s_a.hand.1 + shortealt * 1.5,
2.0 + s_a.hand.2 + shortealt * 0.6,
);
next.hand_l.orientation = Quaternion::rotation_x(1.0 + foot * 0.15)
* Quaternion::rotation_y(-0.6)
* Quaternion::rotation_z(PI / 1.5);
next.hand_r.position = Vec3::new(
-6.0 + s_a.hand.0 - shortealt * 1.5,
7.0 + s_a.hand.1 - shortealt * 1.5,
5.0 + s_a.hand.2 + shortealt * 0.75,
);
next.hand_r.orientation = Quaternion::rotation_x(1.4 + foot * -0.15)
* Quaternion::rotation_y(0.9);
next.main.position = Vec3::new(-9.0, 13.0, -5.0);
next.main.orientation = Quaternion::rotation_x(PI / 4.0)
* Quaternion::rotation_y(PI / 6.0)
* Quaternion::rotation_z(PI / -1.5);
},
Some("common.abilities.music.rhythmo") => {
next.main.scale = Vec3::one() * (1.0 - shorter / 12.0);
next.hand_l.position =
Vec3::new(3.0 - s_a.hand.0, 4.0 + s_a.hand.1, 1.0 + s_a.hand.2);
next.hand_l.orientation =
Quaternion::rotation_x(1.4 + foot * 0.1) * Quaternion::rotation_y(-0.6);
next.hand_r.position = Vec3::new(
-2.0 + s_a.hand.0 - shortealt * 1.5,
5.0 + s_a.hand.1,
2.0 + s_a.hand.2,
);
next.hand_r.orientation =
Quaternion::rotation_x(1.4 + foot * -0.1) * Quaternion::rotation_y(0.9);
next.main.position = Vec3::new(6.0, 8.0, -6.0);
next.main.orientation = Quaternion::rotation_x(0.2)
* Quaternion::rotation_y(-0.75)
* Quaternion::rotation_z(PI - 0.2);
},
Some(
"common.abilities.music.lute"
| "common.abilities.music.shamisen"

View File

@ -376,7 +376,7 @@ impl Animation for WieldAnimation {
* Quaternion::rotation_y(2.0 + u_slow * 0.1)
* Quaternion::rotation_z(u_slowalt * 0.1);
},
"Washboard" => {
"Washboard" | "Tambourine" | "Rhythmo" => {
if speed < 0.5 {
next.head.orientation = Quaternion::rotation_z(head_look.x)
* Quaternion::rotation_x(
@ -419,7 +419,7 @@ impl Animation for WieldAnimation {
* Quaternion::rotation_y(2.0 + u_slow * 0.1)
* Quaternion::rotation_z(u_slowalt * 0.1);
},
"Lute" | "Shamisen" | "Banjo" => {
"Lute" | "Shamisen" | "Banjo" | "Conch" => {
if speed < 0.5 {
next.head.orientation = Quaternion::rotation_z(head_look.x)
* Quaternion::rotation_x(
@ -444,6 +444,31 @@ impl Animation for WieldAnimation {
* Quaternion::rotation_y(2.0 + u_slow * 0.1)
* Quaternion::rotation_z(u_slowalt * 0.1);
},
"ViolaPizzicato" => {
if speed < 0.5 {
next.head.orientation = Quaternion::rotation_z(head_look.x)
* Quaternion::rotation_x(
0.0 + head_look.y.abs() + look_dir.z * 0.7,
);
}
next.hand_l.position = Vec3::new(-2.0, 5.0, -5.0);
next.hand_l.orientation = Quaternion::rotation_x((PI / 2.0) + 0.3)
* Quaternion::rotation_y(0.7)
* Quaternion::rotation_y(0.25)
* Quaternion::rotation_z(PI);
next.hand_r.position = Vec3::new(-5.0, 2.0, 6.0);
next.hand_r.orientation = Quaternion::rotation_x(PI / 2.0)
* Quaternion::rotation_z(PI / 2.0);
next.main.position = Vec3::new(-2.0, 6.0, -12.0);
next.main.orientation = Quaternion::rotation_x(0.0)
* Quaternion::rotation_y(0.2)
* Quaternion::rotation_z(-1.3);
next.control.position = Vec3::new(-2.0 + slow * 0.5, 0.5, 0.8);
next.control.orientation = Quaternion::rotation_x(u_slow * 0.1)
* Quaternion::rotation_y(2.0 + u_slow * 0.1)
* Quaternion::rotation_z(u_slowalt * 0.1);
},
"Guitar" | "DarkGuitar" => {
if speed < 0.5 {
next.head.orientation = Quaternion::rotation_z(head_look.x)

View File

@ -712,6 +712,10 @@ pub fn ability_image(imgs: &img_ids::Imgs, ability_id: &str) -> image::Id {
"common.abilities.music.shamisen" => imgs.instrument,
"common.abilities.music.kora" => imgs.instrument,
"common.abilities.music.banjo" => imgs.instrument,
"common.abilities.music.viola_pizzicato" => imgs.instrument,
"common.abilities.music.conch" => imgs.instrument,
"common.abilities.music.tambourine" => imgs.instrument,
"common.abilities.music.rhythmo" => imgs.instrument,
// Glider
"common.abilities.debug.glide_boost" => imgs.flyingrod_m2,
"common.abilities.debug.glide_speeder" => imgs.flyingrod_m1,