1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-16 02:49:55 +00:00
Commit graph

324 commits

Author SHA1 Message Date
David Cernat
bdf2f03c4f [General] Remove unnecessary MapChanges struct from BaseWorldstate 2018-07-12 05:06:31 +03:00
David Cernat
5bb442bbd3 [Server] Add sendToOtherVisitors boolean to SendActorAI()
Additionally, avoid repetition in functions that send Actor packets.
2018-07-11 22:17:00 +03:00
David Cernat
bff6e9e235 [General] Implement ActorAI packet, part 5
Allow repetition for AiWander package to be turned on and off.
2018-07-10 23:18:32 +03:00
David Cernat
00c13ae96c [General] Implement ActorAI packet, part 4
The server can now make actors activate players and objects, at least in theory. In practice, OpenMW''s AiActivate package needs to be worked so it allows specific objects as targets instead of just refIds.
2018-07-10 07:07:37 +03:00
David Cernat
0e13207afe [General] Implement ActorAI packet, part 3
The server can now cancel actor AI, make actors travel to a location, make actors wander, and make actors get escorted by a player or another actor.
2018-07-10 05:07:58 +03:00
David Cernat
cbb9817913 [Server] Add missing descriptions for PlayAnimation() and PlaySpeech() 2018-07-08 02:03:33 +03:00
David Cernat
6ba9b1742b [Server] Remove unused default parameters for script functions 2018-07-08 01:05:54 +03:00
David Cernat
563269d359 [Server] Bring comments up-to-date for packet-sending script functions 2018-07-07 20:16:36 +03:00
David Cernat
2f1ef049d2 [Server] Turn sendToAttachedPlayer into skipAttachedPlayer
Unfortunately, default values set in the C++ code for our script function parameters don't actually seem to work, and they always default to false because they receive a nil value from Lua. As a result, to not break compatibility with previous scripts, I've decided to use a skipAttachedPlayer argument instead so it can default to false while still providing the same benefits that sendToAttachedPlayer provided.
2018-07-07 20:08:59 +03:00
David Cernat
141e404ed9 [Server] Move server administration functions to ServerFunctions class 2018-07-07 19:40:22 +03:00
David Cernat
6041425122 [Server] Move Chat functions to new ChatFunctions class 2018-07-07 19:20:25 +03:00
David Cernat
6a3fbf4e98 [Server] Use consistent arguments for script functions that send packets
Previously, there was a confusing separation between script functions that had a "broadcast" argument and script functions that had a "toOthers" argument.

Those with broadcast sent the packet to all players on the server when broadcast was true. Those with toOthers sent the packet to all players other than the packet's attached player.

The former was based on the pattern of the original SendMessage() script function. The latter more closely resembled RakNet's own broadcast argument as seen here:

https://github.com/TES3MP/CrabNet/blob/master/include/raknet/RakPeer.h#L219

This commit makes it so all sending functions have a sendToOtherPlayers argument that is false by default and a sendToAttachedPlayer that is true by default. This should simultaneously allow sending to be more intuitive, while not breaking previous existing scripts to a significant degree.

Additionally, this commit also reduces some code repetition for all instances of packet-fetching in script functions.
2018-07-07 18:29:31 +03:00
David Cernat
14e4f64296 [Server] Add GetVideoFilename() and SendVideoPlay() script functions 2018-07-07 17:09:57 +03:00
David Cernat
c075496748 [General] Replace deathReason in death packets with a killer variable
Add serverside script functions for determining the killers of both players and actors.

Use unsigned ints for script functions returning an object or actor's refNumIndex or mpNum.

Remove updateDeadState() from LocalPlayer and make its code part of updateStatsDynamic() for simplicity.
2018-07-05 22:24:51 +03:00
David Cernat
934e592bdb [Server] Make spacing in CharClass consistent with other categories 2018-07-05 20:27:42 +03:00
David Cernat
e8ce009521 [Server] Use regular int as return value for GetObjectSummonerPid()
Additionally, clarify descriptions of script functions for getting information about summoners.
2018-07-05 20:26:23 +03:00
David Cernat
7010575075 [Server] Return -1 in GetObjectSummonerPid() when the player is invalid 2018-07-05 02:05:10 +03:00
David Cernat
3438061b55 [Server] Add script function for getting a summoner's pid
Additionally, fix typos in the comments for other script functions relating to summoners.
2018-07-04 04:26:44 +03:00
Koncord
fa2bf0663e [General] Simplify vectorContains 2018-07-03 18:41:03 +08:00
David Cernat
3aa125ceda [Server] Add script functions for getting a summoner's refId and indexes 2018-07-03 00:54:08 +03:00
David Cernat
f9ebe400f7 [Server] Add script function for checking if object's summoner is player 2018-07-02 18:32:42 +03:00
Koncord
685a80887b Remove Pawn support 2018-07-02 23:00:35 +08:00
David Cernat
bef53749ed [General] Replace BaseObject's hasMaster variable with isSummon
Additionally, add a GetObjectSummonState() script function to the server.
2018-07-02 02:25:06 +03:00
David Cernat
958b220835 [General] Send summon duration to server in ObjectSpawn packets 2018-07-01 00:43:29 +03:00
David Cernat
9102df7fde [General] Make WorldCollisionOverride also work with specific refIds
For now, this only makes it possible to enforce collision for specific refIds for placed objects.
2018-06-28 04:53:00 +03:00
David Cernat
84af9d9999 [Server] Reorder world map script functions 2018-06-28 03:48:16 +03:00
David Cernat
7ffdb18bf9 [General] Implement ActorDeath packet, part 1
ActorDeath packets are sent for dead actors before their StatsDynamic packets. They contain the actor's deathReason in a manner similar to that of PlayerDeath packets.

A future commit will replace the deathReason with a variable named killer which will be an mwmp::Target.
2018-06-27 21:47:55 +03:00
David Cernat
15bfa30070 [Server] Make it possible to resend received worldstates 2018-06-27 02:00:16 +03:00
David Cernat
914b79fcc9 [General] Make it possible to check which placed objects have containers 2018-06-26 16:56:08 +03:00
David Cernat
5bb2ba1e9e [General] Limit maximum imageData size in WorldMap packets 2018-06-23 02:33:34 +03:00
David Cernat
72862dc255 [General] Turn PlayerMap into WorldMap, now a Worldstate packet 2018-06-07 12:51:45 +03:00
David Cernat
bacecc93e3 [Server] Make it possible to resend a received ObjectList of any kind
Additionally, make existing related functions less confusing.
2018-06-05 14:19:06 +03:00
David Cernat
3efe05a88e [General] Implement WorldCollisionOverride packet 2018-05-27 16:05:40 +03:00
David Cernat
49ea76aa9d [General] Add notes for InputDialogs in GUIBoxes packet 2018-05-25 05:28:22 +03:00
David Cernat
3b5fb9cd6b [General] Make it possible to set year via WorldTime 2018-05-25 03:33:12 +03:00
David Cernat
4acf93b7db [General] Make it possible to set days passed via WorldTime 2018-05-24 14:02:04 +03:00
David Cernat
46744ee90f [General] Make WorldTime script functions more consistent with others 2018-05-24 09:38:06 +03:00
David Cernat
8d36d0d945 [General] Make it possible to change world's time scale via WorldTime 2018-05-23 08:31:25 +03:00
David Cernat
02ba641bef [Server] Use correct index changes for dynamic stat script functions 2018-05-23 05:48:28 +03:00
David Cernat
da66face25 [General] Rename GameTime packet into WorldTime 2018-05-23 00:41:29 +03:00
David Cernat
5af1150ab2 [General] Turn GameTime into a Worldstate packet 2018-05-21 07:14:08 +03:00
David Cernat
2ac334664b [Server] Add deprecated alternatives for ObjectList functions
This will avoid server crashes in older scripts.
2018-05-16 02:16:27 +03:00
David Cernat
bef36f77ca [Server] Create WorldstateFunctions and move GameTime functions there 2018-05-15 20:58:09 +03:00
David Cernat
d4f7936a76 [Server] Rename WorldFunctions into ObjectFunctions 2018-05-13 04:11:05 +03:00
David Cernat
78234f9071 [General] Rename Event into ObjectList & WorldObject into BaseObject 2018-05-13 00:42:24 +03:00
David Cernat
6bf3a0be1e [General] Rename WorldPackets into ObjectPackets for clarity 2018-05-12 19:40:00 +03:00
David Cernat
77389538e8 [General] Implement ActorAI packet, part 1
The server can now make actors become followers of players or other actors.
2018-05-12 06:29:11 +03:00
David Cernat
12727b66ea [Server] Use consistent variable names in map tile script functions 2018-05-10 07:44:08 +03:00
David Cernat
715012f087 [General] Implement sending of image data for map tiles in PlayerMap 2018-05-08 05:57:04 +03:00
David Cernat
980ddcb114 [Server] Add DoesFileExist() script function 2018-05-04 03:09:54 +03:00