This Week In Veloren 135

3 minute read30 August 2021

Authored by AngelOnFira

This week, we see some changes to how sprite collections work. We also hear about some improvements to how admins can control loot tables on their servers.

- AngelOnFira, TWiV Editor

Contributor Work

Thanks to this week's contributors, @zesterer, @Sam, @Pfau, and @Gemu!

@XVar I added a new settings pane to Airshipper to allow easy changing of the WGPU rendering mode, the game client log level, and also a button to open the logs directory. Airshipper 0.6 has now been released! @Capucho finished up work to get naga merged. Expect a write-up on this next week.

You can read this week's meeting notes here.

Sprite Collection by @Sam

Last week, I did some work on how sprite collections work:

  • Added a character state for sprite collection to go through
  • Made attacks interrupt the character state
  • Required that there is a valid path between the sprite and the entity collecting the sprite

For the character state, this now means that there is an animation that occurs when you go to pick up a sprite. @Slipped created the animations for this. There is a short animation for things that can be quickly picked up such as twigs and stones, and a longer animation for things that take longer to collect the item from such as chests. This will eventually allow us to start adding better loot to dungeon chests as you will actually have to defeat the enemies (or sneak past I suppose) before looting the chest, as otherwise, they will interrupt you in the process of looting a chest.

For requiring that a valid path exists, this means that you will no longer be able to pick up bowls, potions, vials, and other such items through house walls. You'll now actually have to enter a villager's residence to thieve their items. It will also allow the spot system @zesterer is working on to position loot in interesting places that can't be grabbed without first accessing the sprite.

Loot tables by @Ubruntu

I added a new variant to the LootSpec enum: None.

For context, server admins can already control what loot is dropped by using .ron files in the assets/common/loot_tables folder. At the simplest level, these files can contain an array of tuples specifying an item that can drop and its associated chance. It's a bit more powerful than that though, because the "item" part of the tuple can refer to an individual item, a stackable item with a range of possible quantities, or even another loot table. These are the different variants specified in the LootSpec enum.

The new variant I added allows for more fine-grained control of loot drops by allowing the .ron files to specify with the existing lottery mechanic whether or not any loot is dropped at all. This will give server owners and game designers more control over item progression and player economy on their servers. The file assets/common/loot_tables/nothing.ron provides an example of specifying a loot table where no items are dropped.

A long flight. See you next week!