Age | Commit message (Collapse) | Author | Files | Lines |
|
I made it so that the behaviour can be changed with only
a boolean setting in the playerhandler.
|
|
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.
|
|
This was made in favour of the manaserv way of doing things.
I also added a way to keep the original server speed value
so the pixel value can be recomputed at each map change, as this
was necessary since the speed is given before the first map
is loaded.
The code is much more simpler now about movement handling,
and we can already see improvements on other characters
movements in The Mana World with this.
Everything can't be perfect the first time; here are bugs
identified so far:
- Monsters direction isn't updated on TmwAthena for obscure reasons.
- Remote players walking animation is sometimes reset on each steps.
- When changing map, the local player sometimes walks randomly
until the player reacts.
Stay tuned!
|
|
Reviewed-by: Jaxad0127, Thorbjorn
|
|
|
|
Yeah, I know Jaxad, we're not releasing but as agreed with
Thorbjorn, the protocol is incompatible even when moving, so
better get rid of old clients early.
|
|
This will greatly help into upgrading the need of
each protocol separately.
This is the first step to a new item and equipment system for manaserv.
A subclassing of the EquipmentWindow will be done in the next commit,
as requested by Thorbjorn.
Reviewed-by: Thorbjorn.
|
|
This follows the changes made on the server.
Reviewed-by: Jaxad.
|
|
This fix the change dir (with alt key), attacks directions,
and the direction of a being standing when you come in its range.
Reviewed-by: Jaxad.
Resolves: Mana-mantis #257
|
|
Trivial.
|
|
I'll sync the two files as for the new enums in a separate commit.
Trivial fix.
Resolves: Mana-mantis #278.
|
|
Reviewed-by: Crush.
|
|
Trivial fix.
|
|
I turned the CharacterEntries into a vector.
As for now, it's basically working but I discovered bugs about
slots handling mainly for Manaserv that were already present
before that patch.
Hence, there are three remaining issues:
- Under ManaServ, the character's slots numbers aren't handled
when loading the characters but used when sending selection
or deletion attempts.
For instance, if you delete the character at slot 1, you won't
be able to select or delete characters at slots 2 and 3,
since the server believes that the characters are now in slots 1 and 2,
even thought the client still displays them at the former slots.
- Also under manaserv, you won't be able to create a character at slot 1
and 3, the server will automatically add the new one to the next slot,
which is not corresponding to where you clicked to the 'Create' button.
I propose to make Manaserv send again the character slots numbers
and store them in database since we used them in creation,
selection, and deletion attempts. It would make more sense IMHO.
- The last remaining issue found is that when switching between different
servers, the loginData don't get cleaned up, make the characterSelect dialog
look crazy when the number of slots is different between two servers.
If this one is accepted, my next patch will make the logindata be cleaned up
between each login attempts (as for the slot number, and maybe other sensible
data) and the next ones will readd character slot handling server
and client side.
Reviewed-by: Jaxad0127.
|
|
This permit not to be stuck at character deletion
when something goes wrong.
Trivial fix.
|
|
Instead of using events to invoke netcode,
invoke netcode directly and have it send events
Reviewed-by: Freeyorp
|
|
|
|
Reviewed-by: Freeyorp
|
|
Resolves: Mana-Mantis #250.
Reviewed-by: Freeyorp, thorbjorn.
|
|
They are initialized else where in the code
Reviewed-by: Jared Adams
|
|
Also tested to be compatible with tA.
Now the Status window is much more nicer when using Manaserv.
HP, max hp, ... are now working fine along with corrections made
in the attributes.xml file (in next commit.)
Reviewed-by: Thorbjorn.
|
|
Reviewed-by: Thorbjorn.
Resolves: Mana-Mantis #229.
|
|
Trivial fix.
|
|
Reviewed-by: Bertram
|
|
to fit manaserv latest changes.
Reviwed-by: Freeyorp, Thorbjorn.
|
|
This resolves http://bugs.manasource.org/view.php?id=171
Reviewed-by: Bertram.
|
|
This resolves http://bugs.manasource.org/view.php?id=171
Reviewed-by: Bertram.
|
|
|
|
Most of Net::InventoryHandler is now done through events. The
ActorSpriteManager was also replaced by events. A few odds and
ends were taken care of too.
Reviewed-by: Bertram
|
|
Conflicts:
mana.cbp
mana.files
src/CMakeLists.txt
src/Makefile.am
src/utils/xml.cpp
|
|
Reviewed-by: Freeyorp
|
|
EventManager has been merged into Event, with some new convinience methods
added.
Reviewed-by: Chuck Miller
|
|
Reviewed-by: Chuck Miller
|
|
Reviewed-by: Chuck Miller
|
|
Reviewed-by: Chuck Miller
|
|
The previous check broke compilation against ENet 1.2.2, which does
define the version macros but does not have the API changes.
|
|
The Being and Player Chat events now have the precomuted permissions
for SPEECH_LOG and SPEECH_FLOAT. The Being class now acts on those
events to show speech (if SPEECH_FLOAT is present). ChatWindow now
checks for the SPEECH_LOG permission.
Reviewed-by: Freeyorp
|
|
Reviewed-by: Chuck Miller
|
|
Also, fixed a compilation warning about passing a NULL value to a boolean
parameter.
The built-ins are kept for now.
Reviewed-by: Jaxad0127.
|
|
Tested-by: BaseBallBoy
|
|
Tested-by: BaseBallBoy
|
|
Reviewed-by: Yohann Ferreira
|
|
Reviewed-by: Jared Adams
|
|
Reviewed-By: Jared Adams
|
|
The beinghandler didn't tell to the being::setSprite() function
if the equipment was a weapon or not.
Resolves: Manasource-Mantis #157.
Reviewed-by: Jaxad0127.
|
|
Please note that I didn't turned all the getValue() call into new ones,
simply because I have to have config object initiated which is not
forcefully the case the branding file.
Resolves: Manasource Mantis #170.
|
|
Conflicts:
src/gui/itempopup.cpp
src/item.cpp
src/monster.cpp
src/net/manaserv/playerhandler.cpp
src/net/tmwa/partyhandler.cpp
src/npc.cpp
src/player.cpp
src/resources/itemdb.cpp
src/resources/monsterdb.cpp
src/resources/monsterinfo.cpp
src/resources/npcdb.cpp
src/resources/spritedef.cpp
|
|
You'll have to include it anyways 99% of the time
|
|
There is still a good way to go, but this should get us
started
Reviewed-by: Jared Adams
|
|
Also move the virtual destructors of the Net handler base classes to
the top of their method lists.
Reviewed-by: Chuck Miller
|