summaryrefslogtreecommitdiff
path: root/src/game-server/character.h
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2012-03-27 00:18:31 +0200
committerThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2012-04-14 12:21:58 +0200
commit387a04cf3c38e19fd8050e39d0f219e5f07257fd (patch)
tree0dbdeb2679a5c58303b6e48766bee7fa4520a174 /src/game-server/character.h
parentdcd66debbe519403d3b8f7bf30313fbdee71fe6c (diff)
downloadmanaserv-387a04cf3c38e19fd8050e39d0f219e5f07257fd.tar.gz
manaserv-387a04cf3c38e19fd8050e39d0f219e5f07257fd.tar.bz2
manaserv-387a04cf3c38e19fd8050e39d0f219e5f07257fd.tar.xz
manaserv-387a04cf3c38e19fd8050e39d0f219e5f07257fd.zip
Introduced a Timeout class for counting down without counting
The timeout remembers a reference point of time against which it can check how much time is remaining. Reviewed-by: Erik Schilling Reviewed-by: Yohann Ferreira
Diffstat (limited to 'src/game-server/character.h')
-rw-r--r--src/game-server/character.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/game-server/character.h b/src/game-server/character.h
index ec3fc737..b465a90e 100644
--- a/src/game-server/character.h
+++ b/src/game-server/character.h
@@ -405,10 +405,10 @@ class Character : public Being
/** Makes it impossible to chat for a while */
void mute(int seconds)
- { setTimerHard(T_C_MUTE, seconds * 10); }
+ { mMuteTimeout.set(seconds * 10); }
bool isMuted() const
- { return isTimerRunning(T_C_MUTE); }
+ { return !mMuteTimeout.expired(); }
bool isConnected() const
{ return mConnected; }
@@ -520,6 +520,8 @@ class Character : public Being
int mTalkNpcId; /**< Public ID of NPC the character is talking to, if any */
Script::Thread *mNpcThread; /**< Script thread executing NPC interaction, if any */
+ Timeout mMuteTimeout; /**< Time until the character is no longer muted */
+
static Script::Ref mDeathCallback;
static Script::Ref mDeathAcceptedCallback;