Commit Graph

464 Commits (1f2349ef6e82b7b1b82e1de6db2776e2043fb18d)

Author SHA1 Message Date
David Cernat 993081ba1e [General] Add enchantmentCharge to worldObjects and items 7 years ago
David Cernat e97c9f72a2 [General] Rework getting/clearing of skill modifiers as with attributes 7 years ago
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.
7 years ago
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
7 years ago
David Cernat c9c363ebef [General] Allow GameSettings to set bed & wilderness resting separately 7 years ago
David Cernat 3508a16836 [General] Use GameSettings packet to set ability to rest and wait 7 years ago
David Cernat 6668b9ab42 [General] Implement ConsoleCommand packet 7 years ago
David Cernat be25decee2 [General] Implement PlayerSpeech packet 7 years ago
David Cernat 413893aa51 [General] Implement PlayerAnimPlay packet 7 years ago
David Cernat 50d5fffb7f [General] Add and implement PlayerQuickKeys packet 7 years ago
David Cernat cffd985038 Merge pull request #266 from TES3MP/0.6.0
Add hotfix commits for 0.6.0 up to 18 Aug 2017
7 years ago
David Cernat 0820b7e92b [Server] Add GetCaseInsensitiveFilename() script function
Additionally, make header order consistent in script function files.
7 years ago
David Cernat 0e2038f045 [General] Record and get player positions before their last cell change 8 years ago
Unknown bfbfbeac43 Added networking and saving for custom spells 8 years ago
David Cernat 9d05063af4 [General] Add server script functions for banning & unbanning IPs
Additionally, use a more informative message for the client when trying to connecting to a server that it is banned from.
8 years ago
David Cernat 8b79cdd4f4 [Server] Document script functions, part 3
Also reorder functions in Cells and CharClass so they are consistent with the rest.
8 years ago
David Cernat 5e5440b697 [Server] Document script functions, part 2 8 years ago
David Cernat cc91b32b2f [Server] Make spell script functions consistent with others 8 years ago
David Cernat 8bd33e5fbb [Server] Document script functions, part 1 8 years ago
David Cernat f65f996418 [Server] Add script functions for werewolf states 8 years ago
David Cernat 43a3daf0aa [General] Add & implement PlayerShapeshift packet for werewolf states 8 years ago
David Cernat ad9fa0631a [General] Rename jailText to jailEndText and add jailProgressText in PlayerJail 8 years ago
David Cernat e36c0afc59 [General] Send faction reputation via PlayerFaction packets 8 years ago
David Cernat be93ec8ef6 [General] Implement ObjectState packet 8 years ago
David Cernat 083b46394d [General] Add ignoreJailSkillIncreases to PlayerJail packets 8 years ago
David Cernat 5962570c48 [General] Add jailText to PlayerJail packets 8 years ago
David Cernat 3280f0c5ee [General] Implement PlayerJail packet
Rework server's DeathFunctions into MechanicsFunctions

Remove connection between PlayerResurrect and jailing
8 years ago
David Cernat b1b27728e2 [Server] Move functions dealing with PlayerKillCount to QuestFunctions 8 years ago
Koncord 9cc07f100c [Server] Add OnObjectState callback 8 years ago
David Cernat 6dde0ca9c9 [Server] Rework script functons by removing unnecessary vector buffers
Add new initialization script functions to allow clearing all player changes vectors in a manner consistent with Actor and World functions

Add toOthers boolean to all methods that send packets with player changes vectors
8 years ago
David Cernat 2c05b7f747 [Server] Rename InitiateEvent() into InitializeEvent() for consistency 8 years ago
David Cernat 1d504a665f [General] Add RANK, EXPULSION and BOTH actions to PlayerFaction packets 8 years ago
Koncord 940ae5c2fb [Server] Implement GetIP API function 8 years ago
David Cernat 60574ae667 [General] Implement jail time as a death penalty 8 years ago
David Cernat 71313c5aa6 [General] Implement PlayerMap packet, part 1 8 years ago
David Cernat 1f682749d6 [General] Add optional notes to PasswordDialogs 8 years ago
Koncord d9e98ec771 [Server] Add expected ‘;’ 8 years ago
Koncord d14ad55a49 [Server] Fix compilation on arm 8 years ago
Koncord f92117e73d [Server] change "__arm__" to "__ARM_ARCH" in ARM detection 8 years ago
Koncord 15a197cb9a [Server] Temporarily disable CallFF for ARM 8 years ago
Koncord 653db9e266 [Server] Simplify native CallPublic & CreateTimerEx 8 years ago
Koncord 5292914325 [Server] Simplify native CallPublic & CreateTimerEx 8 years ago
Koncord 1c09e0c255 [Server] Add CallFF dependency 8 years ago
Koncord e68eee651a [Server] Fix Resurrect 8 years ago
Koncord c58c26f6c0 [Server] Implement native CreateTimer & CreateTimerEx 8 years ago
Koncord 9ab58b6708 [Server] Remove redundant SetResurrectType
Rename SendResurrect to Resurrect
8 years ago
David Cernat 813a3c89c4 [General] Implement PlayerBook packet to track skill books read 8 years ago
David Cernat b3b73c5cd2 [General] Implement resurrection at nearest shrine or temple 8 years ago
David Cernat 66a3f3d475 [Server] Use cleaner solution for safely reading cell descriptions 8 years ago
David Cernat 78f29302ef [General] Fix PlayerJournal logic by sending only refIds for its actors
Additionally, make the refIds for actors usable in script functions.
8 years ago
David Cernat 48c63dbce9 [General] Fix ObjectLock packets by making hasCellData true for them 8 years ago
David Cernat 4ad87faac1 [Server] Create new Settings category for script functions 8 years ago
David Cernat ebf7740969 [General] Repurpose GameConsole packet as GameSettings & add difficulty to it 8 years ago
Koncord 3803535bd5 [General] Implement CleanChat() 8 years ago
David Cernat 51b95f35cd [Server] Fix problem with fetching interior cell descriptions 8 years ago
David Cernat db7709ee18 [Server] Modernize getting and setting of player cells 8 years ago
David Cernat 0d3976950b [Server] Use consistent names for rotation script functions 8 years ago
David Cernat 70d9374a6a [General] Implement PlayerKillCount packets 8 years ago
David Cernat 5b23da8e1c [General] Rename unused PlayerRegionChange packet into PlayerKillCount 8 years ago
David Cernat ee5c9b65c5 [General] When changing region, send new region name in PlayerCellChange 8 years ago
David Cernat f02ed0d621 [Server] Add script functions for getting and setting actor dynamic stat modifiers 8 years ago
Koncord 568b0702fa [Server] Implement PasswordDialog 8 years ago
Koncord cef58fa164 [Server] Change fprintf to LOG_MESSAGE_SIMPLE in GET_PLAYER 8 years ago
Koncord 186e5fe33e [Server] Remove GetAngleY & remove Y parameter from SetAngle 8 years ago
David Cernat a353a21280 [General] Fix code style inconsistencies 8 years ago
David Cernat f4cdedd8cb [General] Synchronize summoned creatures 8 years ago
David Cernat 4e5c8873e0 [General] Use ObjectSpawn instead of ObjectPlace for actors 8 years ago
David Cernat 27148ce9eb [General] Add placeholders for 12 new packets, to be implemented soon
Additionally, make it slightly clearer who created which previously existing packets.
8 years ago
David Cernat 940a2b6eb5 [Server] Add script functions for setting and sending ActorEquipment 8 years ago
David Cernat f47a10dd4a [Server] Add script callback and getter functions for ActorEquipment 8 years ago
David Cernat 32879adc5b [General] Allow ObjectTrap to trigger traps, not just disarm them 8 years ago
David Cernat 93aa674eff [Server] Add SendObjectTrap() script function 8 years ago
David Cernat dbdb11b5f0 [Server] Add script functions for dialogue 8 years ago
David Cernat 08de349133 [General] Add placeholders for PlayerTopic & ObjectTrap packets 8 years ago
David Cernat 870fd9a78b [General] Remove ObjectUnlock packet, use ObjectLock with 0 lock instead 8 years ago
David Cernat 0595192129 [Server] Make GetFactionExpelledState() return a bool instead of an int 8 years ago
David Cernat a2e2ca7cab [Server] Add script functions for factions 8 years ago
David Cernat 90c594b726 [Server] Make names for Player script callbacks shorter 8 years ago
David Cernat ad388c7e12 [General] Add placeholders for ActorEquipment & PlayerFaction packets
Also reorder packets and packet processors.
8 years ago
David Cernat f527fe9ebe [General] Add basic integrity check to reading of ActorList packets
Additionally, add newlines to files missing them.
8 years ago
Koncord 31adb5d715 [Server] Allow timers callbacks to restart timers 8 years ago
David Cernat de49f5f175 [General] Add and use isActor bool for WorldObject 8 years ago
David Cernat 9d2c5c3502 [General] Simplify structure of BaseEvent 8 years ago
Koncord a4a77ddeff [Server] Add SetRuleString and SetRuleValue to script API 8 years ago
Koncord 32284787de [Server] Add OnServerPostInit callback 8 years ago
David Cernat 4d81455020 [General] Rework and simplify death reasons so they work with NPCs 8 years ago
David Cernat 06f3c07116 [Server] Only read Actor packets from players who are still authorities 8 years ago
David Cernat e01cadad23 [Server] Send ActorAuthority packets to all players who loaded the cell 8 years ago
Koncord b223d0fa1e [Server] Register new callback 8 years ago
David Cernat 4c35c328a9 [Server] Add SendActorPosition() script function 8 years ago
David Cernat e5e888ac21 [Server] Add script functions for checking what data an Actor has 8 years ago
Koncord 6ddab0d323 [Server] Add and implement "look like creature" functions 8 years ago
David Cernat 62d93a09c1 [Server] Add new script callbacks for cells, remove a couple of others
OnPlayerCellState and OnActorStatsDynamic are now removed as callbacks.

The old OnCellUnload is now renamed into OnCellDeletion.

OnCellLoad and a new OnCellUnload relating to a specific player's load/unload are added.
8 years ago
David Cernat 217894100a [Server] Add ReadCellActorList() script function 8 years ago
David Cernat e8e0090b9b [General] Use new SimpleCreatureStats struct in BaseActor 8 years ago
David Cernat 0e8d115794 [Server] Clean up ActorFunctions by using readActorList pointer
Also rename scriptActorList into writeActorList, and also rename matching methods, for clarity.
8 years ago
David Cernat b54560a362 [Server] Clean up WorldFunctions by using readEvent pointer
Also rename scriptEvent into writeEvent, along with matching methods, for clarity.
8 years ago
David Cernat b62969d3cf [Server] Add OnCellUnload script callback 8 years ago
David Cernat a2f6d99dfd [Server] Use new CreatureStats in ActorFunctions to fix invalid pointer 8 years ago
David Cernat 6ff9091afd [Server] Add script functions for setting actor dynamic stats 8 years ago
David Cernat 9d7142f684 [Server] Clean up order for StatsFunctions 8 years ago
David Cernat 03c56e01f9 [Server] Add script functions for getting actor dynamic stats 8 years ago
David Cernat 3d6b21942c [Server] Add OnActorStatsDynamic script callback 8 years ago
David Cernat 328b4fb763 [Server] Fix invalid pointers when using ActorFunctions::GetActorCell() 8 years ago
David Cernat a71dbc7d09 [Server] Add script functions for setting actor cells and positions 8 years ago
David Cernat 9c5eb47e90 [Server] Add and use Utils::getCellFromDescription() 8 years ago
David Cernat aeab851ed8 [Server] Add script functions for getting actor position coordinates 8 years ago
David Cernat 1ce60fbf30 [Server] Add GetActorCell() script function 8 years ago
David Cernat 9a89284bca [Server] Add OnActorCellChange script callback 8 years ago
David Cernat 6a21ec1fdc [General] Rename PlayerPos into PlayerPosition 8 years ago
David Cernat 7b07d6651f [General] Add and use PlayerBounty packet and matching script functions 8 years ago
David Cernat 870886192b [General] Rename DYNAMICSTATS into STATS_DYNAMIC 8 years ago
David Cernat b6c3830ea0 [General] Rename WorldObject's pos into position for consistency 8 years ago
David Cernat 174f316787 [General] Rename PacketActorFrame into PacketActorTest 8 years ago
David Cernat 69bf2749a5 [Server] Add ActorFunctions for getting and setting basic actor data 8 years ago
David Cernat e9c3abc2c3 [Server] Reset variables more elegantly in WorldFunctions 8 years ago
David Cernat c52084a028 [General] Use BaseActorLists in ActorPackets 8 years ago
David Cernat 1b714fbfa7 [Server] Make script functions more consistent 8 years ago
David Cernat a24ef3a25e [Server] Create ActorFunctions placeholder 8 years ago
David Cernat 070c6a3bd4 [General] Add ActorPacketController & make controller var names clearer 8 years ago
David Cernat ba8341bfb5 [Server] Add SendActorAuthority() script function 8 years ago
David Cernat c65e94587c [Server] Add SendActorList() script function 8 years ago
David Cernat 8c2469bf6d [General] Add placeholder ActorList, ActorAuthority & ActorFrame packets 8 years ago
David Cernat 068835ba71 [Server] Add OnMpNumIncrement() script callback 8 years ago
David Cernat 3b34b9cd3e [Server] Fix typo in MiscellaneousFunctions 8 years ago
David Cernat 2716078a30 [Server] Add GetCurrentMpNum() and SetCurrentMpNum() script functions 8 years ago
David Cernat 82f38dcfad [Server] Set mpNum in AddWorldObject() 8 years ago
David Cernat 665fe09fd0 [Server] Add GetObjectMpNum() and SetObjectMpNum() script functions 8 years ago
David Cernat 174937f412 [Server] Add LogMessage() and LogAppend() script functions 8 years ago
Koncord 690211ad99 [General] Extract BaseEvent & BasePlayer from packets to functions
Move Send and Read functions to BasePacket
8 years ago
David Cernat 82dcec5ec5 [Server] Use consistent pattern for script function category names 8 years ago
Koncord c353e18645 [General] Move Utils from server to components
Rewrite CRC32 functions to the Boost equivalent
8 years ago
David Cernat 5c269a5f8d [General] Rename ID_GAME_DIE and ID_GAME_RESURRECT 8 years ago
Koncord 0442ebd607 [Server] Remove redundant newlines & keep ~120 columns 8 years ago
David Cernat 684517e02f [Server] Fix Miscellaneous category of script functions 8 years ago
David Cernat 0baada0aa2 [Server] Add GetLastPlayerId() script function in Miscellaneous category 8 years ago
Koncord b158e89f77 [Server] Change signatures of GetLastEventAction & SetScriptEventAction 8 years ago
Koncord cbe31149e3 [Server] Remove redundant constructor 8 years ago
David Cernat af35ee38d1 [Server] Rename ClearScriptEvent into InitScriptEvent with pid argument 8 years ago
David Cernat 7065569f9b [Server] Reuse 2 BaseEvents over and over instead of creating new ones 8 years ago
Koncord 158e9b3b09 [Server] Add ability to set password to server from config & scripts 8 years ago
David Cernat a4526605a6 [General] Remove goldValue from ContainerItem because it is never useful 8 years ago
David Cernat b1009ad33d [Server] Add GetContainerItemActionCount() for getting drag count 8 years ago
David Cernat 4f2b88df8a [General] Remove owner var from ContainerItem because it is always empty 8 years ago
Koncord 1fb2176cfa [Server] Add forgotten type for callbacks 8 years ago
David Cernat c01ab63239 [Server] Add script functions for setting container item info 8 years ago
David Cernat aa1549606f [Server] Add script functions for getting container item info 8 years ago
David Cernat 70470e12b4 [Server] Reorder World script functions 8 years ago
David Cernat 8a5bc77699 [Server] Add GetBaseEventAction script function 8 years ago
David Cernat 1198caddf6 [Server] Add OnContainer script callback 8 years ago
David Cernat eba7d8408f [Server] Use script function to get spellbook action 8 years ago
David Cernat 3b604a432e [General] Restructure ID_CONTAINER to allow multiple containers at once 8 years ago
David Cernat c8cbfbef62 [General] Sketch out server requests to players for container data 8 years ago
David Cernat b651c4deb4 [Server] In Item script functions, rename itemId into refId for clarity 8 years ago
David Cernat 5038353792 [General] Rename BaseEvent's state into doorState & adjust related funcs 8 years ago
David Cernat 182b238b5f [General] Rename WorldEvent into BaseEvent 8 years ago
David Cernat f314b13edf [General] Rename item health into charge, for consistency with OpenMW 8 years ago
David Cernat ecc456fea9 [General] Include charge int in WorldObject & send it w/ ID_OBJECT_PLACE 8 years ago
David Cernat 04d45b9dbb [General] Rename packets to show they are for players only, not NPCs 8 years ago
David Cernat 6328ffb9aa [General] In ID_GAME_ATTRIBUTE & ID_GAME_SKILL, rename GAME into PLAYER 8 years ago
David Cernat c1427b2558 [General] Simultaneously send loads & unloads in ID_PLAYER_CELL_STATE 8 years ago
David Cernat 7ebad596d6 [Server] Use double instead of int for scale in WorldFunctions 8 years ago
David Cernat 018b0e6699 [Server] Add script functions & callbacks for locking, unlocking & doors 8 years ago
David Cernat 8e438a1b82 [Server] Add OnObjectScale callback, part 2 8 years ago
David Cernat 5bd2fdcf66 [Server] Add OnObjectScale callback, and set scale for WorldObject 8 years ago
Koncord 0b8d0224d1 [Server] Change type in second argument in SetConsoleAllow to "bool" 8 years ago
Koncord 75afa58981 [Server] Add bool type for scripts 8 years ago
David Cernat 87dce73b90 [Server] Add script function for sending world object scale 8 years ago
David Cernat 705589e3e3 [Server] Add script functions for getting/setting world object scale 8 years ago
David Cernat 1fc9dd4f93 [Server] Remove WorldFunctions index parameters that are no longer used 8 years ago
David Cernat 9f998c9901 [Server] Improve getter methods in WorldFunctions 8 years ago
David Cernat 88e648aaa9 [Server] Fix crash caused by setting too many WorldObject refIds, try 2 8 years ago
David Cernat fe9e30a4d8 [Server] Fix crash caused by setting too many WorldObject refIds 8 years ago
David Cernat 5eff2ece21 [Server] Fix memory leaks related to WorldEvents as suggested by Koncord 8 years ago
David Cernat 6b9fba7885 [Server] Add script functions for getting/setting world object rotation 8 years ago
David Cernat 920c1113a3 [Server] Add script functions for setting world object placement info 8 years ago
David Cernat 2c5cc82f49 [Server] Add script functions for getting world object placement info 8 years ago
David Cernat 27ac314cb1 [Server] Add script functions for getting world object refIds & refNums 8 years ago
David Cernat b549da996e [Server] On second thought, keep cell description as argument to them 8 years ago
David Cernat 5989bbd97e [Server] Remove arguments from OnObjectPlace & OnObjectDelete callbacks 8 years ago
David Cernat f11df211fa [Server] Add script functions for dealing w/ WorldEvents & WorldObjects 8 years ago
Koncord b658adf7b0 [Server] Killed another tab character 8 years ago
David Cernat 9c3a37a790 [Server] Make GetCellStateDescription's cstrDescription null-terminated 8 years ago
Koncord 1c810ecad5 [Server] Fix memory leak in GetCellStateDescription() 8 years ago
David Cernat 0ccfe66212 [Server] Send stable C string in GetCellStateDescription() 8 years ago
David Cernat 6331c55bc7 [Server] Add colons missing from CELLAPI 8 years ago
David Cernat 2f644e9b14 [Server] Add script functions for getting info about cell state changes 8 years ago
David Cernat 70823d011d [Server] Define CELLAPI 8 years ago
David Cernat 0cc20d26ce [Server] Move script functions for cells to a new CellFunctions class 8 years ago
David Cernat 62f359e250 [Server] Rename Translocations into Positions 8 years ago
David Cernat 96bd21a7ca [Server] Rename OnPlayerCellLoad to OnPlayerCellState, add action param 8 years ago
David Cernat 158d606477 [General] Leave one blank line at the end of every tes3mp code file 8 years ago
David Cernat 73d39c1a0a [General] Stop using virtual functions in BasePlayer, part 2 8 years ago
David Cernat 63c8a98083 [General] Stop using virtual functions in BasePlayer 8 years ago
David Cernat c62a575a9e [Server] Change order of words in the names of script callbacks 8 years ago
David Cernat 1d9c6ddd81 [General] Add placeholders for the new packet ID_PLAYER_CELL_LOAD 8 years ago
David Cernat f9feaf05f0 [Server] Add script callbacks for object placement and deletion 8 years ago
David Cernat 35e453dec3 [General] Sketch out most of functionality for journal saving/loading 8 years ago
David Cernat d308897f95 Rename PacketItems, PacketSpells into InventoryChanges, SpellbookChanges 8 years ago
David Cernat e2c595fc5d Add preliminary structure for journal changes 8 years ago