Commit Graph

2322 Commits

Author SHA1 Message Date
Imbris
65efa779b5 Steps towards properly synchronizing when a client exits in-game to
return to the character screeen. And other related improvements.

* Uid now optional when removing an entity from IdMaps since that Uid
  may have been transferred to the new entity created when the client
  exits "in-game".
* Added notes about making sure to update the CharacterId mapping when
  changing the `kind` field of `Presence`.
* Add a parameter to `delete_entity_recorded` that indicates whether it
  is being called from `handle_exit_ingame` and that provides the `Uid`
  that was removed from the entity so that we can more explicitly and
  correctly handle that case.
* We now add the Uid of the client to the deleted entities list when it
  exits "ingame". (still need to rework code so that the client doesn't
  delete its own entity).
* Improved integration of possession code with ForceUpdate logic.
* Don't remove `Presence` component from old entity in possession so
  that deleting that entity will properly handle updating the
  CharacterId unmapping (if the old entity isn't going to be deleted we
  still remove the `Presence` component so that it doesn't keep terrain
  loaded).
* Added a couple TODOs on existing tangential things I noticed.
2023-06-04 12:58:16 -04:00
Imbris
f11baed9fa Adapting various things to the new interface, fixing compilation errors,
and progressing on half done things. Also, added a few TODO comments.
2023-06-04 12:58:16 -04:00
Imbris
35922866a8 Start refactoring UidAllocator to contain mappings for different Id
types.

* Add new `IdMaps` type that contains mappings to Entity from Uid, CharacterId, and
  RtsimEntity.
* Add PresenceKind::LoadingCharacter variant for when the CharacterId
  has not actually been confirmed to exist and belong to the logged in
  client. Switches to the regular PresenceKind::Character once the
  character is loaded from the database and that is used to update the
  entity.
* Start refactoring `delete_entity_recorded` to check for CharacterId
  and RtsimEntity values that may need to be removed from the map (just
  very start, not near complete).
* Other misc tweaks.
2023-06-04 12:58:16 -04:00
Isse
a884e0e058 Various rtsim related stuff 2023-06-03 22:14:18 +00:00
flo
16d58c6b4e plant creatures 2023-06-03 13:59:52 +00:00
Joshua Barretto
ec3a7d1898 Make items vanish after 5 minutes 2023-06-01 14:51:19 +01:00
flo
40832456f2 spawn frost gigas 2023-05-31 12:31:54 +00:00
Joshua Barretto
b086b43a88 Better wheeled ship movement 2023-05-25 00:28:36 +01:00
Joshua Barretto
f986e0793d Better orientation, axels 2023-05-25 00:28:35 +01:00
Joshua Barretto
8a8a5526f1 Added carriage 2023-05-25 00:28:28 +01:00
Joshua Barretto
a09dbf0396 Cleaned up and documented voxel collider code 2023-05-25 00:25:28 +01:00
Joshua Barretto
04687aa0b2 An underwater thing 2023-05-25 00:25:28 +01:00
Joshua Barretto
610d1d8497 Simplified replacement drag logic, special-case volume entities to improve movement 2023-05-25 00:25:28 +01:00
Joshua Barretto
7b4bb2de99 Use non-physical mode for liquid drag 2023-05-25 00:25:28 +01:00
Joshua Barretto
3c1cfe574d Added skiff 2023-05-25 00:25:28 +01:00
Joshua Barretto
dfbd9e8132 Rebalanced ships 2023-05-25 00:25:27 +01:00
Joshua Barretto
96bf86dae0 Rebalanced masses, dimensions, swim thrusts, and made various improvements to water movement that help with gameplay and pathfinding. Also fixed swimming animations for many creatures. 2023-05-25 00:25:25 +01:00
flo
a55276ea73 seachapel_rework 2023-05-24 18:13:29 +00:00
Tao In Way
f18297ec75 taoist/charms 2023-05-19 03:07:44 +00:00
Joshua Barretto
a0ffeb7252 Clippy fixes 2023-05-17 00:23:14 +01:00
Joshua Barretto
8e9314d32b Fixed mount offsets for more quarupeds 2023-05-16 21:57:18 +01:00
Joshua Barretto
306c3e1423 Fixed masses, mount offsets and mountability for quad_low 2023-05-16 21:48:09 +01:00
Joshua Barretto
3238863c26 Good bird_large mount offsets 2023-05-16 21:10:53 +01:00
Joshua Barretto
52b5967914 Fix pet idle movement, add a way to configure agent behaviour through manifests 2023-05-16 18:51:46 +01:00
flo666
9a6ab28c3d adlet elder tweaks 2023-05-13 09:32:24 -04:00
taoist.way
b7c5c22070 mob creature tweaks 2023-05-13 09:32:23 -04:00
flo666
f66cc47554 - adlet melee tweaks
- fix adlet elder shoot combomelee
- adjust trap projectile mass
2023-05-13 09:32:23 -04:00
flo666
f13c3774c0 fix Trap projectile 2023-05-13 09:32:22 -04:00
flo666
7e6e8c97a3 Roshwalr scale up & hitbox adjust 2023-05-13 09:32:20 -04:00
flo666
17e4af3c48 BlockKind::ArtSnow
replace BlockKind::Snow with BlockKind::Misc
2023-05-13 09:32:19 -04:00
flo666
25ef582f1a - sprites IceCrystal, GlowIceCrystal for yetipit
- rough creature balance
2023-05-13 09:32:16 -04:00
flo666
6668df9f08 add adlet elder 2023-05-13 09:30:56 -04:00
flo666
c46ea4ae91 -add quadruped_medium/combomelee
-frostfang ability_set
2023-05-13 09:30:55 -04:00
flo666
86803c43bf adlet tracker tweaks 2023-05-13 09:30:54 -04:00
flo666
f936c2f00e rocky yetipit entrance & AdletTrap object 2023-05-13 09:30:54 -04:00
flo666
c8bb0050ad adlet npc work 2023-05-13 09:30:53 -04:00
Sam
680d987e11 Adlet hunter AI 2023-05-13 09:30:51 -04:00
Sam
92e28f09fc Adlet abilities 2023-05-13 09:30:51 -04:00
Joshua Barretto
451e586aac Made mounting biped_large work, for the hell of it 2023-05-12 22:11:06 +01:00
Joshua Barretto
9e9889eed6 Allowed bird pets to mount their owners when nearby 2023-05-12 21:03:44 +01:00
Marcel Märtens
3a19669d53 use workspace dependencies to make our life easier maintaining them :) 2023-05-10 18:16:25 +02:00
Isse
a6665ed988 some comments 2023-05-09 19:43:10 +02:00
Isse
192356f6c5 use interpolated pos and ori 2023-05-09 19:43:09 +02:00
Isse
e39790e9e4 make sprites work on multiple ships at once 2023-05-09 19:43:09 +02:00
Isse
134d0f0c04 varius fixes 2023-05-09 19:43:09 +02:00
Isse
a35a1a34c4 more sprites on airships 2023-05-09 19:43:09 +02:00
Isse
6674cce2cc intercat with sprites on ships 2023-05-09 19:43:09 +02:00
Isse
d292234c47 lod for sprites on volumes 2023-05-09 19:43:09 +02:00
Isse
fcb7011cde sprites on volumes 2023-05-09 19:43:09 +02:00
Isse
2928eb8d15 sit on sprites 2023-05-09 19:43:08 +02:00
Joshua Barretto
1cc221f653 Merge branch 'zesterer/rtsim-tweaks' into 'master'
Started adding wandering rtsim monsters

See merge request veloren/veloren!3908
2023-05-09 14:51:15 +00:00
Marcel Märtens
377787e3c8 avoid:
```
PHI nodes not grouped at top of basic block!
  %246 = phi <4 x float> [ <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, %114 ], [ %241, <badref> ], !dbg !961029
label %243
in function _ZN14veloren_common4comp9inventory4item7modular11ModularBase4kind17h0950571ff74739d8E
LLVM ERROR: Broken function found, compilation aborted!
```
2023-05-08 18:58:54 +02:00
Marcel Märtens
95bca5418a update toolchain to nightly-2023-04-20 2023-05-08 18:58:54 +02:00
Sam
a38f336c9e Added dual wielding sword contextual abilities. 2023-05-07 20:43:51 -04:00
Sam
0ecf4fbe87 Dual wielding weapons of the same kind added as a context 2023-05-07 20:43:51 -04:00
Sam
9cedf854de Abilities can now be activated from multiple contexts 2023-05-07 20:43:50 -04:00
Marcel Märtens
6a8f10bf41 fix master fmt 2023-05-05 18:26:14 +02:00
Isse
eed613a50f change other value parsers 2023-05-05 15:05:57 +02:00
Marcel
223ae7ee98 Merge branch 'xMAC94x/update_deps' into 'master'
update further dependencies

See merge request veloren/veloren!3913
2023-05-05 08:42:43 +00:00
Marcel Märtens
d90ea8c1da get rid of structop and update clippy in common test, now only criterion is left with version 2 2023-05-05 09:46:46 +02:00
Joshua Barretto
8d9625d6ee Addressed comments 2023-05-04 23:18:40 +01:00
Joshua Barretto
ee971e4056 Added item merging 2023-05-04 22:12:25 +01:00
Joshua Barretto
a5b1e41d8b Make NPC interaction go via rtsim 2023-05-04 11:23:46 +01:00
Joshua Barretto
2ff0118df0 More rtsim monsters 2023-05-04 10:13:02 +01:00
Joshua Barretto
0f92f38967 Started adding wandering rtsim monsters 2023-05-01 18:29:32 +01:00
Isse
ab4076518f Add multiloot 2023-04-23 19:17:39 +00:00
Imbris
cd02b3a172 Apply TODO from !3883 and refactor to avoid collect in Inventory::damage_items, also reduce to iterating over the hashmap once when culling the recently unequipped items list 2023-04-22 11:37:52 -04:00
Sam
4f991190d3 Removed 3rd to_owned call 2023-04-19 18:43:43 -04:00
Sam
e819cd2309 Updated hashbrown, removed some to_owned calls in handling recently unequipped items 2023-04-19 18:43:40 -04:00
Sam
63bf8f3ac7 Responded to review comments and fixed tests 2023-04-19 18:34:17 -04:00
Sam
7fdfc0e71b Addressed review 2023-04-19 18:34:17 -04:00
Sam
c1a64e1d69 Recently unequipped items are now tracked and durability loss on death is applied to them 2023-04-19 18:34:16 -04:00
Sam
9d503d1e1f Debug items no longer have durability 2023-04-14 18:25:24 -04:00
Isse
2208a3037e improve flying goto 2023-04-14 11:23:17 +02:00
Isse
d1f6e6bef6 somewhat fix airships 2023-04-14 11:22:10 +02:00
Joshua Barretto
504ea158d2 Merge branch 'zesterer/towns' into 'master'
Improvements to towns and NPCs

See merge request veloren/veloren!3867
2023-04-13 21:03:02 +00:00
Joshua Barretto
daacadaedb Made NPCs give directions to nearby towns, fixed player death propagation 2023-04-13 14:34:31 +01:00
Samuel Keiffer
7aa43e9e8a Merge branch 'taoist/better-dullahan' into 'master'
taoist&floppy/cyclops&dullahan

See merge request veloren/veloren!3859
2023-04-12 22:53:38 +00:00
Tao In Way
e32460f9ee taoist&floppy/cyclops&dullahan 2023-04-12 22:53:38 +00:00
Joshua Barretto
9e17042bf6 Merge branch 'rtsim2' into 'master'
Initial implementation of rtsim2

Closes #1476

See merge request veloren/veloren!3517
2023-04-12 16:17:52 +00:00
Joshua Barretto
16e3227f78 Correct localisation of numeric values, use coordinate conversions in rtsim 2023-04-12 10:36:11 +01:00
Joshua Barretto
3582d86c70 Simplified localisation logic 2023-04-11 23:51:07 +01:00
Joshua Barretto
3484e156d1 Allowed localisation content to be recursive 2023-04-11 23:18:34 +01:00
Joshua Barretto
cf701fb604 Localised rtsim NPC speech 2023-04-11 17:00:08 +01:00
Joshua Barretto
edcc2f1870 Overhauled chat message representation to allow for more exhaustive localisation 2023-04-11 15:46:36 +01:00
Imbris
4ea635cc8d Merge branch 'imbris/random-tweaks-35902u8' into 'master'
Some misc tweaks

See merge request veloren/veloren!3861
2023-04-11 02:07:35 +00:00
Isse
efe2eb046c add comment about a pure-proportional controller 2023-04-10 22:22:50 +02:00
Joshua Barretto
3e0f5295c0 Added CharacterActivity, made NPCs look at the player when speaking to them 2023-04-09 19:25:57 +01:00
Joshua Barretto
082bcdb755 Don't hunt friendly animals 2023-04-09 19:25:57 +01:00
Joshua Barretto
364255c7fe Allowed rtsim NPCs to greet nearby actors 2023-04-09 19:25:55 +01:00
Joshua Barretto
8d91ebb23e Don't aim character when drinking 2023-04-09 19:25:55 +01:00
Isse
1a117f1331 rtsim vehicles 2023-04-09 19:25:54 +01:00
Isse
a7588e274d clean up mounting 2023-04-09 19:25:54 +01:00
Joshua Barretto
587996abb7 Correctly scale glider physics 2023-04-09 19:25:52 +01:00
Imbris
3ef4af0195 Various tweaks:
* Store result of large condition expression in a variable before using
  in if statement (improves readability of code).
* Buff doc comment improvements. Adding periods is neccessary since
  these will be merged into one line in the generated docs.
* Add note on AbilityContext that AbilityContext::None is intended to be
  used rather than AbilityContext::Stance(Stance::None) perhaps in the
  future we can add some serde shenanigans to make this work better, but
  it is probably best to wait to see how this type evolves first.
2023-04-07 23:56:55 -04:00
Imbris
2cc2aa86f4 Synchronize DiveMelee checks 2023-04-07 01:59:41 -04:00
Imbris
e20cf5f14f Reduce rand::thread_rng calls, document MeleeConstructor scaled field more, remove extra stances.get() in hud/mod.rs 2023-04-07 01:59:41 -04:00
Sam
d523d31056 Fixed possible crash in crafting UI 2023-04-06 10:57:18 -04:00
Sam
132f26dbc0 Addressed review 2023-04-06 10:57:16 -04:00
Sam
e4ebd17363 Addressed feedback 2023-04-06 10:57:12 -04:00
Sam
ca879173be Added a repair equipped and a repair all button. Cleaned up some hacks that used to exist. 2023-04-06 10:56:55 -04:00
Sam
52a62420db Changed durability persistence to a NonZeroU32 2023-04-06 10:54:49 -04:00
Sam
011b6c3feb Changed how durability was persisted so that a more general system can be used for future item properties. 2023-04-06 10:54:49 -04:00
Sam
0966753699 Added repair recipes 2023-04-06 10:54:48 -04:00
Sam
c3f5bc13f1 Equipment can now be repaired at sprites in town. 2023-04-06 10:54:48 -04:00
Sam
a555e08d0b Added durability to item tooltips 2023-04-06 10:54:47 -04:00
Sam
c586db8feb Item durability is now persisted 2023-04-06 10:54:47 -04:00
Sam
a07e042fa2 Items now lose durability on death 2023-04-06 10:54:46 -04:00
Sam
df13741be9 Durability system in place 2023-04-06 10:54:46 -04:00
Christof Petig
9205da2298 cargo fmt 2023-04-04 23:46:20 +02:00
Christof Petig
9b3bf4c3c8 initial support for multiple models in one vox file 2023-04-04 23:46:20 +02:00
Sam
6849f9fc21 Fix function name typo 2023-04-01 18:11:16 -04:00
Sam
352d34557e Fix modular crafting window showing an item output when it is not possible to craft two components together. 2023-04-01 17:22:01 -04:00
Sam
09f600bc1e Buffs can have variable tick times 2023-03-30 21:23:41 -04:00
Isse
c34e5ad4ed Small fixes 2023-03-29 23:11:59 +00:00
Sam
cdaf9e5c0e Ability changes 2023-03-26 21:41:22 -04:00
Sam
ef7b400cca Number tweaking 2023-03-26 19:50:42 -04:00
Sam
e5c9f92269 Fix clippy from rebase 2023-03-21 20:23:46 -04:00
Sam
1337525987 Review comment 2023-03-21 20:18:35 -04:00
Sam
5c675fdbe2 Addressed review 2023-03-21 20:18:34 -04:00
Sam
bd7f33eae5 Fixed unit test 2023-03-21 20:16:59 -04:00
Sam
610d47f787 Effect power now affects more than just poise 2023-03-21 20:16:55 -04:00
Sam
c295506ef9 Removed buffered inputs 2023-03-21 20:13:45 -04:00
Sam
868a42ba39 Addressed UX feedback 2023-03-21 20:10:40 -04:00
Sam
acde417ca7 Abilities that require a particular stance will be greyed out when not in that stance. 2023-03-21 20:08:21 -04:00
Sam
07c3e30a95 Fixed blade fever reducing damage instead of increasing it 2023-03-21 20:08:18 -04:00
Sam
7386257854 Appease CI 2023-03-21 20:07:37 -04:00
Sam
c9db227e43 Various things can cause one to naturally leave a stance. Also mildly buffed cultists. 2023-03-21 20:07:34 -04:00
Sam
3caa9dc529 Stances can now be left by interacting with the buff bar. 2023-03-21 20:03:22 -04:00
Sam
34168d9c76 Advanced AI for every stance. 2023-03-21 20:03:21 -04:00
Sam
387ea16598 Non-attack potion of sword AI 2023-03-21 20:03:18 -04:00
Sam
99f6312e59 Sword AI structure 2023-03-21 20:03:17 -04:00
Sam
7365fcb530 Rolls cancel recover at the cost of additional energy, sitting ends active stances. 2023-03-21 20:03:15 -04:00
Sam
39b30b3458 Decontextualized some sword abilities, added UI for sword skill tree. 2023-03-21 19:59:05 -04:00
Sam
27463758e5 Finisher abilities 2023-03-21 19:59:03 -04:00
Sam
86dfa34ec9 Cleaving stance required abilities 2023-03-21 19:59:00 -04:00
Sam
fed96b2e15 Crippling stance required abilities 2023-03-21 19:58:13 -04:00
Sam
c3026d388a Defensive stance required abilities 2023-03-21 19:58:11 -04:00
Sam
a3d655970e Heavy stance required abilities 2023-03-21 19:56:32 -04:00
Sam
e0a7449a99 Crescent slash 2023-03-21 19:39:40 -04:00
Sam
fce9211d49 Secondaries for all stances 2023-03-21 19:39:39 -04:00
Sam
596fe715b8 Cleaving stance skill abilities. 2023-03-21 19:39:39 -04:00
Sam
ed0de15a5a Heavy stance skill abilities. 2023-03-21 19:39:35 -04:00
Sam
57806d7be9 Sword M1 abilities 2023-03-21 19:39:22 -04:00
Sam
61f0b424b9 Old sword mostly torn out, new sword framework in place 2023-03-21 19:39:22 -04:00
Sam
5f126bb5c6 Queued inputs are now culled after a period of time if they are not actively held 2023-03-21 19:39:19 -04:00
Sam
7ec9a7677f Stances change secondary abilities now. Contextual abilities try to fallback to no context if skill not owned for contextual ability. 2023-03-21 19:38:18 -04:00
Sam
b376228d45 Primary and secondary abilities can now be contextual. BasicStance character state added. 2023-03-21 19:38:15 -04:00
Sam
9875008efa Added stance component that persists even after sheathing weapon (does not yet work with M1 replacement). 2023-03-21 19:29:34 -04:00
Sam
d0a46ed82b Inputs now remain queued even when the input is released, until the input is used. 2023-03-21 19:26:06 -04:00