19 #ifndef PS_CHAR_CREATION_MANAGER_H 20 #define PS_CHAR_CREATION_MANAGER_H 36 #define MAX_PLAYER_NAME_LENGTH 27 64 static bool IsUnique(
const char* playerName,
bool dbUniqueness =
false);
148 int IsReserved(
const char* playerName, AccountID acctID);
162 struct CreationChoice
166 csString description;
169 csString eventScript;
180 csString eventScript;
184 LifeEventChoiceServer* FindLifeEvent(
int id);
185 CreationChoice* FindChoice(
int id);
188 RaceCP* raceCPValues;
191 csPDelArray<CreationChoice> parentData;
192 csPDelArray<CreationChoice> childhoodData;
193 csPDelArray<LifeEventChoiceServer> lifeEvents;
void HandleName(MsgEntry *me, Client *client)
Handles a check on a name.
Defines the structure needed to send a life event across the network.
Manages CEL entities on the server.
bool LoadCreationChoices()
Caches in creation choices from the database.
virtual ~CharCreationManager()
bool Validate(psCharUploadMessage &mesg, csString &errorMsg)
bool LoadCPValues()
Cache in the data about the race CP starting values.
The structure of 1 queue entry (pointer to a message)
void HandleLifeEvents(MsgEntry *me, Client *client)
int IsReserved(const char *playerName, AccountID acctID)
Check to see if a name is on the reserve list for database migration.
void AssignScript(psCharacter *chardata)
Assign a script to a character.
void HandleCharDelete(MsgEntry *me, Client *client)
Handles the deletion of a character from the char pick screen.
bool PlayerHasFinishedTutorial(AccountID acctID, uint32 tutorialsecid)
static bool FilterName(const char *name)
This class collects data of a netclient.
void HandleParents(MsgEntry *me, Client *client)
Handle and incomming message from a client about parents.
bool Initialize()
Caches the data from the database needed for character creation.
static bool IsLastNameAvailable(const char *lastname, AccountID requestingAcct=0)
Check whether a given last name is available.
int CalculateCPChoices(csArray< uint32_t > &choices, int fatherMod, int motherMod)
Server manager for character creation.
This class manages the caching of data that is unchanging during server operation.
This class holds the refs to the core factories, etc in CEL.
CharCreationManager(GEMSupervisor *gemsupervisor, CacheManager *cachemanager, EntityManager *entitymanager)
void HandleCharCreateCP(MsgEntry *me, Client *client)
Handles the creation of a character from the char creation screen.
void HandleTraits(MsgEntry *me, Client *client)
static bool IsUnique(const char *playerName, bool dbUniqueness=false)
Check to see a name is unique in the characters table.
void HandleUploadMessage(MsgEntry *me, Client *client)
int ConvertAreaToInt(const char *area)
Takes a string name of a choice and converts it to it's enum value.
void HandleChildhood(MsgEntry *me, Client *client)
int CalculateCPLife(csArray< uint32_t > &events)
Provides a manager to facilitate subscriptions.