Commit Graph

737 Commits

Author SHA1 Message Date
Shane Handley
fb12c25245 Rework storage of achievement progress for characters, now just storing
a single row for each character with a JSON object with information on
achievement progress.

Work on the process of merging a character's achievement progress with
the master list of achievements when it is returned to the client.
2020-07-13 10:16:39 +10:00
Shane Handley
a21e58d06c Updates to client-side requests and limiting payloads. Ensuring that
the client only ever requests the full list of achievements once,
and that the server send individual achievement updates as they
happen, which we then merge into that list.

Serialise the AchievementAction for now, would be nice to find a
non-serialised mechanism based on item enums or string ids.
2020-07-13 10:16:39 +10:00
Shane Handley
c056b2b079 Rework some data structures and persistence. Abandoned the approach of
generating row ids for achievements via checksums in favour of static
uuids for each item.
2020-07-13 10:16:39 +10:00
Shane Handley
efe7a62c92 Replace the Achievement system with just plain events which are processed as part of the server tick. Instead of adding Achievement updates to a component belonging to the entity, use an event queue - this allows an entity to have multiple achievement checks in a single tick. 2020-07-13 10:16:39 +10:00
Shane Handley
e607ec498d Add events and achievement items for killing players and npcs. 2020-07-13 10:16:38 +10:00
Shane Handley
fb8590fac7 Load and insert a characters achievement list after completion of their body/stats/inventory data. 2020-07-13 10:16:38 +10:00
Shane Handley
e7c47e1d38 Implement basic functionality for recognising achievement updates,
updating associated data and clarifying events
2020-07-13 10:16:38 +10:00
Shane Handley
3ff5e105dd Add mechanisms for loading achievement data, more work on a
migration/sync strategy for dealing with updates to achievements
2020-07-13 10:16:38 +10:00
Shane Handley
707412edc0 Initial DB schama, migrations and persistence models for achievements. 2020-07-13 10:16:38 +10:00
Ben Wallis
7f6c892cf0 Added migration to fix characters unable to login due to DashMelee ability change 2020-07-11 15:42:19 +01:00
Songtronix
5b57072064 fix: use correct specs(-idvs) versions
related to torvus
2020-07-09 19:46:30 +02:00
Samuel Keiffer
25c28f26d6 Different body types now have different health values and gain different amounts of healths on leveling. 2020-07-09 00:04:25 +00:00
Ben Wallis
ddb66ec73b Added CharacterDataError when character list fails to load due to Loadout de-serialization error 2020-07-08 09:34:20 +01:00
Ben Wallis
e83d0abd33 Added migration to create a default inventory and loadout for characters without one 2020-07-08 09:09:48 +01:00
Ben Wallis
3ac18f73ea Removed de-serialization failure tolerance to prevent player inventory/loadout wipes 2020-07-08 09:09:47 +01:00
Marcel Märtens
85a3f8637d fix specs 2020-07-07 14:28:00 +02:00
Marcel Märtens
c212de00c2 updated dependencies and fixed stuff
- replace serde_derive by feature of serde
   incl. source code modifications to compile
 - reduce futures-timer to "2.0" to be same as async_std
 - update notify
 - removed mio, bincode and lz4 compress in common as networking is now in own crate
   btw there is a better lz4 compress crate, which is newer than 2017
 - update prometheus to 0.9
 - can't update uvth yet due to usues
 - hashbrown to 7.2 to only need a single version
 - libsqlite3 update
 - image didn't change as there is a problem with `image 0.23`
 - switch old directories with newer directories-next
 - no num upgrade as we still depend on num 0.2 anyways
 - rodio and cpal upgrade
 - const-tewaker update
 - dispatch (untested) update
 - git2 update
 - iterations update
2020-07-07 09:43:49 +02:00
Joshua Barretto
3cfd8bdd3c Fixed animal loadouts and /spawn 2020-07-07 02:21:14 +01:00
Joshua Barretto
d1cdb6ea55 Updated changelog 2020-07-07 01:11:37 +01:00
Joshua Barretto
e626f6255f Prevented pet damage 2020-07-07 01:01:39 +01:00
Joshua Barretto
bdab3972c2 Fixed view distance bug 2020-07-06 16:36:13 +01:00
Marcel
e19d170b61 Merge branch 'imbris/smaller-fixes' into 'master'
Stop spamming loadout, Update specs

See merge request veloren/veloren!1165
2020-07-06 09:50:46 +00:00
Songtronix
200496d1bc fix: allow maximum view distance in singleplayer 2020-07-06 10:37:44 +02:00
Imbris
8d39f27458 Upgrade hashbrown 2020-07-06 03:15:06 -04:00
Imbris
afff8a43b9 Add some code to count how many updates will be sent for each component type (commented out) 2020-07-06 02:25:29 -04:00
Imbris
c2d6d00b00 point to github specs to access PairedStorage type, fix Loadout sync spam 2020-07-06 01:56:02 -04:00
Joshua Barretto
a9f862ee95 Fixed multiple char select bug 2020-07-05 18:05:00 +01:00
Joshua Barretto
43f75f2f54 Removed bomb timeout 2020-07-05 16:15:51 +01:00
Joshua Barretto
fd39ee97bc Added training dummies 2020-07-05 16:15:51 +01:00
Joshua Barretto
92c9db5291 Made fluids block explosions 2020-07-05 16:15:51 +01:00
Joshua Barretto
38c422bef7 Added bombs to loot table 2020-07-05 16:15:51 +01:00
Joshua Barretto
2f6a618d5a Added bombs, throwable items, more block kinds, weaker explosions 2020-07-05 16:15:48 +01:00
Marcel
2a7a8b05e6 Merge branch 'network-lockless' into 'master'
Network lockless

See merge request veloren/veloren!1153
2020-07-05 09:17:29 +00:00
Forest Anderson
7ac5876743 Merge branch 'xvar/skills' into 'master'
Initial implementation of skills and skill groups

See merge request veloren/veloren!1135
2020-07-05 00:33:11 +00:00
Forest Anderson
3e830aa0ca Merge branch 'angel/add-spawn-training-dummy' into 'master'
Added spawning test dummy

See merge request veloren/veloren!1142
2020-07-04 19:24:02 +00:00
Piotr Korgól
27440e16c4 Correctly load the loot table 2020-07-04 18:40:23 +02:00
Ben Wallis
538598eb08 Refactored Skills/SkillGroups structure and implemented JSON persistence 2020-07-04 15:25:21 +01:00
Piotr Korgól
aefa7e2f11 Make chests and enemies use the basic loot table 2020-07-04 14:07:10 +02:00
Marcel Märtens
cbfd398035 remove Mutex in server as Stream is now 'Sync' 2020-07-04 12:31:59 +02:00
Forest Anderson
954a4857c4 Added proper training dummy model 2020-07-03 16:53:04 -04:00
Forest Anderson
c525358637 Prevent xp gain from training dummy kill 2020-07-03 16:53:04 -04:00
Forest Anderson
6140555e43 Fixed clippy issues 2020-07-03 16:53:04 -04:00
Forest Anderson
e73ec7a4d2 Added spawning test dummy 2020-07-03 16:53:04 -04:00
Marcel Märtens
15ff58cd6a simple fmt in order to make the replacement commit as simple as possible 2020-07-03 13:11:44 +02:00
Marcel Märtens
4e92c0160e network layer switch, doing the stuff that might confict.
- mostly its the message handling put now in a async wrapper
 - add some fixes to pass without warnings and make clippy happy
 - some network error handling is ignored, this can be improved but is no blocker
2020-07-03 13:11:38 +02:00
Marcel Märtens
77c90b2c7c doing a simple 1:1 swap out network coding
this is the part which prob has less Merge conflics and is easy to rebase
the next commit will have prob alot of merge conflics
followed by a fmt commit
2020-07-03 13:11:31 +02:00
Monty Marz
89400264dc Loot ChatType, Update german translation, map zooming 2020-07-01 19:05:44 +00:00
Marcel Märtens
6535fa5744 fix various clippy issues 2020-07-01 00:37:06 +02:00
Samuel Keiffer
44203ab817 Adds a command that allows a username to be added or removed from the whitelist 2020-06-30 12:21:36 +00:00
Ben Wallis
48a23e5f4c Fixed inventory full message when pressing the pickup item key in quick succession (#651) 2020-06-29 07:48:44 +01:00