mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
seachapel
This commit is contained in:
parent
2f24da7339
commit
e882e62c08
@ -321,6 +321,11 @@
|
||||
secondary: "common.abilities.custom.turret.arrows",
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Organ"): (
|
||||
primary: "common.abilities.custom.organ.organaura",
|
||||
secondary: "common.abilities.custom.organ.organaura",
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Haniwa Sentry"): (
|
||||
primary: "common.abilities.custom.turret.flamethrower",
|
||||
secondary: "common.abilities.custom.turret.flamethrower",
|
||||
@ -367,6 +372,20 @@
|
||||
(None, "common.abilities.custom.harvester.explodingpumpkin"),
|
||||
],
|
||||
),
|
||||
// TODO: Allow ability sets to expand other ability sets
|
||||
Custom("Dagon"): (
|
||||
primary: "common.abilities.custom.dagon.dagonbombs",
|
||||
secondary: "common.abilities.custom.dagon.seaurchins",
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Cardinal"): (
|
||||
primary: "common.abilities.sceptre.lifestealbeam",
|
||||
secondary: "common.abilities.sceptre.healingaura",
|
||||
abilities: [
|
||||
(Some(Sceptre(UnlockAura)), "common.abilities.sceptre.wardingaura"),
|
||||
(None, "common.abilities.custom.cardinal.summonseacrocs"),
|
||||
],
|
||||
),
|
||||
Custom("Oni"): (
|
||||
primary: "common.abilities.custom.oni.dash",
|
||||
secondary: "common.abilities.custom.oni.doublestrike",
|
||||
|
18
assets/common/abilities/custom/cardinal/summonseacrocs.ron
Normal file
18
assets/common/abilities/custom/cardinal/summonseacrocs.ron
Normal file
@ -0,0 +1,18 @@
|
||||
BasicSummon(
|
||||
buildup_duration: 0.5,
|
||||
cast_duration: 1.0,
|
||||
recover_duration: 0.5,
|
||||
summon_amount: 4,
|
||||
summon_distance: (4, 4),
|
||||
summon_info: (
|
||||
body: QuadrupedLow((
|
||||
species: SeaCrocodile,
|
||||
body_type: Male,
|
||||
)),
|
||||
scale: None,
|
||||
has_health: true,
|
||||
loadout_config: None,
|
||||
skillset_config: Some(Rank5),
|
||||
),
|
||||
duration: None,
|
||||
)
|
16
assets/common/abilities/custom/dagon/dagonbombs.ron
Normal file
16
assets/common/abilities/custom/dagon/dagonbombs.ron
Normal file
@ -0,0 +1,16 @@
|
||||
BasicRanged(
|
||||
energy_cost: 0,
|
||||
buildup_duration: 0.4,
|
||||
recover_duration: 0.6,
|
||||
projectile: DagonBomb(
|
||||
damage: 32.0,
|
||||
knockback: 25.0,
|
||||
radius: 10.0,
|
||||
min_falloff: 0.6,
|
||||
),
|
||||
projectile_body: Object(DagonBomb),
|
||||
projectile_light: None,
|
||||
projectile_speed: 30.0,
|
||||
num_projectiles: 1,
|
||||
projectile_spread: 0.0,
|
||||
)
|
8
assets/common/abilities/custom/dagon/seaurchins.ron
Normal file
8
assets/common/abilities/custom/dagon/seaurchins.ron
Normal file
@ -0,0 +1,8 @@
|
||||
SpriteSummon(
|
||||
buildup_duration: 0.1,
|
||||
cast_duration: 0.1,
|
||||
recover_duration: 0.9,
|
||||
sprite: SeaUrchin,
|
||||
summon_distance: (3, 3.1),
|
||||
sparseness: 0.2,
|
||||
)
|
19
assets/common/abilities/custom/organ/organaura.ron
Normal file
19
assets/common/abilities/custom/organ/organaura.ron
Normal file
@ -0,0 +1,19 @@
|
||||
BasicAura(
|
||||
buildup_duration: 0.0,
|
||||
cast_duration: 0.0,
|
||||
recover_duration: 2.0,
|
||||
targets: InGroup,
|
||||
auras: [
|
||||
(
|
||||
kind: ProtectingWard,
|
||||
strength: 0.20,
|
||||
duration: Some(10.0),
|
||||
category: Magical,
|
||||
),
|
||||
],
|
||||
aura_duration: 34.75,
|
||||
range: 18.0,
|
||||
energy_cost: 0.0,
|
||||
scales_with_combo: false,
|
||||
specifier: Some(WardingAura),
|
||||
)
|
16
assets/common/entity/dungeon/sea_chapel/cardinal.ron
Normal file
16
assets/common/entity/dungeon/sea_chapel/cardinal.ron
Normal file
@ -0,0 +1,16 @@
|
||||
#![enable(implicit_some)]
|
||||
(
|
||||
name: Name("Cardinal"),
|
||||
body: RandomWith("humanoid"),
|
||||
alignment: Alignment(Enemy),
|
||||
loot: LootTable("common.loot_tables.dungeon.sea_chapel.cardinal"),
|
||||
inventory: (
|
||||
loadout: Inline((
|
||||
inherit: Asset("common.loadout.dungeon.sea_chapel.cardinal"),
|
||||
active_hands: InHands((Item("common.items.npc_weapons.unique.cardinal"), None)),
|
||||
)),
|
||||
),
|
||||
meta: [
|
||||
SkillSetAsset("common.skillset.preset.rank5.fullskill"),
|
||||
],
|
||||
)
|
11
assets/common/entity/dungeon/sea_chapel/dagon.ron
Normal file
11
assets/common/entity/dungeon/sea_chapel/dagon.ron
Normal file
@ -0,0 +1,11 @@
|
||||
#![enable(implicit_some)]
|
||||
(
|
||||
name: Name("Dagon"),
|
||||
body: RandomWith("dagon"),
|
||||
alignment: Alignment(Enemy),
|
||||
loot: LootTable("common.loot_tables.dungeon.sea_chapel.dagon"),
|
||||
inventory: (
|
||||
loadout: FromBody,
|
||||
),
|
||||
meta: [],
|
||||
)
|
11
assets/common/entity/dungeon/sea_chapel/organ.ron
Normal file
11
assets/common/entity/dungeon/sea_chapel/organ.ron
Normal file
@ -0,0 +1,11 @@
|
||||
#![enable(implicit_some)]
|
||||
(
|
||||
name: Name("Organ"),
|
||||
body: Exact(Object(BarrelOrgan)),
|
||||
alignment: Alignment(Enemy),
|
||||
loot: Item("common.items.crafting_ing.seashells"),
|
||||
inventory: (
|
||||
loadout: FromBody
|
||||
),
|
||||
meta: [],
|
||||
)
|
21
assets/common/entity/dungeon/sea_chapel/sea_cleric.ron
Normal file
21
assets/common/entity/dungeon/sea_chapel/sea_cleric.ron
Normal file
@ -0,0 +1,21 @@
|
||||
#![enable(implicit_some)]
|
||||
(
|
||||
name: Name("Sea Cleric"),
|
||||
body: RandomWith("danari"),
|
||||
alignment: Alignment(Enemy),
|
||||
loot: LootTable("common.loot_tables.dungeon.sea_chapel.sea_cleric"),
|
||||
inventory: (
|
||||
loadout: Inline((
|
||||
inherit: Asset("common.loadout.dungeon.sea_chapel.sea_cleric"),
|
||||
active_hands: InHands((Choice([
|
||||
(2, ModularWeapon(tool: Axe, material: Cobalt, hands: None)),
|
||||
(2, ModularWeapon(tool: Sword, material: Cobalt, hands: None)),
|
||||
(2, ModularWeapon(tool: Hammer, material: Cobalt, hands: None)),
|
||||
(2, ModularWeapon(tool: Bow, material: Ironwood, hands: None)),
|
||||
]), None)),
|
||||
)),
|
||||
),
|
||||
meta: [
|
||||
SkillSetAsset("common.skillset.preset.rank4.fullskill"),
|
||||
],
|
||||
)
|
@ -0,0 +1,18 @@
|
||||
#![enable(implicit_some)]
|
||||
(
|
||||
name: Name("Sea Cleric"),
|
||||
body: RandomWith("danari"),
|
||||
alignment: Alignment(Enemy),
|
||||
loot: LootTable("common.loot_tables.dungeon.sea_chapel.sea_cleric"),
|
||||
inventory: (
|
||||
loadout: Inline((
|
||||
inherit: Asset("common.loadout.dungeon.sea_chapel.sea_cleric"),
|
||||
active_hands: InHands((Choice([
|
||||
(1, ModularWeapon(tool: Sceptre, material: Ironwood, hands: None)),
|
||||
]), None)),
|
||||
)),
|
||||
),
|
||||
meta: [
|
||||
SkillSetAsset("common.skillset.preset.rank4.fullskill"),
|
||||
],
|
||||
)
|
18
assets/common/items/armor/cardinal/belt.ron
Normal file
18
assets/common/items/armor/cardinal/belt.ron
Normal file
@ -0,0 +1,18 @@
|
||||
ItemDef(
|
||||
name: "Cardinal's Belt",
|
||||
description: "Seemlessly transitions...",
|
||||
kind: Armor((
|
||||
kind: Belt,
|
||||
stats: Direct((
|
||||
protection: Some(Normal(24.0)),
|
||||
poise_resilience: Some(Normal(3.0)),
|
||||
energy_max: Some(20),
|
||||
energy_reward: Some(0.025),
|
||||
crit_power: Some(0.06),
|
||||
stealth: Some(0.0),
|
||||
)),
|
||||
)),
|
||||
quality: Legendary,
|
||||
tags: [
|
||||
],
|
||||
)
|
18
assets/common/items/armor/cardinal/chest.ron
Normal file
18
assets/common/items/armor/cardinal/chest.ron
Normal file
@ -0,0 +1,18 @@
|
||||
ItemDef(
|
||||
name: "Cardinal's Cloak",
|
||||
description: "A part of the cardinal's exquisite cloak.",
|
||||
kind: Armor((
|
||||
kind: Chest,
|
||||
stats: Direct((
|
||||
protection: Some(Normal(60.0)),
|
||||
poise_resilience: Some(Normal(18.0)),
|
||||
energy_max: Some(120),
|
||||
energy_reward: Some(0.060),
|
||||
crit_power: Some(0.375),
|
||||
stealth: Some(0.0),
|
||||
)),
|
||||
)),
|
||||
quality: Legendary,
|
||||
tags: [
|
||||
],
|
||||
)
|
18
assets/common/items/armor/cardinal/foot.ron
Normal file
18
assets/common/items/armor/cardinal/foot.ron
Normal file
@ -0,0 +1,18 @@
|
||||
ItemDef(
|
||||
name: "Cardinal's Boots",
|
||||
description: "The boots with millions of steps.",
|
||||
kind: Armor((
|
||||
kind: Foot,
|
||||
stats: Direct((
|
||||
protection: Some(Normal(24.0)),
|
||||
poise_resilience: Some(Normal(6.0)),
|
||||
energy_max: Some(85),
|
||||
energy_reward: Some(0.105),
|
||||
crit_power: Some(0.12),
|
||||
stealth: Some(0.0),
|
||||
)),
|
||||
)),
|
||||
quality: Legendary,
|
||||
tags: [
|
||||
],
|
||||
)
|
18
assets/common/items/armor/cardinal/hand.ron
Normal file
18
assets/common/items/armor/cardinal/hand.ron
Normal file
@ -0,0 +1,18 @@
|
||||
ItemDef(
|
||||
name: "Cardinal's Gloves",
|
||||
description: "Bloodstained and rugged.",
|
||||
kind: Armor((
|
||||
kind: Hand,
|
||||
stats: Direct((
|
||||
protection: Some(Normal(20.0)),
|
||||
poise_resilience: Some(Normal(6.0)),
|
||||
energy_max: Some(75),
|
||||
energy_reward: Some(0.09),
|
||||
crit_power: Some(0.12),
|
||||
stealth: Some(0.0),
|
||||
)),
|
||||
)),
|
||||
quality: Legendary,
|
||||
tags: [
|
||||
],
|
||||
)
|
18
assets/common/items/armor/cardinal/pants.ron
Normal file
18
assets/common/items/armor/cardinal/pants.ron
Normal file
@ -0,0 +1,18 @@
|
||||
ItemDef(
|
||||
name: "Cardinal's Jeans",
|
||||
description: "Pants with many experiences.",
|
||||
kind: Armor((
|
||||
kind: Pants,
|
||||
stats: Direct((
|
||||
protection: Some(Normal(45.0)),
|
||||
poise_resilience: Some(Normal(12.0)),
|
||||
energy_max: Some(150.0),
|
||||
energy_reward: Some(0.05),
|
||||
crit_power: Some(0.24),
|
||||
stealth: Some(0.00),
|
||||
)),
|
||||
)),
|
||||
quality: Legendary,
|
||||
tags: [
|
||||
],
|
||||
)
|
18
assets/common/items/armor/cardinal/shoulder.ron
Normal file
18
assets/common/items/armor/cardinal/shoulder.ron
Normal file
@ -0,0 +1,18 @@
|
||||
ItemDef(
|
||||
name: "Cardinal's Shoulderguard",
|
||||
description: "The other was lost in a vicious fight.",
|
||||
kind: Armor((
|
||||
kind: Shoulder,
|
||||
stats: Direct((
|
||||
protection: Some(Normal(30.0)),
|
||||
poise_resilience: Some(Normal(15.0)),
|
||||
energy_max: Some(90),
|
||||
energy_reward: Some(0.05),
|
||||
crit_power: Some(0.24),
|
||||
stealth: Some(0.0),
|
||||
)),
|
||||
)),
|
||||
quality: Legendary,
|
||||
tags: [
|
||||
],
|
||||
)
|
17
assets/common/items/armor/misc/neck/abyssal_gorget.ron
Normal file
17
assets/common/items/armor/misc/neck/abyssal_gorget.ron
Normal file
@ -0,0 +1,17 @@
|
||||
ItemDef(
|
||||
name: "Abyssal Gorget",
|
||||
description: "Harnessed vigour of the tides",
|
||||
kind: Armor((
|
||||
kind: Neck,
|
||||
stats: Direct((
|
||||
protection: Some(Normal(2.0)),
|
||||
energy_reward: Some(0.2),
|
||||
crit_power: Some(0.1),
|
||||
poise_resilience: Some(Normal(1.0)),
|
||||
)),
|
||||
)),
|
||||
quality: Moderate,
|
||||
tags: [
|
||||
|
||||
],
|
||||
)
|
9
assets/common/items/crafting_ing/abyssal_heart.ron
Normal file
9
assets/common/items/crafting_ing/abyssal_heart.ron
Normal file
@ -0,0 +1,9 @@
|
||||
ItemDef(
|
||||
name: "Abyssal Heart",
|
||||
description: "Source of Dagons Power.",
|
||||
kind: Ingredient(
|
||||
// Descriptor not needed
|
||||
descriptor: "", ),
|
||||
quality: Epic,
|
||||
tags: [],
|
||||
)
|
9
assets/common/items/crafting_ing/coral_branch.ron
Normal file
9
assets/common/items/crafting_ing/coral_branch.ron
Normal file
@ -0,0 +1,9 @@
|
||||
ItemDef(
|
||||
name: "Coral Branch",
|
||||
description: "Treasure from the bottom of the sea.",
|
||||
kind: Ingredient(
|
||||
// Descriptor not needed
|
||||
descriptor: "", ),
|
||||
quality: Common,
|
||||
tags: [],
|
||||
)
|
21
assets/common/items/npc_weapons/unique/cardinal.ron
Normal file
21
assets/common/items/npc_weapons/unique/cardinal.ron
Normal file
@ -0,0 +1,21 @@
|
||||
ItemDef(
|
||||
name: "Caduceus",
|
||||
description: "The snakes seem to be alive",
|
||||
kind: Tool((
|
||||
kind: Sceptre,
|
||||
hands: Two,
|
||||
stats: (
|
||||
equip_time_secs: 0.4,
|
||||
power: 1.2,
|
||||
effect_power: 0.8,
|
||||
speed: 1.2,
|
||||
crit_chance: 0.4,
|
||||
range: 1.0,
|
||||
energy_efficiency: 1.0,
|
||||
buff_strength: 1.0,
|
||||
),
|
||||
)),
|
||||
quality: Legendary,
|
||||
tags: [],
|
||||
ability_spec: Some(Custom("Cardinal")),
|
||||
)
|
21
assets/common/items/npc_weapons/unique/dagon.ron
Normal file
21
assets/common/items/npc_weapons/unique/dagon.ron
Normal file
@ -0,0 +1,21 @@
|
||||
ItemDef(
|
||||
name: "Dagon Kit",
|
||||
description: "Placeholder",
|
||||
kind: Tool((
|
||||
kind: Natural,
|
||||
hands: Two,
|
||||
stats: (
|
||||
equip_time_secs: 0.001,
|
||||
power: 1.0,
|
||||
effect_power: 1.0,
|
||||
speed: 1.0,
|
||||
crit_chance: 0.05078125,
|
||||
range: 1.0,
|
||||
energy_efficiency: 1.0,
|
||||
buff_strength: 1.0,
|
||||
),
|
||||
)),
|
||||
quality: Low,
|
||||
tags: [],
|
||||
ability_spec: Some(Custom("Dagon")),
|
||||
)
|
21
assets/common/items/npc_weapons/unique/organ.ron
Normal file
21
assets/common/items/npc_weapons/unique/organ.ron
Normal file
@ -0,0 +1,21 @@
|
||||
ItemDef(
|
||||
name: "Organ Aura",
|
||||
description: "Motivational Tune",
|
||||
kind: Tool((
|
||||
kind: Organ,
|
||||
hands: Two,
|
||||
stats: (
|
||||
equip_time_secs: 0.0,
|
||||
power: 2.5,
|
||||
effect_power: 1.0,
|
||||
speed: 0.8,
|
||||
crit_chance: 0.2,
|
||||
range: 1.0,
|
||||
energy_efficiency: 1.0,
|
||||
buff_strength: 1.0,
|
||||
),
|
||||
)),
|
||||
quality: Common,
|
||||
tags: [],
|
||||
ability_spec: Some(Custom("Organ")),
|
||||
)
|
14
assets/common/loadout/dungeon/sea_chapel/cardinal.ron
Normal file
14
assets/common/loadout/dungeon/sea_chapel/cardinal.ron
Normal file
@ -0,0 +1,14 @@
|
||||
#![enable(implicit_some)]
|
||||
(
|
||||
shoulders: Item("common.items.armor.cardinal.shoulder"),
|
||||
chest: Item("common.items.armor.cardinal.chest"),
|
||||
gloves: Item("common.items.armor.cardinal.hand"),
|
||||
ring1: Item("common.items.armor.misc.ring.gold"),
|
||||
ring2: Item("common.items.armor.misc.ring.gold"),
|
||||
belt: Item("common.items.armor.cardinal.belt"),
|
||||
legs: Item("common.items.armor.cardinal.pants"),
|
||||
feet: Item("common.items.armor.cardinal.foot"),
|
||||
lantern: Item("common.items.lantern.blue_0"),
|
||||
neck: Item("common.items.armor.misc.neck.abyssal_gorget"),
|
||||
|
||||
)
|
13
assets/common/loadout/dungeon/sea_chapel/sea_cleric.ron
Normal file
13
assets/common/loadout/dungeon/sea_chapel/sea_cleric.ron
Normal file
@ -0,0 +1,13 @@
|
||||
#![enable(implicit_some)]
|
||||
(
|
||||
head: Item("common.items.armor.misc.head.winged_coronet"),
|
||||
shoulders: Item("common.items.armor.cloth.silken.shoulder"),
|
||||
chest: Item("common.items.armor.cloth.silken.chest"),
|
||||
gloves: Item("common.items.armor.cloth.silken.hand"),
|
||||
ring1: Item("common.items.armor.misc.ring.gold"),
|
||||
ring2: Item("common.items.armor.misc.ring.gold"),
|
||||
belt: Item("common.items.armor.cloth.silken.belt"),
|
||||
legs: Item("common.items.armor.cloth.silken.pants"),
|
||||
feet: Item("common.items.armor.cloth.silken.foot"),
|
||||
lantern: Item("common.items.lantern.blue_0"),
|
||||
)
|
@ -0,0 +1,5 @@
|
||||
[
|
||||
(0.5, Item("common.items.crafting_ing.abyssal_heart")),
|
||||
(2.5, LootTable("common.loot_tables.food.prepared")),
|
||||
(2.5, Item("common.items.crafting_ing.seashells")),
|
||||
]
|
@ -0,0 +1,5 @@
|
||||
[
|
||||
// Ingredients
|
||||
(0.5, Item("common.items.crafting_ing.coral_branch")),
|
||||
(5.0, Item("common.items.crafting_ing.seashells")),
|
||||
]
|
4
assets/common/loot_tables/dungeon/sea_chapel/dagon.ron
Normal file
4
assets/common/loot_tables/dungeon/sea_chapel/dagon.ron
Normal file
@ -0,0 +1,4 @@
|
||||
[
|
||||
(0.5, Item("common.items.crafting_ing.abyssal_heart")),
|
||||
(5.0, LootTable("common.loot_tables.creature.quad_low.fanged")),
|
||||
]
|
@ -0,0 +1,4 @@
|
||||
[
|
||||
// Nothing
|
||||
(1.0, Nothing),
|
||||
]
|
@ -1201,6 +1201,10 @@
|
||||
keyword: "hakulaq",
|
||||
generic: "Hakulaq"
|
||||
),
|
||||
dagon: (
|
||||
keyword: "dagon",
|
||||
generic: "Dagon"
|
||||
),
|
||||
lavadrake: (
|
||||
keyword: "lavadrake",
|
||||
generic: "Lava Drake"
|
||||
|
@ -1723,6 +1723,15 @@
|
||||
],
|
||||
craft_sprite: None,
|
||||
),
|
||||
"abyssal gorget": (
|
||||
output: ("common.items.armor.misc.neck.abyssal_gorget", 1),
|
||||
inputs: [
|
||||
(Item("common.items.crafting_ing.coral_branch"), 10, false),
|
||||
(Item("common.items.crafting_ing.abyssal_heart"), 2, false),
|
||||
(Item("common.items.crafting_ing.cloth.linen"), 2, false),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
"tin pickaxe": (
|
||||
output: ("common.items.tool.pickaxe_stone", 1),
|
||||
inputs: [
|
||||
@ -2049,4 +2058,4 @@
|
||||
craft_sprite: Some(Cauldron),
|
||||
is_recycling: false,
|
||||
),
|
||||
}
|
||||
}
|
@ -450,6 +450,12 @@
|
||||
],
|
||||
threshold: 0.2,
|
||||
),
|
||||
Attack(BasicAura, Organ): (
|
||||
files: [
|
||||
"voxygen.audio.sfx.abilities.barrel_organ",
|
||||
],
|
||||
threshold: 34.75,
|
||||
),
|
||||
//Attack(BasicRanged, Staff): (
|
||||
// files: [
|
||||
// "voxygen.audio.sfx.abilities.staff_channeling",
|
||||
@ -588,7 +594,6 @@
|
||||
],
|
||||
threshold: 0.3,
|
||||
),
|
||||
|
||||
//
|
||||
// Inventory
|
||||
//
|
||||
@ -952,6 +957,13 @@
|
||||
],
|
||||
threshold: 1.0,
|
||||
),
|
||||
Utterance(Angry, SeaCrocodile): (
|
||||
files: [
|
||||
"voxygen.audio.sfx.utterance.sea_crocodile_angry1",
|
||||
"voxygen.audio.sfx.utterance.sea_crocodile_angry2",
|
||||
],
|
||||
threshold: 1.0,
|
||||
),
|
||||
Utterance(Angry, Antelope): (
|
||||
files: [
|
||||
"voxygen.audio.sfx.utterance.antelope_angry1",
|
||||
|
BIN
assets/voxygen/audio/sfx/abilities/barrel_organ.ogg
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/audio/sfx/abilities/barrel_organ.ogg
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/element/ui/map/buttons/sea_chapel.png
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/element/ui/map/buttons/sea_chapel.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/element/ui/map/buttons/sea_chapel_bg.png
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/element/ui/map/buttons/sea_chapel_bg.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/element/ui/map/buttons/sea_chapel_hover.png
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/element/ui/map/buttons/sea_chapel_hover.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -70,6 +70,7 @@ common-weapons-staff_simple = Simple Staff
|
||||
common-weapons-axe_simple = Simple Axe
|
||||
common-weapons-bow_simple = Simple Bow
|
||||
common-weapons-unique = Unique
|
||||
common-weapons-organ = Organ
|
||||
common-tool-debug = Debug
|
||||
common-tool-farming = Farming Tool
|
||||
common-tool-pick = Pickaxe
|
||||
|
130
assets/voxygen/i18n/en/common.ron
Normal file
130
assets/voxygen/i18n/en/common.ron
Normal file
@ -0,0 +1,130 @@
|
||||
/// WARNING: Localization files shall be saved in UTF-8 format without BOM
|
||||
|
||||
/// Localization for "global" English
|
||||
(
|
||||
string_map: {
|
||||
// Texts used in multiple locations with the same formatting
|
||||
"common.username": "username",
|
||||
"common.singleplayer": "Singleplayer",
|
||||
"common.multiplayer": "Multiplayer",
|
||||
"common.servers": "Servers",
|
||||
"common.quit": "Quit",
|
||||
"common.settings": "Settings",
|
||||
"common.languages": "Languages",
|
||||
"common.interface": "Interface",
|
||||
"common.gameplay": "Gameplay",
|
||||
"common.controls": "Controls",
|
||||
"common.video": "Graphics",
|
||||
"common.sound": "Sound",
|
||||
"common.chat": "Chat",
|
||||
"common.resume": "Resume",
|
||||
"common.characters": "Characters",
|
||||
"common.close": "Close",
|
||||
"common.yes": "Yes",
|
||||
"common.no": "No",
|
||||
"common.back": "Back",
|
||||
"common.create": "Create",
|
||||
"common.okay": "Okay",
|
||||
"common.add": "Add",
|
||||
"common.accept": "Accept",
|
||||
"common.decline": "Decline",
|
||||
"common.disclaimer": "Disclaimer",
|
||||
"common.cancel": "Cancel",
|
||||
"common.none": "None",
|
||||
"common.error": "Error",
|
||||
"common.fatal_error": "Fatal Error",
|
||||
"common.you": "You",
|
||||
"common.automatic": "Auto",
|
||||
"common.random": "Random",
|
||||
"common.empty": "Empty",
|
||||
"common.confirm": "Confirm",
|
||||
"common.delete_server": "Delete Server",
|
||||
|
||||
// Settings Window title
|
||||
"common.interface_settings": "Interface Settings",
|
||||
"common.gameplay_settings": "Gameplay Settings",
|
||||
"common.controls_settings": "Controls Settings",
|
||||
"common.video_settings": "Graphics Settings",
|
||||
"common.sound_settings": "Sound Settings",
|
||||
"common.language_settings": "Language Settings",
|
||||
"common.chat_settings": "Chat Settings",
|
||||
|
||||
// Message when connection to the server is lost
|
||||
"common.connection_lost": r#"Connection lost!
|
||||
Did the server restart?
|
||||
Is the client up to date?"#,
|
||||
|
||||
|
||||
"common.species.orc": "Orc",
|
||||
"common.species.human": "Human",
|
||||
"common.species.dwarf": "Dwarf",
|
||||
"common.species.elf": "Elf",
|
||||
"common.species.draugr": "Draugr",
|
||||
"common.species.danari": "Danari",
|
||||
|
||||
"common.weapons.axe": "Axe",
|
||||
"common.weapons.dagger": "Dagger",
|
||||
"common.weapons.greatsword": "Greatsword",
|
||||
"common.weapons.shortswords": "Shortswords",
|
||||
"common.weapons.sword": "Sword",
|
||||
"common.weapons.staff": "Firestaff",
|
||||
"common.weapons.bow": "Bow",
|
||||
"common.weapons.hammer": "Hammer",
|
||||
"common.weapons.general": "General Combat",
|
||||
"common.weapons.sceptre": "Healing Sceptre",
|
||||
"common.weapons.shield": "Shield",
|
||||
"common.weapons.spear": "Spear",
|
||||
"common.weapons.hammer_simple": "Simple Hammer",
|
||||
"common.weapons.sword_simple": "Simple Sword",
|
||||
"common.weapons.staff_simple": "Simple Staff",
|
||||
"common.weapons.axe_simple": "Simple Axe",
|
||||
"common.weapons.bow_simple": "Simple Bow",
|
||||
"common.weapons.unique": "Unique",
|
||||
"common.tool.debug": "Debug",
|
||||
"common.tool.farming": "Farming Tool",
|
||||
"common.tool.pick": "Pickaxe",
|
||||
"common.tool.mining": "Mining",
|
||||
"common.kind.modular_component": "Modular Component",
|
||||
"common.kind.modular_component_partial": "Component",
|
||||
"common.kind.glider": "Glider",
|
||||
"common.kind.consumable": "Consumable",
|
||||
"common.kind.throwable": "Can be thrown",
|
||||
"common.kind.utility": "Utility",
|
||||
"common.kind.ingredient": "Ingredient",
|
||||
"common.kind.lantern": "Lantern",
|
||||
"common.hands.one": "One-Handed",
|
||||
"common.hands.two": "Two-Handed",
|
||||
|
||||
"common.rand_appearance": "Random appearance",
|
||||
"common.rand_name": "Random name",
|
||||
|
||||
"common.stats.combat_rating": "CR",
|
||||
"common.stats.power": "Power",
|
||||
"common.stats.speed": "Speed",
|
||||
"common.stats.poise": "Poise",
|
||||
"common.stats.range": "Range",
|
||||
"common.stats.energy_efficiency": "Energy Efficiency",
|
||||
"common.stats.buff_strength": "Buff/Debuff Strength",
|
||||
"common.stats.crit_chance": "Crit Chance",
|
||||
"common.stats.crit_mult": "Crit Mult",
|
||||
"common.stats.armor": "Armor",
|
||||
"common.stats.poise_res":"Stun Res",
|
||||
"common.stats.energy_max": "Max Energy",
|
||||
"common.stats.energy_reward": "Energy Reward",
|
||||
"common.stats.crit_power": "Crit Power",
|
||||
"common.stats.stealth": "Stealth",
|
||||
"common.stats.slots": "Slots",
|
||||
|
||||
"common.material.metal": "Metal",
|
||||
"common.material.wood": "Wood",
|
||||
"common.material.stone": "Stone",
|
||||
"common.material.cloth": "Cloth",
|
||||
"common.material.hide": "Hide",
|
||||
|
||||
"common.sprite.chest": "Chest",
|
||||
},
|
||||
|
||||
|
||||
vector_map: {
|
||||
}
|
||||
)
|
@ -31,4 +31,5 @@ hud-map-zoom_minimap_explanation =
|
||||
Zoom in the Minimap to see
|
||||
the area around you in higher detail
|
||||
hud-map-gnarling = Gnarling Fortification
|
||||
hud-map-chapel_site = Sea Chapel
|
||||
hud-map-placed_by = Placed by { $name }
|
@ -2018,6 +2018,31 @@
|
||||
"voxel.armor.misc.foot.jackalope",
|
||||
(0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9,
|
||||
),
|
||||
//Cardinal Set
|
||||
Simple("common.items.armor.cardinal.chest"): VoxTrans(
|
||||
"voxel.armor.cardinal.chest",
|
||||
(0.0, 1.0, 0.0), (-120.0, 210.0,15.0), 1.1,
|
||||
),
|
||||
Simple("common.items.armor.cardinal.pants"): VoxTrans(
|
||||
"voxel.armor.cardinal.pants",
|
||||
(0.0, 1.0, 0.0), (-120.0, 210.0,15.0), 0.9,
|
||||
),
|
||||
Simple("common.items.armor.cardinal.belt"): VoxTrans(
|
||||
"voxel.armor.cardinal.belt",
|
||||
(0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9,
|
||||
),
|
||||
Simple("common.items.armor.cardinal.foot"): VoxTrans(
|
||||
"voxel.armor.cardinal.foot",
|
||||
(0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9,
|
||||
),
|
||||
Simple("common.items.armor.cardinal.hand"): VoxTrans(
|
||||
"voxel.armor.cardinal.hand",
|
||||
(0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9,
|
||||
),
|
||||
Simple("common.items.armor.cardinal.shoulder"): VoxTrans(
|
||||
"voxel.armor.cardinal.shoulder",
|
||||
(0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 1.0,
|
||||
),
|
||||
//Twig Set
|
||||
Simple("common.items.armor.twigs.chest"): VoxTrans(
|
||||
"voxel.armor.twigs.chest",
|
||||
@ -2915,6 +2940,10 @@
|
||||
"voxel.armor.misc.neck.scratched",
|
||||
(0.0, 0.2, 0.0), (-70.0, 20.0, 10.0), 0.9,
|
||||
),
|
||||
Simple("common.items.armor.misc.neck.abyssal_gorget"): VoxTrans(
|
||||
"voxel.armor.misc.neck.abyssal_gorget",
|
||||
(0.0, 0.2, 0.0), (-70.0, 20.0, 10.0), 0.9,
|
||||
),
|
||||
|
||||
// Tabards
|
||||
Simple("common.items.armor.misc.tabard.admin"): VoxTrans(
|
||||
@ -3486,6 +3515,14 @@
|
||||
"voxel.sprite.wood.item.wood",
|
||||
(0.0, 0.0, 0.0), (-50.0, 30.0, 20.0), 0.8,
|
||||
),
|
||||
Simple("common.items.crafting_ing.abyssal_heart"): VoxTrans(
|
||||
"voxel.sprite.crafting_ing.abyssal_heart",
|
||||
(0.0, 0.0, 0.0), (-50.0, 30.0, 20.0), 0.8,
|
||||
),
|
||||
Simple("common.items.crafting_ing.coral_branch"): VoxTrans(
|
||||
"voxel.sprite.crafting_ing.coral_branch",
|
||||
(0.0, 0.0, 0.0), (-50.0, 30.0, 20.0), 0.8,
|
||||
),
|
||||
// Gliders
|
||||
Simple("common.items.glider.cloverleaf"): VoxTrans(
|
||||
"voxel.glider.starter",
|
||||
|
BIN
assets/voxygen/voxel/armor/cardinal/belt.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/cardinal/belt.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/cardinal/chest.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/cardinal/chest.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/cardinal/foot.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/cardinal/foot.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/cardinal/hand.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/cardinal/hand.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/cardinal/pants.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/cardinal/pants.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/cardinal/shoulder.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/cardinal/shoulder.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/misc/neck/abyssal_gorget.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/misc/neck/abyssal_gorget.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -1529,6 +1529,10 @@
|
||||
vox_spec: ("armor.empty", (-3.0, -3.5, 1.0)),
|
||||
color: None
|
||||
),
|
||||
Tool("common.items.npc_weapons.unique.cardinal"): (
|
||||
vox_spec: ("weapon.sceptre.caduceus", (-2.5, -4.5, -6.0)),
|
||||
color: None
|
||||
),
|
||||
//BIPEDLARGE
|
||||
Tool("common.items.npc_weapons.hammer.ogre_hammer"): (
|
||||
vox_spec: ("weapon.hammer.2hhammer_ogre", (-5.0, -5.5, -7.0)),
|
||||
|
@ -172,6 +172,10 @@
|
||||
vox_spec: ("armor.mail.orichalcum.belt", (-4.0, -3.5, 1.0)),
|
||||
color: None
|
||||
),
|
||||
"common.items.armor.cardinal.belt": (
|
||||
vox_spec: ("armor.cardinal.belt", (-4.0, -3.8, 1.3)),
|
||||
color: None
|
||||
),
|
||||
"common.items.armor.merchant.belt": (
|
||||
vox_spec: ("armor.merchant.belt", (-5.0, -4.0, 2.0)),
|
||||
color: None
|
||||
|
@ -242,6 +242,10 @@
|
||||
vox_spec: ("armor.mail.orichalcum.chest", (-7.0, -4.0, 1.0)),
|
||||
color: None
|
||||
),
|
||||
"common.items.armor.cardinal.chest": (
|
||||
vox_spec: ("armor.cardinal.chest", (-7.0, -4.0, 1.0)),
|
||||
color: None
|
||||
),
|
||||
"common.items.armor.merchant.chest": (
|
||||
vox_spec: ("armor.merchant.chest", (-7.0, -4.0, 1.0)),
|
||||
color: None
|
||||
|
@ -160,6 +160,10 @@
|
||||
vox_spec: ("armor.mail.orichalcum.foot", (-2.5, -3.5, -2.0)),
|
||||
color: None
|
||||
),
|
||||
"common.items.armor.cardinal.foot": (
|
||||
vox_spec: ("armor.cardinal.foot",(-2.5, -3.5, -2.0)),
|
||||
color: None
|
||||
),
|
||||
"common.items.armor.merchant.foot": (
|
||||
vox_spec: ("armor.merchant.foot", (-2.5, -3.5, -2.0)),
|
||||
color: None
|
||||
|
@ -380,6 +380,16 @@
|
||||
color: None
|
||||
)
|
||||
),
|
||||
"common.items.armor.cardinal.hand": (
|
||||
left: (
|
||||
vox_spec: ("armor.cardinal.hand", (-2.5, -2.5, -4.0)),
|
||||
color: None
|
||||
),
|
||||
right: (
|
||||
vox_spec: ("armor.cardinal.hand", (-1.5, -2.5, -4.0)),
|
||||
color: None
|
||||
)
|
||||
),
|
||||
"common.items.armor.merchant.hand": (
|
||||
left: (
|
||||
vox_spec: ("armor.merchant.hand", (-2.5, -2.0, -4.0)),
|
||||
|
@ -200,6 +200,10 @@
|
||||
vox_spec: ("armor.mail.orichalcum.pants", (-6.0, -4.0, 0.5)),
|
||||
color: None
|
||||
),
|
||||
"common.items.armor.cardinal.pants": (
|
||||
vox_spec: ("armor.cardinal.pants", (-5.0, -4.0, -0.4)),
|
||||
color: None
|
||||
),
|
||||
"common.items.armor.merchant.pants": (
|
||||
vox_spec: ("armor.merchant.pants", (-6.0, -4.0, 0.5)),
|
||||
color: None
|
||||
|
@ -451,6 +451,16 @@
|
||||
color: None
|
||||
)
|
||||
),
|
||||
"common.items.armor.cardinal.shoulder": (
|
||||
left: (
|
||||
vox_spec: ("armor.cardinal.shoulder", (-5.0, -4.0, -2.0)),
|
||||
color: None
|
||||
),
|
||||
right: (
|
||||
vox_spec: ("armor.empty", (-0.5, -4.0, -2.0)),
|
||||
color: None
|
||||
)
|
||||
),
|
||||
"common.items.armor.merchant.shoulder": (
|
||||
left: (
|
||||
vox_spec: ("armor.merchant.shoulder_l", (-3.0, -4.0 , -8.0)),
|
||||
|
@ -734,6 +734,7 @@
|
||||
Simple("common.items.armor.misc.neck.gem_of_resilience"): "voxel.armor.misc.neck.resilience_gem",
|
||||
Simple("common.items.armor.misc.neck.shell"): "voxel.armor.misc.neck.shell",
|
||||
Simple("common.items.armor.misc.neck.amethyst"): "voxel.armor.misc.neck.amethyst",
|
||||
Simple("common.items.armor.misc.neck.abyssal_gorget"): "voxel.armor.misc.neck.abyssal_gorget",
|
||||
Simple("common.items.armor.misc.neck.diamond"): "voxel.armor.misc.neck.diamond",
|
||||
Simple("common.items.armor.cultist.necklace"): "voxel.armor.cultist.necklace",
|
||||
Simple("common.items.armor.misc.neck.ruby"): "voxel.armor.misc.neck.ruby",
|
||||
@ -844,6 +845,8 @@
|
||||
Simple("common.items.crafting_ing.animal_misc.grim_eyeball"): "voxel.sprite.crafting_ing.animal_misc.grim_eyeball",
|
||||
Simple("common.items.flowers.plant_fiber"): "voxel.sprite.crafting_ing.plant_fiber",
|
||||
Simple("common.items.flowers.moonbell"): "voxel.sprite.flowers.moonbell",
|
||||
Simple("common.items.crafting_ing.abyssal_heart"): "voxel.sprite.crafting_ing.abyssal_heart",
|
||||
Simple("common.items.crafting_ing.coral_branch"): "voxel.sprite.crafting_ing.coral_branch",
|
||||
Simple("common.items.flowers.pyrebloom"): "voxel.sprite.flowers.pyrebloom",
|
||||
Simple("common.items.flowers.wild_flax"): "voxel.sprite.flowers.flax",
|
||||
Simple("common.items.crafting_ing.cotton_boll"): "voxel.sprite.crafting_ing.cotton_boll",
|
||||
|
BIN
assets/voxygen/voxel/npc/dagon/male/chest.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/dagon/male/chest.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/dagon/male/foot_br.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/dagon/male/foot_br.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/dagon/male/foot_fr.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/dagon/male/foot_fr.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/dagon/male/head_lower.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/dagon/male/head_lower.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/dagon/male/head_upper.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/dagon/male/head_upper.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/dagon/male/jaw.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/dagon/male/jaw.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/dagon/male/tail_front.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/dagon/male/tail_front.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/dagon/male/tail_rear.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/dagon/male/tail_rear.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/object/dagon_bomb.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/object/dagon_bomb.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/object/sea_urchin.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/object/sea_urchin.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/object/seashell_lantern.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/object/seashell_lantern.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -19,6 +19,16 @@
|
||||
central: ("armor.empty"),
|
||||
)
|
||||
),
|
||||
DagonBomb: (
|
||||
bone0: (
|
||||
offset: (-5.5, -5.5, 0.0),
|
||||
central: ("object.dagon_bomb"),
|
||||
),
|
||||
bone1: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
central: ("armor.empty"),
|
||||
)
|
||||
),
|
||||
FireworkBlue: (
|
||||
bone0: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
@ -249,6 +259,16 @@
|
||||
central: ("armor.empty"),
|
||||
)
|
||||
),
|
||||
BarrelOrgan: (
|
||||
bone0: (
|
||||
offset: (-9.0, -10.0, 0.0),
|
||||
central: ("sprite.misc.barrel_organ"),
|
||||
),
|
||||
bone1: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
central: ("armor.empty"),
|
||||
)
|
||||
),
|
||||
LanternGround: (
|
||||
bone0: (
|
||||
offset: (-3.5, -3.5, 0.0),
|
||||
|
@ -572,6 +572,58 @@
|
||||
central: ("npc.hakulaq.male.tail_front"),
|
||||
),
|
||||
),
|
||||
(Dagon, Male): (
|
||||
upper: (
|
||||
offset: (-4.5, 2.5, -13.0),
|
||||
central: ("npc.dagon.male.head_upper"),
|
||||
),
|
||||
lower: (
|
||||
offset: (-4.5, -10.0, -10.5),
|
||||
central: ("npc.dagon.male.head_lower"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-3.5, 11.5, -13.0),
|
||||
central: ("npc.dagon.male.jaw"),
|
||||
),
|
||||
chest: (
|
||||
offset: (-4.5, -8.0, -10.5),
|
||||
central: ("npc.dagon.male.chest"),
|
||||
),
|
||||
tail_rear: (
|
||||
offset: (-0.5, -31.0, -8.0),
|
||||
central: ("npc.dagon.male.tail_rear"),
|
||||
),
|
||||
tail_front: (
|
||||
offset: (-1.5, -12.0, -10.0),
|
||||
central: ("npc.dagon.male.tail_front"),
|
||||
),
|
||||
),
|
||||
(Dagon, Female): (
|
||||
upper: (
|
||||
offset: (-4.5, 2.5, -13.0),
|
||||
central: ("npc.dagon.male.head_upper"),
|
||||
),
|
||||
lower: (
|
||||
offset: (-4.5, -10.0, -10.5),
|
||||
central: ("npc.dagon.male.head_lower"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-3.5, 11.5, -13.0),
|
||||
central: ("npc.dagon.male.jaw"),
|
||||
),
|
||||
chest: (
|
||||
offset: (-4.5, -8.0, -10.5),
|
||||
central: ("npc.dagon.male.chest"),
|
||||
),
|
||||
tail_rear: (
|
||||
offset: (-0.5, -31.0, -8.0),
|
||||
central: ("npc.dagon.male.tail_rear"),
|
||||
),
|
||||
tail_front: (
|
||||
offset: (-1.5, -12.0, -10.0),
|
||||
central: ("npc.dagon.male.tail_front"),
|
||||
),
|
||||
),
|
||||
(Sandshark, Male): (
|
||||
upper: (
|
||||
offset: (-5.5, -8.0, -5.0),
|
||||
|
@ -395,6 +395,42 @@
|
||||
lateral: ("npc.hakulaq.male.foot_br", false),
|
||||
),
|
||||
),
|
||||
(Dagon, Male): (
|
||||
front_left: (
|
||||
offset: (-9.0, 5.0, -9.0),
|
||||
lateral: ("npc.dagon.male.foot_fr", false),
|
||||
),
|
||||
front_right: (
|
||||
offset: (-2.0, 5.0, -9.0),
|
||||
lateral: ("npc.dagon.male.foot_fr", false),
|
||||
),
|
||||
back_left: (
|
||||
offset: (-11.0, 3.0, -9.0),
|
||||
lateral: ("npc.dagon.male.foot_br", false),
|
||||
),
|
||||
back_right: (
|
||||
offset: (0.0, 3.0, -9.0),
|
||||
lateral: ("npc.dagon.male.foot_br", false),
|
||||
),
|
||||
),
|
||||
(Dagon, Female): (
|
||||
front_left: (
|
||||
offset: (-9.0, 5.0, -9.0),
|
||||
lateral: ("npc.dagon.male.foot_fr", false),
|
||||
),
|
||||
front_right: (
|
||||
offset: (-2.0, 5.0, -9.0),
|
||||
lateral: ("npc.dagon.male.foot_fr", false),
|
||||
),
|
||||
back_left: (
|
||||
offset: (-11.0, 3.0, -9.0),
|
||||
lateral: ("npc.dagon.male.foot_br", false),
|
||||
),
|
||||
back_right: (
|
||||
offset: (0.0, 3.0, -9.0),
|
||||
lateral: ("npc.dagon.male.foot_br", false),
|
||||
),
|
||||
),
|
||||
(Sandshark, Male): (
|
||||
front_left: (
|
||||
offset: (-17.0, 0.0, -12.0),
|
||||
|
BIN
assets/voxygen/voxel/sprite/chests/chest_coral.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/chests/chest_coral.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/crafting_ing/abyssal_heart.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/crafting_ing/abyssal_heart.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/crafting_ing/coral_branch.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/crafting_ing/coral_branch.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/misc/barrel_organ.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/misc/barrel_organ.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/misc/glass_barrier.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/misc/glass_barrier.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/misc/rope.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/misc/rope.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_block.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_block.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_chain.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_chain.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_emblem.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_emblem.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_pillar-0.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_pillar-0.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_pillar-1.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_pillar-1.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_pillar-2.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_pillar-2.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_pillar-3.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_pillar-3.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_pillar-4.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_pillar-4.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_pillar-5.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_pillar-5.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_pillar-6.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_pillar-6.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_pillar-7.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_pillar-7.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_window_hor.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_window_hor.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_window_ver.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/misc/sea_decor_window_ver.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -864,6 +864,151 @@ DungeonChest5: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
// Rope
|
||||
Rope: Some((
|
||||
variations: [
|
||||
(
|
||||
model: "voxygen.voxel.sprite.misc.rope",
|
||||
offset: (-5.5, -5.5, -0.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
// Coral Chest
|
||||
CoralChest: Some((
|
||||
variations: [
|
||||
(
|
||||
model: "voxygen.voxel.sprite.chests.chest_coral",
|
||||
offset: (-7.0, -5.0, -0.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
// Sea DecorChain
|
||||
SeaDecorChain: Some((
|
||||
variations: [
|
||||
(
|
||||
model: "voxygen.voxel.sprite.misc.sea_decor_chain",
|
||||
offset: (-5.5, -5.5, -0.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
// Sea DecorBlock
|
||||
SeaDecorBlock: Some((
|
||||
variations: [
|
||||
(
|
||||
model: "voxygen.voxel.sprite.misc.sea_decor_block",
|
||||
offset: (-5.5, -5.5, -0.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
// Sea DecorWindow Horizontal
|
||||
SeaDecorWindowHor: Some((
|
||||
variations: [
|
||||
(
|
||||
model: "voxygen.voxel.sprite.misc.sea_decor_window_hor",
|
||||
offset: (-5.5, -5.5, -0.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
// Sea DecorWindow Vertical
|
||||
SeaDecorWindowVer: Some((
|
||||
variations: [
|
||||
(
|
||||
model: "voxygen.voxel.sprite.misc.sea_decor_window_ver",
|
||||
offset: (-5.5, -5.5, -0.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
// Sea Decor Emblem
|
||||
SeaDecorEmblem: Some((
|
||||
variations: [
|
||||
(
|
||||
model: "voxygen.voxel.sprite.misc.sea_decor_emblem",
|
||||
offset: (-5.5, -5.5, -4.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
// Sea Decor Pillar
|
||||
SeaDecorPillar: Some((
|
||||
variations: [
|
||||
(
|
||||
model: "voxygen.voxel.sprite.misc.sea_decor_pillar-0",
|
||||
offset: (-5.5, -5.5, 0.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.misc.sea_decor_pillar-1",
|
||||
offset: (-5.5, -5.5, 0.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.misc.sea_decor_pillar-2",
|
||||
offset: (-5.5, -5.5, 0.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.misc.sea_decor_pillar-3",
|
||||
offset: (-5.5, -5.5, 0.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.misc.sea_decor_pillar-4",
|
||||
offset: (-5.5, -5.5, 0.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.misc.sea_decor_pillar-5",
|
||||
offset: (-5.5, -5.5, 0.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.misc.sea_decor_pillar-6",
|
||||
offset: (-5.5, -5.5, 0.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.misc.sea_decor_pillar-7",
|
||||
offset: (-5.5, -5.5, 0.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
// SeashellLantern
|
||||
SeashellLantern: Some((
|
||||
variations: [
|
||||
(
|
||||
model: "voxygen.voxel.object.seashell_lantern",
|
||||
offset: (-4.5, -4.5, 0.0),
|
||||
lod_axes: (0.0, 0.0, 0.0),
|
||||
),
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
// GlassBarrier
|
||||
GlassBarrier: Some((
|
||||
variations: [
|
||||
(
|
||||
model: "voxygen.voxel.sprite.misc.glass_barrier",
|
||||
offset: (-5.5, -5.5, 0.0),
|
||||
lod_axes: (0.0, 0.0, 0.0),
|
||||
),
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
// Welwitch
|
||||
Welwitch: Some((
|
||||
variations: [
|
||||
@ -3617,6 +3762,17 @@ EnsnaringVines: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
// Sea Urchin
|
||||
SeaUrchin: Some((
|
||||
variations: [
|
||||
(
|
||||
model: "voxygen.voxel.object.sea_urchin",
|
||||
offset: (-5.0, -6.5, 0.0),
|
||||
lod_axes: (0.0, 0.0, 0.0),
|
||||
),
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
// WitchWindow
|
||||
WitchWindow: Some((
|
||||
variations: [
|
||||
|
@ -145,6 +145,7 @@ pub enum SiteKind {
|
||||
Cave,
|
||||
Tree,
|
||||
Gnarling,
|
||||
ChapelSite,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
|
@ -175,6 +175,7 @@ fn get_tool_kind(kind: &ToolKind) -> String {
|
||||
ToolKind::Farming => "Farming".to_string(),
|
||||
ToolKind::Pick => "Pick".to_string(),
|
||||
ToolKind::Natural => "Natural".to_string(),
|
||||
ToolKind::Organ => "Organ".to_string(),
|
||||
ToolKind::Empty => "Empty".to_string(),
|
||||
}
|
||||
}
|
||||
|
@ -735,6 +735,7 @@ impl Body {
|
||||
Body::Object(object) => match object {
|
||||
object::Body::TrainingDummy => 1000,
|
||||
object::Body::Crossbow => 80,
|
||||
object::Body::BarrelOrgan => 500,
|
||||
object::Body::HaniwaSentry => 60,
|
||||
object::Body::SeaLantern => 100,
|
||||
object::Body::GnarlingTotemGreen => 25,
|
||||
@ -766,6 +767,7 @@ impl Body {
|
||||
quadruped_low::Species::Maneater => 130,
|
||||
quadruped_low::Species::Sandshark => 110,
|
||||
quadruped_low::Species::Hakulaq => 120,
|
||||
quadruped_low::Species::Dagon => 1200,
|
||||
quadruped_low::Species::Lavadrake => 160,
|
||||
quadruped_low::Species::Basilisk => 200,
|
||||
quadruped_low::Species::Deadwood => 120,
|
||||
@ -831,6 +833,7 @@ impl Body {
|
||||
)
|
||||
)
|
||||
},
|
||||
BuffKind::ProtectingWard => matches!(self, Body::Object(object::Body::BarrelOrgan)),
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
|
@ -98,6 +98,8 @@ make_case_elim!(
|
||||
GnarlingTotemRed = 83,
|
||||
GnarlingTotemGreen = 84,
|
||||
GnarlingTotemWhite = 85,
|
||||
DagonBomb = 86,
|
||||
BarrelOrgan = 87,
|
||||
}
|
||||
);
|
||||
|
||||
@ -108,7 +110,7 @@ impl Body {
|
||||
}
|
||||
}
|
||||
|
||||
pub const ALL_OBJECTS: [Body; 86] = [
|
||||
pub const ALL_OBJECTS: [Body; 88] = [
|
||||
Body::Arrow,
|
||||
Body::Bomb,
|
||||
Body::Scarecrow,
|
||||
@ -195,6 +197,8 @@ pub const ALL_OBJECTS: [Body; 86] = [
|
||||
Body::GnarlingTotemRed,
|
||||
Body::GnarlingTotemWhite,
|
||||
Body::GnarlingTotemGreen,
|
||||
Body::DagonBomb,
|
||||
Body::BarrelOrgan,
|
||||
];
|
||||
|
||||
impl From<Body> for super::Body {
|
||||
@ -290,6 +294,8 @@ impl Body {
|
||||
Body::GnarlingTotemRed => "gnarling_totem_red",
|
||||
Body::GnarlingTotemGreen => "gnarling_totem_green",
|
||||
Body::GnarlingTotemWhite => "gnarling_totem_white",
|
||||
Body::DagonBomb => "dagon_bomb",
|
||||
Body::BarrelOrgan => "barrel_organ",
|
||||
}
|
||||
}
|
||||
|
||||
@ -307,9 +313,12 @@ impl Body {
|
||||
pub fn density(&self) -> Density {
|
||||
let density = match self {
|
||||
Body::Anvil | Body::Cauldron => IRON_DENSITY,
|
||||
Body::Arrow | Body::ArrowSnake | Body::ArrowTurret | Body::MultiArrow | Body::Dart => {
|
||||
500.0
|
||||
},
|
||||
Body::Arrow
|
||||
| Body::ArrowSnake
|
||||
| Body::ArrowTurret
|
||||
| Body::MultiArrow
|
||||
| Body::Dart
|
||||
| Body::DagonBomb => 500.0,
|
||||
Body::Bomb => 2000.0, // I have no idea what it's supposed to be
|
||||
Body::Crate => 300.0, // let's say it's a lot of wood and maybe some contents
|
||||
Body::Scarecrow => 900.0,
|
||||
@ -337,10 +346,10 @@ impl Body {
|
||||
| Body::BoltNature
|
||||
| Body::BoltIcicle
|
||||
| Body::SpitPoison => 1.0,
|
||||
Body::Bomb => {
|
||||
Body::Bomb | Body::DagonBomb => {
|
||||
0.5 * IRON_DENSITY * std::f32::consts::PI / 6.0 * self.dimensions().x.powi(3)
|
||||
},
|
||||
Body::Campfire | Body::CampfireLit => 300.0,
|
||||
Body::Campfire | Body::CampfireLit | Body::BarrelOrgan => 300.0,
|
||||
Body::Carpet
|
||||
| Body::CarpetHumanRound
|
||||
| Body::CarpetHumanSquare
|
||||
@ -420,6 +429,7 @@ impl Body {
|
||||
Body::GnarlingTotemRed | Body::GnarlingTotemGreen | Body::GnarlingTotemWhite => {
|
||||
Vec3::new(0.8, 0.8, 1.4)
|
||||
},
|
||||
Body::BarrelOrgan => Vec3::new(4.0, 2.0, 3.0),
|
||||
// FIXME: this *must* be exhaustive match
|
||||
_ => Vec3::broadcast(0.5),
|
||||
}
|
||||
|
@ -55,6 +55,7 @@ make_case_elim!(
|
||||
Deadwood = 13,
|
||||
Icedrake = 14,
|
||||
SeaCrocodile = 15,
|
||||
Dagon = 16,
|
||||
}
|
||||
);
|
||||
|
||||
@ -75,6 +76,7 @@ pub struct AllSpecies<SpeciesMeta> {
|
||||
pub maneater: SpeciesMeta,
|
||||
pub sandshark: SpeciesMeta,
|
||||
pub hakulaq: SpeciesMeta,
|
||||
pub dagon: SpeciesMeta,
|
||||
pub lavadrake: SpeciesMeta,
|
||||
pub basilisk: SpeciesMeta,
|
||||
pub deadwood: SpeciesMeta,
|
||||
@ -99,6 +101,7 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
|
||||
Species::Maneater => &self.maneater,
|
||||
Species::Sandshark => &self.sandshark,
|
||||
Species::Hakulaq => &self.hakulaq,
|
||||
Species::Dagon => &self.dagon,
|
||||
Species::Lavadrake => &self.lavadrake,
|
||||
Species::Basilisk => &self.basilisk,
|
||||
Species::Deadwood => &self.deadwood,
|
||||
@ -107,7 +110,7 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
|
||||
}
|
||||
}
|
||||
|
||||
pub const ALL_SPECIES: [Species; 16] = [
|
||||
pub const ALL_SPECIES: [Species; 17] = [
|
||||
Species::Crocodile,
|
||||
Species::SeaCrocodile,
|
||||
Species::Alligator,
|
||||
@ -120,6 +123,7 @@ pub const ALL_SPECIES: [Species; 16] = [
|
||||
Species::Maneater,
|
||||
Species::Sandshark,
|
||||
Species::Hakulaq,
|
||||
Species::Dagon,
|
||||
Species::Lavadrake,
|
||||
Species::Basilisk,
|
||||
Species::Deadwood,
|
||||
|
@ -34,6 +34,7 @@ pub enum ToolKind {
|
||||
/// Intended for invisible weapons (e.g. a creature using its claws or
|
||||
/// biting)
|
||||
Natural,
|
||||
Organ,
|
||||
/// This is an placeholder item, it is used by non-humanoid npcs to attack
|
||||
Empty,
|
||||
}
|
||||
@ -55,6 +56,7 @@ impl ToolKind {
|
||||
ToolKind::Debug => "debug",
|
||||
ToolKind::Farming => "farming",
|
||||
ToolKind::Pick => "pickaxe",
|
||||
ToolKind::Organ => "organ",
|
||||
ToolKind::Empty => "empty",
|
||||
}
|
||||
}
|
||||
|
@ -579,6 +579,9 @@ fn default_main_tool(body: &Body) -> Item {
|
||||
quadruped_low::Species::Asp => Some(Item::new_from_asset_expect(
|
||||
"common.items.npc_weapons.unique.asp",
|
||||
)),
|
||||
quadruped_low::Species::Dagon => Some(Item::new_from_asset_expect(
|
||||
"common.items.npc_weapons.unique.dagon",
|
||||
)),
|
||||
quadruped_low::Species::Crocodile
|
||||
| quadruped_low::Species::SeaCrocodile
|
||||
| quadruped_low::Species::Alligator
|
||||
@ -718,6 +721,9 @@ fn default_main_tool(body: &Body) -> Item {
|
||||
object::Body::Crossbow => Some(Item::new_from_asset_expect(
|
||||
"common.items.npc_weapons.unique.turret",
|
||||
)),
|
||||
object::Body::BarrelOrgan => Some(Item::new_from_asset_expect(
|
||||
"common.items.npc_weapons.unique.organ",
|
||||
)),
|
||||
object::Body::HaniwaSentry => Some(Item::new_from_asset_expect(
|
||||
"common.items.npc_weapons.unique.haniwa_sentry",
|
||||
)),
|
||||
|
@ -88,6 +88,12 @@ pub enum ProjectileConstructor {
|
||||
knockback: f32,
|
||||
min_falloff: f32,
|
||||
},
|
||||
DagonBomb {
|
||||
damage: f32,
|
||||
radius: f32,
|
||||
knockback: f32,
|
||||
min_falloff: f32,
|
||||
},
|
||||
}
|
||||
|
||||
impl ProjectileConstructor {
|
||||
@ -457,6 +463,63 @@ impl ProjectileConstructor {
|
||||
is_point: true,
|
||||
}
|
||||
},
|
||||
DagonBomb {
|
||||
damage,
|
||||
radius,
|
||||
knockback,
|
||||
min_falloff,
|
||||
} => {
|
||||
let knockback = AttackEffect::new(
|
||||
Some(GroupTarget::OutOfGroup),
|
||||
CombatEffect::Knockback(Knockback {
|
||||
strength: knockback,
|
||||
direction: KnockbackDir::Away,
|
||||
}),
|
||||
)
|
||||
.with_requirement(CombatRequirement::AnyDamage);
|
||||
let buff = AttackEffect::new(
|
||||
Some(GroupTarget::OutOfGroup),
|
||||
CombatEffect::Buff(CombatBuff {
|
||||
kind: BuffKind::Burning,
|
||||
dur_secs: 5.0,
|
||||
strength: CombatBuffStrength::DamageFraction(0.2 * buff_strength),
|
||||
chance: 1.0,
|
||||
}),
|
||||
)
|
||||
.with_requirement(CombatRequirement::AnyDamage);
|
||||
let damage = AttackDamage::new(
|
||||
Damage {
|
||||
source: DamageSource::Explosion,
|
||||
kind: DamageKind::Energy,
|
||||
value: damage,
|
||||
},
|
||||
Some(GroupTarget::OutOfGroup),
|
||||
instance,
|
||||
);
|
||||
let attack = Attack::default()
|
||||
.with_damage(damage)
|
||||
.with_crit(crit_chance, crit_mult)
|
||||
.with_effect(knockback)
|
||||
.with_effect(buff);
|
||||
let explosion = Explosion {
|
||||
effects: vec![
|
||||
RadiusEffect::Attack(attack),
|
||||
RadiusEffect::TerrainDestruction(5.0),
|
||||
],
|
||||
radius,
|
||||
reagent: Some(Reagent::Blue),
|
||||
min_falloff,
|
||||
};
|
||||
Projectile {
|
||||
hit_solid: vec![Effect::Explode(explosion.clone()), Effect::Vanish],
|
||||
hit_entity: vec![Effect::Explode(explosion), Effect::Vanish],
|
||||
time_left: Duration::from_secs(10),
|
||||
owner,
|
||||
ignore_group: true,
|
||||
is_sticky: true,
|
||||
is_point: true,
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@ -532,6 +595,14 @@ impl ProjectileConstructor {
|
||||
*damage *= power;
|
||||
*radius *= range;
|
||||
},
|
||||
DagonBomb {
|
||||
ref mut damage,
|
||||
ref mut radius,
|
||||
..
|
||||
} => {
|
||||
*damage *= power;
|
||||
*radius *= range;
|
||||
},
|
||||
}
|
||||
self
|
||||
}
|
||||
|
@ -118,12 +118,18 @@ impl CharacterBehavior for Data {
|
||||
// Location sprite will be created
|
||||
let sprite_pos =
|
||||
Vec3::new(sprite_pos.x as i32, sprite_pos.y as i32, z);
|
||||
|
||||
// Send server event to create sprite
|
||||
output_events.emit_server(ServerEvent::CreateSprite {
|
||||
pos: sprite_pos,
|
||||
sprite: self.static_data.sprite,
|
||||
});
|
||||
// Layers of sprites
|
||||
let layers = match self.static_data.sprite {
|
||||
SpriteKind::SeaUrchin => 2,
|
||||
_ => 1,
|
||||
};
|
||||
for i in 0..layers {
|
||||
// Send server event to create sprite
|
||||
output_events.emit_server(ServerEvent::CreateSprite {
|
||||
pos: Vec3::new(sprite_pos.x as i32, sprite_pos.y, z + i),
|
||||
sprite: self.static_data.sprite,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -126,6 +126,7 @@ impl Body {
|
||||
quadruped_low::Species::Maneater => 80.0,
|
||||
quadruped_low::Species::Sandshark => 160.0,
|
||||
quadruped_low::Species::Hakulaq => 140.0,
|
||||
quadruped_low::Species::Dagon => 140.0,
|
||||
quadruped_low::Species::Lavadrake => 100.0,
|
||||
quadruped_low::Species::Icedrake => 100.0,
|
||||
quadruped_low::Species::Basilisk => 90.0,
|
||||
|
@ -235,6 +235,9 @@ impl Block {
|
||||
| SpriteKind::EmeraldSmall
|
||||
| SpriteKind::SapphireSmall => Some(3),
|
||||
SpriteKind::Lantern => Some(24),
|
||||
SpriteKind::SeashellLantern => Some(16),
|
||||
SpriteKind::SeaDecorEmblem => Some(12),
|
||||
SpriteKind::SeaDecorBlock => Some(10),
|
||||
_ => None,
|
||||
},
|
||||
}
|
||||
@ -294,8 +297,16 @@ impl Block {
|
||||
| SpriteKind::DungeonChest3
|
||||
| SpriteKind::DungeonChest4
|
||||
| SpriteKind::DungeonChest5
|
||||
| SpriteKind::ChestBuried => None,
|
||||
SpriteKind::EnsnaringVines | SpriteKind::EnsnaringWeb => Some(0.1),
|
||||
| SpriteKind::ChestBuried
|
||||
| SpriteKind::SeaDecorBlock
|
||||
| SpriteKind::SeaDecorChain
|
||||
| SpriteKind::SeaDecorWindowHor
|
||||
| SpriteKind::SeaDecorWindowVer
|
||||
| SpriteKind::Rope
|
||||
| SpriteKind::GlassBarrier => None,
|
||||
SpriteKind::EnsnaringVines | SpriteKind::EnsnaringWeb | SpriteKind::SeaUrchin => {
|
||||
Some(0.1)
|
||||
},
|
||||
_ => Some(0.25),
|
||||
}),
|
||||
}
|
||||
|
@ -215,6 +215,17 @@ make_case_elim!(
|
||||
Ironwood = 0xBC,
|
||||
Frostwood = 0xBD,
|
||||
Eldwood = 0xBE,
|
||||
SeaUrchin = 0xBF,
|
||||
GlassBarrier = 0xC0,
|
||||
CoralChest = 0xC1,
|
||||
SeaDecorChain = 0xC2,
|
||||
SeaDecorBlock = 0xC3,
|
||||
SeaDecorWindowHor = 0xC4,
|
||||
SeaDecorWindowVer = 0xC5,
|
||||
SeaDecorEmblem = 0xC6,
|
||||
SeaDecorPillar = 0xC7,
|
||||
SeashellLantern = 0xC8,
|
||||
Rope = 0xC9,
|
||||
}
|
||||
);
|
||||
|
||||
@ -237,6 +248,14 @@ impl SpriteKind {
|
||||
SpriteKind::DungeonChest3 => 1.09,
|
||||
SpriteKind::DungeonChest4 => 1.09,
|
||||
SpriteKind::DungeonChest5 => 1.09,
|
||||
SpriteKind::CoralChest => 1.09,
|
||||
SpriteKind::SeaDecorChain => 1.09,
|
||||
SpriteKind::SeaDecorBlock => 1.00,
|
||||
SpriteKind::SeaDecorWindowHor => 0.55,
|
||||
SpriteKind::SeaDecorWindowVer => 1.09,
|
||||
SpriteKind::SeaDecorPillar => 2.55,
|
||||
SpriteKind::SeashellLantern => 2.09,
|
||||
SpriteKind::Rope => 1.09,
|
||||
SpriteKind::StreetLamp => 2.65,
|
||||
SpriteKind::Carrot => 0.18,
|
||||
SpriteKind::Radish => 0.18,
|
||||
@ -290,6 +309,8 @@ impl SpriteKind {
|
||||
| SpriteKind::Window4
|
||||
| SpriteKind::DropGate
|
||||
| SpriteKind::WitchWindow
|
||||
| SpriteKind::SeaUrchin
|
||||
| SpriteKind::GlassBarrier
|
||||
| SpriteKind::Bomb => 1.0,
|
||||
// TODO: Figure out if this should be solid or not.
|
||||
SpriteKind::Shelf => 1.0,
|
||||
@ -398,6 +419,7 @@ impl SpriteKind {
|
||||
SpriteKind::DungeonChest5 => table("common.loot_tables.dungeon.tier-5.chest"),
|
||||
SpriteKind::Chest => table("common.loot_tables.sprite.chest"),
|
||||
SpriteKind::ChestBuried => table("common.loot_tables.sprite.chest-buried"),
|
||||
SpriteKind::CoralChest => table("common.loot_tables.dungeon.sea_chapel.chest_coral"),
|
||||
SpriteKind::Mud => table("common.loot_tables.sprite.mud"),
|
||||
SpriteKind::Crate => table("common.loot_tables.sprite.crate"),
|
||||
SpriteKind::Wood => item("common.items.log.wood"),
|
||||
@ -448,7 +470,8 @@ impl SpriteKind {
|
||||
| SpriteKind::Tin
|
||||
| SpriteKind::Silver
|
||||
| SpriteKind::Gold
|
||||
| SpriteKind::SapphireSmall => Some(ToolKind::Pick),
|
||||
| SpriteKind::SapphireSmall
|
||||
| SpriteKind::GlassBarrier => Some(ToolKind::Pick),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
@ -491,6 +514,9 @@ impl SpriteKind {
|
||||
| SpriteKind::DungeonChest3
|
||||
| SpriteKind::DungeonChest4
|
||||
| SpriteKind::DungeonChest5
|
||||
| SpriteKind::CoralChest
|
||||
| SpriteKind::SeaDecorWindowVer
|
||||
| SpriteKind::SeaDecorEmblem
|
||||
| SpriteKind::DropGate
|
||||
| SpriteKind::DropGateBottom
|
||||
| SpriteKind::Door
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user