summaryrefslogtreecommitdiff
path: root/src/net/manaserv/manaserv_protocol.h
diff options
context:
space:
mode:
authorPhilipp Sehmisch <mana@crushnet.org>2011-03-14 20:56:40 +0100
committerPhilipp Sehmisch <mana@crushnet.org>2011-03-15 18:23:37 +0100
commit91e2779891973cdbefc6e07ca3dee7a432a05112 (patch)
tree7b594b3aead19f6550d66384c342a3d3668ec086 /src/net/manaserv/manaserv_protocol.h
parent25a2abd09e3b76115ed0b6b1a02cdddc6c1c5bfc (diff)
downloadmana-client-91e2779891973cdbefc6e07ca3dee7a432a05112.tar.gz
mana-client-91e2779891973cdbefc6e07ca3dee7a432a05112.tar.bz2
mana-client-91e2779891973cdbefc6e07ca3dee7a432a05112.tar.xz
mana-client-91e2779891973cdbefc6e07ca3dee7a432a05112.zip
Implemented a screen shake effect system in the viewport class.
The screen can either be "nudged" in a random direction with a specific intensity or you can define an exact x and y intensity, decay factor and duration. On a tmwAthena server an effect is triggered when the player character dies. A method for stopping all shake effects is also implemented, but not used yet. I added a netcode message for Manaserv to trigger an effect server-sided. Because our protocol has currently no way to transport floating point values, the decay is transported as a fixed point value with 4 decimals which is entirely sufficient for this purpose.
Diffstat (limited to 'src/net/manaserv/manaserv_protocol.h')
-rw-r--r--src/net/manaserv/manaserv_protocol.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/net/manaserv/manaserv_protocol.h b/src/net/manaserv/manaserv_protocol.h
index 84f1c1a5..16e56183 100644
--- a/src/net/manaserv/manaserv_protocol.h
+++ b/src/net/manaserv/manaserv_protocol.h
@@ -163,6 +163,7 @@ enum {
GPMSG_BEINGS_DAMAGE = 0x0310, // { W being id, W amount }*
GPMSG_CREATE_EFFECT_POS = 0x0320, // W effect id, W*2 position
GPMSG_CREATE_EFFECT_BEING = 0x0321, // W effect id, W BeingID
+ GPMSG_SHAKE = 0x0330, // W intensityX, W intensityY, [W decay_times_10000, [W duration]]
// Guild
PCMSG_GUILD_CREATE = 0x0350, // S name