OpenMU

This project aims to create an easy to use, extendable and customizable server for a MMORPG called "MU Online".

View on GitHub

C1 46 - ChangeTerrainAttributes (by server)

Is sent when

The server wants to alter the terrain attributes of a map at runtime.

Causes the following actions on the client side

The client updates the terrain attributes on its side.

Structure

Index Length Data Type Value Description
0 1 Byte 0xC1 Packet type
1 1 Byte   Packet header - length of the packet
2 1 Byte 0x46 Packet header - packet type identifier
3 1 Boolean false Type
4 1 TerrainAttributeType   Attribute
5 1 Boolean   RemoveAttribute; When this is true, the attribute is removed on the client side. If it’s false, then the attribute is added.
6 1 Byte   AreaCount
7 TerrainArea.Length * AreaCount Array of TerrainArea   Areas

TerrainArea Structure

Defines the area which should be changed.

Length: 4 Bytes

Index Length Data Type Value Description
0 1 Byte   StartX
1 1 Byte   StartY
2 1 Byte   EndX
3 1 Byte   EndY

TerrainAttributeType Enum

Defines the attribute which should be set/unset. It’s a Flags enumeration.

Value Name Description
1 Safezone The coordinate is a safezone.
2 Character The coordinate is occupied by a character.
4 Blocked The coordinate is blocked and can’t be passed by a character.
8 NoGround The coordinate is blocked, because there is no ground and can’t be passed by a character.
16 Water The coordinate is blocked by water and can’t be passed by a character.