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

344 commits

Author SHA1 Message Date
Capostrophic
64d5cd17d6 Move werewolf silver damage mult applying into a new function 2019-02-22 00:01:21 +03:00
Capostrophic
808b8ce8db Refactor normal weapon resistance 2019-02-22 00:01:21 +03:00
Capostrophic
5c889f7359 Add creature-with-the-same-model soundgen fallback (bug #4813)
Creatures will use sounds of the first creature that has the same model in the record store when possible.
2019-01-29 16:29:47 +03:00
David Cernat
5d9893ee92 [Client] Set actor killer correctly for spells that do damage over time
Additionally, clean up comments related to other code that sets actor killers.
2018-12-30 07:40:11 +02:00
Andrei Kortunov
92e45507d8 Weapon sheathing support, including quivers and scabbards (feature #4673) 2018-11-05 11:18:20 +04:00
Capostrophic
4b1d287eda Clean up redundant getClass calls in classes 2018-10-28 17:03:38 +03:00
Capostrophic
9809eef18e Utilize the default soundgen entries when necessary (bug #4689) 2018-10-21 11:32:23 +03:00
Capostrophic
bf3f82b9d4 Cleanup 2018-10-14 21:28:43 +03:00
Andrei Kortunov
e06f0b797a Replace all NULLs to nullptr 2018-10-09 10:21:12 +04:00
David Cernat
995d20348f [General] Always use correct ranged weapon & ammo for ranged attack sync
Previously, the player's currently selected weapon was being used in ranged attacks as in the original melee-oriented attack sync, which meant that shooting one type of projectile and then equipping another while the old projectile was still in the air turned the old projectile into the new projectile upon impact.

Additionally, avoid running most of the code in MechanicsHelper::assignAttackTarget() for non-hitting melee and ranged attacks.
2018-09-23 02:30:31 +03:00
David Cernat
33a0886790 [Client] Fix synchronization of knockdown states 2018-09-15 04:59:06 +03:00
David Cernat
8012d0d7b7 [General] Include hit position in PlayerAttack and ActorAttack packets 2018-09-08 05:29:49 +03:00
Capostrophic
7ef6fa9f61 Remove deprecated GMST get* functions 2018-08-29 18:38:12 +03:00
Capostrophic
7f459f0610 Knockdown and godmode fixes
Make sure an incapacitated player is not able to jump
Cleanup of redundant player and godmode checks in creature class
Make sure the player is not knocked down while in godmode
2018-08-28 16:42:15 +03:00
David Cernat
a083439139 Merge pull request #469 from davidcernat/master while resolving conflicts
# Conflicts:
#	apps/openmw/main.cpp
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwdialogue/dialoguemanagerimp.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwscript/dialogueextensions.cpp
#	apps/openmw/mwworld/worldimp.hpp
2018-08-20 14:08:44 +03:00
Andrei Kortunov
5a4d0cec3a Use new logging system for game itself 2018-08-14 23:05:43 +04:00
Andrei Kortunov
23d917df9c Do not use magic numbers in capacity calculations 2018-07-26 18:06:36 +04:00
David Cernat
21d5bb4d4e
Merge pull request #460 from OpenMW/master
Add 0.7.0 commits up to 20 Jul 2018
2018-07-21 05:59:57 +03:00
Andrei Kortunov
8281fd903f Set movement speed to 0 when unconscious (bug #4519) 2018-07-19 20:17:32 +04:00
David Cernat
c075496748 [General] Replace deathReason in death packets with a killer variable
Add serverside script functions for determining the killers of both players and actors.

Use unsigned ints for script functions returning an object or actor's refNumIndex or mpNum.

Remove updateDeadState() from LocalPlayer and make its code part of updateStatsDynamic() for simplicity.
2018-07-05 22:24:51 +03:00
David Cernat
a236ffc4be Merge pull request #456 from OpenMW/master while resolving conflicts
# Conflicts:
#	.travis.yml
#	README.md
#	apps/openmw/mwgui/quickkeysmenu.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwmechanics/combat.cpp
2018-07-04 01:52:29 +03:00
David Cernat
7ffdb18bf9 [General] Implement ActorDeath packet, part 1
ActorDeath packets are sent for dead actors before their StatsDynamic packets. They contain the actor's deathReason in a manner similar to that of PlayerDeath packets.

A future commit will replace the deathReason with a variable named killer which will be an mwmp::Target.
2018-06-27 21:47:55 +03:00
Andrei Kortunov
b0a140e714 Disable actor collision only after end of death animation 2018-06-12 10:00:38 +04:00
Andrei Kortunov
977a27ecb7 Do not clear corpses until end of death animation (bug #4307) 2018-06-11 22:29:32 +04:00
David Cernat
a86c68c5a1 [General] Add sync for ranged weapon & projectile strike enchantments 2018-04-03 14:12:27 +03:00
David Cernat
3f8d94b030 [General] Synchronize strike enchantments in combat 2018-04-03 10:27:02 +03: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
Andrei Kortunov
b8fd530ee1 Do not speak with unconscious creatures 2017-09-30 21:20:38 +04:00
scrawl
84657271c7 Improve WindowManager API with a generic way of passing a Ptr to the opened GUI window 2017-09-24 19:08:12 +02: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
Andrei Kortunov
dd919b9f2c Do not allow to loot fighting actors during death animation (bug #3528) 2017-08-07 09:55:50 +04:00
Koncord
6222c20e82 [Client] Convert MechanicsHelper to namespace 2017-06-27 16:43:53 +08:00
David Cernat
fa3baac0f3 Merge pull request #228 from OpenMW/master while resolving conflicts
# Conflicts:
#	.travis.yml
#	CMakeLists.txt
#	apps/openmw/main.cpp
2017-06-18 18:16:10 +03:00
Bret Curtis
d785344fad purge all instances of <boost/shared_ptr.hpp>, clean up unused headers 2017-06-09 19:08:53 +02:00
Ewan Higgs
38a2de3c51 convert std::autor_ptr to std::unique_ptr, originally by Ewan Higgs and updated by Bret Curtis 2017-06-09 16:49:25 +02: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
809b4d78ba [Client] Split off DedicatedPlayer and PlayerList into different files 2017-04-30 14:57:43 +03:00
David Cernat
ea7c3f2dc7 [Client] Make tes3mp combat code work with Creatures, not just NPCs 2017-04-24 21:06:23 +03:00
Andrei Kortunov
14b59e0e4b Vanilla-like tgm (fixes #3798) 2017-03-25 22:40:11 +04:00
Allofich
5282556ae0 Show names on combat actors when RMB GUI is active
Fixes (#3797)
2017-03-22 20:04:29 +09:00
Rafael Moura
05cc69f6f1 Porting more ContainerStoreIterator usage to const version 2017-02-26 21:24:51 +00:00
Allofich
6b53541571 Prevent AI actors from hitting unintended targets
(Fixes #3254)
2017-02-12 19:51:19 +09:00
Allofich
e047679595 Fix trying to access stats on non-actors 2017-02-11 19:59:42 +09: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
MiroslavR
f1f9209814 Creatures now auto-equip shields (Fixes #3704) 2017-01-08 20:52:04 +01:00
Allofich
34851349de Pass hitPosition by const reference 2016-09-13 00:59:56 +09:00
Allofich
bce0166931 Don't play blood effects for resisted hits 2016-09-12 22:46:32 +09:00
scrawl
a825882c6b Process death events at the end of the death animation (Fixes #1873) 2016-06-12 00:04:50 +02:00
scrawl
8fcc1911d9 Use fCombatDistance as the creature attack range 2016-06-10 23:47:01 +02:00
scrawl
c3ef387208 Vanilla-compatible creature/NPC respawning (Fixes #2369, Fixes #2467) 2016-02-27 12:53:07 +01:00
scrawl
d05603c7fe Directly apply On Target 'When Strikes' enchantments instead of launching a projectile (Fixes #3212) 2016-02-22 19:42:54 +01:00
scrawl
fb219fea17 Fix respawning of NPCs/creatures when they were moved to a different cell 2016-02-10 19:07:01 +01:00
scrawl
effe022bb2 Move preload model list to MWClass, preload NPC head/hair 2016-02-08 20:52:32 +01:00
scrawl
32d5dece58 Add count argument to getToolTipInfo 2015-12-19 16:29:07 +01:00
scrawl
0d4729dcd5 Use the const version of CustomData::as* 2015-12-19 16:19:52 +01:00
scrawl
b0894ea20d Accept a ConstPtr in hasToolTip 2015-12-19 16:15:45 +01:00
scrawl
04f7a8f8eb Remove redundant getId function 2015-12-18 16:58:38 +01:00
scrawl
303521002d Accept a ConstPtr in adjustScale 2015-12-18 16:46:02 +01:00
scrawl
09bdb0ad4b Accept a ConstPtr in getServices 2015-12-18 16:44:35 +01:00
scrawl
3c98f8dde3 Accept a ConstPtr in isPersistent 2015-12-18 16:41:37 +01:00
scrawl
3fe3091275 Accept a ConstPtr in isEssential 2015-12-18 16:39:35 +01:00
scrawl
4a47fc32fa Accept a ConstPtr in getBloodTexture 2015-12-18 16:39:08 +01:00
scrawl
5b082be79f Accept a ConstPtr in getBaseGold 2015-12-18 16:28:20 +01:00
scrawl
da7ebfde99 Accept a ConstPtr in copyToCell 2015-12-18 16:27:18 +01:00
scrawl
954186fe1e Accept a ConstPtr in canFly, canSwim & canWalk 2015-12-18 16:27:18 +01:00
scrawl
b09bdd6af5 Accept a ConstPtr in isBipedal 2015-12-18 16:27:18 +01:00
scrawl
92a3acfa56 Accept a ConstPtr in getBaseFightRating 2015-12-18 16:12:35 +01:00
scrawl
f258c5c508 Accept a ConstPtr in getModel 2015-12-18 15:51:05 +01:00
scrawl
d9bbd83b09 Accept a ConstPtr in getToolTipInfo
Accept a ConstPtr in functions used by getToolTipInfo
2015-12-18 15:47:16 +01:00
scrawl
ed3486e816 Improve const-correctness in writeAdditionalState 2015-12-18 00:19:06 +01:00
scrawl
b48445dea7 Accept a ConstPtr in getScript 2015-12-18 00:12:03 +01:00
scrawl
eb51e2838f Utilize the mHasCustomData flag in writeAdditionalState 2015-12-18 00:07:40 +01:00
scrawl
271fcb80c6 Remove container scripts before deleting container 2015-12-14 02:57:55 +01:00
scrawl
fc449233be Restore support for inserting objects into a cell 2015-12-04 18:29:41 +01:00
scrawl
0975f60d59 Stub out CellStore::get<T> accessors in preparation of reference movement between cells 2015-12-04 18:29:41 +01:00
scrawl
cd4a1ffd16 Fast version of dynamic_cast for MWClass 2015-11-29 14:26:52 +01:00
scrawl
bd9dc58560 Use the correct scale for actor swim height (Fixes #2833) 2015-11-01 21:45:58 +01:00
dteviot
300c48329d Creature::isFlagBitSet() changed to free function. 2015-08-28 18:38:05 +12:00
dteviot
95d2d82abf extracted isFlagBitSet() 2015-08-27 18:36:46 +12:00
dteviot
bb54bbd273 Pulled duplicated functions into common base class 2015-08-24 19:54:02 +12: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
scrawl
67bd6cd708 Remove empty line at the beginning of files
git ls-files -z | xargs -0 sed -i '1{/^$/d}'
2015-08-18 23:06:12 +02:00
scrawl
7f66339790 Remove a redundant function 2015-07-24 20:23:27 +02:00
scrawl
4637750601 Savegame loading optimization 2015-06-30 16:47:41 +02:00
scrawl
882e359008 Move attackStrength to the CharacterController, where it should have been to begin with
Only relevant for actors in active cells, so doesn't belong in CreatureStats. This change should slightly reduce the game's memory usage.
2015-06-26 05:15:07 +02:00
scrawl
04010b8a1a Set OnPcHitMe even for missed hits 2015-06-18 15:00: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
22f01b1232 Merge branch 'master' of https://github.com/OpenMW/openmw into osg
Conflicts:
	apps/launcher/graphicspage.cpp
	apps/opencs/editor.cpp
	apps/opencs/model/doc/document.cpp
	apps/opencs/view/render/cell.cpp
	apps/opencs/view/render/mousestate.cpp
	apps/opencs/view/render/textoverlay.cpp
	apps/opencs/view/render/worldspacewidget.cpp
	apps/openmw/mwclass/creature.cpp
	apps/openmw/mwclass/npc.cpp
	apps/openmw/mwgui/inventorywindow.cpp
	apps/openmw/mwgui/loadingscreen.cpp
	apps/openmw/mwgui/mapwindow.cpp
	apps/openmw/mwgui/pickpocketitemmodel.cpp
	apps/openmw/mwgui/waitdialog.cpp
	apps/openmw/mwmechanics/combat.cpp
	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
	apps/openmw/mwrender/globalmap.cpp
	apps/openmw/mwworld/physicssystem.cpp
	apps/openmw/mwworld/refdata.cpp
	apps/openmw/mwworld/scene.cpp
	apps/openmw/mwworld/worldimp.cpp
	components/sdlutil/sdlinputwrapper.cpp
	extern/shiny/Main/Factory.cpp
	extern/shiny/Main/MaterialInstance.cpp
	extern/shiny/Main/Platform.cpp
	extern/shiny/Main/ShaderSet.cpp
2015-05-23 20:33:44 +02:00
scrawl
85345e663a Restore getHitContact 2015-05-22 04:36:33 +02:00
scrawl
375b736e74 Use SDL to create the window
No input nor event loop handling yet, so the window will "stop responding" after a few seconds.

Thanks to KittyCat for the GraphicsWindowSDL2 code.
2015-05-13 02:53:09 +02:00
scrawl
e8ec4387d6 Creature collision fix 2015-05-12 16:50:11 +02:00
scrawl
5abeab21ed Various integer/floating point roll adjustments based on wiki 2015-05-11 16:55:09 +02:00
scrawl
c31b416ba1 Move physicssystem to a new mwphysics module 2015-05-10 01:09:00 +02:00
scrawl
9f12e53956 Scale NPCs by their Weight property (Fixes #814) 2015-04-24 14:49:20 +02:00
scrawl
8c810e3620 Move rng to components 2015-04-22 17:58:55 +02:00
scrawl
68f93294da Port EffectManager 2015-04-19 17:55:56 +02:00
scrawl
c92592493e OpenMW: create a window and render the starting cell(s) 2015-04-12 15:38:30 +02:00