Commit Graph

663 Commits

Author SHA1 Message Date
Ben Wallis
b499cf2c58 Added egui debug UI - a 100% rust UI framework (similar to imgui) allowing for rapid development of debug interfaces to aid development. This is feature-gated behind the egui-ui feature which is enabled by default but removed for airshipper builds.
Included in the initial implementation is an entity browser which lists all entities in the client ECS, an entity component viewer which shows select components belonging to the selected entity including character state information, and a simple frame time graph.

This MR also includes an extraction of the animation hot reloading code which has been reused for egui to allow for hot-reloading of the egui interface to allow rapid development of the UI with realtime feedback upon save as is the case with aninmations. This is feature-gated behind the `hot-egui` feature which is not enabled by default due to the extra startup time that it adds.
2021-07-04 09:47:18 +00:00
Sam
f5533cdb92 Moved match on ItemUseKind to create durations to a function under ItemUseKind. 2021-06-29 05:59:02 -05:00
Sam
8a9de26132 Food now applies buff at end of state.
Rolling and poise states now cancel the potion buff.
UseItem character state now checks that the item in the slot has the same item_definition_id as when the entity enters the state.
Rolling can no cancel item use.
Rolling now checks for move_dir instead of velocity.
2021-06-29 05:59:02 -05:00
jshipsey
37c6fe9ee8 anims 2021-06-29 05:59:02 -05:00
Sam
9ff7ecea81 Item use now goes through use item character state if it is a consumable. 2021-06-29 05:59:02 -05:00
Sam
3559ce5803 Added UseItem character state. 2021-06-29 05:59:02 -05:00
Snowram
d7f25627ab Ajustments to new npcs 2021-06-24 19:31:21 +02:00
Snowram
8760b69345 Husk brute animations 2021-06-24 19:31:19 +02:00
Snowram
58b95d12d4 Adds alpaca and llama npcs 2021-06-24 19:30:15 +02:00
Snowram
87ca00fac0 Adds new species 2021-06-24 19:29:44 +02:00
Sam
f0c5ed1397 Added sparseness field to sprite summon. 2021-06-23 22:38:16 -05:00
Sam
68c6a0a495 Balance tweaks for harvester. 2021-06-23 22:38:16 -05:00
Sam
0a32b676c8 Vines now ensnare you by applying a buff. 2021-06-23 22:38:16 -05:00
Sam
763461ebef Ensnaring vines now ensnare you. 2021-06-23 22:38:16 -05:00
Sam
ed503236d6 Slightly functional sprite summon. 2021-06-23 22:38:16 -05:00
jshipsey
81aaf30d00 stride speed backwardd-dependence 2021-06-22 22:08:34 -04:00
Joshua Barretto
90e5bac395 Made movement slower when strafing in non-forward directions 2021-06-21 20:32:20 +01:00
Joshua Barretto
288f2c13d4 Enable strafing in first-person mode 2021-06-21 13:27:19 +01:00
juliancoffee
384409a1ed Load ori_rate for BasicBeam from assets
+ make fire turret ori_rate slower
2021-06-18 22:33:00 +03:00
jshipsey
0941f03608 buffs to stretch progression 2021-06-16 20:50:46 -04:00
Snowram
8351aab25d Addresses comments about roc AI 2021-06-15 09:50:23 +02:00
Snowram
f2c7836161 Makes summon range inclusive 2021-06-15 09:49:13 +02:00
Snowram
3ba0500b90 Tornado summoning attack 2021-06-15 09:49:13 +02:00
Samuel Keiffer
fec328a617 Merge branch 'juliancoffee/swing_fix' into 'master'
Introduce hit_timing for combo_melee

See merge request veloren/veloren!2426
2021-06-15 02:38:23 +00:00
juliancoffee
d5cbe27612 Responding to review
- make `skillset_builder::Preset` void enum and left comment about how to
extend it
- add `.with_default_equipment()` in case if preset is missing to `basic_summon`
loadout creation to match old `build_loadout()` behaviour
2021-06-14 15:40:02 +03:00
juliancoffee
62eaabfe88 Introduce hit_timing for combo_melee
bonus: speeding up first swing of sword from 0.15 to 0.1 and reducing
poise damage of hammer from 25 to 20
2021-06-12 14:10:19 +03:00
juliancoffee
0c9f05b8d1 Load skillsets from assets
Done:
    support loading from assets in skillset_builder.rs
    entity_config field with skillset asset field
    move every SkillSet config to assets
    tests for skillset assets
    tests for assets in entity configs
2021-06-09 15:37:04 +03:00
juliancoffee
c3a120c551 Post refactoring 2021-06-09 15:37:04 +03:00
juliancoffee
5f3eaddb70 Split LodoutBuilder::build_loadout
LoadoutBuilder::build_loadout is a function which has four parameters
and 3 of them are Option<>, and although fourth (body) isn't Option<>,
it's optional too because it is used only in some combinations of
another arguments.

Because these combinations produces quirky code flow, it will be better
to split it to different methods.

So we did following changes to remove it and rewrite code that was using it
to use better methods.

* Introduce LoadoutPreset as new LoadoutConfig, currently it's only used
in Summon ability, because SummonInfo uses Copy and we can't specify
String for specifying asset path for loadout.
Everything else is rewritten to use asset path to create loadouts.

* More builder methods for LoadoutBuilder.
Namely:
    - from_default which is used in server/src/cmd.rs in "/spawn" command.
    - with_default_equipment, with_default_maintool to use default
    loadout for specific body
    - with_preset to use LoadoutPreset

* Add new make_loadout field with `fn (loadout_builder, trading_info) -> loadout_builder`
to EntityInfo which allows to lazily construct loadout without
modifying LoadoutBuilder code

* Fix Merchants not having trade site
We had heuristic that if something has Merchant LoadoutConfig - it's
merchant, which can be false, especially if we create Merchant loadout
lazily
As side note, we do same check for Guards and it fails too.

Too fix it, we introduce new agent::Mark, which explicitly specifies
kind of agent for entity

* `LoadoutBuilder::build_loadout` was written in a such way that depending
on main_tool you will have different loadout. Turns out it was this
way only for Adlets though and this behaviour is reproduced by specifying
different loadouts directly in world code.
2021-06-09 15:37:04 +03:00
juliancoffee
102f6d3338 EntityInfo assetization
* Rename skillset_config to skillset_preset
* Rename loadout_config to loadout_preset
* Add skillset_config for asset_specifier of skillset
* Add loadout_config for asset_specifier of loadout
2021-06-09 15:37:03 +03:00
Sam
0488b2fcd0 Adressed comments on energy and armor functions. 2021-06-07 11:06:25 +02:00
jshipsey
1c17d8fe5e cave changes 2021-06-07 10:59:44 +02:00
Sam
855384fbeb Crit power stat now functional, added comments on each stat field to better describe what the stat does and what values should be used. 2021-06-07 10:58:42 +02:00
Marcel
521e1eacf3 Merge branch 'aweinstock/add-models-20210603' into 'master'
Add Basilisk and Cyclops models by Gemu, and AirBalloon model by SarraKitty.

See merge request veloren/veloren!2371
2021-06-06 16:56:21 +00:00
Sam
acf7ad27f1 Balance tweaks. 2021-06-05 17:15:04 -05:00
Sam
5bf99eac11 Added totem ability, totem ai, totem ability set, particles for totem abilities, and totem voxel model. 2021-06-03 21:39:15 -05:00
Sam
ac2f097d80 Tidal warrior AI. 2021-06-03 21:39:14 -05:00
Sam
c81e1534f7 First 3 abilities for tidal warrior functional. Added bubble particles. 2021-06-03 21:39:13 -05:00
Avi Weinstock
05c699878f Add Basilisk and Cyclops models by Gemu, and AirBalloon model by SarraKitty. 2021-06-03 19:24:34 -04:00
Adam Whitehurst
98fdf5c3e1 fix: more succinct checked_tick_attack 2021-05-30 13:36:18 -07:00
Adam Whitehurst
6b1351bdc3 feat: impl attack speed modifier 2021-05-30 12:39:30 -07:00
Adam Whitehurst
0b92cc5732 feat: tick_attack utils 2021-05-30 12:39:00 -07:00
Adam Whitehurst
eea7eead2e wip: impl Stats::attack_speed_modifier 2021-05-30 09:40:11 -07:00
Avi Weinstock
7a97fbb5cf Add zoom scaling as well as FOV scaling to ChargedRanged, and restore the old zoom afterwards. 2021-05-26 09:34:08 -04:00
Avi Weinstock
4d7828ec94 Make the camera zoom as the bow (or any ChargedRanged attack) is charging. 2021-05-26 09:34:07 -04:00
Justin Shipsey
d7c7f6bf5d Merge branch 'sam/rework-bow' into 'master'
Bow Rework

See merge request veloren/veloren!2310
2021-05-26 04:44:09 +00:00
Sam
0961f00c7c Updated comments in states code. 2021-05-23 11:41:09 -05:00
James Melkonian
419cd2a5e4 Don't modify position in glide character state 2021-05-23 07:26:11 +00:00
Sam
7828112486 Balance tweaks. 2021-05-22 15:00:05 -05:00
Sam
1014ac45bf Made new skills for reworked bow.
Created migration to reset bow skills.
2021-05-22 12:33:21 -05:00
Sam
3f16d15bbb Reworked bow 2021-05-22 12:33:20 -05:00
Samuel Keiffer
a0599ac046 Merge branch 'sam/extra-equip-slots' into 'master'
Added Extra Loadout Slots

See merge request veloren/veloren!2295
2021-05-21 20:28:53 +00:00
Ludvig Böklin
270f89db6b Disable glider input until keys are pressed again after deploy 2021-05-20 12:13:59 +02:00
Sam
93b5e674f6 Fixed comments and some functionality. 2021-05-16 21:35:17 -05:00
Sam
9173dca03f Added equip slots for other weapons. 2021-05-15 15:16:37 -05:00
holychowders
d5f3ba77d4 Make NPCs Aware of Sound - See Issue #913 2021-05-15 19:36:27 +00:00
Marcel
7d5ca0e7bf Revert "Merge branch 'snowram/hacky-mount' into 'master'"
This reverts merge request !2219
2021-05-14 13:43:20 +00:00
Snowram
e4f3064b8a Collar can make QuadMeds mountable, state + offsets 2021-05-14 00:11:15 +02:00
Sam
7f6c6c5603 Fixed offsets for laser and rocket attacks of clay golem. 2021-05-10 18:54:04 -05:00
Sam
0d53e790fd Made golem laser spawn based off of orientation rather than look_dir. Additional balance tweaks. 2021-05-10 18:54:00 -05:00
Sam
9f8aeb91c0 Added armor, more ai tweaks. 2021-05-10 18:53:46 -05:00
Sam
5fa4358e74 Clay golem attacks done. 2021-05-10 18:53:01 -05:00
Samuel Keiffer
a86c3af42b Merge branch 'aweinstock/mindflayerfixes-202105' into 'master'
Mindflayer AI improvments

See merge request veloren/veloren!2285
2021-05-10 02:54:21 +00:00
Avi Weinstock
1ae105125d Change agent's condition field back to a bool (from bitflags) and add a separate int_counter field. 2021-05-09 18:09:53 -04:00
Avi Weinstock
1dfcdce1c0 Add a purple fireball to mindflayer and have it shoot it a few times before teleporting, and fix mindflayer AI's husk summons. 2021-05-09 18:09:31 -04:00
Adam Strauss
a5b7e34bf8 Fix #1105: Move server event so it does not emit constantly during build up 2021-05-07 15:40:11 -07:00
Adam Strauss
3d17fde537 Implement #1105: Rolling removes burning debuff 2021-05-07 15:38:41 -07:00
Avi Weinstock
e4cda4309e Add DamageKind, and make piercing damage partially ignore damage resistence.
- Tweak bow/staff M1 stats.
2021-05-06 17:39:06 -04:00
Sam
240a8e577d Minor balancing tweaks. 2021-05-04 08:45:13 -04:00
Sam
5c241850f1 Added sfx. Addressed comments. 2021-05-04 08:45:12 -04:00
Sam
48fa4e7c1f Balancing. 2021-05-04 08:45:11 -04:00
Sam
7ac1488181 Added kit for testing tier 4 dungeons. 2021-05-04 08:45:11 -04:00
Sam
164fd0de04 Particles for frenzy buff and ground cleave. 2021-05-04 08:45:10 -04:00
Sam
2290a22a15 Gave minotaur AI. 2021-05-04 08:45:09 -04:00
Sam
d1139c3b7c Added frenzy ability to minotaur.
Added self-buff character state.
Added frenzied buff kind.
Added better comments on each buff kind.
2021-05-04 08:45:07 -04:00
Sam
160bd3ef0c Crippling strike now functional. Crippled debuff added. 2021-05-04 08:45:05 -04:00
jshipsey
63fdc4f590 animal adjustments 2021-05-02 23:17:58 -04:00
jshipsey
769e21104e higher health lower damage 2021-05-01 12:29:28 -04:00
jshipsey
dc5a38f1e8 ori addition to combomelee 2021-05-01 12:29:28 -04:00
Ludvig Böklin
d7ef414f59 Fix glider pitching down when trying to take off 2021-05-01 15:35:26 +02:00
Ludvig Böklin
cc7f0f3ac2 Fix ori 2021-04-30 17:37:51 +02:00
Ludvig Böklin
34660462e9 Glider physics 2021-04-27 14:41:48 +00:00
jshipsey
f845f2bd11 fix glide wield 2021-04-26 23:17:04 -04:00
Sam
1a7779beb3 Added angle check for new npcs. 2021-04-25 22:19:30 -04:00
jshipsey
a0a75b1921 comments 2021-04-25 22:02:32 -04:00
jshipsey
2c74a86170 skill adjustments, ori changes 2021-04-25 22:02:32 -04:00
jshipsey
c01fd86f44 ori fixes 2021-04-25 22:02:30 -04:00
Joshua Barretto
94b6fa6da3 Don't use movement efficiency for orientation 2021-04-25 23:00:30 +01:00
Joshua Barretto
3af4793762 Minor control over velocity when in the air 2021-04-25 22:37:25 +01:00
Sam
b9d6bd2fd2 Parrying no longer requires releasing the block button, and instead can parry if block happened in buildup. 2021-04-25 13:09:07 -04:00
Sam
288a6f3a82 Blocking now works if no weapon is equipped in main hand.
Added temp sfx for blocking and parrying.
Added temp particles for successful parry.
Tweaked values of default block ability.
2021-04-25 13:09:02 -04:00
Sam
f5ec23df48 Parrying 2021-04-25 13:08:42 -04:00
Sam
91c6288213 Melee weapons can now block. 2021-04-25 13:08:42 -04:00
Snowram
c16ec43938 Body specific beam offsets 2021-04-25 04:07:12 +02:00
Snowram
8f54a0bf31 More phoenix AI work
More phoenix AI work
2021-04-25 04:07:12 +02:00
Snowram
8cf8e51962 Phoenix npc + AI (WIP) 2021-04-25 04:07:11 +02:00
Snowram
ab26efa970 Improves bird_large anims 2021-04-25 04:07:09 +02:00
Snowram
bc95484863 Swaps bird_small skeleton to a new bird_large 2021-04-25 02:14:49 +02:00
Ludvig Böklin
762c68cfbb Basic fluid dynamics and physical properties for entities 2021-04-20 17:38:19 +02:00
Sam
ce7581037c Overhauled dash melee. 2021-04-18 18:36:12 -04:00
jshipsey
8f20d17c9a attacking movement tweaks 2021-04-15 12:13:50 -04:00
Sam
c88df846a7 Fixes animation parameters so a 2h weapon in the offhand slot doesn't look wonky. 2021-04-14 17:38:37 -04:00
holychowders
568a8d9666 Resolve Issue #978 - Extract SkillSet Into Its Own Component 2021-04-14 15:35:34 +00:00
Sam
0b10ffc715 You can now roll without a weapon equipped. 2021-04-13 20:18:58 -04:00
jshipsey
b53e1653f6 initial wield testing 2021-04-13 20:18:58 -04: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
Sam
71ba9b6a54 Mindflayer balance tweaks. 2021-03-29 10:44:46 -04:00
Sam
91ddcaa155 Particles for summoned minions 2021-03-27 21:05:15 -04:00
Sam
5966b1541d Mindflayer can now lifesteal off of its own minions 2021-03-27 21:05:11 -04:00
Sam
50e832b6d0 Mindflayer summons husks instead of dogs now 2021-03-27 21:05:10 -04:00
Sam
f9835e78da Pets no longer drop loot on death. Code to determine targeting of pets is less hacky and now takes into account alignment of their owner. 2021-03-27 21:05:07 -04:00
Sam
720482d994 Gave mindflayer AI.
Fixed particles and made them sync across network.
2021-03-27 21:05:06 -04:00
Sam
a5b7477e96 Added summon minions ability to mindflayer 2021-03-27 21:05:05 -04:00
Sam
30da614e89 Added dimensional door ability for mindflayer 2021-03-27 21:05:05 -04:00
Sam
f1156c9ce5 Added necrotic vortex attack to mindflayer 2021-03-27 21:05:03 -04:00
Sam
0d3795112c Added cursed flame attack to mindflayer 2021-03-27 21:05:03 -04:00
Sam
46799daed2 Switched normalized function to try_normalized 2021-03-27 19:05:48 -04:00
Sam
6c2de7d70e Fixed boost having ridiculous velocity. 2021-03-26 16:11:25 -04:00
Joshua Barretto
21b20ea75e Merge branch 'aweinstock/enable-rtsim-airships' into 'master'
Enable RtSim Airships.

See merge request veloren/veloren!1973
2021-03-23 14:29:43 +00: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
Sam
356bb5baee If roll input remains held, allows you to keep rolling and stay in roll state.
You can now jump to interrupt the recovery portion of roll.
Jumping out of roll slightly increases jump strength.
2021-03-22 18:47:13 -04:00
Joshua Barretto
7ae4230dc8 Merge branch 'zesterer/pick' into 'master'
Pickaxe

See merge request veloren/veloren!1959
2021-03-22 00:19:42 +00:00
Joshua Barretto
fb3980e273 Outcome for block destruction, take select_pos from ControllerInputs 2021-03-21 20:10:05 +00:00
Joshua Barretto
003e76113f Fetch InputAttr from controller 2021-03-21 19:11:44 +00:00
Joshua Barretto
b45df7fe10 Switched to BasicMelee 2021-03-21 17:45:01 +00:00
Joshua Barretto
347e1022a0 Initial implementation of pickaxe 2021-03-21 16:09:16 +00:00
Vincent Foulon
e06870702f Add skill for swimming speed 2021-03-21 15:58:38 +01:00
Vincent Foulon
d0df01fe51 move climbing skill adjustment into climb module 2021-03-21 00:22:04 +01:00
Vincent Foulon
8b01abde67 address comments 2021-03-20 22:56:54 +01:00
Vincent Foulon
d0aa68a9d2 Add climbing speed and cost 2021-03-20 17:17:28 +01:00
Sam
5384e5a01e Fixed dash 2021-03-17 20:13:12 -04:00
Avi Weinstock
41342deab6 Cargo fmt after rebasing. 2021-03-14 23:23:03 -04:00
Avi Weinstock
9304ecab3d Address Imbris's MR 1888 comments, and add changelog entry.
- Use Ori::{new,to_quat} and make the field private.
- Update/capitalize/add various comments.
- Implicitly drop scope guards where applicable.
- Take !Copy colliders by reference instead of cloning.
- s/cylinder_voxel_collision/box_voxel_collision/
- Unindent some physics code with a continue.
2021-03-14 23:21:46 -04:00
Joshua Barretto
1e9ee3d243 Improved climbing, block-hopping on airships 2021-03-14 23:21:45 -04:00
Joshua Barretto
6add95bd5c Fixed block-snapping, climbing and airship takeoff 2021-03-14 23:21:44 -04:00
Joshua Barretto
29b93d791b Made level flight work 2021-03-14 23:20:48 -04:00
Joshua Barretto
f6c6319952 Made entities rotate smoothly with airships, fixed rotation speeds 2021-03-14 23:20:47 -04:00
Joshua Barretto
e232a2e473 Fixed jumping inconsistencies, no block-snapping for ships 2021-03-14 23:20:46 -04:00
Joshua Barretto
8247c136bc Prevented jumping airships 2021-03-14 23:17:29 -04:00
Joshua Barretto
1af86ef2f8 Removed unnecessary matrix mul 2021-03-14 23:17:29 -04:00
Joshua Barretto
44f9932450 Properly propagate velocity steps during airship collision to avoid falling through airships 2021-03-14 23:17:28 -04:00
Joshua Barretto
6d8ba31e5b Reduced air resistance for better-behaving airships 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
Joshua Barretto
3496c356e2 More relative motion changes 2021-03-14 23:14:26 -04:00
Joshua Barretto
e59b68c262 Mountable airships 2021-03-14 23:14:25 -04:00
Joshua Barretto
f4b3d8145b Smooth airship movement 2021-03-14 23:14:21 -04:00