Koncord
510e657c93
Merge branch 'master' into new-script-api
2017-09-02 19:48:44 +08:00
David Cernat
ac3254d85f
[General] Don't send PlayerAttribute and PlayerSkill packets as werewolf
...
This will prevent the server from overwriting a player's human form stats with their werewolf form stats.
Additionally, share PlayerShapeshift packets last when exchanging data with another player.
2017-08-31 18:21:38 +03:00
Koncord
fe2dd1bad4
[Server] Use correct cells in "send" functions
...
Remove unused return type from ON_PLAYER_SENDMESSAGE
2017-08-29 03:34:36 +08:00
Koncord
2d0840cb3a
[General] Modernize Script API
...
This commit changes the style of tes3mp serverside scripting mods. Short list of changes:
* Break compatibility with old server mods
* OOP style lua API
* Basic dependency checker, allowing the installation of multiple server mods without changing configs
* Remove support for C++ plugins
* Change outdated LuaBridge to [sol2](https://github.com/ThePhD/sol2 );
* Support GCC, Clang and MSVC compilers
* New environment variables: "TES3MP_SERVER_DIR" and "TES3MP_SERVER_USERDIR";
* New entity "Command controller" for registering new chat commands;
* New Event system
* Simplified Timer API
* All Lua mods now run in their own environments
* Add global namespace - Data that can be used for communicating between mods
* Player and Actor inherit base class NetActor
2017-08-28 00:15:56 +08:00
David Cernat
cd8d064761
[Server] Add PlayerShapeshift to PlayerCellChange's information exchange
2017-07-25 18:44:06 +03:00
David Cernat
43a3daf0aa
[General] Add & implement PlayerShapeshift packet for werewolf states
2017-07-15 09:02:19 +03:00
David Cernat
3529f9b090
[General] Add placeholders for PlayerJail, ObjectState & ConsoleCommand
2017-07-10 12:33:53 +03:00
David Cernat
4e74910fdb
[General] Disable automatic sync for PlayerJournal and PlayerFaction
...
Simplify PlayerFaction packets by removing BOTH action
2017-07-08 12:27:48 +03:00
Koncord
768790e9b4
[Server] Move Base processors and Initializer to processors subdirectory
2017-07-04 01:13:10 +08:00
David Cernat
71313c5aa6
[General] Implement PlayerMap packet, part 1
2017-07-03 09:28:27 +03:00
Koncord
fcccd7b665
[General] Remove creatureStats.mDead from packets
2017-06-27 15:03:41 +08:00
David Cernat
813a3c89c4
[General] Implement PlayerBook packet to track skill books read
2017-06-27 08:27:14 +03:00
David Cernat
b3b73c5cd2
[General] Implement resurrection at nearest shrine or temple
2017-06-27 01:01:45 +03:00
David Cernat
70d9374a6a
[General] Implement PlayerKillCount packets
2017-06-10 14:04:19 +03:00
David Cernat
5b23da8e1c
[General] Rename unused PlayerRegionChange packet into PlayerKillCount
2017-06-10 12:01:37 +03:00
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.
2017-05-29 04:43:52 +03:00
David Cernat
f47a10dd4a
[Server] Add script callback and getter functions for ActorEquipment
2017-05-26 22:54:51 +03:00
David Cernat
08de349133
[General] Add placeholders for PlayerTopic & ObjectTrap packets
2017-05-24 19:01:28 +03:00
David Cernat
870fd9a78b
[General] Remove ObjectUnlock packet, use ObjectLock with 0 lock instead
2017-05-24 13:28:34 +03:00
David Cernat
e6983993c2
[General] Implement sending and reading of PlayerFaction packets
2017-05-18 19:27:20 +03:00
David Cernat
04c9c5ed48
[General] Forward PlayerJournal packets to other players
2017-05-18 12:57:48 +03:00
David Cernat
90c594b726
[Server] Make names for Player script callbacks shorter
2017-05-16 20:52:09 +03:00
David Cernat
ad388c7e12
[General] Add placeholders for ActorEquipment & PlayerFaction packets
...
Also reorder packets and packet processors.
2017-05-16 19:25:31 +03:00
David Cernat
3c30801eac
[Server] Try to fix server crash from iterations through invalid players
2017-05-09 14:30:25 +03:00
David Cernat
9d2c5c3502
[General] Simplify structure of BaseEvent
2017-05-06 21:57:29 +03:00
David Cernat
4d81455020
[General] Rework and simplify death reasons so they work with NPCs
2017-05-05 22:16:31 +03:00
David Cernat
06f3c07116
[Server] Only read Actor packets from players who are still authorities
2017-05-05 06:13:34 +03:00
David Cernat
63dd2d9246
[General] Remove code related to ActorAuthority packets that is not used
2017-05-03 04:43:59 +03:00
David Cernat
83ba4b62b1
[Server] Remove Actors from a Cell's ActorList when they change cells
2017-05-02 01:39:08 +03:00
David Cernat
fafed96bf4
[Server] Store data from ActorPosition in the ActorLists of Cells
2017-05-01 20:42:54 +03:00
Koncord
1ce8c0f9ec
[Server] Fix id in log message for ID_PLAYER_CELL_STATE processor
2017-05-02 00:16:54 +08:00
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.
2017-05-01 02:36:13 +03:00
David Cernat
e1ee4a4f49
[Server] Store data from ActorStatsDynamic in the ActorLists of Cells
2017-05-01 00:53:08 +03:00
David Cernat
3d6b21942c
[Server] Add OnActorStatsDynamic script callback
2017-04-29 00:32:23 +03:00
David Cernat
9a89284bca
[Server] Add OnActorCellChange script callback
2017-04-25 23:31:37 +03:00
David Cernat
6a21ec1fdc
[General] Rename PlayerPos into PlayerPosition
2017-04-25 22:11:33 +03:00
David Cernat
7b07d6651f
[General] Add and use PlayerBounty packet and matching script functions
2017-04-25 21:24:39 +03:00
David Cernat
6658531713
[General] Fix names for two PlayerProcessors
2017-04-25 19:01:56 +03:00
David Cernat
a650683bae
[General] Add and use Target struct in mwmp::Attack
2017-04-17 18:31:39 +03:00
David Cernat
340ad09c97
[Server] Rename variables in ProcessorPlayerAttack
2017-04-17 17:43:03 +03:00
David Cernat
870886192b
[General] Rename DYNAMICSTATS into STATS_DYNAMIC
2017-04-16 09:00:18 +03:00
David Cernat
ca8fd1aa72
[General] Remove ActorHeadRotation packet because it would be too spammy
2017-04-15 15:49:40 +03:00
David Cernat
e7960eee76
[General] Rename DrawState packets into AnimFlags ones for clarity
2017-04-14 16:00:34 +03:00
David Cernat
0d196af685
[General] Add placeholders for 7 new ActorPackets
2017-04-11 11:37:38 +03:00
David Cernat
742d6f653a
[General] Add ActorPosition packet
2017-04-10 12:38:30 +03:00
David Cernat
174f316787
[General] Rename PacketActorFrame into PacketActorTest
2017-04-10 08:37:18 +03:00
David Cernat
c52084a028
[General] Use BaseActorLists in ActorPackets
2017-04-09 16:32:44 +03:00
David Cernat
070c6a3bd4
[General] Add ActorPacketController & make controller var names clearer
2017-04-09 08:51:28 +03:00
David Cernat
89a8ace41c
[Server] Print debug info only for certain world packets
2017-04-08 12:00:07 +03:00
David Cernat
fae3bcaeeb
[Server] Send actor packets only to players in the same cell
2017-04-06 06:42:25 +03:00
David Cernat
8c2469bf6d
[General] Add placeholder ActorList, ActorAuthority & ActorFrame packets
2017-04-05 04:06:45 +03:00
David Cernat
316720e710
[Server] Rename getNextMpNum() into incrementMpNum()
2017-04-05 01:30:15 +03:00
David Cernat
8b8c01f389
[General] Make ID_OBJECT_PLACE take effect only when sent back by server
2017-04-04 11:43:33 +03:00
David Cernat
8cc61b6048
[General] Generate mpNums on the server when forwarding ID_OBJECT_PLACE
2017-04-04 09:23:34 +03:00
David Cernat
31cd836558
[General] Small tweaks to debug info
2017-04-04 08:24:11 +03:00
David Cernat
d242f3790f
[Server] Don't try to send late-arriving container packets about now unloaded cells
2017-04-04 07:21:02 +03:00
Koncord
1d2a6d9056
[Server] Rename dontRead to avoidReading
2017-04-03 06:44:14 +08:00
Koncord
47924f5bb0
[Server] Move packet.Read() to parent
2017-04-03 06:13:56 +08:00
Koncord
ead92fff61
[Server] Move setPlayer() to PlayerProcessor
2017-04-03 06:05:18 +08:00
Koncord
c8fb7d9c1a
[Server] Move packet.Send(true) to parent class
2017-04-03 05:56:29 +08:00
Koncord
9ecc70d17c
[Server] Fix ID in ProcessorContainer
2017-04-03 05:49:23 +08:00
Koncord
f5600c508f
[Server] Move all world handlers to WorldProcessors
2017-04-03 05:46:46 +08:00
Koncord
3ab25fb3f1
[Server] Move player processors to processors/player
2017-04-03 05:45:41 +08:00
Koncord
e8a5fd1cd0
[Server] Move all message handlers to PlayerProcessors
2017-04-01 02:36:24 +08:00