Commit Graph

663 Commits

Author SHA1 Message Date
Sam
9e5744f3ee Entities will now attempt to orient towards the sprite they are interacting with. 2021-08-31 13:37:36 -04:00
Sam
538cb56b87 Sprites now go through a character state to be picked up. 2021-08-31 13:36:04 -04:00
juliancoffee
54cb990d52 Move to one SKILL_MODIFIERS constant 2021-08-26 14:49:52 +03:00
juliancoffee
b1bac83319 SkillTreeModifiers data structs 2021-08-26 14:49:52 +03:00
Sam
790c3669a0 Fix mindflayer summoning minions inside pillars. 2021-08-22 12:21:24 -04:00
juliancoffee
130ae1f429 Add ori_modifier for DashMelee and nerf it
* 0.6 -> 0.3 ori modifier during charge in DashMelee
2021-08-16 17:27:59 +03:00
Samuel Keiffer
d5feca45c5 Merge branch 'pacmanmati/veloren-pacmanmati/1224-consolidate-redundant-stage-sections' into 'master'
Consolidate redundant stage sections

See merge request veloren/veloren!2748
2021-08-10 01:23:26 +00:00
Sam
52ee598cf1 Consolidated Use into Action as well. 2021-08-09 10:31:17 -04:00
pacmanmati
5f37509a78 #1224 - Replace redundant StageSection: Swing, Shoot, Cast with Action 2021-08-09 10:27:53 -04:00
Treeco
a48fa0f349 Buff swim thrust for humans reduce gains from skillpoints
This is intended to give a swim speed of 4.7 m/s when unskilled, and 7.2 when skilled
However, this turns out to be horrifically fps-dependant, both after this branch and in master. Needs further research into fixes
This commit tunes it for 60 fps
2021-08-09 10:06:16 +01:00
Treeco
2fc62bfe7f Make each race's hitbox and weight scale linearly with their height
This causes all humanoids to handle identically when falling, gliding, or swimming
2021-08-09 10:06:16 +01:00
Ludvig Böklin
ebf489984c Improve gliding
- make glider dimensions a factor of body height
- increase glider dimensions across the board
- remove delay from transition into glide
- enable glider control while wielding glider
- improve glide wield animation
2021-08-09 10:06:16 +01:00
juliancoffee
a7922336ea Expose beam_offsets to AI 2021-08-08 00:33:43 +03:00
Samuel Keiffer
2b10f818f5 Merge branch 'juliancoffee/pillar_fix' into 'master'
Nerf pillars + Fix Beam ori

See merge request veloren/veloren!2732
2021-08-07 16:35:24 +00:00
juliancoffee
4029d4a720 Change beam offsets
* Make it so that beam starts from inside hitbox of owner.
Without it it's possible to cheese beem attack just making close enough
to its owner.
2021-08-05 21:07:46 +03:00
juliancoffee
8a83ecf57f Fix Beam orientation, remove orientation_behavior
* make old OrientationBehavior::FromOri default behaviour
* use rotation formed from look_dir instead of constructing
ori on the fly (which is altered after normalization).
2021-08-05 21:07:46 +03:00
Ludvig Böklin
cbd7c4481c Make character upright itself even while idle 2021-08-05 08:34:21 +02:00
Joshua Barretto
45f94b0bce Better Agent API 2021-08-02 13:08:39 +01:00
Ludvig Böklin
400734cc0a Fix gliderwield downhill run jitter 2021-08-01 11:20:46 +00:00
Imbris
01d1089a46 Add comment to physics and replace magic number in climbing boost with a named constant, fixes #1002 2021-07-29 03:11:44 -04:00
Marcel
680492cea6 Merge branch 'juliancoffee/entity_refactor' into 'master'
Improve terms of EntityConfig and LoadoutBuilder

See merge request veloren/veloren!2688
2021-07-28 23:19:04 +00:00
Ben Wallis
01ca6911a9 * Pets are now saved on logout and spawned with the player on login
* Pets now teleport to their owner when they are too far away from them
* Limited the animals that can be tamed to `QuadrupedLow` and `QuadrupedSmall` to prevent players taming overly powerful creatures before the pet feature is further developed
* Added `Pet` component used to store pet information about an entity - currently only used to store the pet's database ID
* Added `pet` database table which stores a pet's `body_id` and `name`, alongside the `character_id` that it belongs to
* Replaced `HomeChunk` component with more flexible `Anchor` component which supports anchoring entities to other entities as well as chunks.
2021-07-28 22:36:41 +00:00
juliancoffee
14ac9a8b4e Improve terms of EntityConfig and LoadoutBuilder
* rename LoadoutBuilder::new to LoadoutBuilder::empty
* remove LoadoutBuilder::default as Default makes no sense here
* move comments from template.ron to EntityConfig struct
* add FIXME comments to split EntityConfig into EntityBase and
EntityExtension
2021-07-28 19:19:10 +03:00
Thomas Kosel
acb7f5dc4b
#918 remove usages of .restrict_mut() from character_behavior.rs 2021-07-27 23:34:16 +02:00
Sam
f164d6036e Made swapping equipped weapons a server event instead of being called in common to prevent server-client desyncs. 2021-07-25 18:30:17 -05:00
Dr. Dystopia
575db6f51d Resolve unused '#[allow(clippy::assign_op_pattern)]' error supressions 2021-07-24 20:01:11 +02:00
Knightress Paladin
7ce9a3e284 Removed exhausted check from BasicAura and reformat max call 2021-07-21 20:20:27 -07:00
Knightress Paladin
c48a7c0072 Used integer types to store combo values 2021-07-21 16:46:26 -07:00
Knightress Paladin
578cacc194 Relocated BasicAura's combo reading to its static data 2021-07-21 16:46:26 -07:00
Knightress Paladin
9be690770a Added check to prevent heal aura from being negative 2021-07-21 16:46:26 -07:00
Knightress Paladin
ce31ac9fd1 Added exhaustion check to BasicAura to try to prevent repeated casts 2021-07-21 16:46:26 -07:00
Knightress Paladin
68725a0131 Added check for 0 combo in healing aura strength equation 2021-07-21 16:46:26 -07:00
Dr. Dystopia
9abd066e53 Apply same member order as in trait 2021-07-20 09:43:52 +02:00
Imbris
30119a6afc Re-address approx_constant lint without using fractional constants and
re-add a few blank lines
2021-07-17 20:41:09 -04:00
Imbris
9c72333741 Revert "Merge branch..."
This reverts merge request !2608
2021-07-17 22:04:59 +00:00
Samuel Keiffer
f38cde9d40 Merge branch 'knightresspaladin/healing-aura' into 'master'
Knightresspaladin/healing aura

See merge request veloren/veloren!2587
2021-07-16 21:32:03 +00:00
Jonathan Berglin
c1c331d59e Resolve all '#[allow(clippy::approx_constant)]' error supressions 2021-07-15 16:56:55 +00:00
Marcel Märtens
9b3b21f368 fix clippy warnings 2021-07-12 12:09:09 +02:00
Sam
be8b12845a Added buff strength stat to weapons. 2021-07-11 12:50:38 -05:00
Knightress Paladin
146f86be2c Removed references to Healing Beam, which Healing Aura is replacing 2021-07-10 21:39:11 -07:00
Sam
fbcc774911 Renamed poise_strength to effect_power to allow it to be used more generally with other weapons in the future. 2021-07-10 23:22:00 -05:00
Knightress Paladin
b96bb6fc5d Added combo scaling to healing aura and allowed cultists to use it 2021-07-10 20:02:36 -07:00
Knightress Paladin
b4ec433509 Add healing aura for sceptre M2 2021-07-10 20:02:35 -07:00
Knightress Paladin
c5c89e8662 Added check to prevent melee leaps from stalling in liquids 2021-07-08 23:52:00 -07:00
Sam
509461763b Added energy efficiency stat to weapons. Made ability modification by tool stats exhaustive. 2021-07-06 22:54:23 -05:00
Sam
e8e953ffab Added range stat to weapons. 2021-07-05 20:32:12 -05:00
juliancoffee
c538a9696c Use Food after Buildup
+ Remove Saturation effect by rolling
+ Remove Saturation effect if interrupted with poise
+ Rename Potion to Drink, add ComplexFood
2021-07-05 10:56:29 +03:00
Samuel Keiffer
21523de394 Merge branch 'sam/fix-roll' into 'master'
Fix first person backwards roll.

See merge request veloren/veloren!2558
2021-07-05 03:46:47 +00:00
Sam
d2cb0c76a7 Fix first person backwards roll. 2021-07-04 21:54:38 -05:00
Sam
4bc54e0287 Fix oob panic in combo melee which can happen during desyncs. 2021-07-04 20:54:08 -05:00
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