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:
FateJH 2017-10-10 19:51:25 -04:00
parent c85d7a65a2
commit 349ec676d9

View file

@ -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()
}