Commit graph

371 commits

Author SHA1 Message Date
Koncord
4bde7d80f5 [Server] Use regular Ptrs where possible to avoid seizure Ptrs by lua 2018-02-16 05:12:01 +08:00
David Cernat
ac374a8ef9 Merge pull request #384 from TES3MP/0.6.3 while resolving conflicts
Conflicts:
 	apps/openmw-mp/Player.cpp
	apps/openmw-mp/Script/Functions/Mechanics.cpp
	apps/openmw-mp/Script/Functions/Mechanics.hpp
	apps/openmw-mp/Script/Functions/Quests.cpp
	apps/openmw-mp/Script/Functions/Quests.hpp
	apps/openmw-mp/Script/ScriptFunctions.hpp
	apps/openmw-mp/processors/player/ProcessorRecordDynamic.hpp
	apps/openmw/mwmp/LocalPlayer.hpp
	apps/openmw/mwmp/WorldEvent.cpp
	apps/openmw/mwworld/worldimp.cpp
	components/openmw-mp/Base/BasePlayer.hpp
2018-02-12 06:50:52 +02:00
David Cernat
74765b3ace [General] Implement selected spell sync as part of PlayerMiscellaneous 2018-02-06 06:36:46 +02:00
David Cernat
029dfc56ba [General] Implement player scale as part of PlayerShapeshift 2018-02-01 02:11:45 +02:00
David Cernat
66078bfea7 [General] Implement Mark location sync as part of PlayerMiscellaneous 2018-01-31 04:50:29 +02:00
David Cernat
989f6e6b51 [General] Implement PlayerReputation packet 2018-01-30 22:55:29 +02:00
David Cernat
88ae0772cf [Server] Initialize new processors and fix issues with RecordDynamic 2018-01-30 22:51:35 +02:00
David Cernat
5858e05362 Merge pull request #378 from TES3MP/0.6.3 while resolving conflicts
Conflicts:
	apps/openmw-mp/CMakeLists.txt
	apps/openmw-mp/Script/ScriptFunctions.hpp
	components/CMakeLists.txt
2018-01-30 00:54:56 +02:00
David Cernat
02af7f6ba1 [General] Add placeholders for new packet types 2018-01-29 22:32:51 +02:00
David Cernat
420dab10e1 [General] Track objects directly placed by players in ObjectPlace
This allows the OnPCDrop variable to get set correctly even when object placements have to go through the server first in order to gain a unique multiplayer index (mpNum).

Among other things, this makes it possible to roll marijuana joints in the popular mod "Tribunal Code Patch".
2018-01-28 17:46:51 +02:00
David Cernat
9935f56d46 [General] Use doubles instead of ints for enchantmentCharge
Additionally, include enchantmentCharges for items  in PlayerEquipment packets.
2018-01-17 08:10:49 +02:00
David Cernat
b6a7377692 Merge pull request #366 from TES3MP/0.6.2 while resolving conflicts, 2nd try
Conflicts:
	apps/openmw-mp/Networking.cpp
	apps/openmw-mp/Script/Functions/Miscellaneous.cpp
	apps/openmw-mp/Script/Functions/Miscellaneous.hpp
	apps/openmw/mwmp/GUI/GUIChat.cpp
2018-01-05 21:24:14 +02:00
David Cernat
1cf2f35a28 [Server] Add script functions to set & get plugin enforcement state 2018-01-02 16:33:18 +02:00
Koncord
4ab338bbb1 [Server] Register ON_PLAYER_QUICKKEYS event 2018-01-02 11:53:03 +08:00
David Cernat
09958681cd Merge pull request #363 from TES3MP/0.6.2 while resolving conflicts, 2nd try 2018-01-01 12:04:25 +02:00
David Cernat
47a3dc9ff2 [Server] Add broadcast argument to functions for sending WorldPackets 2017-12-30 21:52:30 +02:00
David Cernat
1e2517698d [Server] Send player speech and animation packets only to nearby players 2017-12-29 06:17:45 +02:00
David Cernat
993081ba1e [General] Add enchantmentCharge to worldObjects and items 2017-12-23 13:16:38 +02:00
David Cernat
a84c4c7ecc [Server] Print module order on startup 2017-12-10 15:57:19 +02:00
Koncord
44dc153ebe [Server] Add Weather API 2017-12-10 09:51:03 +08:00
Koncord
cd620e17ec [Server] Use std::move(tokens) 2017-12-09 15:03:44 +08:00
David Cernat
ad61d88cb1 [General] Fix typos and use consistent style for recent additions 2017-12-08 18:02:23 +02:00
Koncord
1c7330635b [Server] Add & register ON_PLAYER_WEATHER event 2017-12-08 20:38:36 +08:00
Koncord
aa183e6844 [General] Introduce chat channels 2017-12-08 07:43:29 +08:00
David Cernat
e97c9f72a2 [General] Rework getting/clearing of skill modifiers as with attributes 2017-12-04 15:06:27 +02:00
David Cernat
456bcee68a [Server] Use Utils function as workaround for "bad exception" on Windows 2017-12-04 14:32:23 +02:00
David Cernat
cfb5835e17 [Server] Clean up method and variable names 2017-12-04 10:39:20 +02:00
David Cernat
993cc3dfd6 [Server] Rename server "plugins"/"mods" into "modules" for clarity
The terms "plugins" and "mods" were used interchangeably to refer to collections of server scripts, which was bound to cause confusion later on, especially with client data files frequently being referred to as "plugins" and "mods" as well.

Moreover, the server configuration file now starts its manual ordering with "Module1" for consistency with the pluginlist.json (soon to be dataFileList.json) of the CoreScripts.
2017-12-02 15:39:08 +02:00
David Cernat
2944be18ae [Server] Actually, turn SetAttributeModifier into ClearAttributeModifier
There's no way SetAttributeModifier() was going to make sense if, say, a player had drunk 3 different potions fortifying the same attribute and was wearing equipment fortifying it as well. How would one change the sum modifier of those while accounting for each specific effect's duration and magnitude?

The only workable solution is to allow the server to clear the modifier.
2017-12-02 09:19:33 +02:00
David Cernat
e8d636ebc3 [Server] Rework Get/SetAttributeCurrent into Get/SetAttributeModifier
As seen here, attributes don't use the concept of current values, but rather of value modifiers and value damage:

https://github.com/OpenMW/openmw/blob/master/apps/openmw/mwmechanics/stat.cpp#L217
2017-11-30 22:37:06 +02:00
David Cernat
c9c363ebef [General] Allow GameSettings to set bed & wilderness resting separately 2017-11-30 12:18:15 +02:00
David Cernat
720ef5f6c5 [General] Use consistent code style 2017-11-29 13:00:22 +02:00
David Cernat
3508a16836 [General] Use GameSettings packet to set ability to rest and wait 2017-11-27 07:39:02 +02:00
Koncord
729f6e745e [Server] Remove unused get() method from EventController 2017-11-26 00:00:31 +08:00
David Cernat
07d75abdf8 [Server] Use consistent order for includes 2017-11-23 08:11:37 +02:00
David Cernat
6668b9ab42 [General] Implement ConsoleCommand packet 2017-11-23 00:21:47 +02:00
David Cernat
6f822f54aa [Server] Make chat commands case insensitive 2017-11-19 10:12:35 +02:00
Koncord
0da44f69ad [Server] Isolate getModFolder() & getDataFolder() 2017-11-03 06:36:35 +08:00
Koncord
062d6a1824 [Server] Add sandboxed import() function 2017-11-03 06:36:35 +08:00
Koncord
bd7082f57e [Server] Use custom Lua error handler not only on Windows
For some reason sol's default error handler does not wroking properly
2017-11-01 21:48:42 +08:00
David Cernat
71c921faa7 [Server] Rename property cell into description, initialize Cells type 2017-11-01 13:22:41 +02:00
David Cernat
5653d07c7b [Server] Fix build on Windows 2017-10-31 22:00:03 +02:00
Koncord
948090676a [Server] Impove Lua Error handler for Windows 2017-11-01 01:17:11 +08:00
David Cernat
be25decee2 [General] Implement PlayerSpeech packet 2017-10-31 15:19:14 +02:00
David Cernat
b7e5e77166 [Server] Fix getCaseInsensitiveFilename, simplify Players.size() 2017-10-28 03:58:53 +03:00
David Cernat
378d30834b [Server] Add special error handler for Sol back in, but only for Windows 2017-10-28 01:44:02 +03:00
Koncord
e7a5919477 [Server] Fix path to native libs 2017-10-27 20:58:02 +08:00
David Cernat
413893aa51 [General] Implement PlayerAnimPlay packet 2017-10-27 09:10:29 +03:00
David Cernat
878294e4fe Merge branch 'new-script-api' of https://github.com/TES3MP/openmw-tes3mp into new-script-api 2017-10-26 17:25:53 +03:00
Koncord
d44848ecbb [Server] Fix build 2017-10-25 16:05:45 +08:00