1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-02-26 15:09:39 +00:00
Commit graph

706 commits

Author SHA1 Message Date
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
cac2c6c1e8 Merge pull request #360 from TES3MP/0.6.1-openmw-updates while resolving conflicts 2017-12-25 02:25:01 +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
David Cernat
f2eca2566f [Server] Add storedData table for Player to increase clarity
This way, customData is meant to hold module-specific and temporary data while storedData is meant to hold persistent core data.
2017-12-10 10:06:27 +02:00
Koncord
077a3d06b3 [General] Change type of BasePlayer::resurrectType to ResurrectType 2017-12-10 12:01:04 +08:00
Koncord
f9c4b847aa [Server] Make argument const reference 2017-12-10 11:46:50 +08:00
Koncord
c5388e49f2 [Server] Remove Pawn switcher in cmake 2017-12-10 10:29:10 +08:00
Koncord
ba07d7820f [Server] Remove Terra 2017-12-10 10:20:24 +08:00
Koncord
77d14211c9 [Server] Add Weather.cpp to build 2017-12-10 10:16:16 +08:00
Koncord
44dc153ebe [Server] Add Weather API 2017-12-10 09:51:03 +08:00
Koncord
aff1859759 [Server] Add new line for help strings 2017-12-10 09:47:35 +08:00
Koncord
122a30c183 [General] Change type of refNumIndex & mpNum to unsigned 2017-12-10 09:20:13 +08:00
Koncord
bfdf348a6c [Server] Fix Undefined behavior 2017-12-09 18:01:15 +08:00
Koncord
4d0072a74c [Server] Use foreach loop 2017-12-09 15:04:09 +08:00
Koncord
cd620e17ec [Server] Use std::move(tokens) 2017-12-09 15:03:44 +08:00
Koncord
dd352f0a91 [Server] Improve Player::sendToLoaded() 2017-12-09 15:03:06 +08:00
Koncord
f35d35741e [General] Remove redundant code
Remove BaseEvent::worldObjectCount
Remove BaseActor::count
Use foreach loops in packets and processors
Remove redundant "&" in CellController::get().getCell() calls
2017-12-09 14:59:41 +08:00
Koncord
585c24cee8 [Server] Optimize CellController 2017-12-09 11:44:56 +08:00
Koncord
ff8b5061b4 [Server] Modernize CellController singleton 2017-12-09 11:08:53 +08:00
Koncord
e97dac7793 [Server] Mark derived processor classes as final 2017-12-09 10:20:55 +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
392e645fe5 [Server] Add isMarkedForDeleteion function 2017-12-08 20:37:22 +08:00
Koncord
91398c5dcc [Server] Implicitly join to "Default" channel 2017-12-08 20:35:19 +08:00
Koncord
aa183e6844 [General] Introduce chat channels 2017-12-08 07:43:29 +08:00
Koncord
c55f0f73b8 [Server] Pass shared_ptr<Player> by reference 2017-12-08 07:32:49 +08:00
Koncord
94f3eaa980 [Server] Fix warning "implicit fallthrough" 2017-12-06 13:30:39 +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
fc5e883160 [General] Rework PlayerStatsDynamic packets so they are of minimal size 2017-12-02 18:29:30 +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
d1ad0c91f8 [General] Rework PlayerEquipment packets so they are of minimal size
Moreover, rename BaseNetCreature's equipedItems into equipmentItems.
2017-11-30 12:31:54 +02:00
David Cernat
c9c363ebef [General] Allow GameSettings to set bed & wilderness resting separately 2017-11-30 12:18:15 +02:00
David Cernat
bd9e8bd10f [General] Simplify storing of attribute and skill index changes 2017-11-29 16:55:51 +02:00
David Cernat
720ef5f6c5 [General] Use consistent code style 2017-11-29 13:00:22 +02:00
Koncord
e44fcdc0b3 [General] Cleanup Player packets 2017-11-28 21:38:45 +08:00
David Cernat
3508a16836 [General] Use GameSettings packet to set ability to rest and wait 2017-11-27 07:39:02 +02:00
David Cernat
901fe72471 [Server] Fix variable shadowing in Player 2017-11-26 13:14:53 +02:00
David Cernat
a796f81444 [General] Add and use utility function for int value checks in vectors 2017-11-26 13:03:54 +02:00
Koncord
4ebfcc4a21 [Server] Limit handshake attempts 2017-11-26 00:18:19 +08:00
Koncord
729f6e745e [Server] Remove unused get() method from EventController 2017-11-26 00:00:31 +08:00
Koncord
e657934cef [Server] Add custom window API 2017-11-25 23:47:02 +08:00
David Cernat
b0965f094a [General] Rework PlayerAttribute packets so they are of minimal size
Previously, whenever a single attribute value changed for a player, that player then sent a PlayerAttribute packet with all values for all 8 attributes.

This did not cause anywhere as much packet spam as PlayerSkill used to, but there was no good reason not to fix it as well.
2017-11-24 14:28:05 +02:00
David Cernat
ef79a98544 [General] Rework PlayerSkill packets so they are of minimal size
Previously, whenever a single skill value changed for a player, that player then sent a PlayerSkill packet with all values for all 27 skills, plus the player's progress towards the next level and the bonuses to each attribute on the next level up as the result of sklll increases thus far.

This commit makes PlayerSkill contain only the values of specific skills, moves the player's progress towards the next level to PlayerLevel packets, and moves the bonuses to each attribute on the next level up to PlayerAttribute packets.

Players now also send a PlayerSkill packet whenever their progress towards a new point in a skill changes. This was previously avoided so as to not have massive packet spam.
2017-11-24 12:38:42 +02:00