David Cernat
16662d772b
[General] Synchronize death animations for players
2019-11-29 12:52:47 +02:00
David Cernat
140c1c9c12
[General] Use hard synchronization for melee attack animations
...
Previously, each client chose its own attack animations for DedicatedPlayers and DedicatedActors based on the direction they were walking in, which however led to desyncs for players with "Always Use Best Attack" enabled and for creatures which pick their attack animations randomly.
2019-11-29 10:39:57 +02:00
David Cernat
a385fcdd87
[Client] Fix crash caused by setting instant state for null localCast
2019-11-28 20:28:55 +02:00
David Cernat
06b4a4f97c
[Client] Don't tie spellcasting for dedicated players/actors to anim end
...
When Koncord implemented spellcasting, he made it so only the act of initiating a spellcast was synchronized, leaving it to other clients to actually cast a spell for a dedicated player or actor once their spellcasting animation was over. This had led to a lot of desyncs and has always been inconsistent with the handling of attacks, so I've belatedly gone ahead and prevented the end of a spellcasting animation from having any effect for dedicated players and actors, making them cast a spell when an appropriate Cast packet is received from them instead.
Additionally, the logged messages in MechanicsHelper's handling of attacking and casting have been moved around slightly.
2019-11-28 10:34:34 +02:00
David Cernat
7815c8bdaf
[Client] Queue sending of Cast packet from CastSpell::cast()
2019-11-28 09:40:22 +02:00
David Cernat
b74e3a7e2e
[Client] Include spellIds in Cast packets again, fixing problem from 190c404b38
2019-11-28 00:11:51 +02:00
David Cernat
bbf9f20053
[Client] Stop sending WorldKillCount packets or incrementing local kills
...
This means the server scripts are now required to send a WorldKillCount packet as a reply to ActorDeath packets sent by clients. This gives the server full control over which kills are counted, while also solving the previous problem of kills being counted only for actors that had finished their death animations.
2019-11-27 11:21:29 +02:00
David Cernat
0c98c5d09e
Add OpenMW commits up to 19 Nov 2019
...
# Conflicts:
# apps/openmw/mwmechanics/aipursue.cpp
# apps/openmw/mwmechanics/summoning.cpp
2019-11-19 17:16:48 +02:00
Andrei Kortunov
d0643d266a
Do not use fallthrough in switches
2019-11-19 16:10:18 +04:00
Andrei Kortunov
4118b20608
Allow ActionOpen and ActionTalk only for player (bug #5210
2019-11-18 12:41:11 +04:00
Andrei Kortunov
6861d9d5e5
Merge pull request #2510 from elsid/ai_open_door
...
Open door when it is on the way to a next path point (bug #5073 )
2019-11-17 21:21:22 +04:00
Andrei Kortunov
6554130f6f
Merge pull request #2594 from Capostrophic/summonsummon
...
Minor summoned creature cleanup fixes
2019-11-17 10:47:07 +04:00
Andrei Kortunov
8dbbe42f21
Add missing isNpc() check (bug #5206 )
2019-11-17 09:17:03 +04:00
Andrei Kortunov
af41e9acc1
Initialize variables to avoid undefined values
2019-11-13 14:47:29 +04:00
David Cernat
1d8668305c
[Client] Send PlayerSpellbook packet when contracting or curing disease
2019-11-12 17:44:38 +02:00
Capostrophic
1097c2cfc4
Minor summoned creature cleanup fixes
2019-11-12 17:50:06 +03:00
Capostrophic
9c78e8cc56
Make sure movement not controlled by animation has valid velocity
...
Fixes erroneously always normalized movement speed in first person
2019-11-12 17:33:44 +03:00
David Cernat
5762a36fc2
Add OpenMW commits up to 7 Nov 2019
...
# Conflicts:
# apps/openmw/mwmechanics/aifollow.hpp
2019-11-08 06:20:41 +02:00
Andrei Kortunov
6eb8e0cf4d
Display magic effects according to research page
2019-11-07 11:05:18 +04:00
Andrei Kortunov
61ab7f3c1e
Implement actors movement deceleration (feature #4544 )
2019-10-31 14:41:12 +04:00
David Cernat
54301f5f89
Add OpenMW commits up to 29 Oct 2019
...
# Conflicts:
# apps/openmw/mwmechanics/combat.cpp
# apps/openmw/mwworld/inventorystore.cpp
2019-10-29 23:49:31 +02:00
David Cernat
bde9f7b817
Add OpenMW commits up to 20 Oct 2019
...
# Conflicts:
# apps/openmw/mwgui/recharge.cpp
# apps/openmw/mwrender/globalmap.cpp
# apps/openmw/mwrender/globalmap.hpp
# apps/openmw/mwworld/inventorystore.cpp
2019-10-29 22:26:35 +02:00
Capostrophic
ee4fa93bd4
Rework prevent merchant equipping setting again
2019-10-28 01:58:23 +03:00
Andrei Kortunov
15cd305253
Reset idle animation only when play movement animation (bug #5196 )
2019-10-27 12:33:28 +04:00
Andrei Kortunov
b27089f7be
Merge pull request #2560 from Capostrophic/geteffect
...
Fix GetEffect result when running on dead actors
2019-10-26 12:47:58 +04:00
Bret Curtis
afb218fe29
Merge pull request #2564 from Capostrophic/enchant
...
Remove on-strike enchantment support for ranged weapon types (bug #5190 )
2019-10-23 15:11:36 +02:00
Bret Curtis
262d87846c
Merge pull request #2047 from akortunov/holstered_shield
...
Shields holstering support
2019-10-22 16:46:12 +02:00
Andrei Kortunov
d3a3b2f1f6
Shields holstering support (feature #5193 )
2019-10-22 09:02:59 +04:00
Alexei Dobrohotov
5d5ec1cf63
Merge pull request #2550 from elsid/fix_path_rebuild
...
Fix rebuild path for walking actors (Bug #5181 )
2019-10-20 16:05:29 +03:00
Capostrophic
fc7b4d73a8
Remove on-strike enchantment support for ranged weapon types (bug #5190 )
2019-10-20 13:34:42 +03:00
Andrei Kortunov
dd781b3da2
Fix OnStrike bows charges (regression #5191 )
2019-10-20 10:21:47 +04:00
elsid
e4d0af6a6d
Use z coordinate for path distance when diff by z is greater then actor height
2019-10-19 22:01:32 +02:00
elsid
81832f8e17
Reuse distance functions
2019-10-19 12:51:37 +02:00
Capostrophic
bc5d54a161
Fix GetEffect result when running on dead actors
2019-10-12 19:06:10 +03:00
Andrei Kortunov
31e78ed41f
Rework 'prevent merchant equipping' feature
2019-10-12 14:17:03 +04:00
Capostrophic
ce943b4f9e
Make enchantments affect all actors with an inventory (bug #5186 )
2019-10-11 19:29:12 +03:00
Andrei Kortunov
67bef9a3a1
Merge pull request #2554 from Capostrophic/summon
...
Make sure summoned creatures are removed upon caster death (#5183 )
2019-10-11 20:06:16 +04:00
Capostrophic
e9009f8d10
Make sure summoned creatures are removed upon caster death
2019-10-10 17:57:45 +03:00
Andrei Kortunov
69aceb5c1e
Split greetings from AiWander (bug #4594 )
2019-10-10 09:28:40 +04:00
David Cernat
d163f1b6da
[General] Turn WorldKillCount into a Worldstate packet
...
Rename the old WorldKillCount that was a Player packet into PlayerPlaceholder. Rename the unused CellCreate that was a Worldstate packet into WorldKillCount. On the server, move kill count-related script functions from QuestFunctions to WorldstateFunctions.
2019-10-08 11:09:08 +03:00
Andrei Kortunov
c51aba0b13
Recharge items outside of player's inventory (bug #4077 )
2019-10-07 22:59:43 +04:00
elsid
d1d6ba3ed0
Fix rebuild path for walking actors
...
Ignore z coordinate for not swimming nor flying actors to calculate
distance from actor destination to last path point. If walking actor
destination point is floating above the ground then a point on navmesh
may be too far away when z coordinate is included. In this case path
will be rebuild on each AI_REACTION_TIME.
2019-10-07 20:25:07 +02:00
David Cernat
4a34666c59
Add OpenMW commits up to 7 Oct 2019
...
# Conflicts:
# apps/openmw/mwmechanics/aiactivate.cpp
2019-10-07 08:19:21 +03:00
Andrei Kortunov
2b2f63c919
Merge pull request #2538 from Capostrophic/animation
...
Use random attack strength if there's no wind up animation (bug #5059 )
2019-10-02 08:23:13 +04:00
elsid
7fbc696d44
Change angle direction by rolling dice to avoid rotating door
2019-09-29 13:44:06 +02:00
Capostrophic
4d381d0804
Use random attack strength if there's no wind up anim (bug #5059 )
2019-09-24 22:42:04 +03:00
Andrei Kortunov
48aba76ce9
Implement vanilla-style AiActivate (bug #4456 )
2019-09-24 09:30:39 +04:00
Alexei Dobrohotov
ac5491b5c2
Merge pull request #2534 from akortunov/toggleview
...
Improve resurrection handling
2019-09-22 02:02:03 +03:00
Andrei Kortunov
6450d84473
Improve resurrection handling
2019-09-21 20:22:45 +04:00
Capostrophic
7c9a9d7de0
Fix chance none logic for nested levelled lists (bug #5169 )
2019-09-21 14:30:38 +03:00
David Cernat
cc25612b8d
Add OpenMW commits up to 18 Sep 2019
...
# Conflicts:
# apps/openmw/mwclass/container.cpp
# apps/openmw/mwclass/door.cpp
# apps/openmw/mwmechanics/security.cpp
# apps/openmw/mwmechanics/spellcasting.cpp
# apps/openmw/mwscript/miscextensions.cpp
2019-09-18 23:46:08 +03:00
Evil Eye
32de86d114
merge master
2019-09-17 20:31:53 +02:00
Evil Eye
7c8b82f45c
move locking behaviour to cellref
2019-09-17 20:30:37 +02:00
Andrei Kortunov
85bb4a76f6
Improve faction items handling (bug #5164 )
2019-09-17 19:09:08 +04:00
Andrei Kortunov
4a6d2cbaff
Do not allow player to take items from evidence chests (bug #3609 )
2019-09-17 19:08:33 +04:00
elsid
209e33f5ce
Open door when it is on the way to a next path point
2019-09-15 21:16:00 +02:00
elsid
653a391084
Do not open doors when actor has no path
...
When actor is not going anywhere it doesn't require to go through doors
so there is no need to open them.
2019-09-15 21:12:33 +02:00
elsid
d4b7b3e999
Check for AiPackage type before find nearby door
2019-09-15 21:12:29 +02:00
Capostrophic
6b74630f6e
Preparation work
...
Phase out canBeActivated() to unify activation checks
Use getName() for the name caption in tooltips
Always use tooltips for non-activator objects
Invert hasTooltip default value
2019-09-10 23:38:16 +03:00
Evil Eye
a86a8ecc0e
Allow locking/picking just about everything
2019-09-10 21:53:26 +02:00
Evil Eye
56b6a7ada4
Fix #5155
2019-09-09 22:29:59 +02:00
Andrei Kortunov
d58f93f388
Use sayDone() only for scripting backward compatibility
2019-09-06 09:19:41 +04:00
David Cernat
ca67587b89
Add OpenMW commits up to 5 Sep 2019
...
# Conflicts:
# apps/openmw/mwgui/container.cpp
# apps/openmw/mwmechanics/actors.cpp
# apps/openmw/mwworld/worldimp.hpp
2019-09-05 21:41:50 +03:00
Andrei Kortunov
c9deb1b325
Generate sCrimeMessageReport only once per frame (bug #5012 )
2019-09-05 20:16:03 +04:00
Capostrophic
c89c14bb68
Rename objectOpened() to make its role more clear
2019-09-05 17:36:49 +03:00
Capostrophic
8317dc0709
Make sure failed pick/trap attempts are a crime (bug #5149 )
2019-09-05 17:29:49 +03:00
Alexei Dobrohotov
2daecc633e
Revert Vampirism behavior upon death to 0.45.0-like state
...
Until we figure out the better way to handle vampire stuff tangled together with post-death animation magic effect reset.
2019-09-04 16:42:34 +03:00
David Cernat
190c404b38
[Client] Calculate spell success in more appropriate place
...
Previously, creatures with fast spellcasting animations would cast their spells before their success had actually been calculated, causing them to fail.
2019-09-02 23:50:56 +03:00
Andrei Kortunov
b6044d231a
Handle death event manually before disposing a corpse if a death animation was not finished yet (feature #5146 )
2019-08-27 22:42:41 +04:00
elsid
16170131b7
Add enum type for door state
2019-08-25 15:21:00 +02:00
David Cernat
9350e1d484
[General] Split up Attack packets into Attack and Cast ones
...
Create an entirely new PlayerCast packet for that purpose, but rename the already existing but unused ActorInteraction into ActorCast.
2019-08-25 09:35:23 +03:00
David Cernat
353e7d530a
Add OpenMW commits up to 18 Aug 2019
...
# Conflicts:
# CMakeLists.txt
# apps/openmw/mwmechanics/character.cpp
# apps/openmw/mwmechanics/spellcasting.cpp
# apps/openmw/mwworld/worldimp.hpp
2019-08-22 22:44:00 +03:00
David Cernat
ed05125f6a
Add OpenMW commits up to 2 Aug 2019
...
# Conflicts:
# apps/openmw/mwmechanics/combat.cpp
2019-08-22 15:38:15 +03:00
David Cernat
b57c0bcafe
Add OpenMW commits up to 6 June 2019
...
# Conflicts:
# apps/openmw/mwgui/hud.cpp
# apps/openmw/mwgui/jailscreen.cpp
# apps/openmw/mwgui/waitdialog.cpp
# apps/openmw/mwinput/inputmanagerimp.cpp
# apps/openmw/mwworld/worldimp.hpp
2019-08-22 11:42:02 +03:00
David Cernat
5181c601c0
Add OpenMW commits up to 2 May 2019
...
# Conflicts:
# CMakeLists.txt
# apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
# apps/openmw/mwscript/statsextensions.cpp
2019-08-22 08:40:32 +03:00
David Cernat
f671c0bddc
Add OpenMW commits up to 1 Apr 2019
...
# Conflicts:
# .travis.yml
# CMakeLists.txt
# apps/openmw/engine.cpp
# apps/openmw/mwdialogue/dialoguemanagerimp.cpp
# apps/openmw/mwgui/jailscreen.cpp
# apps/openmw/mwgui/trainingwindow.cpp
# apps/openmw/mwgui/travelwindow.cpp
# apps/openmw/mwgui/waitdialog.cpp
2019-08-21 23:54:39 +03:00
David Cernat
8729c3c5e3
Add OpenMW commits up to 9 Mar 2019
...
# Conflicts:
# .travis.yml
# CI/before_script.linux.sh
# README.md
# apps/openmw/mwgui/jailscreen.cpp
# apps/openmw/mwscript/animationextensions.cpp
# apps/openmw/mwscript/guiextensions.cpp
# apps/openmw/mwscript/miscextensions.cpp
# apps/openmw/mwscript/soundextensions.cpp
2019-08-21 19:04:04 +03:00
David Cernat
95a5607509
Add OpenMW commits up to 22 Feb 2019
...
# Conflicts:
# CMakeLists.txt
# apps/openmw/mwmechanics/spellcasting.cpp
# apps/openmw/mwscript/containerextensions.cpp
2019-08-21 17:29:24 +03:00
David Cernat
6205ff6b04
Add OpenMW commits up to 30 Jan 2019
...
# Conflicts:
# apps/openmw/mwworld/worldimp.cpp
2019-08-21 15:48:07 +03:00
David Cernat
6fdef4fd0a
Add OpenMW commits up to 1 Jan 2019
...
# Conflicts:
# .travis.yml
# CMakeLists.txt
# apps/openmw/mwbase/world.hpp
# apps/openmw/mwphysics/physicssystem.hpp
# apps/openmw/mwworld/worldimp.cpp
# apps/openmw/mwworld/worldimp.hpp
2019-08-21 14:37:54 +03:00
David Cernat
68886e7539
Add OpenMW commits up to 2 Dec 2018
...
# Conflicts:
# .travis.yml
# README.md
2019-08-21 13:08:56 +03:00
David Cernat
cbba81df03
Add OpenMW commits up to 14 Nov 2018
...
# Conflicts:
# .travis.yml
# CI/before_install.linux.sh
# CI/before_script.linux.sh
# CMakeLists.txt
# apps/openmw/CMakeLists.txt
# apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
# apps/openmw/mwworld/containerstore.cpp
# apps/openmw/mwworld/inventorystore.cpp
2019-08-21 09:04:36 +03:00
David Cernat
3efffe92e3
Add OpenMW commits up to 5 Nov 2018
...
# Conflicts:
# CI/before_install.linux.sh
# CMakeLists.txt
# apps/openmw/mwmechanics/aifollow.cpp
# apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
# apps/openmw/mwphysics/physicssystem.hpp
# apps/openmw/mwworld/scene.cpp
# apps/openmw/mwworld/worldimp.cpp
# components/CMakeLists.txt
2019-08-21 05:08:50 +03:00
David Cernat
fba07194cf
Add OpenMW commits up to 29 Oct 2018
...
# Conflicts:
# apps/openmw/mwbase/world.hpp
# apps/openmw/mwinput/inputmanagerimp.cpp
# apps/openmw/mwmechanics/actors.cpp
# apps/openmw/mwmechanics/aicombat.cpp
# apps/openmw/mwmechanics/character.cpp
# apps/openmw/mwworld/worldimp.cpp
# apps/openmw/mwworld/worldimp.hpp
2019-08-20 13:15:00 +03:00
David Cernat
056591b957
Add OpenMW commits up to 14 Sep 2018
...
# Conflicts:
# apps/openmw/mwgui/container.cpp
# apps/openmw/mwworld/worldimp.hpp
2019-08-20 12:14:57 +03:00
David Cernat
889bcec7f8
Add OpenMW commits up to 1 Sep 2018
...
# Conflicts:
# apps/openmw/mwbase/world.hpp
# apps/openmw/mwclass/creature.cpp
# apps/openmw/mwclass/npc.cpp
# apps/openmw/mwgui/jailscreen.cpp
# apps/openmw/mwmechanics/actors.cpp
# apps/openmw/mwmechanics/difficultyscaling.cpp
# apps/openmw/mwscript/transformationextensions.cpp
# apps/openmw/mwworld/worldimp.hpp
2019-08-20 11:31:51 +03:00
David Cernat
84cab59057
Add OpenMW commits up to 19 Aug 2018
...
# Conflicts:
# .travis.yml
# CI/before_install.linux.sh
# CI/before_script.linux.sh
# apps/openmw/engine.cpp
# apps/openmw/main.cpp
# apps/openmw/mwgui/windowmanagerimp.cpp
# apps/openmw/mwmechanics/actors.hpp
# apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
# apps/openmw/mwscript/aiextensions.cpp
# apps/openmw/mwscript/containerextensions.cpp
# apps/openmw/mwscript/dialogueextensions.cpp
# apps/openmw/mwworld/cellstore.cpp
# apps/openmw/mwworld/containerstore.cpp
# apps/openmw/mwworld/scene.cpp
# apps/openmw/mwworld/worldimp.cpp
# components/misc/debugging.hpp
2019-08-20 10:06:15 +03:00
David Cernat
0339958e21
[General] Rename Log class into TimedLog
2019-08-19 21:39:33 +03:00
Andrei Kortunov
bd18655d23
Merge pull request #2439 from Capostrophic/jumping
...
Fix jumping mechanics framerate dependency (bug #4991 )
2019-08-18 10:57:11 +04:00
Andrei Kortunov
ed8828d3bc
Merge pull request #2457 from Capostrophic/sneak
...
Sneaking consistency fixes (bug #5103 )
2019-08-18 08:57:22 +04:00
elsid
ad05de44ae
Use 3d coordinates to detect stuck
...
To able water and flying creatures move to player going up or down.
2019-08-17 18:09:00 +02:00
elsid
7b94183d83
Revert "Take in account actor half extents for obstacle check"
...
This reverts commit 5434e92437
.
2019-08-17 17:55:49 +02:00
Andrei Kortunov
f7917964a0
Merge pull request #2484 from Capostrophic/fallbackanim
...
Allow SwimRunForward state WalkForward fallback (bug #5126 )
2019-08-17 12:45:25 +04:00
Andrei Kortunov
0afb142b8e
[Regression] restore ammo inventory sounds
2019-08-16 21:56:14 +04:00
capostrophic
99710e8f55
Allow SwimRunForward state WalkForward fallback (bug #5126 )
2019-08-16 20:46:22 +03:00
David Cernat
6160293e86
[Client] Don't clear placeholder summons in CastSpell::inflict()
2019-08-12 15:12:34 +03:00
Andrei Kortunov
6019f6507d
Corrections for extended weapon animations feature
2019-08-10 20:57:37 +04:00
Andrei Kortunov
b09f0f8c2d
Merge pull request #2458 from Capostrophic/jump
...
Don't "jump" with 0 vertical velocity in all cases (bug #5106 )
2019-08-09 21:03:24 +04:00
Alexei Dobrohotov
307e9ba666
Merge pull request #2413 from akortunov/weapon
...
Refactor weapon types behaviour
2019-08-09 20:02:10 +03:00
capostrophic
a9c4b18d38
Make sure cast chance checks mana when necessary (bug #5112 )
2019-08-09 19:27:25 +03:00