mirror of
https://github.com/OpenFusionProject/OpenFusion.git
synced 2024-11-05 06:50:04 +00:00
b8f586bc10
* Initial Group Implementation * Request/refuse/join and leave groups. * Chat into groups. * Get status updates on every group member each tick. * Owner leaving the group destroys the entire group. * Added more nano powers * Revive for both variants work. * Many nano powers now have a group variant working. * Enemy checks for aggro before retreating. * Enemies keep aggro on dead players with revive nanos out. * Further Nano powers + Bugfixes * Infection damage now relies on bitcondition flags. * Antidote power now works. * Improved how groups handle leaving players. * Fixed mob aggro range. * Group Healing is now functional. * Possibly fixed the player being unselectable bug. * Fixed indentations. * Dismiss nano when starting a MSS ride * Sneak, Invisibility and Bugfixes * Sneak and invisibility affect mob aggro. * Possibly bugfixed equips not showing to other players. * Aggro checking is less likely to cause nullptr related crashes. * Group PR cleanup. * Made sure to label all hacky workarounds * Implemented the Antidote nano power the right way * Cleaned up the way various little things are written Didn't have the opportunity to actually test groups. Co-authored-by: CakeLancelot <CakeLancelot@users.noreply.github.com> Co-authored-by: CPunch <sethtstubbs@gmail.com> Co-authored-by: dongresource <dongresource@protonmail.com>
24 lines
685 B
C++
24 lines
685 B
C++
#pragma once
|
|
|
|
#include "Player.hpp"
|
|
#include "CNProtocol.hpp"
|
|
#include "CNStructs.hpp"
|
|
#include "CNShardServer.hpp"
|
|
|
|
#include <map>
|
|
#include <list>
|
|
|
|
namespace GroupManager {
|
|
void init();
|
|
|
|
void requestGroup(CNSocket* sock, CNPacketData* data);
|
|
void refuseGroup(CNSocket* sock, CNPacketData* data);
|
|
void joinGroup(CNSocket* sock, CNPacketData* data);
|
|
void leaveGroup(CNSocket* sock, CNPacketData* data);
|
|
void chatGroup(CNSocket* sock, CNPacketData* data);
|
|
void menuChatGroup(CNSocket* sock, CNPacketData* data);
|
|
void sendToGroup(Player* plr, void* buf, uint32_t type, size_t size);
|
|
void groupTickInfo(Player* plr);
|
|
void groupKickPlayer(Player* plr);
|
|
}
|