David Cernat
5575242299
[Client] Don't allow players to attack while in persuasion dialogue
2019-11-30 20:05:20 +02:00
David Cernat
397cdf400b
[Server] Reorder record types in RecordsDynamic script functions
...
They are now consistent with the ordering from 42b002e8db
2019-11-30 19:12:57 +02:00
David Cernat
64c94346b6
[Client] Always send attack starts by actors immediately
...
Previously, creatures with fast attack animations would have their attack updated right after being started, which happened so quickly that it prevented the attack start from actually being sent by the client.
2019-11-30 15:50:05 +02:00
David Cernat
ed7fe859dd
[Client] Set attackingOrSpell state instantly after Attack/Cast packets
...
It is no longer necessary to wait for the Actors::update() loop to set dedicated players and actors to their new states.
2019-11-30 15:03:51 +02:00
David Cernat
c702eab93c
[Client] Fix declarations hiding class members
2019-11-30 12:51:48 +02:00
David Cernat
56c3ef71ae
[Client] Send ObjectDelete packets when picking up items once again
...
When fixing problems with ObjectActivate in 49fa35a516
, I mistakenly made it so the picking up of items no longer also sent ObjectDelete packets. That is now fixed.
2019-11-30 08:13:22 +02:00
David Cernat
7acf6865b9
[Client] Don't clear spells for dying actors
2019-11-29 19:49:17 +02:00
David Cernat
23d410f473
[General] Implement body part records for RecordDynamic packet
2019-11-29 14:06:17 +02:00
David Cernat
0dae3074a6
[Client] Add missing comment related to spellcast animation
2019-11-29 14:02:52 +02:00
David Cernat
b3747839c0
[General] Add hasRace to record overrides in RecordsDynamic packet
2019-11-29 13:28:07 +02:00
David Cernat
ddb25a482d
[Server] Remove unneeded assignments for playerController in processors
2019-11-29 12:54:18 +02:00
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
5a46b40e1a
[Client] Stop switching drawstates when receiving ActorAttack packets
...
Previously, some of the spammier ActorAttack packets were overriding spellcasting animations with weapon attack animations.
2019-11-28 19:53:34 +02:00
David Cernat
ef944aa050
[Client] Remove unused redeclarations of localActors & dedicatedActors
2019-11-28 13:00:20 +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
8da6a7fd9b
[Server] Fix mixed-up bindings for Chat functions
2019-11-20 21:01:18 +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
73f43ba750
Do not use screen fading during game loading if there is no current cell (bug #5211 )
2019-11-18 22:24:19 +04:00
Andrei Kortunov
4118b20608
Allow ActionOpen and ActionTalk only for player (bug #5210
2019-11-18 12:41:11 +04:00
Alexei Dobrohotov
4208f10e81
Merge pull request #2600 from akortunov/master
...
Take in account caster's race height when launch magic bolt
2019-11-17 21:04:55 +03: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
d1e0fa575e
Take in account caster's race height when launch magic bolt (bug #5209 )
2019-11-17 16:37:38 +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
Bret Curtis
454b9f1964
Merge pull request #2597 from akortunov/coverity
...
CoverityScan fixes, part 2
2019-11-14 21:08:03 +01:00
Alexei Dobrohotov
f332df8839
Fix terrain shadows checkbox loading
2019-11-14 19:50:59 +03:00
Andrei Kortunov
b21dc17538
Attempt to shut up CoverityScan warnings about tainted values
2019-11-14 18:28:38 +04:00
Alexei Dobrohotov
b5992b380e
Merge pull request #2586 from unelsson/allowselectionalledges
...
Allow selecting cell edges everywhere
2019-11-14 17:25:48 +03:00
Andrei Kortunov
b210e99abc
Avoid divizion by zero
2019-11-14 17:43:21 +04:00
Nelsson Huotari
120583f443
optimize isInCellSelection calls
2019-11-14 11:28:49 +02:00
Andrei Kortunov
3970baeb84
Fix possible usage of destroyed variable
2019-11-13 15:46:49 +04:00
Andrei Kortunov
34873b6065
Fix dead code
2019-11-13 15:29:18 +04:00
Andrei Kortunov
5561eb5415
Do not discard division reminder
2019-11-13 15:18:18 +04:00
Andrei Kortunov
238dcdbbd4
Fix copy-paste error
2019-11-13 15:14:30 +04:00
Andrei Kortunov
5c6ca82c45
Clamp fallback value from config
2019-11-13 15:10:19 +04:00
Andrei Kortunov
079c77ff22
Avoid zero division
2019-11-13 14:57:22 +04:00
Andrei Kortunov
ca2a524a5f
Avoid null pointer dereference
2019-11-13 14:50:42 +04:00
Andrei Kortunov
af41e9acc1
Initialize variables to avoid undefined values
2019-11-13 14:47:29 +04:00
Capostrophic
120b7dcd2f
Clean up summoned creatures when corpses are disposed
2019-11-12 21:44:46 +03: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
Alexei Dobrohotov
a1ed0144e1
Merge pull request #2590 from akortunov/guifixes
...
UI textures scaling corrections
2019-11-10 13:53:27 +03:00
David Cernat
8f7a267129
[General] Add scale and bloodType to creature records in RecordDynamic
2019-11-10 09:20:45 +02:00
David Cernat
afb9bd7eb5
[General] Implement script records for RecordDynamic packets
2019-11-09 21:34:09 +02:00