491 {
493 bool generateRandomEquip = false;
494
495
497 {
498 if (
GetGame().ListAvailableCharacters().Find(
GetGame().GetMenuDefaultCharacterData().GetCharacterType()) > -1)
500 }
501 else
502 {
503 generateRandomEquip = true;
504 }
505
506 if (PlayerSpawnHandler.IsInitialized())
507 {
508 PlayerSpawnPreset presetData = PlayerSpawnHandler.GetRandomCharacterPreset();
509 if (presetData && presetData.
IsValid())
510 {
512 if (presetCharType ==
string.
Empty)
513 presetCharType = characterType;
515 {
516 PlayerSpawnHandler.ProcessEquipmentData(
m_player,presetData);
518 }
519 else
520 {
521 ErrorEx(
"Failed to create character from type: " + presetCharType +
", using default spawning method");
522 }
523 }
524 else
525 {
526 ErrorEx(
"Failed to load PlayerSpawnPreset data properly, using default spawning method");
527 }
528 }
529
531 {
532 if (generateRandomEquip)
535 }
536
538 }
override string CreateRandomPlayer()
MenuDefaultCharacterData GetMenuDefaultCharacterData(bool fill_data=true)
void EquipCharacter(MenuDefaultCharacterData char_data)
Spawns character equip from received data. Checks validity against config, randomizes if invalid valu...
bool ProcessLoginData(ParamsReadContext ctx)
returns whether received data is valid, ctx can be filled on client in StoreLoginData()
PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName)
string GetRandomCharacterType()
proto native CGame GetGame()