1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-15 23:19:56 +00:00
Commit graph

724 commits

Author SHA1 Message Date
Andrei Kortunov
ee45f54b53 Refactor AiTemporaryStorage usage 2018-06-27 12:48:34 +04:00
Marc Zinnschlag
2a52ade219 Merged pull request #1760 2018-06-19 11:26:41 +02:00
Andrei Kortunov
e08b0d3070 Ignore lights without CanCarry flags when NPC selects torch (bug #4457) 2018-06-16 17:34:49 +04:00
Andrei Kortunov
9c3da41130 Add murder bounty when a player follower commits murder (bug #2852) 2018-06-15 14:31:09 +04:00
Andrei Kortunov
61c968d550 Ignore broken items when search for replacement (bug #4453) 2018-06-13 18:39:02 +04:00
Andrei Kortunov
9c45cc7e48 Use player reference instead of pointer 2018-06-12 22:05:00 +04:00
Andrei Kortunov
9fd2d57b86 Move previous items to player 2018-06-10 16:21:19 +04:00
Andrei Kortunov
f977c6876f Bound items: store item ID instead of pointer 2018-06-10 16:21:19 +04:00
Andrei Kortunov
4de9d9fa77 Split adjustBoundItem() 2018-06-10 16:21:19 +04:00
Andrei Kortunov
d1b1cb748d Reequip previous item only if the expired bound item was equipped 2018-06-10 16:21:19 +04:00
Andrei Kortunov
9b72a6ac69 Use the MWWorld::Ptr() instead of string ID 2018-06-10 16:21:19 +04:00
Andrei Kortunov
0375bedab2 Equip previous item after a bound item expires (bug #2326) 2018-06-10 16:21:19 +04:00
David Cernat
78234f9071 [General] Rename Event into ObjectList & WorldObject into BaseObject 2018-05-13 00:42:24 +03:00
David Cernat
9e5ddeac50
Merge pull request #408 from OpenMW/master
Add OpenMW commits up to 18 Apr 2018
2018-04-18 18:05:09 +03:00
tri4ng1e
d4d1703bcf
Some PVS-Studio and cppcheck fixes
cppcheck:
[apps/esmtool/record.cpp:697]: (performance) Prefer prefix ++/-- operators for non-primitive types.
[apps/esmtool/record.cpp:1126]: (performance) Prefer prefix ++/-- operators for non-primitive types.
[apps/esmtool/record.cpp:1138]: (performance) Prefer prefix ++/-- operators for non-primitive types.
[apps/niftest/niftest.cpp:36]: (performance) Function parameter 'filename' should be passed by reference.
[apps/niftest/niftest.cpp:41]: (performance) Function parameter 'filename' should be passed by reference.
[apps/opencs/model/prefs/boolsetting.cpp:25]: (warning) Possible leak in public function. The pointer 'mWidget' is not deallocated before it is allocated.
[apps/opencs/model/prefs/shortcuteventhandler.cpp:52]: (warning) Return value of std::remove() ignored. Elements remain in container.
[apps/openmw/mwstate/quicksavemanager.cpp:5]: (performance) Variable 'mSaveName' is assigned in constructor body. Consider performing initialization in initialization list.

PVS-Studio:
apps/opencs/model/filter/parser.cpp  582  warn  V560 A part of conditional expression is always true: allowPredefined.
apps/opencs/view/world/referencecreator.cpp  67  warn  V547 Expression '!errors.empty()' is always false.
apps/opencs/view/world/referencecreator.cpp  74  warn  V547 Expression '!errors.empty()' is always false.
apps/opencs/view/doc/loader.cpp  170  warn  V560 A part of conditional expression is always true: !completed.
apps/opencs/view/doc/loader.cpp  170  warn  V560 A part of conditional expression is always true: !error.empty().
apps/opencs/model/tools/pathgridcheck.cpp  32  err  V517 The use of 'if (A) {...} else if (A) {...}' pattern was detected. There is a probability of logical error presence. Check lines: 32, 34.
apps/opencs/model/world/refidadapterimp.cpp  1376  err  V547 Expression 'subColIndex < 3' is always true.

apps/openmw/mwgui/widgets.hpp  318  warn  V703 It is odd that the 'mEnableRepeat' field in derived class 'MWScrollBar' overwrites field in base class 'ScrollBar'. Check lines: widgets.hpp:318, MyGUI_ScrollBar.h:179.
apps/openmw/mwgui/widgets.hpp  319  warn  V703 It is odd that the 'mRepeatTriggerTime' field in derived class 'MWScrollBar' overwrites field in base class 'ScrollBar'. Check lines: widgets.hpp:319, MyGUI_ScrollBar.h:180.
apps/openmw/mwgui/widgets.hpp  320  warn  V703 It is odd that the 'mRepeatStepTime' field in derived class 'MWScrollBar' overwrites field in base class 'ScrollBar'. Check lines: widgets.hpp:320, MyGUI_ScrollBar.h:181
apps/openmw/mwmechanics/actors.cpp  1425  warn  V547 Expression '!detected' is always true.
apps/openmw/mwmechanics/character.cpp  2155  err  V547 Expression 'mode == 0' is always true.
apps/openmw/mwmechanics/character.cpp  1192  warn  V592 The expression was enclosed by parentheses twice: ((expression)). One pair of parentheses is unnecessary or misprint is present.
apps/openmw/mwmechanics/character.cpp  521  warn  V560 A part of conditional expression is always true: (idle == mIdleState).
apps/openmw/mwmechanics/pathfinding.cpp  317  err  V547 Expression 'mPath.size() >= 2' is always true.
apps/openmw/mwscript/interpretercontext.cpp  409  warn  V560 A part of conditional expression is always false: rank > 9.
apps/openmw/mwgui/windowbase.cpp  28  warn  V560 A part of conditional expression is always true: !visible.
apps/openmw/mwgui/journalwindow.cpp  561  warn  V547 Expression '!mAllQuests' is always false.
apps/openmw/mwgui/referenceinterface.cpp  18  warn  V571 Recurring check. The '!mPtr.isEmpty()' condition was already verified in line 16.
apps/openmw/mwworld/scene.cpp  463  warn  V547 Expression 'adjustPlayerPos' is always true.
apps/openmw/mwworld/worldimp.cpp  409  err  V766 An item with the same key '"sCompanionShare"' has already been added.
apps/openmw/mwworld/cellstore.cpp  691  warn  V519 The 'state.mWaterLevel' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 689, 691.
apps/openmw/mwworld/weather.cpp  1125  warn  V519 The 'mResult.mParticleEffect' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 1123, 1125.
apps/openmw/mwworld/weather.cpp  1137  warn  V519 The 'mResult.mParticleEffect' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 1135, 1137.

apps/wizard/unshield/unshieldworker.cpp  475  warn  V728 An excessive check can be simplified. The '(A && B) || (!A && !B)' expression is equivalent to the 'bool(A) == bool(B)' expression.
apps/wizard/installationpage.cpp  163  warn  V735 Possibly an incorrect HTML. The "</p" closing tag was encountered, while the "</span" tag was expected.

components/fontloader/fontloader.cpp  427  err  V547 Expression 'i == 1' is always true.
components/nifosg/nifloader.cpp  282  warn  V519 The 'created' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 278, 282.
components/esm/loadregn.cpp  119  err  V586 The 'clear' function is called twice for deallocation of the same resource. Check lines: 112, 119.
components/esm/cellref.cpp  178  warn  V581 The conditional expressions of the 'if' statements situated alongside each other are identical. Check lines: 175, 178.
components/esmterrain/storage.cpp  235  warn  V560 A part of conditional expression is always true: colStart == 0.
components/esmterrain/storage.cpp  237  warn  V560 A part of conditional expression is always true: rowStart == 0.
2018-04-18 12:36:10 +00:00
David Cernat
e3c43c6af7 Merge pull request #400 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwmechanics/spellcasting.cpp
2018-04-03 01:25:17 +03:00
scrawl
c6abec1e51
Merge pull request #1641 2018-04-02 17:53:30 +00:00
David Cernat
ac82124a5d Merge pull request #395 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwmechanics/actors.cpp
2018-03-29 07:28:30 +03:00
Capostrophic
42b7846f81 Replace a redundant playerAllies check with a boolean (Fixes #4229) 2018-03-23 18:45:39 +03:00
Nelsson Huotari
63e34a5575 Typofix: updateCrimePersuit -> ...Pursuit 2018-03-23 14:10:43 +02:00
Andrei Kortunov
a0a30cdbf5 AI: hide torches during bad weather (bug #4334) 2018-03-19 08:03:53 +04:00
Andrei Kortunov
bd6c7de579 Do not unequip two-handed weapon when equipping torch 2018-03-19 08:03:53 +04:00
David Cernat
20caea083a [Client] Use correct count for items in equipment packets
Previously, throwing weapon sync was completely broken for players, as the count for their equipped throwing weapons was never set and – as a result – defaulted to a count of 1 on other clients. As a result, any time a player threw a dart, they would then appear as having switched to hand-to-hand for other players.

Moreover, the count of equipped items was mistakenly based on the total count of items with that refId in the inventory. As a result, if – for example – I equipped 1 Daedric Longsword and had 4 others in my inventory, my DedicatedPlayer on other clients would equip a Daedric Longsword with a count of 5. If I was overencumbered by having that many Daedric Longswords on me and then dropped 4 of them, allowing myself to move again, my DedicatedPlayer would still walk around with 5 Daedric Longswords and lack animations due to still being overencumbered on the other clients.

These problems were less prevalent for actors, but their equipment updating code has also been changed to match that of players.
2018-03-12 23:31:37 +02:00
David Cernat
5d4b97645d Merge pull request #374 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/CMakeLists.txt
2018-01-27 22:52:59 +02:00
scrawl
bba9a8dd91
Don't update off-screen animations
Make flying creatures animate in-place when out of processing range
2018-01-11 01:49:35 +00:00
David Cernat
ecb0ad0d77 Merge pull request #359 from OpenMW/master while resolving conflicts
# Conflicts:
#	.travis.yml
2017-12-25 02:03:02 +02:00
Allofich
e0c54b3f39 Stop guards trying to arrest player when calm
(Fixes #3863)
2017-12-05 23:53:02 +09:00
David Cernat
e7f20e7daf Merge pull request #351 from OpenMW/master while resolving conflicts
# Conflicts:
#	CMakeLists.txt
#	README.md
2017-11-30 10:06:38 +02:00
David Cernat
22521578eb
Merge pull request #349 from OpenMW/master
Add OpenMW commits up to 28 Nov 2017
2017-11-29 03:52:15 +02:00
Andrei Kortunov
b9d9660efd Update music state in the menu mode (bug #3664) 2017-11-28 20:49:48 +04:00
scrawl
5fe68ab062
Merge pull request #1419 2017-11-27 21:13:11 +00:00
David Cernat
2ba1c84cf7 Merge pull request #335 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwgui/container.cpp
2017-11-12 06:35:15 +02:00
Andrei Kortunov
8c0dcd8b2b Do not track a nearest actor during combat and pursue (bug #4179) 2017-11-11 19:46:59 +04:00
Andrei Kortunov
9943bd4d74 AiWander fast forwarding improvements (bug #3638) 2017-11-11 15:31:06 +04:00
David Cernat
3e8d7c8416 Merge pull request #306 from OpenMW/master
Add OpenMW commits up to 7 Oct 2017
2017-10-07 21:54:21 +03:00
Andrei Kortunov
e2afd3690c Remove item by id from InventoryStore 2017-10-06 10:54:25 +04:00
David Cernat
38247ff086 Merge pull request #303 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwbase/dialoguemanager.hpp
#	apps/openmw/mwdialogue/dialoguemanagerimp.hpp
#	apps/openmw/mwgui/container.cpp
#	apps/openmw/mwgui/windowmanagerimp.cpp
#	apps/openmw/mwscript/dialogueextensions.cpp
2017-10-06 04:10:04 +03:00
scrawl
b24fd77ea2 Merge pull request #1488 from akortunov/equipfix
AI: Autoequip armor when bound armor spell expires
2017-10-01 16:06:26 +00:00
Andrei Kortunov
21b6bd176f AI: Autoequip armor when bound armor spell expires 2017-10-01 17:11:30 +04:00
Andrei Kortunov
f26206b630 Make unconscious actors do not speak and do not track targets 2017-09-30 20:55:42 +04:00
David Cernat
73e7aa838d Merge pull request #296 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwgui/container.cpp
2017-09-22 19:12:41 +03:00
scrawl
5ebb43a422 Merge pull request #1467 from akortunov/guifixes
Restack soulgems when use SoulTrap
2017-09-20 14:15:49 +00:00
David Cernat
7f0ea7d01f Merge pull request #294 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwmechanics/character.cpp
2017-09-20 16:52:44 +03:00
Andrei Kortunov
9342a0254f Restack soulgems when use SoulTrap 2017-09-20 10:44:24 +04:00
scrawl
ed5b6320f3 Merge pull request #1463 from akortunov/getdetected
Allow to use GetDetected without a reference
2017-09-19 20:15:16 +00:00
David Cernat
4d4eb1bb9f Merge pull request #292 from OpenMW/master
Add OpenMW commits up to 18 Sep 2017
2017-09-19 09:40:45 +03:00
Andrei Kortunov
65d8e2ff5d Allow to use GetDetected without a reference (bug #3110) 2017-09-18 21:46:57 +04:00
AnyOldName3
0be7e2a5a5 Fix really obvious flaw with ignored records not being skipped that I missed 2017-09-17 14:16:17 +01:00
AnyOldName3
5a5cb1a160 Check death counts are for valid actors before loading them 2017-09-17 14:09:29 +01:00
David Cernat
960b91a53c Merge pull request #290 from OpenMW/master
Add OpenMW commits up to 17 Sep 2017
2017-09-17 10:53:33 +03:00
Chris Robinson
780e82480d Make the PlayMode and PlayType enums scoped
Also shorten them by putting them in the MWSound namespace
2017-09-15 02:36:59 -07:00
David Cernat
bd541b1e5b Merge pull request #287 from OpenMW/master while resolving conflicts
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/CMakeLists.txt
2017-09-12 07:38:49 +03:00
Andrei Kortunov
661232222f Allow guards to attack fighting creatures only in fAlarmRadius range 2017-09-10 15:26:48 +04:00
David Cernat
b64f379949 Merge pull request #286 from OpenMW/master while resolving conflicts
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwmechanics/actors.hpp
2017-09-04 18:05:24 +03:00
David Cernat
ccb15cc09e [Client] When players die, make guards willing to arrest them again 2017-09-04 15:13:05 +03:00
Andrei Kortunov
a5b01fefec Allow to interrupt an attack, if attack button is held 2017-09-01 14:28:21 +04:00
David Cernat
4468e6ec4a Merge pull request #280 from OpenMW/master while resolving conflicts
# Conflicts:
#	.gitignore
#	apps/openmw/mwmechanics/actors.hpp
#	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
2017-08-31 15:14:13 +03:00
scrawl
dc53573de4 Merge pull request #1405 from akortunov/stancechangefixes
Do not allow player to change weapon/spell during attack or spellcast
2017-08-29 23:11:23 +00:00
Andrei Kortunov
fb45995a41 Do not allow player to change weapon/spell during attack or spellcasting (bug #2445) 2017-08-29 15:53:23 +04:00
scrawl
2611377081 Merge pull request #1350 from akortunov/deathanimationfix
Do not allow to loot fighting actors during death animation (bug #3528)
2017-08-18 22:04:12 +00:00
Andrei Kortunov
641a6cd842 Added a delay before summoned creature corpse despawning 2017-08-18 11:58:28 +04:00
Andrei Kortunov
bc7353f100 Check animation state for GetPCRunning and GetPCSneaking 2017-08-16 20:30:47 +04:00
David Cernat
721b218cc2 Merge pull request #258 from OpenMW/master while resolving conflicts
# Conflicts:
#	.travis.yml
#	README.md
2017-08-05 00:09:34 +03:00
scrawl
631d79f1c8 Merge pull request #1346 from akortunov/aibreathe
AiBreathe AI package (feature #1374)
2017-07-28 20:50:04 +00:00
Andrei Kortunov
920021c61b Update effects during rest (bug #3679) 2017-07-28 16:50:52 +04:00
David Cernat
796118c266 [Client] Send StatsDynamic packets more often 2017-07-26 20:15:35 +03:00
David Cernat
84662ed3fe [Client] Add temporary warnings when creating custom spells and items 2017-07-26 05:36:12 +03:00
Andrei Kortunov
548814bfbc Added AiBreathe package (feature #1374) 2017-07-25 10:58:04 +04:00
Koncord
6222c20e82 [Client] Convert MechanicsHelper to namespace 2017-06-27 16:43:53 +08:00
David Cernat
9a519b5cc2 [Client] Avoid incrementing actor death count if we aren't its authority 2017-06-23 09:22:48 +03:00
David Cernat
70d9374a6a [General] Implement PlayerKillCount packets 2017-06-10 14:04:19 +03:00
Koncord
5f30dfd5db [Client] Get rid direction.rot 2017-06-02 15:44:39 +08:00
David Cernat
8c785fb22c [Client] Send ObjectDelete packets when summoned creatures despawn 2017-06-02 09:15:08 +03:00
David Cernat
1c6e359fe9 [Client] Set and clear hitAttemptActorId for DedicatedPlayers
This allows a DedicatedPlayer's follower NPCs to target enemies attacking the DedicatedPlayer.
2017-05-30 08:20:45 +03:00
David Cernat
9d9581a1c2 [Client] Prevent DedicatedActors from automatically equipping torches 2017-05-27 02:52:26 +03:00
David Cernat
8b8d55e8d3 [Client] Set a very high processing range for AI for the time being 2017-05-05 03:17:28 +03:00
David Cernat
809b4d78ba [Client] Split off DedicatedPlayer and PlayerList into different files 2017-04-30 14:57:43 +03:00
David Cernat
11605bd19a [Client] Make aggressive actors initiate combat with DedicatedPlayers
Previously, they were only attacking DedicatedPlayers who had attacked them first.
2017-04-25 16:08:14 +03:00
David Cernat
a5484d237b Merge pull request #203 from OpenMW/master
Add OpenMW commits up to 21 Apr 2017, part 2
2017-04-21 21:07:37 +03:00
scrawl
1956602aa2 Merge pull request #1262 from Allofich/warnings
Fix more warnings
2017-04-21 14:34:36 +02:00
David Cernat
fec82dc033 Merge pull request #202 from OpenMW/master
Add OpenMW commits up to 21 Apr 2017
2017-04-21 07:58:13 +03:00
Allofich
ff3cb18d4f Fix shadowing warnings 2017-04-21 11:06:18 +09:00
Allofich
ff3e307059 Pass parameters by const reference 2017-04-20 23:47:03 +09:00
Allofich
2e5fd74db0 Fix invalid iterator warning 2017-04-20 19:30:35 +09:00
David Cernat
edb155869b Merge pull request #201 from OpenMW/master
Add OpenMW commits up to 19 Apr 2017
2017-04-19 22:12:33 +03:00
David Cernat
2e8714afaa [Client] Rethink and restructure tes3mp combat code so it works for NPCs 2017-04-19 22:06:04 +03:00
Andrei Kortunov
04eb4ea6b6 Check for disabled levitation (fixes #3766) 2017-04-19 18:38:25 +04:00
Andrei Kortunov
c3fd327bb2 Fixed drowning widget initialization 2017-04-19 08:48:16 +04:00
David Cernat
53081a6a6f [Client] Clean up more checks by using PlayerList::isDedicatedPlayer() 2017-04-18 12:38:26 +03:00
David Cernat
07c2d4251e [Client] Add and use mwmp::PlayerList::isDedicatedPlayer() 2017-04-17 20:36:20 +03:00
David Cernat
0aaf68c994 [Client] Rename mwmp::Players into mwmp::PlayerList for clarity 2017-04-17 19:10:33 +03:00
David Cernat
2565816b22 [Client] Delimit and clarify combat changes made by tes3mp
Additionally, revert unneeded small changes to the formatting of OpenMW code
2017-04-17 11:55:22 +03:00
David Cernat
f64580bc10 [Client] Enable head rotation AI for DedicatedActors 2017-04-16 08:42:49 +03:00
David Cernat
8ebe7ed683 [Client] Remove isLocalActor (no longer needed) from LiveCellRefBase 2017-04-16 07:54:44 +03:00
David Cernat
c6cd0a2953 Merge pull request #196 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwmechanics/spellcasting.cpp
2017-04-13 07:07:49 +03:00
Allofich
470988f9ef Minor changes to getActorsSidingWith 2017-04-13 04:45:44 +09:00
Allofich
6272e1c674 Cache allies found while iterating engageCombat
(Fixes #3814)
2017-04-13 02:02:38 +09:00
David Cernat
d4a12856ee [Client] Enable AI for LocalActors 2017-04-06 04:59:55 +03:00
Andrei Kortunov
14b59e0e4b Vanilla-like tgm (fixes #3798) 2017-03-25 22:40:11 +04:00
David Cernat
df051a777a Merge pull request #181 from OpenMW/master
Add OpenMW commits up to 4 Mar 2017
2017-03-04 22:56:16 +02:00
scrawl
29556a1802 More consistent wording of errors/warnings
A Warning indicates a potential problem in the content file(s) that the user told OpenMW to load. E.g. this might cause an object to not display at all or as intended, however the rest of the game will run fine.

An Error, however, is more likely to be a bug with the engine itself - it means that basic assumptions have been violated and the engine might not run correctly anymore.

The above mostly applies to errors/warnings during game-play; startup issues are handled differently: when a file is completely invalid/corrupted to the point that the engine can not start, that might cause messages that are worded as Error due to the severity of the issue but are not necessarily the engine's fault.

Hopefully, being a little more consistent here will alleviate confusion among users as to when a log message should be reported and to whom.
2017-03-04 21:48:31 +01:00
David Cernat
9cffc1f661 [Client] Don't open up main menu when player's death animation finishes 2017-03-04 02:29:57 +02:00
David Cernat
a2ef39c655 Merge pull request #178 from OpenMW/master
Add OpenMW commits up to 2 Mar 2017
2017-03-02 22:14:15 +02:00
scrawl
1692b7f38e Merge pull request #1209 from dhustkoder/master
Added ConstContainerStoreIterator (Task #3092)
2017-03-02 18:36:21 +01:00
Rafael Moura
18a4b64f1a Porting more ContainerStoreIterator usage to const version #2 2017-02-27 21:50:10 +00:00
David Cernat
4110fac629 Merge pull request #174 from OpenMW/master
Add OpenMW commits up to 26 Feb 2017, part 2
2017-02-27 01:05:02 +02:00
scrawl
6f4c03aa32 Avoid retrieving setting every frame 2017-02-26 17:34:24 +01:00
David Cernat
2ed9ae5739 Merge pull request #149 from OpenMW/master
Add OpenMW commits up to 14 Feb 2017
2017-02-14 10:27:53 +02:00
scrawl
183c46b0ef Fix summoning effects 2017-02-14 07:58:16 +01:00
David Cernat
d528a0edb5 Merge pull request #147 from OpenMW/master
Add OpenMW commits up to 11 Feb 2017
2017-02-11 21:27:51 +02:00
scrawl
5a12407436 Revert "Rearranged check for better performance"
This reverts commit 332ceb51a2.
2017-02-11 17:53:11 +01:00
David Cernat
6763718412 Merge pull request #146 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwclass/npc.cpp
#	apps/openmw/mwmechanics/actors.cpp
2017-02-10 21:39:16 +02:00
scrawl
332ceb51a2 Rearranged check for better performance 2017-02-10 06:48:03 +01:00
Allofich
5d2090684a Store mHitAttemptActorId in save files 2017-02-07 01:26:26 +09:00
Allofich
25c64dbb0f Make combat engagement logic more like vanilla
(Fixes #2678, Fixes #3705)
2017-02-07 01:25:12 +09:00
David Cernat
27242cdab9 Merge pull request #142 from OpenMW/master
Add OpenMW commits up to 6 Feb 2017
2017-02-06 09:13:19 +02:00
scrawl
bc29a99a53 Fix broken timer 2017-02-06 05:10:40 +01:00
David Cernat
3a29b2d41d Merge pull request #141 from OpenMW/master
Add OpenMW commits up to 5 Feb 2017
2017-02-05 07:11:45 +02:00
scrawl
3065600a86 Skip expensive visitEffectSources call if no summoned creatures or summon effects are active 2017-02-05 02:26:28 +01:00
scrawl
a2cede8f34 Add timer for updateEquippedLight 2017-02-05 02:26:28 +01:00
David Cernat
f376b8416e Merge pull request #127 from OpenMW/master
Add OpenMW commits up to 15 Jan
2017-01-15 02:51:15 +02:00
Allofich
f2240dde9c Allow command spells to work when cast by AI on AI
(Fixes #3723)
2017-01-15 01:56:22 +09:00
Allofich
e825010107 Apply command spell effects on impact
Command spells should apply their effects, including taking an actor out
of combat, every time a spell successfully hits, even if a previous
command effect is still active.
2017-01-15 01:53:22 +09:00
David Cernat
dfb87e9e0d Merge pull request #124 from OpenMW/master
Add OpenMW commits up to 11 Jan
2017-01-11 13:30:22 +02:00
scrawl
212e85e810 Merge pull request #1174 from Allofich/combat
Adjustments to AI combat engaging and disengaging
2017-01-01 19:36:09 +01:00
David Cernat
fba4878fee Merge pull request #118 from OpenMW/master
Add OpenMW changes up to 27 Dec
2016-12-27 03:49:52 +02:00
Allofich
54fa921dad Change some AI combat engagements to not need LOS 2016-12-26 22:42:46 +09:00
Allofich
6fa0354a17 Make AI attack player also if it attacks follower 2016-12-26 22:42:45 +09:00
Allofich
5a6ea4e84e Cleanup 2016-12-26 22:42:44 +09:00
Allofich
e8c7ad2f4b Change environment check to canFight check
Instead of just checking that combatants are in compatible environments,
allow combat if in attack range using canFight. Together with previous
commit, fixes #3690.
2016-12-26 02:14:01 +09:00
Allofich
588442b6cc Make enemies start combat with player followers
Recreates vanilla behavior of enemies starting combat with player
followers and escorters. (Fixes #3691)
2016-12-26 02:13:54 +09:00
NeveHanter
8902bb5b13 Player now pays for the following actors when travelling, with the exception of the first follower who travels for free, refactored getFollowers to getActorsFollowing/getActorsSidingWith 2016-12-20 12:38:51 +01:00
David Cernat
973db7c78a Merge pull request #113 from OpenMW/master
Add OpenMW commits up to 17 Dec
2016-12-17 23:27:09 +02:00
Koncord
536715cf46 Cleanup tes3mp headers 2016-12-16 16:59:15 +08:00
Leon Krieg
12c8c3276a Disable NPC collision only when death animation has finished (#3666) 2016-12-15 19:33:14 +01:00
Allofich
6816e935f1 Fix fortify maximum magicka expiration (Fixes #3648) 2016-12-06 21:00:03 +09:00
David Cernat
234266755e Prevent player-controlled NPCs from auto-unequipping candles and torches 2016-11-18 02:47:59 +02:00
David Cernat
3a733eb122 Make tes3mp includes consistent 2016-11-17 17:16:25 +02:00
David Cernat
fa9d6e810e Use lowerCamelCase in tes3mp client function names like OpenMW does 2016-11-15 21:54:06 +02:00
Koncord
56959ebfda Implement magic 2016-11-12 19:39:16 +08:00
David Cernat
e27d1857ef Fix formatting in previous changes made by tes3mp to OpenMW's core 2016-10-19 22:06:11 +03:00
David Cernat
3136a12051 Resolve conflicts in pull request #75
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/CMakeLists.txt
2016-10-14 18:34:17 +03:00
scrawl
454d1ffaef Make the cell change check during actor update more robust 2016-10-13 14:39:58 +02:00
David Cernat
6eae017561 Merge pull request #74 from OpenMW/master
Add OpenMW commits up to 5 Oct
2016-10-06 06:16:09 +03:00
Allofich
a2e174a40f Don't let water-only creatures prevent resting 2016-10-01 22:15:31 +09:00
David Cernat
728a09e423 Reorder functions in LocalPlayer and make their names more consistent 2016-09-30 08:59:58 +03:00
David Cernat
babba95413 Merge pull request #34 from OpenMW/master
Add OpenMW commits from 1st week of August
2016-08-08 15:53:56 +03:00
MiroslavR
b65f379b7f Save scripted animation state (Fixes #1931, #2150, #3393) 2016-08-03 03:52:35 +02:00
Aesylwinn
b4a000913c Merge remote-tracking branch 'yar/master' into Even
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwdialogue/filter.cpp
#	apps/openmw/mwmechanics/character.cpp
#	apps/openmw/mwworld/localscripts.cpp
#	components/CMakeLists.txt
#	components/compiler/exprparser.cpp
#	components/sceneutil/workqueue.cpp
2016-07-17 23:50:52 -04:00
Koncord
1b259e2d33 Syncing inventory, animations, position, 8 key attributes
Created Package system
2016-07-07 23:50:48 +08:00
MiroslavR
80f2ae0ca7 Apply magic effects while waiting/sleeping 2016-07-06 00:20:23 +02:00
MiroslavR
54f52f7bae Implement effect removal for abilities (Fixes #3455) 2016-07-01 18:50:28 +02:00
Allofich
2290346296 Fix timing of some magicka calculations 2016-06-30 02:59:09 +09:00
Allofich
dc468dd139 Fix magicka and fatigue calculations from fortifying attributes 2016-06-25 19:21:49 +09:00
Allofich
b1be3596dc Cleanup of #include statements 2016-06-18 10:56:28 +09:00
scrawl
3ec4ee6290 Make a copy of map key to work around it being invalidated (Fixes #3329) 2016-06-13 02:06:44 +02:00
scrawl
4acfe1a7e4 Move cleanupSummonedCreature to the mechanics manager (Bug #3439) 2016-06-12 02:43:33 +02:00
scrawl
910ad76e29 Remove spell effects when a summoned creature expires (Bug #3439) 2016-06-12 00:41:13 +02:00
scrawl
a825882c6b Process death events at the end of the death animation (Fixes #1873) 2016-06-12 00:04:50 +02:00
scrawl
7a30ef5cc1 Do not consider actors following the player as hostiles 2016-06-11 18:26:20 +02:00
scrawl
abcd2219e8 Ignore the calling actor in getEnemiesNearby / getActorsFighting 2016-06-08 22:13:21 +02:00
scrawl
165f048792 Do not count dead NPCs as observers (Fixes #3434) 2016-06-07 22:01:44 +02:00
scrawl
f417d7780a Fix the enemy nearby check (Bug #3423) 2016-06-07 01:55:34 +02:00
scrawl
c4d38bb42d Fix clang analyzer warnings 2016-02-16 19:17:04 +01:00
scrawl
145756c0a1 Partly revert "Avoid directly iterating the actor map (Fixes #3173)"
Caused issues when a summoned creature is removed as part of the magic effect update.

Fixes #3178
2016-02-02 15:57:15 +01:00
scrawl
59d2de118f Avoid directly iterating the actor map (Fixes #3173) 2016-02-02 00:50:21 +01:00
scrawl
c34314ae26 When an actor dies purge all spell effects cast by that actor (Fixes #3175) 2016-02-01 22:52:28 +01:00
scrawl
63b9b075aa Do not allow soul trapping the same creature more than once (Fixes #3102) 2015-12-26 18:47:22 +01:00
scrawl
53f4b92426 AiEscort do not follow target through doors
Testing revealed a problem where the guard on the prison ship would incorrectly follow the player outside. Upon further investigation in vanilla MW, it appears that with AiEscort the actor only follows the target through doors once the AiEscort package has completed, *and* no new AI package is running yet.
2015-12-19 15:15:44 +01:00
scrawl
689dea4cb3 Add instant spell effects to the actor's magic effect list
Via http://forum.openmw.org/viewtopic.php?f=2&t=3212&start=20#p36208
2015-12-17 19:49:37 +01:00
scrawl
375caf037d Don't applyInstantEffect when magnitude is zero 2015-12-15 20:46:05 +01:00
scrawl
4af376133b Don't tick effects when duration is zero 2015-12-15 20:41:00 +01:00
scrawl
572786bff2 Instant effects that were added by a permanent ability are applied every frame
Via http://forum.openmw.org/viewtopic.php?f=2&t=3212&p=36120#p36121
2015-12-14 03:27:49 +01:00
scrawl
a7e0562e1c Fix improper handling of multiple AiFollow packages with the same target (Fixes #3077) 2015-12-13 17:42:11 +01:00
scrawl
965bea45c0 AiEscort makes the actor side with target in fights (Bug #2697)
Also will follow the player through teleport doors.
2015-12-06 23:38:51 +01:00
scrawl
5b8fd79b4b Fix crash when exception is thrown in startNewGame() 2015-11-27 21:38:57 +01:00
scrawl
44dd62067e Remove some unnecessary per-frame store searches 2015-11-27 02:13:56 +01:00
Chris Robinson
73448c72f6 Replace Play_NoTrack with playManualSound3D, and rename the latter 2015-11-25 04:24:26 -08:00
scrawl
62169a7039 Use a single-precision PositionAttitudeTransform in speed critical places 2015-11-22 19:54:26 +01:00
scrawl
84747fbdd7 Use the actual sneak state to determine visibility of indicator (Fixes #2915) 2015-09-16 15:37:36 +02:00
Marc Zinnschlag
a52b947efe Merge remote-tracking branch 'dteviot/MagicEffectsRefactorDraft3' 2015-08-23 12:11:30 +02:00
dteviot
77a1d947cc extracted MWMechanics::getPlayer() 2015-08-21 21:12:39 +12:00
dteviot
0ee7407101 extracted common sub-expressions. 2015-08-20 18:17:02 +12:00
dteviot
ff5ef7055e extracted function CreatureStats::isParalyzed() 2015-08-20 18:12:37 +12:00
Jeffrey Haines
e1baf1ea48 NPCs scream when they die 2015-08-19 09:51:04 -04:00
scrawl
232dfdc07e Make an error message slightly more helpful 2015-08-19 01:24:54 +02:00
Marc Zinnschlag
d29862eac3 Merge remote-tracking branch 'emperorarthur/anim_fail' 2015-08-08 10:47:46 +02:00
scrawl
7644a46ded Creatures with no movement should not attempt to start combat (Fixes #2786) 2015-07-31 01:26:26 +02:00
Arthur Moore
5e6fcc2aef Alert the user if attempting to play an animation fails
This is mostly propogating the error up the stack so the game can do something about it.
Working on avoiding log spam from calling an animation that doesn't exist every frame.
2015-07-30 08:00:26 -04:00
scrawl
7f66339790 Remove a redundant function 2015-07-24 20:23:27 +02:00
Marc Zinnschlag
9b3d5c958f Merge remote-tracking branch 'scrawl/music' 2015-07-19 11:49:00 +02:00
scrawl
b01abe4d19 Stop title music when the game starts (Fixes #2468) 2015-07-19 02:08:24 +02:00
scrawl
278a078e9d Unify magic effect tick functions
- Removes duplicated code
- Handle some zero-duration instant effects that were not handled before (disintegrate, sun damage, elemental damage)
2015-07-18 20:39:45 +02:00
scrawl
77f1387da8 Include cleanup 2015-07-18 20:36:28 +02:00
Alexander "Ace" Olofsson
b1cc74dd9a Explicity instantiate MWMechanics::Stat 2015-07-09 14:41:37 +02:00
Alexander "Ace" Olofsson
3655ef16af Explicitly instantiate ESM::StatState 2015-07-07 19:19:37 +02:00
scrawl
a1432b0255 Move attackingOrSpell flag to the CharacterController 2015-07-02 19:14:28 +02:00
scrawl
59db9664ba Pass the CharacterController to AiPackage::execute 2015-06-26 17:47:04 +02:00
scrawl
7bacb9418d Various math code ported to osg 2015-06-03 19:41:19 +02:00
scrawl
de8e5f0db1 Restore projectiles 2015-06-01 21:41:13 +02:00
scrawl
71bafcb52b Restore head tracking 2015-05-31 18:04:14 +02:00
scrawl
83c6ba97c0 Disable skinning updates for actors beyond the AI processing distance 2015-04-30 00:10:24 +02:00
scrawl
0ff7b2ff11 MechanicsManager, frame update 2015-04-25 15:19:17 +02:00
scrawl
a3417a9c49 CharacterController compiles 2015-04-25 01:20:07 +02:00
dteviot
1d7f3474fa Fixed more MSVC 2013 warnings. 2015-03-15 08:49:03 +13:00
scrawl
3879ce6ac1 Get rid of "player" string checks (Fixes #2216) 2015-03-11 23:07:39 +01:00
scrawl
68de876051 Switch to weapon drawstate when creating a bound weapon (Fixes #2387) 2015-03-11 21:12:08 +01:00
scrawl
36e1b6cc48 Support fatigue below zero for the Drain effect (Fixes #2430) 2015-03-09 03:15:11 +01:00
scrawl
3d5c1d1190 Adjust fix for maximum attribute damage limit 2015-03-09 03:15:11 +01:00
dteviot
36141b0c53 Merge remote-tracking branch 'OpenMW/master' into FixWarnings
Conflicts:
	apps/openmw/mwinput/inputmanagerimp.cpp
	apps/openmw/mwmechanics/actors.cpp
	extern/sdl4ogre/sdlcursormanager.cpp
2015-03-08 18:29:12 +13:00
dteviot
ca8c8c6aa4 fixing MSVC 2013 warning C4244: & C4305
conversion from 'const float' to 'int', possible loss of data
conversion from 'double' to 'int', possible loss of data
conversion from 'float' to 'int', possible loss of data
2015-03-08 17:42:07 +13:00
scrawl
cced508916 Remove unintended 1.5 factor for damage/restore magic effects 2015-03-04 01:49:00 +01:00
dteviot
41e15e0c2d Limit maximum attribute damage (Fixes #2367)
Maximum damage that an attribute can have = base + fortify.
2015-03-01 10:27:51 +13:00
scrawl
c883a73d30 Several warning fixes 2015-01-23 15:34:47 +01:00
scrawl
2ac4a74a34 Fix running AI for dead actors 2015-01-13 18:13:02 +01:00
scrawl
de23ad5c8d Change dynamic_cast to static_cast to make coverity happy 2015-01-12 23:29:58 +01:00
scrawl
c3f3f8b3d0 Use only Cell records for saving progress bar (Fixes #2259) 2015-01-11 18:01:06 +01:00
dteviot
458b82c308 Centralized "fish can't attack non-swimmer" logic. 2015-01-11 14:25:46 +13:00
dteviot
7fe2f86d06 Slaughter fish attacks when player only knee deep in water (Fixes #2076) 2015-01-09 21:40:53 +13:00
scrawl
f267497c03 Allow separate summoned creature instances for each spell ID (Fixes #2194) 2015-01-06 16:11:05 +01:00
scrawl
559ddbb480 Quick fix for Ai fast-forward crash in exteriors (Fixes #2241) 2015-01-01 18:18:46 +01:00
scrawl
dc1c52bda7 Add some todo comments 2015-01-01 03:38:54 +01:00
scrawl
a8ae0dec52 Implement AiWander fast-forward (Feature #1125) 2014-12-31 18:41:57 +01:00
scrawl
edc128572d Add MWMechanics::Actor class for temporary actor state, move AiState there 2014-12-24 15:45:14 +01:00
scrawl
0081a68376 Use fMagicStartIconBlink for spell effect indicator fading 2014-12-24 15:45:13 +01:00
scrawl
105f0f8716 Head tracking: don't look at dead actors 2014-12-24 15:45:12 +01:00
scrawl
d962f0918d Implement NPC head tracking (Fixes #1720) 2014-12-16 20:47:45 +01:00
scrawl
2b78e9795d Implement Calm effect removing combat packages (Fixes #1985) 2014-12-14 19:35:34 +01:00
scrawl
60aa209144 Implement drowning when knocked out underwater (Fixes #1228) 2014-12-12 17:42:56 +01:00
scrawl
d034a079e6 Allow equipping twohanded weapon and shield at the same time (Fixes #1785)
The shield can be equipped, meaning armor rating and item enchantments apply, but can not be blocked with.
2014-12-12 16:49:22 +01:00
scrawl
5f00a3d5c3 Reset lastHitObject when it is retrieved rather than every frame
This seems to be how vanilla MW does it.
2014-12-11 22:00:31 +01:00
scrawl
109a3f78a1 Adjust AiFollow distance for groups of multiple followers (Fixes #1637) 2014-12-09 16:06:04 +01:00
scrawl
0a466ad643 Make recalculation of magicka less aggressive (Fixes #2155) 2014-11-28 14:45:35 +01:00
MiroslavR
b8d5a9486a Make Restore/Damage Attribute/Skill effects continuous 2014-11-08 00:57:03 +01:00
Marc Zinnschlag
6beee95151 Merge remote-tracking branch 'terrorfisch/aistate' 2014-10-13 19:14:15 +02:00
Thoronador
4d62541b62 fix usage of numeric_limits static functions min() and max()
Functions min() and max() of std::numeric_limits<T> are static
and can therefore be accessed via class name and :: operator.
2014-10-12 23:28:16 +02:00
MiroslavR
ad253059b1 Hit indicator for absorb/damage health effect 2014-10-12 01:15:40 +02:00
MiroslavR
0ae604990e Implement continuous damage indication (Fixes #1970) 2014-10-11 22:21:48 +02:00
terrorfisch
0871d45790 Draft how to move temporary package state to CharacterController.
Example for a few values shown in AiWander.
2014-10-08 10:58:52 +02:00
scrawl
5c3bc6563b Fix divisions by zero in normalizedEncumbrance 2014-10-05 15:50:01 +02:00
scrawl
8dd410fe96 Teleport indirect followers as well when using a door (Fixes #1974) 2014-10-05 15:18:32 +02:00
scrawl
1c51694aa9 Don't update physics and animation for actors outside the AI processing distance 2014-10-02 00:27:04 +02:00
scrawl
7f18f85a1d Forgot const 2014-09-29 12:04:19 +02:00
scrawl
ea956b537c Don't search for fFatigueReturnBase and fFatigueReturnMult every frame 2014-09-27 22:37:53 +02:00
scrawl
e868a48a63 Don't trigger OnPcHitMe for friendly hits (Fixes #1950)
Don't consider actors as followers if they are also in combat with the follow target
2014-09-26 22:08:07 +02:00
scrawl
7252cb63a6 Fix cppcheck issues 2014-09-26 17:48:14 +02:00
scrawl
f56711f443 Fix crash caused by teleportation spells (Fixes #1904) 2014-09-25 18:14:04 +02:00
Marc Zinnschlag
175d4f3d44 Merge remote-tracking branch 'ragora/playdeathlevelupmusic' 2014-09-23 13:30:50 +02:00
Ragora
06e683d378 Added code to play music on level up and on death 2014-09-23 04:58:19 -04:00
scrawl
023d7072f9 Don't play battle music for enemies out of AI processing range 2014-09-20 13:55:57 +02:00