Commit Graph

1247 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
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
Samuel Keiffer
fe47a14ba5 Spin attack for axe 2020-07-08 19:58:41 +00:00
Ben Frankel
823141f825 Maintain character state when inventory is modified
If the mainhand slot is swapped out or dropped while the character is
wielding, the character will be set to idle (same behavior). However, if
an item is picked up or used; or a non-mainhand item is dropped; or two
non-mainhand items are swapped; the character state will not be set to
idle (new behavior).

Rationale for keeping the same behavior:

Swapping a weapon out while in a wielding state can put the player in a
barehanded wielding state, which would be inconsistent with the fact
that that state can't be entered by toggling wield while barehanded.

Rationale for setting the new behavior:

Setting character state to idle was originally added because "Interact"
was mapped to right mouse button, so picking up an item with RMB would
also activate secondary attack if the player was wielding during the
interaction. Now the default keybinding for "Interact" is E, so this
isn't a problem unless the player changes their keybinding to RMB.

In addition, setting character state to idle for any inventory
manipulation may cause players to fall out of glider unexpectedly.
2020-07-07 09:43:48 -07: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
f77d2f06c6 Fixed staff RMB, bug in ranged weapon code 2020-07-06 23:37:44 +01:00
Joshua Barretto
99a526f702 Made pets healable 2020-07-06 21:18:30 +01:00
Joshua Barretto
55852f9bc7 Made fireballs brighter, animals slightly more effective at combat 2020-07-06 21:02:16 +01:00
Joshua Barretto
64dc339f13 Reduced acceleration in air 2020-07-06 20:51:57 +01:00
Joshua Barretto
d943bb4537 Made pets regulate their speed 2020-07-06 20:51:23 +01:00
Imbris
8d39f27458 Upgrade hashbrown 2020-07-06 03:15:06 -04:00
Imbris
c2d6d00b00 point to github specs to access PairedStorage type, fix Loadout sync spam 2020-07-06 01:56:02 -04:00
Piotr Korgól
713d0c5e8a Add a test for the loot table's validity 2020-07-05 18:52:36 +02: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
2f6a618d5a Added bombs, throwable items, more block kinds, weaker explosions 2020-07-05 16:15:48 +01:00
jshipsey
50fcd6c6a3 remove slowmo test mode 2020-07-05 10:00:44 -04:00
jshipsey
2c14b2f891 clippy fixes 2020-07-05 09:39:56 -04:00
Joshua Barretto
8508b5177b Velocity-corrected bezier pathfinding control, swimming control 2020-07-05 09:38:15 -04:00
jshipsey
ca9ae13527 more latitude tilt, better attack anims, addressed aesthetic concerns, deleted dead assets 2020-07-05 09:38:15 -04:00
Joshua Barretto
8a0b7fd173 Smoother pathfinding for fast animals 2020-07-05 09:38:14 -04:00
jshipsey
014cab0257 remove warnings, rebase fix 2020-07-05 09:38:14 -04:00
Joshua Barretto
177bd7a128 More tolerant pathfinding 2020-07-05 09:38:14 -04:00
Joshua Barretto
db26c10299 Run tilting, per-species running speed 2020-07-05 09:38:14 -04:00
jshipsey
94ab3665d5 pangolin and special pangolin variable 2020-07-05 09:38:14 -04:00
jshipsey
c5f7a60f3b more run animation work, adjusting pivots 2020-07-05 09:38:14 -04:00
Snowram
648e140be3 Add wolf, frostfang and mouflon npcs 2020-07-05 09:38:14 -04:00
Snowram
c22d543dd2 Add rock snapper mob 2020-07-05 09:38:13 -04:00
Snowram
1be42a8f85 Add tortoise mob 2020-07-05 09:38:13 -04:00
unknown
4b493b196c Add asp mob 2020-07-05 09:38:13 -04:00
Snowram
9fec5f3d14 Add tiger mob 2020-07-05 09:38:12 -04:00
Snowram
c527484597 Add alligator, salamander and monitor npcs 2020-07-05 09:38:12 -04:00
Snowram
00b3301d6a Remove quad_low mobs from quad_medium 2020-07-05 09:38:12 -04:00
Snowram
72eb03ceb5 Add quadruped_low skeleton 2020-07-05 09:38:11 -04: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
Forest Anderson
2d12f7c45d Added tests and documentation to skills.rs 2020-07-04 14:32:24 -04:00