Commit Graph

51 Commits (8aad93b90404f22a2a001471e7d847edbd31bc5d)

Author SHA1 Message Date
David Cernat 3effd5f1ff [General] Update positions for dead players on other clients
Dead players will now show up at the correct cell and position for living players, making server scripts that allow players to revive each other much more functional.
5 years ago
Koncord f1e8569291 [Server] Remove result from the OnPlayerSendMessage callback 6 years ago
David Cernat b76e00c66e [Server] Call OnPlayerCellChange script event near start of cell change
This makes it possible to send custom records used by players for their equipment before the hardcoded exchange of equipment packets takes place.

Additionally, remove the check for dead players because it has no real use and can potentially cause problems.
6 years ago
David Cernat 8df08c7d10 [General] Implement PlayerItemUse packet
Players can no longer unilaterally use items on themselves in their inventory. When they try to use an item, they send a PlayerItemUse packet to the server with the item's details. A serverside script can then check the item and either send the packet back to make the item use go through or drop it.
6 years ago
David Cernat 0b5cb15f71 [General] Turn GameWeather into WorldWeather, now a WorldstatePacket 6 years ago
David Cernat 4ac371d292 [Server] Delete duplicate WorldKillCount processor with old filename 6 years ago
David Cernat 3649cf553f [General] Rename PlayerKillCount into WorldKillCount
This should clarify the real meaning of the packet and its associated event.

The event itself has been renamed from OnPlayerKillCount to OnWorldKillCount.
6 years ago
David Cernat 61da0d2475 [General] Turn PlayerInteraction into PlayerInput 6 years ago
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.
6 years ago
David Cernat 72862dc255 [General] Turn PlayerMap into WorldMap, now a Worldstate packet 6 years ago
David Cernat 0be6de6607 [General] Turn RecordDynamic into a Worldstate packet 6 years ago
David Cernat 715012f087 [General] Implement sending of image data for map tiles in PlayerMap 6 years ago
David Cernat 66d5109509 [General] Fix information exchange for players sharing a cell
Previously, two players entering the same cell only sent and received their latest changes for dynamic stats, attributes, skills and equipment when they started sharing that cell.
6 years ago
David Cernat 28f1c1b0d3 [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.

(cherry picked from commit 926106cf8c)
6 years ago
David Cernat 88ae0772cf [Server] Initialize new processors and fix issues with RecordDynamic 6 years ago
David Cernat 02af7f6ba1 [General] Add placeholders for new packet types 6 years ago
David Cernat 50d5fffb7f [General] Add and implement PlayerQuickKeys packet 7 years ago
David Cernat 3aedc2e5bc [Server] Don't automatically share PlayerTopic packets between players 7 years ago
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.
7 years ago
David Cernat cd8d064761 [Server] Add PlayerShapeshift to PlayerCellChange's information exchange 7 years ago
David Cernat 43a3daf0aa [General] Add & implement PlayerShapeshift packet for werewolf states 7 years ago
David Cernat 4e74910fdb [General] Disable automatic sync for PlayerJournal and PlayerFaction
Simplify PlayerFaction packets by removing BOTH action
7 years ago
Koncord 768790e9b4 [Server] Move Base processors and Initializer to processors subdirectory 7 years ago
David Cernat 71313c5aa6 [General] Implement PlayerMap packet, part 1 7 years ago
Koncord fcccd7b665 [General] Remove creatureStats.mDead from packets 7 years ago
David Cernat 813a3c89c4 [General] Implement PlayerBook packet to track skill books read 7 years ago
David Cernat b3b73c5cd2 [General] Implement resurrection at nearest shrine or temple 7 years ago
David Cernat 70d9374a6a [General] Implement PlayerKillCount packets 7 years ago
David Cernat 5b23da8e1c [General] Rename unused PlayerRegionChange packet into PlayerKillCount 7 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.
7 years ago
David Cernat 08de349133 [General] Add placeholders for PlayerTopic & ObjectTrap packets 7 years ago
David Cernat e6983993c2 [General] Implement sending and reading of PlayerFaction packets 7 years ago
David Cernat 04c9c5ed48 [General] Forward PlayerJournal packets to other players 7 years ago
David Cernat 90c594b726 [Server] Make names for Player script callbacks shorter 7 years ago
David Cernat ad388c7e12 [General] Add placeholders for ActorEquipment & PlayerFaction packets
Also reorder packets and packet processors.
7 years ago
David Cernat 3c30801eac [Server] Try to fix server crash from iterations through invalid players 7 years ago
David Cernat 4d81455020 [General] Rework and simplify death reasons so they work with NPCs 7 years ago
Koncord 1ce8c0f9ec [Server] Fix id in log message for ID_PLAYER_CELL_STATE processor 7 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.
7 years ago
David Cernat 6a21ec1fdc [General] Rename PlayerPos into PlayerPosition 7 years ago
David Cernat 7b07d6651f [General] Add and use PlayerBounty packet and matching script functions 7 years ago
David Cernat 6658531713 [General] Fix names for two PlayerProcessors 7 years ago
David Cernat a650683bae [General] Add and use Target struct in mwmp::Attack 7 years ago
David Cernat 340ad09c97 [Server] Rename variables in ProcessorPlayerAttack 7 years ago
David Cernat 870886192b [General] Rename DYNAMICSTATS into STATS_DYNAMIC 7 years ago
David Cernat e7960eee76 [General] Rename DrawState packets into AnimFlags ones for clarity 7 years ago
David Cernat 070c6a3bd4 [General] Add ActorPacketController & make controller var names clearer 7 years ago
Koncord 1d2a6d9056 [Server] Rename dontRead to avoidReading 7 years ago
Koncord 47924f5bb0 [Server] Move packet.Read() to parent 7 years ago
Koncord ead92fff61 [Server] Move setPlayer() to PlayerProcessor 7 years ago