Merge branch 'zesterer/spots' into 'master'

Spots

See merge request veloren/veloren!2695
This commit is contained in:
Joshua Barretto 2021-08-31 12:03:47 +00:00
commit fe09ddfd67
142 changed files with 1668 additions and 437 deletions

View File

@ -32,6 +32,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Experimental terrain persistence (see server documentation)
- Add GPU filtering using WGPU_ADAPTER environment variable
- Explosions no longer change block colours within safe zones
- The 'spot' system, which generates smaller site-like structures and scenarios
- Chestnut and cedar tree varieties
### Changed

View File

@ -0,0 +1,14 @@
EntityConfig (
name: Name("Grave Robber"),
body: RandomWith("dwarf"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.humanoids"),
hands: TwoHanded(Item("common.items.weapons.hammer.steel_hammer-3")),
meta: [
SkillSetAsset("common.skillset.village.guard"),
LoadoutAsset("common.loadout.spots.dwarf_graverobber"),
],
)

View File

@ -0,0 +1,14 @@
EntityConfig (
name: Name("Grim Salvager"),
body: RandomWith("humanoid"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.humanoids"),
hands: TwoHanded(Item("common.items.weapons.hammer.steel_hammer-0")),
meta: [
SkillSetAsset("common.skillset.village.guard"),
LoadoutAsset("common.loadout.spots.dwarf_graverobber"),
],
)

View File

@ -0,0 +1,13 @@
EntityConfig (
name: Name("Myrmidon Hoplite"),
body: RandomWith("myrmidon"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.dungeon.tier-4.enemy"),
hands: TwoHanded(Item("common.items.npc_weapons.biped_small.myrmidon.wooden_spear")),
meta: [
LoadoutAsset("common.loadout.dungeon.tier-4.myrmidon"),
],
)

View File

@ -0,0 +1,9 @@
EntityConfig (
name: Name("Saurok Bandit"),
body: RandomWith("saurok_mighty"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.creature.biped_large.saurok"),
hands: TwoHanded(Item("common.items.npc_weapons.bow.saurok_bow")),
)

View File

@ -0,0 +1,24 @@
EntityConfig (
name: Name("Witch"),
body: Exact(Humanoid(Body(
species: Human,
body_type: Female,
hair_style: 2,
beard: 0,
eyes: 0,
accessory: 0,
hair_color: 0,
skin: 0,
eye_color: 0,
))),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.humanoids"),
hands: TwoHanded(Item("common.items.weapons.sceptre.belzeshrub")),
meta: [
SkillSetAsset("common.skillset.dungeon.tier-5.sceptre"),
LoadoutAsset("common.loadout.spots.witch"),
],
)

View File

@ -1,5 +1,5 @@
EntityConfig (
name: Automatic,
name: Name("Villager"),
body: RandomWith("humanoid"),
alignment: Alignment(Npc),

View File

@ -0,0 +1,11 @@
EntityConfig (
name: Name("Well-fed Bear"),
body: RandomWith("bear"),
alignment: Alignment(Wild),
loot: Uninit,
hands: Uninit,
meta: [],
)

View File

@ -0,0 +1,11 @@
EntityConfig (
name: Automatic,
body: RandomWith("cat"),
alignment: Alignment(Wild),
loot: Uninit,
hands: Uninit,
meta: [],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Witch Cape",
description: "",
kind: Armor((
kind: Back("Witch"),
stats: (
protection: Normal(32.0),
poise_resilience: Normal(5.0),
energy_max: 90,
energy_reward: 0.1,
crit_power: 0.08,
stealth: 0.0,
),
)),
quality: Epic,
tags: [
Cultist,
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Witch Belt",
description: "",
kind: Armor((
kind: Belt("Witch"),
stats: (
protection: Normal(8.0),
poise_resilience: Normal(1.0),
energy_max: 20,
energy_reward: 0.025,
crit_power: 0.02,
stealth: 0.0,
),
)),
quality: Epic,
tags: [
Cultist,
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Witch Robe",
description: "",
kind: Armor((
kind: Chest("Witch"),
stats: (
protection: Normal(48.0),
poise_resilience: Normal(6.0),
energy_max: 135,
energy_reward: 0.135,
crit_power: 0.125,
stealth: 0.0,
),
)),
quality: Epic,
tags: [
Cultist,
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Witch Boots",
description: "",
kind: Armor((
kind: Foot("Witch"),
stats: (
protection: Normal(16.0),
poise_resilience: Normal(2.0),
energy_max: 45,
energy_reward: 0.045,
crit_power: 0.04,
stealth: 0.0,
),
)),
quality: Epic,
tags: [
Cultist,
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Witch Handwarmers",
description: "",
kind: Armor((
kind: Hand("Witch"),
stats: (
protection: Normal(16.0),
poise_resilience: Normal(2.0),
energy_max: 45,
energy_reward: 0.045,
crit_power: 0.04,
stealth: 0.0,
),
)),
quality: Epic,
tags: [
Cultist,
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Witch hat",
description: "",
kind: Armor((
kind: Head("Witch"),
stats: (
protection: Normal(32.0),
poise_resilience: Normal(5.0),
energy_max: 90,
energy_reward: 0.1,
crit_power: 0.08,
stealth: 0.0,
),
)),
quality: Epic,
tags: [
Cultist,
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Witch Skirt",
description: "",
kind: Armor((
kind: Pants("Witch"),
stats: (
protection: Normal(32.0),
poise_resilience: Normal(4.0),
energy_max: 90,
energy_reward: 0.1,
crit_power: 0.08,
stealth: 0.0,
),
)),
quality: Epic,
tags: [
Cultist,
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Witch Mantle",
description: "",
kind: Armor((
kind: Shoulder("Witch"),
stats: (
protection: Normal(32.0),
poise_resilience: Normal(5.0),
energy_max: 90,
energy_reward: 0.1,
crit_power: 0.08,
stealth: 0.0,
),
)),
quality: Epic,
tags: [
Cultist,
],
)

View File

@ -0,0 +1,14 @@
ItemDef(
name: "Eery Pumpkin",
description: "Did it just blink?!",
kind: Lantern(
(
kind: "PumpkinLantern",
color: (r: 31, g: 255, b: 22),
strength_thousandths: 8000,
flicker_thousandths: 600,
),
),
quality: High,
tags: [Utility],
)

View File

@ -0,0 +1,21 @@
ItemDef(
name: "Belzeshrub the Broom God",
description: "'Is it... alive?'",
kind: Tool((
kind: Sceptre,
hands: Two,
stats: Direct((
equip_time_secs: 0.4,
power: 2.5,
effect_power: 1.0,
speed: 0.8,
crit_chance: 0.078125,
range: 1.0,
energy_efficiency: 1.0,
buff_strength: 1.0,
)),
)),
quality: Artifact,
tags: [],
ability_spec: None,
)

View File

@ -0,0 +1,13 @@
({
Armor(Chest): Item("common.items.armor.hide.rawhide.chest"),
Armor(Shoulders): Item("common.items.armor.hide.rawhide.shoulder"),
Armor(Belt): Item("common.items.armor.hide.rawhide.belt"),
Armor(Hands): Item("common.items.armor.hide.rawhide.hand"),
Armor(Legs): Item("common.items.armor.hide.rawhide.pants"),
Armor(Feet): Item("common.items.armor.hide.rawhide.foot"),
Lantern: Choice([
(1.0, Some(Item("common.items.lantern.black_0"))),
(2.0, None),
]),
})

View File

@ -0,0 +1,10 @@
({
Armor(Head): Item("common.items.armor.witch.hat"),
Armor(Chest): Item("common.items.armor.witch.chest"),
Armor(Shoulders): Item("common.items.armor.witch.shoulder"),
Armor(Belt): Item("common.items.armor.witch.belt"),
Armor(Hands): Item("common.items.armor.witch.hand"),
Armor(Legs): Item("common.items.armor.witch.pants"),
Armor(Feet): Item("common.items.armor.witch.foot"),
Lantern: Item("common.items.lantern.pumpkin"),
})

View File

@ -353,4 +353,17 @@
("common.items.debug.dungeon_purple",1),
("common.items.debug.admin_back",1),
],
"witch": [
("common.items.armor.witch.back",1),
("common.items.armor.witch.belt",1),
("common.items.armor.witch.chest",1),
("common.items.armor.witch.hand",1),
("common.items.armor.witch.foot",1),
("common.items.armor.witch.hand",1),
("common.items.armor.witch.hat",1),
("common.items.armor.witch.pants",1),
("common.items.armor.witch.shoulder",1),
("common.items.weapons.sceptre.belzeshrub",1),
("common.items.lantern.pumpkin",1),
],
})

View File

@ -1045,6 +1045,10 @@
"voxel.lantern.geode_purp",
(0.0, 0.0, 0.0), (-90.0, 120.0, 0.0), 0.9,
),
Lantern("PumpkinLantern"): VoxTrans(
"voxel.lantern.pumpkin",
(0.0, 0.0, 0.0), (-90.0, 120.0, 0.0), 0.9,
),
// Farming Equipment
Tool("common.items.weapons.tool.broom"): VoxTrans(
"voxel.weapon.tool.broom-0",

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

@ -950,6 +950,10 @@
vox_spec: ("weapon.sceptre.root_evil", (-2.5, -2.5, -6.0)),
color: None
),
"common.items.weapons.sceptre.belzeshrub": (
vox_spec: ("weapon.tool.broom_belzeshrub_purple", (-3.0, -4.0, -4.0)),
color: None
),
"common.items.weapons.sceptre.sceptre_velorite_0": (
vox_spec: ("weapon.sceptre.ore-nature", (-2.0, -6.0, -5.0)),
color: None

View File

@ -80,6 +80,10 @@
vox_spec: ("armor.cloth.silken.back", (-4.0, -2.5, -11.5)),
color: None
),
"Witch": (
vox_spec: ("armor.witch.back", (-4.0, -2.5, -11.5)),
color: None
),
"Druid": (
vox_spec: ("armor.cloth.druid.back", (-5.0, -2.5, -11.0)),
color: None

View File

@ -112,6 +112,10 @@
vox_spec: ("armor.cloth.silken.belt", (-4.0, -3.5, -3.0)),
color: None
),
"Witch":(
vox_spec: ("armor.witch.belt", (-4.0, -3.5, -3.0)),
color: None
),
"Druid":(
vox_spec: ("armor.cloth.druid.belt", (-4.0, -4.0, -0.5)),
color: None

View File

@ -182,6 +182,10 @@
vox_spec: ("armor.cloth.silken.chest", (-7.0, -4.0, 1.0)),
color: None
),
"Witch": (
vox_spec: ("armor.witch.chest", (-7.0, -4.0, 1.0)),
color: None
),
"Druid": (
vox_spec: ("armor.cloth.druid.chest", (-7.0, -4.0, 2.0)),
color: None

View File

@ -112,6 +112,10 @@
vox_spec: ("armor.cloth.silken.foot", (-2.5, -3.5, -2.0)),
color: None
),
"Witch": (
vox_spec: ("armor.witch.foot", (-2.5, -3.5, -2.0)),
color: None
),
"Druid": (
vox_spec: ("armor.cloth.druid.foot", (-2.5, -3.5, -2.0)),
color: None

View File

@ -250,6 +250,16 @@
color: None
)
),
"Witch": (
left: (
vox_spec: ("armor.witch.hand", (-2.5, -2.5, -4.0)),
color: None
),
right: (
vox_spec: ("armor.witch.hand", (-1.5, -2.5, -4.0)),
color: None
)
),
"Druid": (
left: (
vox_spec: ("armor.cloth.druid.hand", (-2.5, -1.0, -3.0)),

View File

@ -28,5 +28,9 @@
vox_spec: ("armor.misc.head.exclamation", (-11.0, -11.0, 18.0)),
color: None
),
(Human, "Witch"): (
vox_spec: ("armor.witch.hat", (-2.0, -2.0, 5.0)),
color: None
),
}
))

View File

@ -140,6 +140,10 @@
vox_spec: ("armor.cloth.silken.pants", (-5.0, -4.0, 0.5)),
color: None
),
"Witch": (
vox_spec: ("armor.witch.pants", (-5.0, -4.0, 0.5)),
color: None
),
"Druid": (
vox_spec: ("armor.cloth.druid.pants", (-5.0, -4.0, 0.5)),
color: None

View File

@ -331,6 +331,16 @@
color: None
)
),
"Witch": (
left: (
vox_spec: ("armor.witch.shoulder", (-5.0, -4.0 , -2.0)),
color: None
),
right: (
vox_spec: ("armor.witch.shoulder", (-1.0, -4.0, -2.0)),
color: None
)
),
"Druid": (
left: (
vox_spec: ("armor.cloth.druid.shoulder", (-4.5, -4.0 , -3.5)),

View File

@ -24,5 +24,9 @@
vox_spec: ("lantern.geode_purp", (-2.5, -2.5, -9.5)),
color: None
),
"PumpkinLantern": (
vox_spec: ("lantern.pumpkin", (-3.5, -4.0, -8.5)),
color: None
),
},
))

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1247,6 +1247,17 @@ Ember: Some((
],
wind_sway: 0.8,
)),
// Smoke dummy
Smoke: Some((
variations: [
(
model: "voxygen.voxel.sprite.ember.dummy",
offset: (-5.5, -5.5, -5.5),
lod_axes: (1.0, 1.0, 0.0),
),
],
wind_sway: 0.8,
)),
// Corn
Corn: Some((
variations: [
@ -3257,4 +3268,15 @@ EnsnaringVines: Some((
],
wind_sway: 0.0,
)),
// WitchWindow
WitchWindow: Some((
variations: [
(
model: "voxygen.voxel.sprite.window.witch_purple",
offset: (-5.5, -5.5, 0.0),
lod_axes: (0.0, 0.0, 0.0),
),
],
wind_sway: 0.0,
)),
)

View File

@ -0,0 +1,12 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.structure.natural.saurok-altar",
center: (10, 13, 3),
custom_indices: {
105: Filled(GlowingRock, (r: 161, g: 255, b: 133)),
113: Filled(GlowingRock, (r: 139, g: 245, b: 104)),
},
),
]

View File

@ -0,0 +1,8 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.structure.natural.myrmidon-temple",
center: (13, 23, 5),
),
]

View File

@ -0,0 +1,8 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.structure.natural.rock-circle",
center: (30, 30, 4),
),
]

View File

@ -0,0 +1,8 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.structure.natural.shipwreck",
center: (32, 14, 6),
),
]

View File

@ -0,0 +1,16 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.structure.natural.witch-hut-black_0",
center: (10, 13, 16),
custom_indices: {
12: Sprite(Cauldron),
10: Sprite(WitchWindow),
44: Filled(GlowingRock, (r: 54, g: 180, b: 64)),
8: Filled(Air, (r: 255, g: 255, b: 255)),
249: Sprite(PotionMinor),
251: Sprite(SmokeDummy),
},
),
]

View File

@ -0,0 +1,12 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.structure.natural.dwarven_grave",
center: (20, 23, 5),
custom_indices: {
151: Filled(GlowingRock, (r: 50, g: 255, b: 210)),
152: Filled(GlowingRock, (r: 36, g: 187, b: 151)),
},
),
]

View File

@ -0,0 +1,11 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.structure.natural.gnarling_totem",
center: (9, 5, 5),
custom_indices: {
217: Filled(GlowingRock, (r: 0, g: 255, b: 246)),
},
),
]

View File

@ -0,0 +1,8 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.structure.natural.lionrock_0",
center: (16, 16, 5)
),
]

View File

@ -1,24 +0,0 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.tree.acacia.1",
center: (17, 18, 4)
),
(
specifier: "world.tree.acacia.2",
center: (5, 5, 4)
),
(
specifier: "world.tree.acacia.3",
center: (6, 6, 3)
),
(
specifier: "world.tree.acacia.4",
center: (12, 14, 4)
),
(
specifier: "world.tree.acacia.5",
center: (19, 19, 4)
),
]

View File

@ -0,0 +1,8 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.structure.natural.airship-crashsite_0",
center: (28, 40, 14),
),
]

View File

@ -1,56 +0,0 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.tree.baobab.0",
center: (22, 28, 10)
),
(
specifier: "world.tree.baobab.1",
center: (18, 18, 6)
),
(
specifier: "world.tree.baobab.2",
center: (18, 218, 6)
),
(
specifier: "world.tree.baobab.3",
center: (18, 16, 10)
),
(
specifier: "world.tree.baobab.4",
center: (15, 16, 5)
),
(
specifier: "world.tree.baobab.5",
center: (11, 12, 4)
),
(
specifier: "world.tree.baobab.5",
center: (11, 12, 4)
),
(
specifier: "world.tree.baobab.5",
center: (11, 12, 4)
),
(
specifier: "world.tree.baobab.5",
center: (11, 12, 4)
),
(
specifier: "world.tree.baobab.5",
center: (11, 12, 4)
),
(
specifier: "world.tree.baobab.6",
center: (17, 17, 4)
),
(
specifier: "world.tree.acacia.2",
center: (5, 5, 4)
),
(
specifier: "world.tree.acacia.3",
center: (6, 6, 3)
),
]

View File

@ -1,36 +0,0 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.tree.mangroves.1",
center: (19, 18, 8)
),
(
specifier: "world.tree.mangroves.2",
center: (16, 17, 7)
),
(
specifier: "world.tree.mangroves.3",
center: (18, 19, 8)
),
(
specifier: "world.tree.mangroves.4",
center: (19, 18, 8)
),
(
specifier: "world.tree.mangroves.5",
center: (19, 20, 9)
),
(
specifier: "world.tree.mangroves.6",
center: (18, 21, 9)
),
(
specifier: "world.tree.mangroves.7",
center: (20, 17, 9)
),
(
specifier: "world.tree.mangroves.8",
center: (18, 19, 9)
),
]

View File

@ -1,40 +0,0 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.tree.oak_green.1",
center: (15, 17, 14)
),
(
specifier: "world.tree.oak_green.2",
center: (18, 17, 14)
),
(
specifier: "world.tree.oak_green.3",
center: (19, 20, 14)
),
(
specifier: "world.tree.oak_green.4",
center: (19, 20, 14)
),
(
specifier: "world.tree.oak_green.5",
center: (18, 18, 14)
),
(
specifier: "world.tree.oak_green.6",
center: (18, 21, 14)
),
(
specifier: "world.tree.oak_green.7",
center: (20, 21, 14)
),
(
specifier: "world.tree.oak_green.8",
center: (22, 21, 14)
),
(
specifier: "world.tree.oak_green.9",
center:(21, 21, 14)
),
]

View File

@ -1,36 +0,0 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.tree.pine_green.1",
center: (15, 15, 14)
),
(
specifier: "world.tree.pine_green.2",
center: (15, 15, 14)
),
(
specifier: "world.tree.pine_green.3",
center: (17, 15, 12)
),
(
specifier: "world.tree.pine_green.4",
center: (10, 8, 12)
),
(
specifier: "world.tree.pine_green.5",
center: (12, 12, 12)
),
(
specifier: "world.tree.pine_green.6",
center: (11, 10, 12)
),
(
specifier: "world.tree.pine_green.7",
center: (16, 15, 12)
),
(
specifier: "world.tree.pine_green.8",
center: (12, 10, 12)
),
]

View File

@ -12,9 +12,5 @@
(
specifier: "world.structure.natural.skull-large",
center: (15, 20, 4)
),
(
specifier: "world.structure.natural.airship-crashsite_0",
center: (28, 40, 14)
),
),
]

View File

@ -1,10 +1,6 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.structure.natural.witch-hut",
center: (10, 13, 9)
),
[
(
specifier: "world.structure.natural.tree-house",
center: (20, 15, 10)

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

@ -17,13 +17,21 @@
Water: None,
GreenSludge: None,
// Leaves all actually get interpolated.
TemperateLeaves: (start: (0, 70, 45), end: (90, 140, 0)),
PineLeaves: (start: (0, 60, 50), end: (30, 80, 10)),
PalmLeavesInner: (start: (70, 140, 43), end: (55, 140, 32)),
PalmLeavesOuter: (start: (60, 130, 38), end: (30, 130, 65)),
Acacia: (start: (30, 100, 0), end: (90, 110, 20)),
Liana: (start: (0, 125, 107), end: (0, 155, 129)),
Mangrove: (start: (15, 80, 10), end: (20, 120, 47)),
TemperateLeaves: [
(start: (20, 100, 40), end: (60, 120, 0)),
// TODO: Uncomment when we add autumnal trees
//(start: (178, 216, 0), end: (255, 185, 63)),
//(start: (142, 164, 0), end: (142, 164, 0)),
//(start: (168, 81, 0), end: (54, 150, 31)),
],
PineLeaves: [(start: (0, 60, 50), end: (30, 80, 10))],
PalmLeavesInner: [(start: (70, 140, 43), end: (55, 140, 32))],
PalmLeavesOuter: [(start: (60, 130, 38), end: (30, 130, 65))],
Acacia: [(start: (35, 70, 0), end: (100, 120, 30))],
Liana: [(start: (0, 125, 107), end: (0, 155, 129))],
Mangrove: [(start: (20, 60, 0), end: (40, 90, 30))],
Chestnut: [(start: (30, 80, 0), end: (50, 120, 0))],
Baobab: [(start: (50, 100, 40), end: (50, 90, 0))],
)
// Water blocks ignore color now so this isn't used, but just in case this color was worth
@ -65,7 +73,7 @@
dirt: (69, 48, 15),
scaffold: (195, 190, 212),
lava: (184, 39, 0),
vein: (222, 140, 39),
vein: (61, 229, 198),
),
site: (
castle: (),

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.

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