Commit Graph

2110 Commits

Author SHA1 Message Date
Sam
3d57db9485 Test fix for torvus 2021-02-23 14:38:58 -05:00
Imbris
da3edf54fb Merge branch 'ccgauche/plugin-retreive' into 'master'
ccgauche/plugin retreive

See merge request veloren/veloren!1788
2021-02-23 16:36:05 +00:00
ccgauche
4b1c033f6e Added scopeguard to protect against unwind 2021-02-23 13:58:13 +01:00
ccgauche
74ec5c652a Added safety section to the EcsAccessManager 2021-02-23 13:58:07 +01:00
Marcel
2fbd382c91 Merge branch 'xMAC94x/physics_followup' into 'master'
physics followup, fix arrow problems

See merge request veloren/veloren!1811
2021-02-23 02:00:40 +00:00
Imbris
f33d3873b4 Merge branch 'aweinstock/modular-weapon-rigging' into 'master'
Support modular weapon voxel meshes being made by assembling their components.

See merge request veloren/veloren!1806
2021-02-23 00:45:26 +00:00
Avi Weinstock
c3ac8a1b51 Support modular weapon voxel meshes being made by assembling their components. 2021-02-23 00:45:26 +00:00
Marcel
6081ebbe15 Merge branch 'sam/ecs-sys-struct' into 'master'
Sam/ecs sys struct

See merge request veloren/veloren!1813
2021-02-23 00:08:09 +00:00
ccgauche
f85e79af07 Fixed turbofish issues 2021-02-23 00:03:29 +01:00
ccgauche
a12e554266 Removed the unwrap to ensure the WASM instance can't crash the host 2021-02-23 00:03:27 +01:00
ccgauche
387daf8aea Change invalid message in examples and cleanup
Updated changelog + Removed hello plugin from plugins folder
2021-02-23 00:02:58 +01:00
ccgauche
6c991cc2cd Changed to less restrictive memory ordering 2021-02-23 00:02:51 +01:00
ccgauche
267e7d8b4c Finalized Retrieve API 2021-02-22 23:59:41 +01:00
ccgauche
06aa7ab70c Retrieves added + New ECS memory layout for plugins 2021-02-22 23:59:32 +01:00
ccgauche
1597fcc79e Fixed the plugin compilation and added comments
TODO: Remove compilation errors on WASM side (while using common).
2021-02-22 23:59:25 +01:00
ccgauche
8a693d9fde New cleaner safer version 2021-02-22 23:59:15 +01:00
ccgauche
a067a20b69 added basic retreive 2021-02-22 23:59:11 +01:00
Marcel Märtens
6008109413 physics followup, fix arrow problems by adding the vel_dt to the collision boundry 2021-02-22 23:51:01 +01:00
Sam
3f467a32e6 Changed naming from 'immutable data' to 'read data' 2021-02-22 16:02:37 -05:00
Sam
2b5120319d Character behavior system now uses immutable data struct 2021-02-22 15:30:53 -05:00
Sam
fae1db90d5 Controller system now uses immutable data struct 2021-02-22 14:33:54 -05:00
Sam
dcacd82293 Stats system now uses immutable data struct 2021-02-22 14:27:34 -05:00
Sam
27fe1c20ac Aura system now uses immutable data struct 2021-02-22 14:14:10 -05:00
Sam
4c0c06ea4c Buff system now uses immutable data struct 2021-02-22 14:03:18 -05:00
Sam
605513ea56 Beam system now uses immutable data struct 2021-02-22 13:57:56 -05:00
Sam
11a0d67b35 Shockwave system now uses immutable data struct 2021-02-22 13:49:56 -05:00
Sam
b278cad807 Projectile system now uses immutable data struct 2021-02-22 13:37:42 -05:00
Sam
91e982b3ee Melee system now uses immutable data struct 2021-02-22 13:25:21 -05:00
Marcel Märtens
1a7c179bbb share tokio Runtime between Client and Server, name rayon Threadpool 2021-02-22 17:35:06 +01:00
Vincent Glize
4f37c626ea Optimize Entity <> Entity collision check by calculating a entity via sphere. 2021-02-22 12:36:42 +01:00
Justin Shipsey
1f88b87ca4 fix glider crash 2021-02-22 06:31:12 +00:00
Joshua Barretto
e2290783fc Merge branch 'humanoid_ai_glide_when_falling' into 'master'
FIX #956: Humanoid ai glide when falling

See merge request veloren/veloren!1772
2021-02-22 00:57:25 +00:00
Overblob
370259fe54 CI - Fix clippy errors
Fix trailing whitspace
2021-02-22 00:57:25 +00:00
Snowram
4078eeb877 Various fixes to object animation, cleanup 2021-02-21 19:56:46 +01:00
Snowram
f25b2b1500 Various fixes to beam, body based interp 2021-02-21 19:17:56 +01:00
Sam
11050a05ce Beam particles now determined from beam segment rather than character state. 2021-02-21 19:17:56 +01:00
Snowram
e7bbf3981d Object animation 2021-02-21 19:17:44 +01:00
Snowram
775224983b Initial turret implementation 2021-02-21 18:23:54 +01:00
Samuel Keiffer
3cb6a5592d Merge branch 'aweinstock/speed-floor-quickfix' into 'master'
Change the speed floor to `0.1` (avoiding a division by zero in modular...

See merge request veloren/veloren!1804
2021-02-21 02:49:57 +00:00
Avi Weinstock
3606490308 Change the speed floor to 0.1 (avoiding a division by zero in modular weapons accidentally buffed the Twitching Root). 2021-02-20 19:19:26 -05:00
Sam
f24490dc80 Added functionality for buffs queueing. Saturation now queues. 2021-02-20 17:13:17 -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
8bdbf4f7c9 Implement modular weapons.
- Add ItemKind::ModularComponent, Item::components.
- Add tool::StatKind::{Direct,Modular} for the modular weapons themselves.
- Move ItemConfig from ItemDesc to Item, so components' stats can be taken into account.
- Crafting stores into the components field.
- Components/recipes/placeholders are created dynamically.
- Show which components a modular weapon contains in the tooltip in voxygen.

Squashed fixes:
- `Item::duplicate` components in `Item::new_from_item_def`.
- Speed of 1.0 for now.
2021-02-20 14:30:39 -05:00
Snowram
f78170704a Allows some species to be immune to specific buffs 2021-02-20 14:03:15 +00:00
Samuel Keiffer
479cf9fc4e Merge branch 'sam/dual-wielding' into 'master'
Dual wielding backend

See merge request veloren/veloren!1787
2021-02-20 05:12:17 +00:00
Sam
eaf3e02e39 Addressed comments
Fixed audio test
2021-02-19 19:55:23 -05:00
Sam
d5ccc33abc Factored out duplicate code into closures, consolidated ability handling logic to a single function. 2021-02-19 18:45:48 -05:00
Sam
411b4083b1 Added 1h hammers.
Fixed audio tests.
2021-02-19 17:30:24 -05:00
Sam
18309fe4c6 Added AbilityInfo struct to attack states 2021-02-19 17:30:24 -05:00
Sam
50cbe42b07 Added one-handed axes. 2021-02-19 17:30:23 -05:00
Sam
8f0cca074d Dual wielding now uses skillbar abilities from multiple weapons. 2021-02-19 17:30:22 -05:00
Sam
6f6a37faf2 Wielding a 1 handed weapon now correctly uses abilities when the second weapon is not also a 1 handed weapon. 2021-02-19 17:30:22 -05:00
Sam
f50fa25467 ItemConfig now stores AbilitySet directly instead of each individual ability. 2021-02-19 17:30:21 -05:00
Sam
fc01e9ea68 Handedness of weapons affects power and speed. 2021-02-19 17:30:21 -05:00
Sam
582c3f8459 Check for prerequisite skill in using an ability is no longer hardcoded. 2021-02-19 17:30:21 -05:00
Sam
341affdae2 Added hands field to all ron files of weapons.
Removed weapons that were duplicated in weapons and npc_weapons from npc_weapons.
Added migration to convert npc_weapons that ended up in anyone's inventory to weapon version.
Consolidated debug boost and possess sticks into one debug_stick, and renamed the admin sword (with name cultist_purp_2h_boss-0) to admin_sword
2021-02-19 17:30:20 -05:00
Sam
d4f509b3d0 Added hands field onto weapons. 2021-02-19 17:30:20 -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
Caelan
dda4931f46 Clean and update dependencies
* Remove tweak feature
 * Remove const-tweaker
 * Update tiny_http
 * Update bitvec to 0.21.0
 * Downgrade euc to avoid conflict with vek 0.12.0
 * Require exactly vek 0.12.0
 * Update all other dependencies automatically based on these changes
 * Update gilrs to latest at the request of Ada Lovegirls
 * Update meshing benchmarks to new criterion API
2021-02-17 01:27:06 -08:00
Joshua Barretto
4d19308612 Merge branch 'lboklin/quat-ori' into 'master'
Redefine Ori as a quaternion

See merge request veloren/veloren!1755
2021-02-16 22:39:11 +00:00
Imbris
1352d7ad9c Merge branch 'quellus/max-name-length' into 'master'
Limit character name length

Closes #528

See merge request veloren/veloren!1774
2021-02-16 21:29:45 +00:00
Quellus
8b4230db61 Limit character name length 2021-02-16 21:29:45 +00: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
Avi Weinstock
c984035976 MR 1775 review fixes.
- Separate `invite` machinery from `group_manip` into it's own thing (includes renaming `group_invite` to `invite` where applicable).
- Move some invite/trade machinery to `ControlEvent`.
- Make `TradePhase` a proper enum instead of a bunch of bools.
- Make `TradeId` a proper newtype.
- Remove trades from `Trades` on accept (previously was only on decline).
- Typo fixes/misc cleanup.
- Add bullet point for trading to the changelog.
2021-02-14 11:13:56 -05:00
Avi Weinstock
232ddb0860 Polish trading implementation and address review comments.
- Fix item swapping edge case
- Document more assumptions/edge cases
- fmt and clippy
- s/ServerGeneral::GroupInvite/ServerGeneral::Invite/
- Use `Client::current` in `Client::is_dead`
2021-02-14 11:11:35 -05:00
Avi Weinstock
f6db8bb7c4 Implement actual inventory-manipulation part of trading server side. 2021-02-12 18:43:10 -05:00
Avi Weinstock
abb5684883 Trade implementation progress.
- Accept/decline buttons that submit the proper messages
- A phase2 screen that renders the (item, quantity) pairs as text
- More checks in the trade state machine server-side.
2021-02-12 18:43:10 -05:00
Avi Weinstock
e2b55e0706 Implement enough of a trade UI that dragging & dropping items into it round-trips between clients. 2021-02-12 18:43:09 -05:00
Avi Weinstock
aeb2398fc6 Trade implementation progress.
- Server messages now bring up the trade window.
- When a trade is declined, it closes the window on both clients.
2021-02-12 18:43:09 -05:00
Avi Weinstock
ae528124fc Trade implementation progress.
- State machine for modifying trades.
- ServerGeneral/ClientGeneral messages.
2021-02-12 18:43:09 -05:00
Avi Weinstock
e9b811b62b Plumb trade requests through the group invite UI, such that they can be accepted/declined without impacting the counterparty's movement. 2021-02-12 18:43:09 -05:00
DaforLynx
ebbb06a400 Added crickets blocktype, added 3 new cricket sounds, made crickets chirp consistently, made frogs more sporadic 2021-02-12 00:54:42 +00:00
Quellus
63952875d9 Rebase !1447 Chat input color and icon reflect channel message is sent to. 2021-02-10 19:42:59 +00:00
Ludvig Böklin
74badd3dbd Add note about to_quat() being a cheap copy operation 2021-02-10 17:35:20 +01:00
Snowram
477bdfdfe7 Adresses some comments, various visual tweaks 2021-02-10 00:30:23 +01:00
Snowram
02f446fe4b Adds lights to dungeons 2021-02-10 00:30:23 +01:00
Ludvig Böklin
990198cd87 Don't test Dir->Ori correctness because it will fail from floating point errors 2021-02-09 15:44:12 +01:00
Ludvig Böklin
065e260e78 Code quality 2021-02-09 14:06:27 +01:00
Ludvig Böklin
582ddfc3cd Ori: add tests, rename to_vec() => look_vec(); Dir: add methods, normalize on rot 2021-02-09 13:52:03 +01:00
Sam
398fcf7bdd Changing main tool while in wield state moves character back to idle state. 2021-02-08 17:25:40 -05:00
Sam
e033fe6bee Inventory manipulations are now only for input from the client, and are no longer directly sent as a server event. Slot manipulations do that instead. 2021-02-08 13:55:50 -05:00
Sam
1c83c5ee6f Loadout manipulations now emit a separate event from client instead of hackily intercepting inventory manipulations in common. 2021-02-08 12:31:17 -05:00
Sam
f026aeb2dc Server events directly emitted in states now. 2021-02-08 12:01:48 -05:00
Sam
6a1e583d45 Eradicated clones 2021-02-08 12:01:48 -05:00
Sam
9f2255a5de Extended what states inventory manipulations touching the loadout could affect. 2021-02-08 12:01:47 -05:00
Sam
8eebcdfcd2 Inventory changes that modify the loadout now go through a control action instead of a control event. 2021-02-08 12:01:47 -05:00
Ludvig Böklin
46750880eb Add Plane type, Projection trait, fix upright() and add doc tests 2021-02-07 17:16:15 +01:00
Samuel Keiffer
909ed80e9e Merge branch 'sam/fix-roll' into 'master'
Fixes roll being free

See merge request veloren/veloren!1757
2021-02-06 22:15:06 +00:00
Imbris
a5c76a6d36 Merge branch 'trollderim/replace-magic-dr-number' into 'master'
Replace magic dr constant

Closes #915

See merge request veloren/veloren!1756
2021-02-06 20:28:40 +00:00
Sam
252e421692 Roll is no longer free. 2021-02-06 15:20:08 -05:00
Phillipp Mevenkamp
f5e1d446ad Replace magic dr constant 2021-02-06 18:21:58 +01:00
James Melkonian
1d8496ea21 Move agent system to server 2021-02-06 06:15:25 +00:00
Ludvig Böklin
a1ff9ab83f Redefine Ori as a quaternion 2021-02-05 09:33:14 +01:00
Pascal Fuhrmann
9f7637ab21 Converted combat states and other semi-combat-related to use float-values instead of integers to prevent more casts 2021-02-05 01:39:12 +00:00
Sam
be8df9aef6 Addressed comments. 2021-02-02 16:08:09 -05:00
Sam
80954f3ba4 Made attacker entity and uid optional to remove potential for attacks to not be applied and some unwraps. 2021-02-02 13:07:07 -05:00
Sam
af982ec0bb Changed knockback to be an effect on the overall attack, rather than a damage. 2021-02-02 13:07:07 -05:00
Sam
17d1432be0 Outcomes now correctly read if an attack had any healing components. 2021-02-02 13:07:06 -05:00
Sam
5eec915c2e Added support for damage falloff with explosions. 2021-02-02 13:07:06 -05:00
Sam
5c16b0b532 Explosions now use attacks. 2021-02-02 13:07:06 -05:00