David Cernat
d2ba4a12d9
[Client] Simplify container sending with new addContainerItem() methods
2020-01-16 14:00:30 +02:00
David Cernat
60b6f92fa3
Add OpenMW commits up to 13 Jan 2020
...
# Conflicts:
# apps/openmw/mwmechanics/actors.cpp
2020-01-15 07:49:26 +02:00
capostrophic
1251b32f0f
Slightly reduce code duplication
2020-01-09 22:17:01 +03:00
capostrophic
42cc27194b
Fix reported spellcasting discrepancies
...
Make ExplodeSpell behavior closer to Cast behavior (#5242 )
Nullify on-self absorb spells in a different way (#5241 )
Allow casting permanent spells through Cast/ExplodeSpell
2020-01-09 22:17:01 +03:00
Andrei Kortunov
a42396254b
Use ISO format to print datetime
2020-01-06 11:27:11 +04:00
David Cernat
e6c626f127
[General] Move handling of client globals to ClientScriptGlobal packet
...
ClientScriptGlobal is a new Worldstate packet that handles short, long and float values for global variables in clientside scripts.
Previously, short values were handled by the ScriptGlobalShort packet, while a partially implemented ScriptGlobalFloat packet also existed, but both of those packets were Object packets because they were added near the end of 2016 when only Player and Object packets existed (with the latter actually being called WorldEvent packets at the time). Both ScriptGlobalShort and ScriptGlobalFloat have now been removed.
The serverside script functions previously used to interact with ScriptGlobalShort have, however, been kept so they can be adjusted to work with local variables in clientside scripts instead in a future commit.
2020-01-04 09:56:37 +02:00
Andrei Kortunov
b6899a821b
Improve BetaComment handling (feature #4129 )
2020-01-03 08:45:53 +04:00
David Cernat
a58f09fd6c
Add OpenMW commits up to 2 Jan 2020
...
# Conflicts:
# apps/openmw/mwmechanics/enchanting.cpp
# apps/openmw/mwworld/scene.cpp
2020-01-02 22:09:54 +02:00
Andrei Kortunov
24ce242941
Implement TestCells (feature #5219 )
2019-12-22 11:13:42 +04:00
David Cernat
5b4db83d61
[Client] Once again allow beds to be used even if waiting is disallowed
...
This had been broken by rest-related commits in OpenMW.
2019-12-03 23:55:55 +02:00
David Cernat
a54bc364ba
[Client] Fix code conflict with OpenMW in OpRemoveSpell correctly
2019-12-02 00:27:33 +02:00
David Cernat
9d6f3fdd09
Add OpenMW commits up to 1 Dec 2019
...
# Conflicts:
# CMakeLists.txt
# apps/openmw/mwscript/aiextensions.cpp
# apps/openmw/mwscript/statsextensions.cpp
2019-12-01 23:52:42 +02:00
David Cernat
1283d5d487
[General] Synchronize TCL state for players
...
Additionally, only purge temporary levitation effect for DedicatedPlayers if one has been added.
2019-12-01 18:13:24 +02:00
Capostrophic
e7f6ab1ae2
Avoid using getPtr for object search in scripting (bug #5220 )
2019-12-01 14:09:59 +03:00
Capostrophic
77f076ff11
Make sure instant FX abilities get detected when supposed
2019-11-27 17:15:48 +03:00
Capostrophic
0adc2df65f
Make SameFaction work (bug #5213 )
2019-11-23 14:47:50 +03: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
bc5d54a161
Fix GetEffect result when running on dead actors
2019-10-12 19:06:10 +03:00
Capostrophic
ce943b4f9e
Make enchantments affect all actors with an inventory (bug #5186 )
2019-10-11 19:29:12 +03: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
David Cernat
219f0cb88e
[Client] Fix typo in 56f084c9c0
by using correct function
2019-09-23 07:55:16 +03:00
Andrei Kortunov
6450d84473
Improve resurrection handling
2019-09-21 20:22:45 +04:00
Andrei Kortunov
a4d196f33f
Force view change when using Force1stPerson and Force3rdPerson commands (bug #5168 )
2019-09-19 21:48:43 +04:00
David Cernat
7caa6cd8fe
[Client] Prevent ActorAI spam from actors starting combat in scripts
2019-09-19 13:58:01 +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
7c8b82f45c
move locking behaviour to cellref
2019-09-17 20:30:37 +02:00
David Cernat
56f084c9c0
[Client] Fix packet spam for repetitive setting of the same global value
2019-09-15 16:10:09 +03:00
David Cernat
e424bd9bc3
[General] Implement ClientScriptSettings packet, part 2
...
The packet can now set which client globals get packets sent about them when their values change on clients.
2019-09-14 09:37:19 +03: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
elsid
16170131b7
Add enum type for door state
2019-08-25 15:21:00 +02: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
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
ed8828d3bc
Merge pull request #2457 from Capostrophic/sneak
...
Sneaking consistency fixes (bug #5103 )
2019-08-18 08:57:22 +04:00
Andrei Kortunov
786a6c6d42
Use a common doors rotation code in the "lock" command handler
2019-08-16 21:30:24 +04:00
Andrei Kortunov
deeccb2783
Merge pull request #2461 from Capostrophic/geteffect
...
Use up-to-date magic effects for GetEffect (bug #3894 )
2019-08-11 22:20:20 +04:00
capostrophic
cac05ef826
Sneaking consistency fixes (bug #5103 )
...
Correct pickpocketing behavior when not actually sneaking
Fix first person swimming animation regression when sneaking stance is on
Move typical sneaking use case checks into mechanics manager
Correct awareness checks
2019-08-05 20:22:03 +03:00
capostrophic
82ac99ec56
Apply instant FX in AddSpell immediately (bug #5055 )
2019-08-02 21:26:47 +03:00
capostrophic
e7ec27e45d
Use up-to-date magic effects for GetEffect (bug #3894 )
2019-07-31 01:06:06 +03:00
Capostrophic
295ee11063
Make Player->Cast select the spell instead (bug #5056 )
2019-06-08 17:08:39 +03:00
Capostrophic
b7afb213ae
"Handle" RepairedOnMe scripting function (feature #4255 )
2019-06-03 02:17:32 +03:00
Andrei Kortunov
e679190f31
Introduce a custom format() function to get rid of boost::format() and hackish replace()
2019-05-20 09:20:01 +04:00
Andrei Kortunov
f775f7977b
Fix RaiseRank/LowerRank script functions (feature #4316 )
2019-05-14 21:43:19 +04:00
Capostrophic
62482657fc
GetWeaponType returns -2 for picks and -3 for probes (feature #5031 )
2019-05-11 14:18:29 +03:00
Alexei Dobrohotov
4f74d09179
Handle GetAngle axis more gracefully too
2019-05-04 00:24:23 +03:00
Andrei Kortunov
ed859c41be
Merge pull request #2353 from Capostrophic/drop
...
Make Drop behavior closer to vanilla (bug #4999 )
2019-05-03 08:12:46 +04:00
Capostrophic
3c18079c14
Handle invalid instruction axis more gracefully
2019-05-02 20:50:05 +03:00
Capostrophic
b42f981200
Make Drop and soulgem instruction behavior closer to vanilla (bug #4999 )
2019-04-30 19:06:02 +03:00
David Cernat
f6db7d4fc5
[Client] Avoid sending repeated ObjectDelete packets about an object
2019-04-24 00:52:11 +03:00
Andrei Kortunov
bd2188a0f8
Use the logging system for compiler errors
2019-04-23 22:20:18 +04:00
Andrei Kortunov
5508e67aad
Apply looping particles when adding spell to existing actor (bug #4918 )
2019-04-20 09:52:15 +04:00
Andrei Kortunov
35facc5cde
Add an option to use casting animations for magic items (feature #4962 )
2019-04-08 15:41:29 +04:00
Capostrophic
3a0e374dc6
Replicate vanilla Position/SetPos behavior more closely (bug #3109 )
2019-03-31 14:17:06 +03:00
Capostrophic
dd952c3ddb
Fix extra space in "no script" showvars output
2019-03-10 17:12:43 +03:00
Capostrophic
59f7df187d
Add explicit variant of Journal
2019-03-05 20:47:05 +03:00
Grigory Latyshev
3872d7476b
Move makeOsgVec3f() to settingsutils.hpp
...
Remove all other makeOsgVec3f() implementations
2019-02-28 20:03:42 +00:00
Capostrophic
8ecd0b82a4
Replace Boost format and replace_all where possible
2019-02-24 03:20:20 +03:00
Andrei Kortunov
3032b177a1
Remove redundant includes
2019-02-23 08:02:12 +04:00
Bret Curtis
4d09c8bb50
Merge pull request #2126 from Capostrophic/sneaking
...
Account for running/sneaking stances while in air (bug #4797 )
2019-02-22 15:04:55 +01:00
Bret Curtis
fdb84dddc8
Merge pull request #2059 from Capostrophic/stacks
...
Don't stack scripted items (bug #2969 )
2019-02-18 16:02:55 +01:00
David Cernat
fd40e8c971
[Client] Prevent ObjectState spam by not resending an already sent state
2019-01-15 14:26:00 +02:00
Capostrophic
05d5d7d57b
Account for stances when the player is in air (bug #4797 )
...
Make GetPCRunning and GetPCSneaking return 1 if the player is in air while the stance is toggled
Make sneaking skill usage possible if sneaking stance is toggled while in air
2019-01-15 00:25:26 +03:00
Capostrophic
92d7f21926
Don't interrupt compilation when spell/effect functions are used for non-actors
2019-01-06 21:45:56 +03:00
Capostrophic
0ab5314755
Make scripted items not stack (bug #2969 )
2018-12-30 18:18:33 +03:00
David Cernat
a6c6db89fc
[Client] Send object packets when scripts use PlaceItem/PlaceItemCell
2018-12-05 01:56:27 +02:00
elsid
49d81241db
Merge branch 'master' into pathfinder_detour
2018-10-28 17:08:09 +03:00
David Cernat
1baf82db32
[Client] Avoid PlayerSpellbook packet spam in some mods
2018-10-26 19:07:35 +03:00
David Cernat
d9bc1abf48
[Client] Don't send ObjectScale packets if not logged in
2018-10-26 02:33:47 +03:00
David Cernat
a8cf1e02c4
[Client] Allow unilateral scripted container changes not from console
...
This prevents infinite loops in certain client scripts from mods that use while loops to determine that all items of a certain type have been removed from a container, such as in the script BCSwap2Arg from Better_Clothes.
2018-10-25 22:38:45 +03:00
Capostrophic
4ce35c6ad5
Fix fixme behavior in interiors
2018-10-24 01:43:38 +03:00
elsid
ff478aba6d
Use actor half extent for interior cells
2018-10-13 22:16:33 +03:00
elsid
dc09674362
Add command and settings option to enable actors paths render
2018-10-13 22:16:32 +03:00
elsid
70a369f70e
Add command to enable NavMesh render
...
togglenavmesh or tnm
2018-10-13 22:16:28 +03:00
David Cernat
d9dd7073cf
[General] Send certain packets only when logged in
...
Previously, client mods adding packet-sending scripts to the spawn area made clients send the associated packets as soon as they inputted their character name when joining a server using those mods. This made the clients either get disconnected for not replying to a handshake first, or it made them get kicked for sending object packets that are disallowed for players who are not logged in.
To fix this, LocalPlayer's hasFinishedCharGen() has been replaced with isLoggedIn(), because the former was already returning true when players inputted their names.
2018-10-13 15:36:13 +03:00
Andrei Kortunov
e06f0b797a
Replace all NULLs to nullptr
2018-10-09 10:21:12 +04:00
Andrei Kortunov
01b3f92f7e
Make coc and fixme console commands close to vanilla (bug #4292 , bug #4217 )
2018-09-20 16:25:02 +04:00
Marc Zinnschlag
c6b62308cd
Merged pull request #1921
2018-09-17 12:02:44 +02:00
Andrei Kortunov
2961f0d810
Allow to use the %Name for creatures (bug #4644 )
2018-09-16 21:53:28 +04:00
Andrei Kortunov
ae1c054635
Make GetPCJumping return true only when jumping (bug #4641 )
2018-09-16 11:58:01 +04:00
Andrei Kortunov
aed7c1b2bb
Fix a couple of Clang warnings
2018-09-04 12:37:43 +04:00
Capostrophic
6c47f95677
Make RemoveSpellEffects affect permanent spells (bug #3920 )
...
Also make it remove the effects but not the spells themselves
2018-08-29 13:52:03 +03:00
David Cernat
3bd8aa82fe
[General] Reduce inventory-sending hooks to just 2 in ContainerStore
...
Whenever an item is added to or removed from the player's ContainerStore, that player sends a PlayerInventory packet with just that addition or removal.
This eliminates all the unnecessary packet spam related to oversized PlayerInventory packets that had existed in one form or another since the initial implementation of inventory sync in 1b259e2d33
Additionally, move booleans from BasePlayer to LocalPlayer when they are only needed on the client, and make the usage of the isReceivingQuickKeys boolean consistent with the new isReceivingInventory boolean by having them both in the processors of their associated packets.
2018-08-28 05:01:52 +03:00
Andrei Kortunov
de08c1cb1b
Make Move and MoveWorld console commands move actors standing on moving object (bug #2274 )
2018-08-25 10:34:33 +04:00
David Cernat
03832f933b
[Client] Send only individual items in PlayerInventory packets
...
For a long time, whenever a PlayerInventory packet was sent, it contained all the items in the player's inventory, because that's how Koncord originally implemented it and I always had too many other priorities to go back and rework it.
From now on, clients only send PlayerInventory packet with the one item added or removed, with the single exception being trading with merchants, where the entire inventory is still sent for the time being.
2018-08-21 10:10:06 +03:00
David Cernat
45b011452e
[Client] Combine methods for sending spell packets into a single one
2018-08-21 01:20:30 +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
31f8bea1dd
Rework spell effects management
2018-08-17 12:41:13 +04:00
Marc Zinnschlag
088463ebe6
Merged pull request #1868
2018-08-17 09:37:49 +02:00