Age | Commit message (Collapse) | Author | Files | Lines |
|
Add colors:
Local Player Hits Monster
Local Player Critical Hit
Local Player Miss
Reviewed-by: cody
|
|
Reviewed-by: Bertram
|
|
As an upcoming feature the TMW-Athena server sends IP addresses or
IP hashes to game masters. The current client freezes if it receives
such a packet, therefor the game masters need to use a new client before
the server can use it. Normal players are not affected, because they
do not get this packet.
Showing the IP is optional and can be enable with the chat command
"/showip 1". The IP is then shown behind the players name.
Reviewed-by: Bertram
|
|
|
|
EventManager has been merged into Event, with some new convinience methods
added.
Reviewed-by: Chuck Miller
|
|
Reviewed-by: Chuck Miller
|
|
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: Yohann Ferreira
|
|
Uses a state variable in PlayerInfo instead. Moves isTalking from Being
to PlayerInfo. Also some small cleanups.
Reviewed-by: Chuck Miller
|
|
|
|
Also fixed a few compile warnings.
|
|
The old behaviour was to load the weapon-type value and do many
unnecessary checks and transformation on it:
The weapon-type was transformed using hard-coded values into
an integer enum value.
The exact same thing was done on the opposite side in the animation
files before comparing the two.
As both data were string values, I simplified all of it by using
the value taken in items.xml to call the corresponding action.
This now also permit to set up new attack animation in items.xml
and in the playerset.xml without having the need
to modify the client code.
Last but not least, the weapon-type value was used by both the skills
and the actions and avoided the possibility to set up a definite action
for a weapon-type.
Note: The weapon-type parameter will become deprecated for the server
in favor of a 'skill' parameter to reflect more it's actual use.
This patch is the first step to fix Manasource issue: #157.
|
|
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.
|
|
To avoid misunderstanding between the actual attackType
and this one.
(Trivial fix.)
|
|
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
|
|
data/paths.xml configuration file.
Also added default gui theme path in branding and default wallpaper path
and file searched respectively in the branding and paths.xml files.
Hard-coded values are still used as fallbacks.
Resolves: Manasource Mantis #148.
Reviewed-by: jaxad0127.
|
|
Signed-off-by: Jared Adams <jaxad0127@gmail.com>
|
|
No need for two different classes to manage ActorSprites.
Reviewed-by: Chuck Miller
|
|
Rename mWalkTime to mActionTime in Being and have Being manage death.
Reviewed-by: 4144
|
|
Also removes the Monster/Player difference in tmwAthena's Being::logic
and moves the particle code from Being::setAttack to Being::Logic for
tmwAthena.
Reviewed-by: Chuck Miller
|
|
Also fix possible memory corruption.
Signed-off-by: Jared Adams <jaxad0127@gmail.com>
|
|
Reviewed-by: 4144
|
|
This improves framerate and allows transparent overlay for complex
sprites. Two copies of the buffer are kept, one at full opacity,
one with variable opactiy, to reduce calls to setAlpha.
Reviewed-by: Bertram
|
|
Instead of having these three subclasses with minor differences, this
commit merges them back into Being. In the future, we can make Beings
that are talkable to some, attackable by others, etc. This also puts
back support for monster equipment.
Also changes remaining references to Being::Type and the constants to
refer to ActorSprite::Type.
Reviewed-by: Freeyorp
|
|
This commit adds a sprite hierarchy (Sprite->ImageSprite,AnimatedSprite,CompundSprite;
CompoundSprite,Actor->ActorSprite;ActorSprite->Being,FloorItem) to collect common
functionailty into new base classes which will make other Mantis tickets easier to do.
Also allows monsters to use particle effects.
Reviewed-by: Bertram
|
|
The Actor class manages the Map reference, position vector, and alpha float.
These are the common parts from it's children.
|
|
accordingly.
This makes room for the actual eAthena protocol future inclusion.
|
|
The job/class field is used to select the race. If the given race isn't defined,
it falls back on the first race (so servers can use jobs/classes without races).
Also rename job to subtype for Being and subclasses, and begin support for
changing monster and NPC subtypes on the fly (particle effects still need to be
reset when they change).
Reviewed-by: Bertram
|
|
is functional!!
Introduced LocalPlayer::getNextWalkPosition(unsigned char dir)
which takes care about the player next position while moving using keyboard.
I removed the pixel scaler thing because it couldn't handle all the noticed cases
and was rather heavy.
There is still a bug in the movement system (nothing's perfect) but it's very rare
and this is here in eAthena, too.
So, I'll give a try at taking care of it once I'll have polished all of this a bit.
Please try and give feedback!!
|
|
|
|
|
|
It permits two things:
1. It simplifies and demystifies Being::SetDestination() code.
2. It will permit to show the *real* calulated path when using
the drawDebugPath feature for ManaServ.
|
|
The LocalPlayer::nextTile() function has been sanitized and the movement
system has been fine tuned, but yet not optimized.
(Optimizations and riddance of 32 hard-coded value will come later.)
There is just one case left not handled correctly when the character
walked within one tile south-east of a blocking one and then
the player click north-west (through the blocking tile) on a walkable
location. Quite rare but still here.
|
|
|
|
This should really be fixed a different way, but until I find
the cause of the issue, this will have to hold.
|
|
Themes can now control the colors they use. Colors in the Viewport (being
names, particles, etc) can still be changed by the user. Also make
ProgressBars more easily colored. DyePalette was made more flexible in the
process.
Also fixes comparing strings of different lengths insensitively.
Reviewed-by: Thorbjørn Lindeijer
|
|
This reverts commit b1845e9e081df1fc77d9bcbed3ab95792d6ba682.
|
|
|
|
Configuring in Setup / Players / Show gender.
Reviewed-by: Jared Adams <jaxad0127@gmail.com>
Signed-off-by: Thorbjørn Lindeijer <thorbjorn@lindeijer.nl>
|
|
Conflicts:
src/being.cpp
|
|
Reviewed-by: Jared Adams
|
|
|
|
to Being.
This fixes some movement glitches under ManaServ and make the code much cleaner
even if it's not perfect enough yet.
First of all, many checks have been gathered in the Being::setDestination() calls.
Also, now all path nodes including destination are checked against surrounding
tiles to correct the path when necessary.
The LocalPlayer::nextTile() still needs to be reviewed and some checks are missing
but it's almost done :)
|
|
|
|
Much code was moved from main() to the new Client::exec(). This new
event loop now integrates with the Game class, so that the tick counter
and framerate limiter apply universally.
The Client class is also responsible for some things that used to be
global variables.
Mantis-issue: ...
|
|
|
|
|
|
Ownership of the charInfo global variable wasn't well defined. It was
being locked, unlocked and generally modified from a lot of places, and
somewhere in this mess it ended up crashing when switching servers.
Now the CharHandler instances, for eAthena and manaserv respectively,
own this list of characters. A new class, Net::Character wraps up the
slot index in combination with the player dummy. The list is passed on
to the CharSelectDialog each time it changes.
Both related and unrelated cleanups were made as well.
Reviewed-by: Jared Adams
|
|
To use simply add something like: missile-particle="graphics/particles/arrow.particle.xml"
to the item's or monster's xml entry
This will only work on equipped weapons, and on specified monster attacks.
This patch also fixes a memory leak with target particles
|
|
Just because something is the kind of calculation that seems to be
required does not mean it makes sense in general. Let's try to keep
things understandable.
|