mirror of
https://github.com/psforever/PSF-LoginServer.git
synced 2026-03-08 06:50:31 +00:00
swapping OCM with OCDM packet during login; also needed to add functionality that temporarily registers everything on the character's person
This commit is contained in:
parent
c85d7a65a2
commit
349ec676d9
1 changed files with 24 additions and 1 deletions
|
|
@ -424,7 +424,7 @@ class WorldSessionActor extends Actor with MDCContextAware {
|
|||
val armor = player.Armor
|
||||
player.Spawn
|
||||
sendResponse(PacketCoding.CreateGamePacket(0,
|
||||
ObjectCreateMessage(ObjectClass.avatar, player.GUID, player.Definition.Packet.ConstructorData(player).get)
|
||||
ObjectCreateDetailedMessage(ObjectClass.avatar, player.GUID, player.Definition.Packet.DetailedConstructorData(player).get)
|
||||
))
|
||||
if(health > 0) { //player can not be dead; stay spawned as alive
|
||||
player.Health = health
|
||||
|
|
@ -1447,6 +1447,18 @@ class WorldSessionActor extends Actor with MDCContextAware {
|
|||
tplayer.Holsters().foreach(holster => {
|
||||
SetCharacterSelectScreenGUID_SelectEquipment(holster.Equipment, gen)
|
||||
})
|
||||
tplayer.Inventory.Items.foreach({
|
||||
case ((_, entry : InventoryItem)) =>
|
||||
SetCharacterSelectScreenGUID_SelectEquipment(Some(entry.obj), gen)
|
||||
tplayer.Slot(5).Equipment match {
|
||||
case Some(locker) =>
|
||||
locker.GUID = PlanetSideGUID(gen.getAndIncrement)
|
||||
locker.asInstanceOf[LockerContainer].Inventory.Items.foreach({ case ((_, entry : InventoryItem)) =>
|
||||
SetCharacterSelectScreenGUID_SelectEquipment(Some(entry.obj), gen)
|
||||
})
|
||||
case None => ;
|
||||
}
|
||||
})
|
||||
tplayer.GUID = PlanetSideGUID(gen.getAndIncrement)
|
||||
}
|
||||
|
||||
|
|
@ -1478,6 +1490,17 @@ class WorldSessionActor extends Actor with MDCContextAware {
|
|||
tplayer.Holsters().foreach(holster => {
|
||||
RemoveCharacterSelectScreenGUID_SelectEquipment(holster.Equipment)
|
||||
})
|
||||
tplayer.Inventory.Items.foreach({ case((_, entry : InventoryItem)) =>
|
||||
RemoveCharacterSelectScreenGUID_SelectEquipment(Some(entry.obj))
|
||||
})
|
||||
tplayer.Slot(5).Equipment match {
|
||||
case Some(locker) =>
|
||||
locker.Invalidate()
|
||||
locker.asInstanceOf[LockerContainer].Inventory.Items.foreach({ case((_, entry : InventoryItem)) =>
|
||||
RemoveCharacterSelectScreenGUID_SelectEquipment(Some(entry.obj))
|
||||
})
|
||||
case None => ;
|
||||
}
|
||||
tplayer.Invalidate()
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue