diff options
author | Guillaume Melquiond <guillaume.melquiond@gmail.com> | 2007-08-14 13:38:18 +0000 |
---|---|---|
committer | Guillaume Melquiond <guillaume.melquiond@gmail.com> | 2007-08-14 13:38:18 +0000 |
commit | a88aa0a9af24962f8eea11e039fcf34dade66037 (patch) | |
tree | a894a129129ef3ddefcdbcd9e660461170b7c50e /src/game-server/character.cpp | |
parent | 4c7acd2de27714caab933f8fc2d65a3d4a622336 (diff) | |
download | manaserv-a88aa0a9af24962f8eea11e039fcf34dade66037.tar.gz manaserv-a88aa0a9af24962f8eea11e039fcf34dade66037.tar.bz2 manaserv-a88aa0a9af24962f8eea11e039fcf34dade66037.tar.xz manaserv-a88aa0a9af24962f8eea11e039fcf34dade66037.zip |
Involved money in trade handler.
Diffstat (limited to 'src/game-server/character.cpp')
-rw-r--r-- | src/game-server/character.cpp | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/src/game-server/character.cpp b/src/game-server/character.cpp index a1670389..913e05ef 100644 --- a/src/game-server/character.cpp +++ b/src/game-server/character.cpp @@ -156,15 +156,31 @@ BuySell *Character::getBuySell() const void Character::setTrading(Trade *t) { - cancelTransaction(); - mTransactionHandler = t; - mTransaction = TRANS_TRADE; + if (t) + { + cancelTransaction(); + mTransactionHandler = t; + mTransaction = TRANS_TRADE; + } + else + { + assert(mTransaction == TRANS_NONE || mTransaction == TRANS_TRADE); + mTransaction = TRANS_NONE; + } } void Character::setBuySell(BuySell *t) { - cancelTransaction(); - mTransactionHandler = t; - mTransaction = TRANS_BUYSELL; + if (t) + { + cancelTransaction(); + mTransactionHandler = t; + mTransaction = TRANS_BUYSELL; + } + else + { + assert(mTransaction == TRANS_NONE || mTransaction == TRANS_BUYSELL); + mTransaction = TRANS_NONE; + } } |