Commit Graph

669 Commits (c55f0f73b8208f61b534ec34318a3469df85995f)

Author SHA1 Message Date
Koncord c55f0f73b8 [Server] Pass shared_ptr<Player> by reference 7 years ago
Koncord 94f3eaa980 [Server] Fix warning "implicit fallthrough" 7 years ago
David Cernat 456bcee68a [Server] Use Utils function as workaround for "bad exception" on Windows 7 years ago
David Cernat cfb5835e17 [Server] Clean up method and variable names 7 years ago
David Cernat fc5e883160 [General] Rework PlayerStatsDynamic packets so they are of minimal size 7 years ago
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.
7 years ago
David Cernat d1ad0c91f8 [General] Rework PlayerEquipment packets so they are of minimal size
Moreover, rename BaseNetCreature's equipedItems into equipmentItems.
7 years ago
David Cernat bd9e8bd10f [General] Simplify storing of attribute and skill index changes 7 years ago
David Cernat 720ef5f6c5 [General] Use consistent code style 7 years ago
Koncord e44fcdc0b3 [General] Cleanup Player packets 7 years ago
David Cernat 901fe72471 [Server] Fix variable shadowing in Player 7 years ago
David Cernat a796f81444 [General] Add and use utility function for int value checks in vectors 7 years ago
Koncord 4ebfcc4a21 [Server] Limit handshake attempts 7 years ago
Koncord 729f6e745e [Server] Remove unused get() method from EventController 7 years ago
Koncord e657934cef [Server] Add custom window API 7 years ago
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.
7 years ago
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.
7 years ago
David Cernat 64b57983f0 [General] Add TRACE log messages in player processors 7 years ago
David Cernat 07d75abdf8 [Server] Use consistent order for includes 7 years ago
David Cernat d33254f287 [Server] Rename CharClass' isDefault() into isCustom()
It was already using the logic of isCustom() by mistake.
7 years ago
David Cernat 010a80ceca [Server] Place getters and setters in consistent order 7 years ago
David Cernat 947b3f76be [Server] Replace Player's isMale() and setIsMale() with gender property
For simplicity and clarity.
7 years ago
David Cernat 6f822f54aa [Server] Make chat commands case insensitive 7 years ago
David Cernat a3e2ab4d4e [Server] Send correct packet for inventory changes 7 years ago
David Cernat 4cc0216e0a [Server] Send cell changes before position changes, and prioritize both
Previously, a script changing a player's cell and position at the same time would end up sending a position packet first and then a cell change packet that overrode the former, with the player ending up at the center of the destination cell instead of at the correct position.
7 years ago
David Cernat 80be664139 [Server] Fix skill-related script functions
Add getSkillIncrease() and setSkillIncrease() script functions to get and set the attribute bonuses received at the next level up as a result of skill increases.

Previously, getSkill() and setSkill() attempted to return and set the attribute bonuses, respectively. However, they mistakenly used a skill ID as a parameter for the attribute bonuses, when in fact npcStats.mSkillIncrease is an integer array of size 8 where the key stands for an attribute's ID. As a result, setSkill() had the unexpected side effect of messing up a player's major and minor skills because of the invalid values it was setting for npcStats.mSkillIncreases.
7 years ago
David Cernat 57a0415ba3 [Server] Send level packets in Player's update() at the appropriate time
Previously, trying to send a level packet after base info and character class packets in a script actually led to the level packet being sent first and then being overridden by the others, with the player ending up at level 1 on their client.
7 years ago
David Cernat 494b10b97e [Server] Send player packets in a more appropriate order
Previously, the fact that a character class packet got sent after a dynamic stats packet caused the dynamic stats to get overridden on the client by the class change.
7 years ago
David Cernat ba161ddddd [Server] Make a few function names more consistent and fix typos 7 years ago
David Cernat 1272b03f25 [Server] Fix typo in player script function 7 years ago
David Cernat 926106cf8c [General] Rework CharGen slightly for clarity purposes
Previously, charGenStage.end was doing double duty as both the variable indicating the number of CharGen stages and – when set to 0 – the variable indicating that CharGen was over. The latter role is now filled by a new boolean.
7 years ago
David Cernat a8261bb385 [General] Fix printing of packet identifiers after changes to logger 7 years ago
Koncord 64b531aa3c [Server] Remove redundant argument 7 years ago
Koncord d15c674584 [General] Move getFilenameTimestamp() to Utils 7 years ago
Koncord 0da44f69ad [Server] Isolate getModFolder() & getDataFolder() 7 years ago
Koncord 062d6a1824 [Server] Add sandboxed import() function 7 years ago
David Cernat 29cb51cdce [Server] Enable SOL_SAFE_USERTYPE for both Debug and RelWithDebInfo 7 years ago
Koncord bd7082f57e [Server] Use custom Lua error handler not only on Windows
For some reason sol's default error handler does not wroking properly
7 years ago
David Cernat 71c921faa7 [Server] Rename property cell into description, initialize Cells type 7 years ago
David Cernat 5653d07c7b [Server] Fix build on Windows 7 years ago
Koncord 948090676a [Server] Impove Lua Error handler for Windows 7 years ago
David Cernat b7e5e77166 [Server] Fix getCaseInsensitiveFilename, simplify Players.size() 7 years ago
David Cernat 378d30834b [Server] Add special error handler for Sol back in, but only for Windows 7 years ago
Koncord 14d47213ef [Server] Add Players.size() to Lua API 7 years ago
Koncord e7a5919477 [Server] Fix path to native libs 7 years ago
Koncord 1aa630e4a9 [Server] Add StackWalker for Windows 7 years ago
Koncord 14fdec2478 [Server] Add forgotten stacktrace.cpp 7 years ago
David Cernat 878294e4fe Merge branch 'new-script-api' of https://github.com/TES3MP/openmw-tes3mp into new-script-api 7 years ago
Koncord d44848ecbb [Server] Fix build 7 years ago
Koncord 05abb8ace3 [Server] Add Log level constants to lua 7 years ago