diff options
author | Philipp Sehmisch <mana@crushnet.org> | 2011-03-14 20:56:40 +0100 |
---|---|---|
committer | Philipp Sehmisch <mana@crushnet.org> | 2011-03-15 18:23:37 +0100 |
commit | 91e2779891973cdbefc6e07ca3dee7a432a05112 (patch) | |
tree | 7b594b3aead19f6550d66384c342a3d3668ec086 /src/net/tmwa/playerhandler.cpp | |
parent | 25a2abd09e3b76115ed0b6b1a02cdddc6c1c5bfc (diff) | |
download | mana-91e2779891973cdbefc6e07ca3dee7a432a05112.tar.gz mana-91e2779891973cdbefc6e07ca3dee7a432a05112.tar.bz2 mana-91e2779891973cdbefc6e07ca3dee7a432a05112.tar.xz mana-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/tmwa/playerhandler.cpp')
-rw-r--r-- | src/net/tmwa/playerhandler.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/net/tmwa/playerhandler.cpp b/src/net/tmwa/playerhandler.cpp index b82968a3..725a00cc 100644 --- a/src/net/tmwa/playerhandler.cpp +++ b/src/net/tmwa/playerhandler.cpp @@ -282,6 +282,7 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg) if (PlayerInfo::getAttribute(HP) == 0 && !deathNotice) { + viewport->shakeScreen(100); deathNotice = new OkDialog(_("Message"), randomDeathMessage(), false); |