Commit Graph

114 Commits

Author SHA1 Message Date
Sam
afd2c8730f Addressed most review comments (no assets). 2022-05-16 15:11:32 -04:00
Sam
e69aa8c4ee Fixed items with components having incorrect hashes 2022-05-16 15:11:24 -04:00
Sam
af50864643 Fixed issue in updating item config when loading persisted items. 2022-05-16 15:11:18 -04:00
Sam
524845b661 Addressed more comments on MR. 2022-05-16 15:11:15 -04:00
Sam
08b7bb781f Changed Item to have ItemBase instead of ItemDef. NO ASSETS. 2022-05-16 15:11:10 -04:00
Sam
5bacf526ad Began addressing initial review of modular weapons. 2022-05-16 15:11:10 -04:00
Sam
405b9b2448 Modular weapons now have programmatically generated names. 2022-05-16 15:10:53 -04:00
Sam
6620c1dd1f Added HandsKind to automatically resolve handedness of modular weapons. 2022-05-16 15:10:51 -04:00
Sam
85b7382487 Added handedness requirements to recipes and components. 2022-05-16 15:10:50 -04:00
Tormod G. Hellen
3afa16bf03 Fix hotbar changing when sorting inventory.
Previously the hotbar slots would refer to inventory slots. An
unfortunate consequence of this was that when the contents of an
inventory slot changed, so would the corresponding hotbar slot
change. This commit fixes that.
2022-01-14 19:14:24 +01:00
Marcel Märtens
ef40ebe0c8 update toolchain to nightly-2021-11-24 2021-11-24 10:09:22 +01:00
Sam
794b072d3e Simple recipes now take a vec of slots to look in for the ingredients. 2021-10-27 17:02:30 -04:00
juliancoffee
3ac74a8259 Implement /kit all and a bit of refactoring
+ notifying about sucessful kit application
+ notifying about case with insufficient space
+ handle case where you don't have enough free slots
+ handle quantity of non-stackable items
+ add test for items in kit manifest
2021-08-10 13:28:38 +03:00
juliancoffee
14ac9a8b4e Improve terms of EntityConfig and LoadoutBuilder
* rename LoadoutBuilder::new to LoadoutBuilder::empty
* remove LoadoutBuilder::default as Default makes no sense here
* move comments from template.ron to EntityConfig struct
* add FIXME comments to split EntityConfig into EntityBase and
EntityExtension
2021-07-28 19:19:10 +03:00
Marcel Märtens
9b3b21f368 fix clippy warnings 2021-07-12 12:09:09 +02:00
AldanTanneo
3804c3d032 Implemented trading stackable items with a full inventory 2021-07-05 10:34:03 +00:00
DaforLynx
a757bf3dbd Sfx fixes and new test 2021-06-30 11:43:00 +00:00
Sam
1978b590aa Destringified consumables 2021-06-29 05:59:02 -05:00
Ben Wallis
f47838ee9d Improved inventory swap 2021-06-12 19:06:39 +01:00
Imbris
48ebb10d50 Update toolchain 2021-05-31 20:44:57 -04:00
hqurve
854930bc1a Item pickups are shown in separate window and "inventory-full" messages are shown above the item attempted to be picked up 2021-05-22 20:47:08 +00:00
Sam
93b5e674f6 Fixed comments and some functionality. 2021-05-16 21:35:17 -05:00
Ben Wallis
fcf4ab7619 main/offhand weapon swap check refactor 2021-05-16 21:07:36 -05:00
Sam
ad0c247838 Removed special case for equipping a weapon that is no longer needed. 2021-05-15 15:16:39 -05:00
Sam
5cc6168553 Unequipping a mainhand weapon now moves offhand weapon into mainhand. 2021-05-15 15:16:39 -05:00
Sam
19926a2322 Swapping weapon sets is now functional. (Though very hacky?) 2021-05-15 15:16:39 -05:00
Sam
6b153bcf47 Enforced certain invariants in how an item was equipped into the loadout:
- a 2h weapon can only be equipped in a mainhand slot if the offhand slot is empty
 - a 1h weapon can only be equipped in an offhand slot if the mainhand slot has a 1h weapon
 - 2h weapons can never be equipped in an offhand slot

Fixed some tests
2021-05-15 15:16:38 -05:00
Sam
9173dca03f Added equip slots for other weapons. 2021-05-15 15:16:37 -05:00
Sam
a35b8b4aad Removed ability set as field on items. 2021-05-01 09:25:49 -04:00
Ben Wallis
a4cdb89987 Implemented inventory sorting 2021-04-17 22:04:08 +01:00
Joshua Yanovski
af94753ad9 Remove panics and unwraps, part 1.
Also fixes various other miscellaneous bugs.
2021-04-10 10:03:21 +02:00
Snowram
4786f84afd New tooltip 2021-03-29 18:34:45 +02:00
Christof Petig
15b11d9154 Implement /price_list (work in progress), stub for /buy and /sell
remove outdated economic simulation code

remove old values, document

add natural resources to economy

Remove NaturalResources from Place (now in Economy)

find closest site to each chunk

implement natural resources (the distance scale is wrong)

cargo fmt

working distance calculation

this collection of natural resources seem to make sense, too much Wheat though

use natural resources and controlled area to replenish goods

increase the amount of chunks controlled by one guard to 50

add new professions and goods to the list

implement multiple products per worker

remove the old code and rename the new code to the previous name

correctly determine which goods guards will give you access to

correctly estimate the amount of natural resources controlled

adapt to new server API

instrument tooltips

Now I just need to figure out how to store a (reference to) a closure

closures for tooltip content generation

pass site/cave id to the client

Add economic information to the client structure
(not yet exchanged with the server)

Send SiteId to the client, prepare messages for economy request
Make client::sites a HashMap

Specialize the Crafter into Brewer,Bladesmith and Blacksmith

working server request for economic info from within tooltip

fully operational economic tooltips
I need to fix the id clash between caves and towns though

fix overlapping ids between caves and sites

display stock amount

correctly handle invalid (cave) ids in the request

some initial balancing, turn off most info logging

less intrusive way of implementing the dynamic tool tips in map

further tooltip cleanup

further cleanup, dynamic tooltip not fully working as intended

correctly working tooltip visibility logic

cleanup, display labor value

separate economy info request in a separate translation unit

display values as well

nicer display format for economy

add last_exports and coin to the new economy

do not allocate natural resources to Dungeons (making town so much larger)

balancing attempt

print town size statistics

cargo fmt (dead code)

resource tweaks, csv debugging

output a more interesting town (and then all sites)

fix the labor value logic (now we have meaningful prices)

load professions from ron (WIP)

use assets manager in economy

loading professions works

use professions from ron file

fix Labor debug logic

count chunks per type separately
(preparing for better resource control)

better structured resource data

traders, more professions (WIP)

fix exception when starting the simulation

fix replenish function
TODO:
- use area_ratio for resource usage (chunks should be added to stock, ratio on usage?)
- fix trading

documentation clean up

fix merge artifact

Revise trader mechanic

start Coin with a reasonable default

remove the outdated economy code

preserve documentation from removed old structure

output neighboring sites (preparation)

pass list of neighbors to economy

add trade structures

trading stub

Description of purpose by zesterer on Discord

remember prices (needed for planning)

avoid growing the order vector unboundedly

into_iter doesn't clear the Vec, so clear it manually

use drain to process Vecs, avoid clone

fix the test server

implement a test stub (I need to get it faster than 30 seconds to be more useful)

enable info output in test

debug missing and extra goods

use the same logging extension as water, activate feature

update dependencies

determine good prices, good exchange goods

a working set of revisions

a cozy world which economy tests in 2s

first order planning version

fun with package version

buy according to value/priority, not missing amount

introduce min price constant, fix order priority

in depth debugging

with a correct sign the trading plans start to make sense

move the trade planning to a separate function

rename new function

reorganize code into subroutines (much cleaner)

each trading step now has its own function

cut down the number of debugging output

introduce RoadSecurity and Transportation

transport capacity bookkeeping

only plan to pay with valuable goods, you can no longer stockpile unused options
(which interestingly shows a huge impact, to be investigated)

Coin is now listed as a payment (although not used)

proper transportation estimation (although 0)

remove more left overs uncovered by viewing the code in a merge request

use the old default values, handle non-pileable stocks directly before increasing it
(as economy is based on last year's products)

don't order the missing good multiple times
also it uses coin to buy things!

fix warnings and use the transportation from stock again

cargo fmt

prepare evaluation of trade

don't count transportation multiple times

fix merge artifact

operational trade planning
trade itself is still misleading

make clippy happy

clean up

correct labor ratio of merchants (no need to multiply with amount produced)

incomplete merchant labor_value computation

correct last commit

make economy of scale more explicit

make clippy happy (and code cleaner)

more merchant tweaks (more pop=better)

beginning of real trading code

revert the update of dependencies

remove stale comments/unused code

trading implementation complete (but untested)

something is still strange ...

fix sign in trading

another sign fix

some bugfixes and plenty of debugging code

another bug fixed, more to go

fix another invariant (rounding will lead to very small negative value)

introduce Terrain and Territory

fix merge mistakes
2021-03-14 03:18:32 +00:00
Jesus Bracho
c0573cca44 Implement stacking and splitting 2021-03-02 00:08:46 +00:00
Avi Weinstock
78014d7d3b Put material stats in their own manifest, and multiply a form's stats by the weighted average of the material multipliers. 2021-02-23 15:49:34 -05:00
Avi Weinstock
c489d095df Implement persistence for modular weapons.
This stores the components as children of the item that contains them via the DB's `parent_container_item_id` feature, and ensures that things are loaded in a good order with breadth-first search.

Squahed fixes:

- Fix some constraint violations that occurred when swapping inventory items.
- Comment out recipes for modular weapons.
- Make update_item_at_slot_using_persistence_key and is_modular more idiomatic.
- Add changelog entry.
- Document `defer_foreign_keys` usage.
2021-02-20 14:31:46 -05:00
Avi Weinstock
559ad7b7f5 Client-side trade improvements.
- Add item tooltips in trade.
- More localization support.
- Fix bindings (R for trade, B for bag).
2021-02-19 15:20:27 -05:00
Avi Weinstock
03d28f7d93 Implement tags for items, allowing a crafting recipe to take any item with that tag as input.
- Added a recipe that turns any of the cloth equipment dropped by villagers into 1x cloth scraps.
- Animate placeholder items for tagged crafting.
2021-02-16 01:05:54 +00:00
Ben Wallis
c785e75e60 Follow-up fixes from review of inventory MR 2021-01-10 11:27:09 +00:00
Ben Wallis
d7cbf479e3 Fixed a bug which prevented picking up stackable items with a full inventory 2021-01-08 23:34:35 +00:00
Ben Wallis
aef2637288 Refactored loadout to have public functions for each slot instead of requiring callers to use the _INDEX consts 2021-01-08 19:12:09 +00:00
Joshua Barretto
a4b9230f03 fixed Cargo.lock conflict
Fixed `crossbeam-queue` being referenced  twice in the lockfile
2021-01-07 20:25:12 +00:00
Snowram
0d92f02deb Buff stonegolem, nerf giants, add missing sfxs 2020-11-06 01:08:33 +01:00
Imbris
64def3cde4 Allow interacting with nearby blocks without pointing at them, unify selection of block/entity interactors so that only one is select at once, rearrange pickup and mount range consts 2020-10-29 18:40:11 -04:00
Ben Wallis
11fc74642e Refactored crafting to use ItemDef instead of Item 2020-09-27 14:55:31 +01:00
Monty Marz
5fe79e1c6a new loading screen bgs (part 1)
Add a basic random feature to char creation

loading screen bg (part 2)

loading screen changes, random button graphics
Random appearance also pick a random npc name
2020-09-18 23:17:47 +00:00
Ben Wallis
712f2e9c97 * Moved migrations to beginning of server initialisation
* Added migrations for entity ID changes to existing tables
2020-09-17 23:02:14 +00:00
Joshua Yanovski
3a96b73b2c Move figure meshing to a background thread. 2020-08-28 05:25:31 +02:00
Joshua Barretto
50a85853e3 Fmt and clippy lints fixes 2020-08-12 21:16:14 +01:00
BottledByte
ab1c43be84 Dehardcoded LanternKind, Consumable and Ingredient, fixed Sceptre hotbar
Also fixed two wrong asset references and did some .ron formatting
2020-08-05 01:21:42 +02:00