Commit Graph

117 Commits

Author SHA1 Message Date
Louis Pearson
126b7efa92 Tries to implement npcs only travelling by paths
Unfortunately, there's a degenerate case where npcs can get stuck in a
town. Not sure why
2021-04-08 04:19:02 -06:00
Louis Pearson
29a3fda7ef Refine airship pathing 2021-04-08 04:19:02 -06:00
Louis Pearson
be67ba1e63 Add CustomPath to Travel enum
Defines a custom path to follow, instead of using one from the World.
Airships use this to slightly adjust their course to reduce collisions.
2021-04-08 04:19:02 -06:00
Louis Pearson
7f9ec9e19b Convert rtsim pathfinding logic to a FSM 2021-04-08 04:19:02 -06:00
Louis Pearson
99c6e57c1f Resolve comments 2021-04-08 04:19:02 -06:00
Louis Pearson
3c7898fe8e Expect instead of unwrap 2021-04-08 04:19:02 -06:00
Louis Pearson
58274db3e3 Make rtsim entities ensure sanity of track 2021-04-08 04:19:02 -06:00
Louis Pearson
c281fb32cc First pass at rtsim following paths 2021-04-08 04:19:02 -06:00
Vincent Foulon
dbee13f9be Finally Behavior isn't good enough as a component, Remove it from ECS and include it onto Agent directly 2021-04-07 22:02:57 +02:00
Vincent Foulon
45fb9f3211 Address comments
- make Behavior's capabilities and state private
 - Typo in a comment
 - add basic tests

Apply 1 suggestion(s) to 1 file(s)

Remove comments in agent.rs
2021-04-07 22:02:42 +02:00
Vincent Foulon
a0157ac5f5 use bitflags instead of HashSet 2021-04-07 17:37:21 +02:00
Vincent Foulon
211ab02897 Use Behavior::CanTrade instead of Agent::trade_for_site + addressed comments 2021-04-07 17:26:42 +02:00
Vincent Foulon
41314e9098 Create Behavior component 2021-04-07 17:21:53 +02:00
Tormod G. Hellen
083a1b054f Make randoms use green lantern. 2021-04-06 21:16:56 +02:00
Tormod G. Hellen
188096a20f Remove dead code. 2021-04-06 21:15:49 +02:00
Vincent Foulon
a35fa19409 Implement a basic dialogue system 2021-03-29 14:47:42 +00:00
Joshua Barretto
d8117b3b3d Make caves and rtsim entities scale with map size, more cloud detail 2021-03-28 17:02:16 +01:00
Treeco
8f13750027 Temporarily disable humanoid rtsim entities until their pathfinding is fixed 2021-03-28 14:49:40 +01:00
Avi Weinstock
650d1709d0 Address MR 1987 review comments. 2021-03-24 16:09:12 -04:00
Avi Weinstock
c4a6875133 Fix airships getting stuck in trees and campfires spawning too close to new-style dungeon stairs. 2021-03-24 15:42:37 -04:00
Avi Weinstock
75f1b0f5e0 Remove level from create_ship and CreateShip. 2021-03-23 10:44:42 +01:00
Avi Weinstock
deb9358c3a Add ServerEvent::CreateShip, and use it instead of CreateNpc for RtSim airships. 2021-03-23 10:44:37 +01:00
Avi Weinstock
49f39fb752 Make more systems work with an optional health component, to allow disabling health on rtsim airships (so that players can't hammer them out of the sky). 2021-03-23 10:44:32 +01:00
Avi Weinstock
e2a74c5e5c Enable RtSim airships. 2021-03-23 10:44:22 +01:00
James Melkonian
6ea43cfd75 Various RtSim and Agent Interaction Fixes 2021-03-16 01:30:35 +00:00
Avi Weinstock
a32be4ac5a Address MR 1888 review comments.
- Delete obsolete symbolic links.
- Add suggested comments.
- Remove dead code.
2021-03-14 23:17:28 -04:00
Avi Weinstock
aa56166c80 Fix fmt and clippy, and rename {psdr,psdw} to {read,write} in physics. 2021-03-14 23:17:26 -04:00
Avi Weinstock
5ff72a4a2e /airship angle command and RtSim airships. 2021-03-14 23:14:26 -04:00
James Melkonian
6ff054099f Allow spawned airships to move 2021-03-14 23:09:52 -04: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
Marcel Märtens
4ebfbdde0f Move Specs code to own common_ecs create, put tracy and macros into common_base 2021-03-09 00:54:01 +01:00
Marcel Märtens
f353f14703 change Name from VSystem to System 2021-03-08 13:15:00 +01:00
Marcel Märtens
c515fece28 Implement a VSystem trait that can be implemented by Systems.
It will autodo some things, like track start and time and export those in system metrics
Add a origin and implement it for all Systems in Veloren
2021-03-08 11:51:04 +01:00
jshipsey
8944115f8e more asset organization 2021-02-28 22:18:43 -05:00
Sam
b0b4a07b9e Bows 2021-02-24 20:37:43 -05:00
Sam
ee5c9d78ca Swords 2021-02-24 18:54:06 -05:00
James Melkonian
23b1df3cdd Add basic NPC interaction and fix NPC chat spamming 2021-01-31 20:29:50 +00:00
jiminycrick
c83296a4ec Initial broken implementation of poise
Character movement no longer broken.
2021-01-28 17:22:33 -08:00
jiminycrick
8b97199245 Update rand dependency 2021-01-26 20:35:08 -08:00
Sam
4014b28d19 Removed body from stats component as there is already a body component. 2021-01-22 16:50:22 -05:00
Sam
c0c45a1996 Purged stats, including level and experience 2021-01-19 08:07:23 -05:00
ubruntu
74d17ff4c8 Slightly better bird pathing 2021-01-15 00:42:57 +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
ubruntu
ae366e03c5 Reduced downward fall of birds, Humanoid travelers no longer visit dungeons, birds only travel between dungeons 2021-01-05 01:04:01 +00:00
Marcel Märtens
e398cca53c move common_state into common_sys 2020-12-01 13:46:28 +01:00
Marcel Märtens
add7922653 Move Systems out of common into common_sys
This requires to move `State` into a own crate called `common_state` which depends on `common` and `common_sys`
2020-12-01 13:44:07 +01:00
Sam
6a6260daa1 Weapon combat fixes:
- Modified energy and speed scaling of sword, axe, and hammer combo melees.
 - Nerfed bow basic attack knockback. Buffed bow damage and energy regen.
 - Corrected xp values for theropods. Removed unnecessary function for xp increase per level.
 - Guards no longer flee at low health.
 - Buffed sword spin.
 - Nerfed axe spin and sword dash moderately.
 - Dash now takes a little time to reach full speed. Sword M2 and hammer M1 damage values tweaked.
2020-11-26 09:15:45 +01:00
Imbris
c0a8422a43 Fix turning off worldgen feature 2020-11-24 23:55:44 -05:00
Sam
33e4448542 Replaced every unnecssary powf in the entire codebase with either powi or sqrt. 2020-11-24 18:28:24 -06:00
Sam
0abe02ca13 Restructures loadout builder function to better support weapons being passed in. 2020-11-23 18:22:24 -06:00
Joshua Barretto
26fd40c0e3 Fmt, make clippy happy 2020-11-23 15:39:03 +00:00
Joshua Barretto
765a1ca17b Switched light map iteration order, fire bowls in dungeons 2020-11-23 10:58:21 +00:00
Monty Marz
b950447bed added enum for different dungeon enemies 2020-11-23 10:57:56 +00:00
Joshua Barretto
7850b0bcaf Added site names, dungeon difficulty, better explosions 2020-11-23 10:57:55 +00:00
Joshua Barretto
29a8e8c359 Fixed rebase 2020-11-23 10:45:02 +00:00
Monty Marz
1864f4626c map icons 2020-11-23 10:45:01 +00:00
Joshua Barretto
de685b00b2 Improved water pathfinding 2020-11-23 10:45:01 +00:00
Joshua Barretto
d4d4f17d3c Added world map size icons 2020-11-23 10:45:01 +00:00
Joshua Barretto
c906764889 Better LoD 2020-11-23 10:45:01 +00:00
Joshua Barretto
450bc6c4ae Prevented rtsim entities always climbing 2020-11-23 10:45:01 +00:00
Monty Marz
225756b011 npc armour 2020-11-23 10:45:01 +00:00
Joshua Barretto
7359dc6e1f Removed giants, gave lanterns to rtsim NPCs 2020-11-23 10:45:01 +00:00
Joshua Barretto
22fb71905b Added rtsim entities moving when unloaded, better generation 2020-11-23 10:45:01 +00:00
Joshua Barretto
59bb0c433e Added simulation entity updating 2020-11-23 10:45:00 +00:00
Joshua Barretto
99a881f349 Added entity simulation to rtsim, reification, assimilation 2020-11-23 10:44:59 +00:00
Joshua Barretto
808d1873bd Began implementing rtsim 2020-11-23 10:37:59 +00:00
Joshua Barretto
3ee4245652 Added test poles, minor improvements 2020-11-23 10:37:59 +00:00