Commit Graph

447 Commits

Author SHA1 Message Date
Caleb Cochran
9f7aa61fbd Fixing #504 - Enemies stop attacking after combat 2020-02-25 20:48:09 -06:00
timokoesters
4cc998f92b fix: non-humanoid npcs can attack again 2020-02-24 22:20:50 +01:00
timokoesters
d0439fdd84 Merge remote-tracking branch 'origin/master' into clientstates 2020-02-24 21:34:17 +01:00
timokoesters
ac611f4618 fix: sync characterstates, better energy management 2020-02-24 20:57:33 +01:00
timokoesters
31f3aae75c fix: make climbing cost stamina 2020-02-24 19:18:06 +01:00
timokoesters
1f4065ae32 fix: attacking 2020-02-24 14:32:12 +01:00
Ben Simpson
636bf7d343 Merge branch 'expandedreality/energy-regen' into 'master'
Energy now does not regen when climbing,gliding,and swimming

Closes #483

See merge request veloren/veloren!800
2020-02-14 01:15:47 +00:00
Ben Simpson
c427f2298e Energy now does not regen when climbing,gliding,and swimming 2020-02-13 18:46:01 -06:00
Ben Simpson
3343f8e5c0 Update common/src/sys/controller.rs, common/src/sys/movement.rs, common/src/comp/energy.rs files 2020-02-13 08:36:29 +00:00
Ben Simpson
bfd2f345b1 Update common/src/sys/movement.rs 2020-02-13 08:19:36 +00:00
Ben Simpson
0cd8150e98 Update common/src/sys/movement.rs 2020-02-13 08:13:36 +00:00
Ben Simpson
a49482503d Update common/src/sys/controller.rs, common/src/sys/movement.rs files
Deleted energy.rs, movement.rs files
2020-02-13 07:59:54 +00:00
Ben Simpson
1aa98dbb62 Update common/src/comp/energy.rs, energy.rs, common/src/sys/controller.rs, common/src/sys/movement.rs, movement.rs files 2020-02-13 07:30:32 +00:00
Adam Whitehurst
d383abf950 Re add combat 2020-02-11 07:42:17 -08:00
timokoesters
0bc07a0835 Merge remote-tracking branch 'origin/master' into clientstates 2020-02-03 22:02:32 +01:00
timokoesters
aeb37a1f33 improvement: char speed 2020-02-03 20:43:36 +01:00
timokoesters
aa52c6fd4f fix: jumping and attacking 2020-02-03 17:03:52 +01:00
Marcel Märtens
dae31ae5b6 apply new rustfmt - touching alot of files 2020-02-01 21:39:39 +01:00
Joshua Barretto
344eb9d45d Added intermittent rolling to NPCs during a chase 2020-01-27 16:18:36 +00:00
Joshua Barretto
de96551f65 Resolved pet alignment issues, added ranged aggro 2020-01-27 15:51:07 +00:00
Joshua Barretto
09f0a5744f Improved NPC spawning and names, made idle NPCs stop before hitting things 2020-01-27 10:58:33 +00:00
Joshua Barretto
631124f3fc Switched to _squared(), added comments, parallelised waypoint gen 2020-01-26 12:52:32 +00:00
Joshua Barretto
723b578378 Improved pet aggression system, made waypoints rarer 2020-01-26 12:52:32 +00:00
Joshua Barretto
c9138d913c Fixed pathfinding limit bug, improvements to idle AI 2020-01-26 12:52:32 +00:00
Joshua Barretto
7437c18b99 Various bug fixes 2020-01-26 12:52:32 +00:00
Joshua Barretto
b22ee24362 Cleanup 2020-01-26 12:52:32 +00:00
Joshua Barretto
feeccc2ff3 Improved patrol idling 2020-01-26 12:52:32 +00:00
Joshua Barretto
d04a595b3f Made waypoints work, added waypoint spawning 2020-01-26 12:52:28 +00:00
Joshua Barretto
11193a692a Better neutral AI, initial waypoint objects 2020-01-26 12:52:28 +00:00
Joshua Barretto
290cb52d0d I don't know how much I put in this commit, but it's some stuff 2020-01-26 12:52:28 +00:00
Joshua Barretto
f92371101c Added pauseable pathfinding, improved Chaser heuristics, etc. 2020-01-26 12:52:07 +00:00
Joshua Barretto
f14037e4a3 Occasional path recalculate, stopped pathfinder thrashing 2020-01-26 12:52:07 +00:00
Joshua Barretto
2d9aa21eef Added test world, friendly NPC pathfinding 2020-01-26 12:52:07 +00:00
timokoesters
7b558b4542 refactor: combine actionstate and movestate 2020-01-21 23:54:59 +01:00
timokoesters
28fe73825d feat: fitness stat effects movement speed 2020-01-21 19:24:09 +01:00
Gilbert Röhrbein
4f90e6325e feat: add endurance fitness willpower to stats 2020-01-21 18:49:17 +01:00
timokoesters
2e8bf9d212 improvement: enemy balance 2020-01-20 19:15:12 +01:00
Pfauenauge90
8a0efd3654 added TODO for energy numbers 2020-01-19 22:39:20 +01:00
Joseph Gerardot
454aa82669 Fixup energy regen math to properly account for acceleration at any
framerate.
2020-01-19 22:39:20 +01:00
timokoesters
6e651eb659 fix: make fall damage behave correctly again after changing gravity 2020-01-19 22:39:20 +01:00
timokoesters
65d0a1c4f4 refactor: use restrict_mut 2020-01-19 22:39:20 +01:00
timokoesters
8064b51ee2 improvement: better movement 2020-01-19 22:39:18 +01:00
Joseph Gerardot
c10c31043c Make charging take a discrete amount of energy and change energy
regeneration to use floats so it is smoother and tickrate-independent.
2020-01-19 22:39:17 +01:00
Joseph Gerardot
b4337e57aa Add energy comsumption on rolling and charging, and accelerating
regeneration when idle.
2020-01-19 22:39:17 +01:00
AdamWhitehurst
976eface66 Update from MR comments 2020-01-17 08:39:21 -08:00
Adam Whitehurst
5959d2a5c7 Fix SFX and Assets 2020-01-16 05:28:45 -08:00
Adam Whitehurst
d82e93b39f Merge master and build 2020-01-16 05:27:30 -08:00
AdamWhitehurst
1816d4b805 Move states/ to common/src/ 2020-01-12 15:06:52 -08:00
Piotr Korgól
e1adf40856 Improvement: Replace all '..=b' with '..b + 1' 2020-01-12 15:46:53 +01:00
Shane Handley
c6f64564a8 Remove emission of an audio event from stats sys
This was accidentally left in by me during some testing of server
emission of SFX events to all clients. There was no effect on gameplay since we dont
emit a sound for this event yet, but it should not be here.

The audio event is correctly handled elsewhere by each client.
2020-01-11 13:08:33 +09:00
Monty Marz
851d7858e6 Scrolling Combat Text (SCT) 2020-01-10 00:33:38 +00:00
AdamWhitehurst
5527d83a0e Update mod imports 2020-01-08 08:56:36 -08:00
Adam Whitehurst
8648641362 Grooming 2020-01-07 07:49:08 -08:00
Adam Whitehurst
4e5cf63452 Clean Up Systems 2020-01-05 14:55:27 -08:00
Adam Whitehurst
8fe5cec947 Clean up, make state handlers options 2020-01-05 10:19:09 -08:00
Imbris
4fa05150a2 Merge branch 'imbris/char-screen-transition' into 'master'
Fix issues regarding going back to the character selection screen

Closes #386

See merge request veloren/veloren!700
2020-01-02 19:40:21 +00:00
Imbris
f52aef224e Fix typos, don't insert Controller if it doesn't already exist in the
mount system so that Controller components are not added to entities
client side
2020-01-02 05:34:27 -05:00
Adam Whitehurst
2635c405fe Ability comps and sys 2020-01-01 09:16:29 -08:00
Imbris
1acf08390a Fix issue where controller events aren't processed while mounted. Fix non humanoids being able to climb and glide. 2019-12-31 16:41:45 -05:00
AdamWhitehurst
b67a4835f4 Update disabled state flags 2019-12-31 05:19:23 -08:00
Joshua Barretto
cfbf69ae89 Made rolling less slippy, added tilt 2019-12-30 15:16:21 +00:00
AdamWhitehurst
9c6ce9babd Begin implementing combat actions 2019-12-29 15:47:42 -08:00
Dylan Kile
badd3113d5 hierarchical pathfinding 2019-12-29 20:58:21 +00:00
AdamWhitehurst
7a4cdfb7a4 Documentation comments 2019-12-29 08:36:59 -08:00
AdamWhitehurst
ca44497258 Add movement_utils 2019-12-28 08:10:39 -08:00
AdamWhitehurst
06053faed0 Add state disables, cleanup imports 2019-12-26 10:01:19 -08:00
AdamWhitehurst
8e0317e03d refactor states to handle update logic 2019-12-26 06:43:59 -08:00
AdamWhitehurst
c2ceabea0e finish movment states handle() fn logic 2019-12-22 08:08:48 -08:00
AdamWhitehurst
1ab09220b0 Rudimentary Stand State handle() move 2019-12-21 07:57:15 -08:00
Imbris
6524ea31d1 Fix flight turning 2019-12-20 22:51:35 -05:00
Imbris
934c5d6846 Various tweaks: moved radius determination to function on , comments, simplified server Destroy event code, debug assert modified components aren't removed in change tracking, etc 2019-12-20 22:51:35 -05:00
Imbris
bfaa18e010 Fix NaN in agent sys, stop pushback from turning player around, account for Scale in melee attack hit detection 2019-12-20 22:48:14 -05:00
Imbris
8f7323f41b Stop syncing health change timer updates 2019-12-20 22:48:14 -05:00
Imbris
c3ac251fa8 Stop syncing Projectile component to the client 2019-12-20 22:48:14 -05:00
Imbris
71cce03f29 Move sync code into common submodule 2019-12-20 22:37:12 -05:00
Imbris
609e0f23bf Stop global syncing of entity creation 2019-12-20 22:37:12 -05:00
Adam Whitehurst
e40eb2ba20 Finish Stand handle() (untested) 2019-12-20 08:50:54 -08:00
Adam Whitehurst
e074c7ce1d begin impl state handle traits 2019-12-20 05:30:37 -08:00
Adam Whitehurst
4ead941c82 Fix fall->climb, tweak jump and glide 2019-12-15 17:44:19 +00:00
Monty Marz
1e1990758b Fix bow-shot frequency 2019-12-12 20:13:45 +00:00
Forest Anderson
d8fc7cb667 Add advanced path finding to new 'Traveler' enemy using A* algorithm 2019-12-11 05:28:45 +00:00
Adam Whitehurst
20575e0aab Update controller 2019-12-09 14:45:10 +00:00
Adam Whitehurst
92d99af53c feat: weapon-type dependent wield and attack durations
also some controller.rs cleanup
2019-12-03 06:30:08 +00:00
Adam Whitehurst
4e574cb29a Inputs enhancements 2019-11-29 15:20:35 +00:00
S Handley
ea2e0d17de SFX system
This is an event based approach to SFX sounds. There is a specific
character sound event mapper which determines sfx to play based on
character or NPC state, as well as emitting sfx events for
non-character-triggers such as levelling up.
2019-11-23 08:26:39 +00:00
telastrus
10d6f3e8b3 jump while underwater 2019-11-21 23:56:07 -05:00
Marcel Märtens
242a0d35bd fixing character movement to no longer fail normalization then get a zero vec and then normalize again
may this can be further simplyfied
2019-10-26 22:14:11 +02:00
timokoesters
0a1e12c9ad
improvement: make debug items of type ItemKind::Tool
This way all items that can be held in a hand are tools
2019-10-24 23:55:24 +02:00
timokoesters
20248a4818
feat: store items as RON files
When a new item is created, a ron file will be used as a template
2019-10-24 23:47:26 +02:00
Imbris
a200dafd45 Fix possess bug, remove commented code, drain controller events 2019-10-24 00:00:00 -04:00
Imbris
2703c8afe1 Move serverside client to a component and communications into server ecs systems 2019-10-23 23:50:06 -04:00
Monty Marz
3e0ac48bd8 Multiple Assets and UI fixes and additions 2019-10-23 19:40:45 +00:00
Monty Marz
fdfab6a807 refactor: create_projectile doesn't take a light
It returns a builder so the caller can just do it
2019-10-17 20:59:36 +00:00
Joshua Barretto
013afafba8 Made rolling less violent when changing directions 2019-10-17 12:21:22 +01:00
Joshua Barretto
707b79f2c8 Smoother movement, Space for climbing 2019-10-14 11:22:48 +01:00
Imbris
028d010624 Make bows give experience via giving projectiles an owner field 2019-10-11 19:33:01 -04:00
Imbris
2f9d8ee2e6 Add new debug item 2019-10-11 19:32:46 -04:00
timokoesters
45f756343d
fix: blocking now ends in wielded
This makes blocking more viable because while blocking you can wait for
the enemy to attack and then quickly exit the block and attack yourself.
2019-10-08 21:19:48 +02:00
timokoesters
051a964798
fix: server side fall damage
This avoids flickering health
2019-10-08 18:55:30 +02:00
timokoesters
4e87f125a2
fix: fix level and health distribution 2019-10-08 18:12:08 +02:00
Joshua Barretto
2171e77fe5 Fixed block snapping ground clip 2019-10-08 12:21:05 +01:00
timokoesters
182b98081b
feat(bow): arrows despawn after some time 2019-10-06 19:32:46 +02:00
timokoesters
2fc4a8d9aa fix(exp): crash when gaining many levels at once 2019-10-05 17:37:10 +02:00
Piotr Korgól
09429b45d1 Make /adminify admin-only and /waypoint free 2019-10-05 17:37:10 +02:00
timokoesters
460a494e77
fix(bow): Don't remove vel and use sticky component instead 2019-10-04 21:30:13 +02:00
timokoesters
d876215012
feat(combat): melee combat damage depends on power of the weapon
Normal NPCs have a weapon of power 5 so they do 5 damage if the attack
is not blocked. Bosses and players have power 10.
2019-10-04 21:02:44 +02:00
timokoesters
ba3db852f7
feat(bow): make arrows stick to walls 2019-10-04 21:02:44 +02:00
timokoesters
fc97c27b65
feat(bow): sticky arrows 2019-10-04 21:02:43 +02:00
timokoesters
fe17b4952c
Remove warnings 2019-10-04 21:02:42 +02:00
timokoesters
ab634f1d21
Reuse combat code 2019-10-04 21:02:41 +02:00
timokoesters
2ba143a514
Make arrows deal damage 2019-10-04 21:02:41 +02:00
timokoesters
e3c02f8ac1
Allow projectiles to react to triggers 2019-10-04 21:02:40 +02:00
timokoesters
d46f1e1859
Initial bow & arrow implementation 2019-10-04 21:02:39 +02:00
Joshua Barretto
e22fe81a2f Added velorite 2019-09-26 00:15:07 +01:00
Joshua Barretto
3f2e22f039 Exponential interpolation for linear damping
With an additional approximation to allow for the same size jumps given different framerates.
2019-09-09 19:11:40 +00:00
Joshua Barretto
933e48ac3b Merge branch 'fix-jump-height' into 'master'
Fix jump height

See merge request veloren/veloren!485
2019-09-08 15:50:08 +00:00
Timo Koesters
92c0edcb98 Merge branch 'timo-attack' into 'master'
Fix wolfs not attacking and adjust movement while attacking

See merge request veloren/veloren!484
2019-09-07 10:25:57 +00:00
timokoesters
f3593371ea
Make npcs attack in a smarter way 2019-09-07 12:16:55 +02:00
haslersn
1796c09ca1 common: Rework volume API
See the doc comments in `common/src/vol.rs` for more information on
the API itself.

The changes include:

* Consistent `Err`/`Error` naming.
  * Types are named `...Error`.
  * `enum` variants are named `...Err`.
* Rename `VolMap{2d, 3d}` -> `VolGrid{2d, 3d}`. This is in preparation
  to an upcoming change where a “map” in the game related sense will
  be added.
* Add volume iterators. There are two types of them:
  * _Position_ iterators obtained from the trait `IntoPosIterator`
    using the method
    `fn pos_iter(self, lower_bound: Vec3<i32>, upper_bound: Vec3<i32>) -> ...`
    which returns an iterator over `Vec3<i32>`.
  * _Volume_ iterators obtained from the trait `IntoVolIterator`
    using the method
    `fn vol_iter(self, lower_bound: Vec3<i32>, upper_bound: Vec3<i32>) -> ...`
    which returns an iterator over `(Vec3<i32>, &Self::Vox)`.
  Those traits will usually be implemented by references to volume
  types (i.e. `impl IntoVolIterator<'a> for &'a T` where `T` is some
  type which usually implements several volume traits, such as `Chunk`).
  * _Position_ iterators iterate over the positions valid for that
    volume.
  * _Volume_ iterators do the same but return not only the position
    but also the voxel at that position, in each iteration.
* Introduce trait `RectSizedVol` for the use case which we have with
  `Chonk`: A `Chonk` is sized only in x and y direction.
* Introduce traits `RasterableVol`, `RectRasterableVol`
  * `RasterableVol` represents a volume that is compile-time sized and has
    its lower bound at `(0, 0, 0)`. The name `RasterableVol` was chosen
    because such a volume can be used with `VolGrid3d`.
  * `RectRasterableVol` represents a volume that is compile-time sized at
    least in x and y direction and has its lower bound at `(0, 0, z)`.
    There's no requirement on he lower bound or size in z direction.
    The name `RectRasterableVol` was chosen because such a volume can be
    used with `VolGrid2d`.
2019-09-06 15:43:31 +02:00
Andrew Pritchard
05dff792fc Deref instead of clone vel 2019-09-06 14:22:58 +08:00
Andrew Pritchard
b4c74279b7 Vec3 is apprently *not* Copy, Set near plane to 0.1 to prevent tirangle flickering 2019-09-06 13:24:42 +08:00
Andrew Pritchard
b4d5663fed Vec3 is copy 2019-09-06 12:04:20 +08:00
Andrew Pritchard
5b82808df0 Merge branch 'master' into 'fix-jump-height'
# Conflicts:
#   common/src/sys/phys.rs
2019-09-05 13:07:46 +00:00
Andrew Pritchard
d0b2f7565a Revert "Revert "Exponential interpolation for linear damping""
This reverts commit 8b9a3ae1df.
2019-09-05 18:24:38 +08:00
Andrew Pritchard
8b9a3ae1df Revert "Exponential interpolation for linear damping"
This reverts commit 94b9f50efa.
2019-09-05 18:24:22 +08:00
Andrew Pritchard
94b9f50efa Exponential interpolation for linear damping
With an additional approximation to allow for the same size jumps given different framerates.
2019-09-05 17:07:15 +08:00
Imbris
52d84248ec Remove all warnings 2019-09-04 19:03:49 -04:00
jshipsey
b81cd6a8f9 combine character.action movement blocks 2019-08-30 22:51:46 -04:00
jshipsey
78bf7a0997 slowed movement for block/attack, cleaned up code, made foot speed velocity dependent, tweaked blocking animation 2019-08-30 22:50:53 -04:00
timokoesters
b99bac87db Make npcs roll correctly 2019-08-30 22:50:53 -04:00
jshipsey
f8d0b1040a readded cidle 2019-08-30 22:50:53 -04:00
jshipsey
bec942753e some stuff fixed, other stuff still broken 2019-08-30 22:50:53 -04:00
jshipsey
e6197d4c10 separate static anims for feet (run/static) 2019-08-30 22:50:53 -04:00
timokoesters
15978d216b
Rename controller main, alt to primary, secondary 2019-08-31 00:13:45 +02:00
timokoesters
ba02956f05
Make boost RMB go upward again 2019-08-31 00:08:44 +02:00
timokoesters
952ec35857
Remove warnings 2019-08-29 19:54:53 +02:00
timokoesters
512d2d9a8e
Rename Teleport to Boost 2019-08-29 19:44:30 +02:00
timokoesters
075827698f
Use RMB to boost away again 2019-08-29 19:44:30 +02:00
timokoesters
6e1c78e5d5
Add debug mode item giving speed boost in look_dir on click 2019-08-29 19:44:28 +02:00
yashaslokesh
be71aea20b Changed exp type from f64 to u32 and altered exp calculations and function signatures to adhere to the new types
Signed-off-by: Yashas Lokesh <yashas.lokesh@gmail.com>
2019-08-27 22:33:14 +00:00
timokoesters
b725b0e9ea
End rolling when player is in the air 2019-08-27 11:06:55 +02:00
timokoesters
74677784c0
Add attack buildup duration (Delay before hit) 2019-08-27 11:06:54 +02:00
timokoesters
72564cf8b4
Make action durations constants 2019-08-27 11:06:54 +02:00
timokoesters
a7747fe965
Simplify code 2019-08-26 13:12:45 +02:00
timokoesters
b89bfcbfc1
Remove unnecessary map 2019-08-26 13:12:44 +02:00
timokoesters
08fa6a3414
Prevent problems with no vel while rolling in the future 2019-08-26 13:12:44 +02:00
timokoesters
c278ac9927
Add todo making glide an ability/item 2019-08-26 13:12:44 +02:00
timokoesters
98f8196a16
Put combat related values into constants 2019-08-26 13:12:43 +02:00
timokoesters
05f2f168fd
Make falldamage local, don't use force update for local, cleanup 2019-08-26 13:12:43 +02:00
timokoesters
eb34e5bb27
fmt 2019-08-26 13:12:43 +02:00