|
|
@ -175,18 +175,55 @@ pub fn update_player_position(id: ClientId, |
|
|
|
.ok_or_else(|| ShipError::InvalidRoom(room_id.0 as u32))?;
|
|
|
|
|
|
|
|
match &message.msg {
|
|
|
|
GameMessage::PlayerChangedMap(p) => {client.x = p.x; client.y = p.y; client.z = p.z;},
|
|
|
|
GameMessage::PlayerChangedMap2(p) => {client.area = MapArea::from_value(&room.mode.episode(), p.map_area).ok();},
|
|
|
|
GameMessage::TellOtherPlayerMyLocation(p) => {client.x = p.x; client.y = p.y; client.z = p.z; client.area = MapArea::from_value(&room.mode.episode(), p.map_area).ok();},
|
|
|
|
GameMessage::PlayerWarpingToFloor(p) => {client.area = MapArea::from_value(&room.mode.episode(), p.area as u16).ok();},
|
|
|
|
GameMessage::PlayerTeleported(p) => {client.x = p.x; client.y = p.y; client.z = p.z;},
|
|
|
|
GameMessage::PlayerStopped(p) => {client.x = p.x; client.y = p.y; client.z = p.z;},
|
|
|
|
GameMessage::PlayerLoadedIn(p) => {client.x = p.x; client.y = p.y; client.z = p.z;},
|
|
|
|
GameMessage::PlayerWalking(p) => {client.x = p.x; client.z = p.z;},
|
|
|
|
GameMessage::PlayerRunning(p) => {client.x = p.x; client.z = p.z;},
|
|
|
|
GameMessage::PlayerWarped(p) => {client.x = p.x; client.y = p.y;},
|
|
|
|
GameMessage::PlayerChangedMap(p) => {
|
|
|
|
client.x = p.x;
|
|
|
|
client.y = p.y;
|
|
|
|
client.z = p.z;
|
|
|
|
},
|
|
|
|
GameMessage::PlayerChangedMap2(p) => {
|
|
|
|
client.area = room.map_areas.get_area_map(p.map_area).ok().cloned();
|
|
|
|
},
|
|
|
|
GameMessage::TellOtherPlayerMyLocation(p) => {
|
|
|
|
client.x = p.x;
|
|
|
|
client.y = p.y;
|
|
|
|
client.z = p.z;
|
|
|
|
client.area = room.map_areas.get_area_map(p.map_area).ok().cloned();
|
|
|
|
},
|
|
|
|
GameMessage::PlayerWarpingToFloor(p) => {
|
|
|
|
client.area = room.map_areas.get_area_map(p.area as u16).ok().cloned();
|
|
|
|
},
|
|
|
|
GameMessage::PlayerTeleported(p) => {
|
|
|
|
client.x = p.x;
|
|
|
|
client.y = p.y;
|
|
|
|
client.z = p.z;
|
|
|
|
},
|
|
|
|
GameMessage::PlayerStopped(p) => {
|
|
|
|
client.x = p.x;
|
|
|
|
client.y = p.y;
|
|
|
|
client.z = p.z;
|
|
|
|
},
|
|
|
|
GameMessage::PlayerLoadedIn(p) => {
|
|
|
|
client.x = p.x;
|
|
|
|
client.y = p.y;
|
|
|
|
client.z = p.z;
|
|
|
|
},
|
|
|
|
GameMessage::PlayerWalking(p) => {
|
|
|
|
client.x = p.x;
|
|
|
|
client.z = p.z;
|
|
|
|
},
|
|
|
|
GameMessage::PlayerRunning(p) => {
|
|
|
|
client.x = p.x;
|
|
|
|
client.z = p.z;
|
|
|
|
},
|
|
|
|
GameMessage::PlayerWarped(p) => {
|
|
|
|
client.x = p.x;
|
|
|
|
client.y = p.y;
|
|
|
|
},
|
|
|
|
// GameMessage::PlayerChangedFloor(p) => {client.area = MapArea::from_value(&room.mode.episode(), p.map).ok();},
|
|
|
|
GameMessage::InitializeSpeechNpc(p) => {client.x = p.x; client.z = p.z;}
|
|
|
|
GameMessage::InitializeSpeechNpc(p) => {
|
|
|
|
client.x = p.x;
|
|
|
|
client.z = p.z;
|
|
|
|
}
|
|
|
|
_ => {},
|
|
|
|
}
|
|
|
|
} else {}
|
|
|
|