Age | Commit message (Collapse) | Author | Files | Lines |
|
Now we can define icon names for each equipment box and then look up the
icon image through the theme, enabling some shared control over
equipment slot icons between the game data and GUI theme.
The icon for an equipment slot is also no longer rendered when the slot
has an item in it.
Removed the needless storing of equipment box positions and images in
the EquipmentWindow, because this information is readily available from
the InventoryHandler and the images are already loaded by the Theme.
|
|
No longer supported by manaserv and not supported by tmwAthena.
|
|
* Fixed ManaServ::EquipBackend removing all slots in response to
GPMSG_INVENTORY_FULL, rather than resetting them to empty.
* Fixed updating of buttons in InventoryWindow as relevant from the
ManaServ::InventoryHandler.
* Updated handling of equipment sprites in messages related to character
appearance (Manaserv now always sends all relevant equipment and as
such does not send removals).
|
|
This extends the messages regarding abilities, replacing the specific
"attack" messages. It also unifies attribute handling, with a generic
system replacing specific variables for attributes like level, xp and
skills.
The inventory and equipment handling was adjusted such that equipped
items stay in the inventory.
Support for quest states was added.
Added:
* GPMSG_ABILITY_REMOVED
(mana/manaserv@e3fcc1a47db312933a0f5b7e725c5779a1a45722)
* GPMSG_ABILITY_COOLDOWN
(mana/manaserv@c2f00b2f3ba920cb25333d19a1d37d251342caf8)
* GPMSG_BEING_ABILITY_POINT
* GPMSG_BEING_ABILITY_BEING
(mana/manaserv@2f2393b6d190deb8958fcb806b58418508d25e28)
* GPMSG_ATTRIBUTE_POINTS_STATUS
(mana/manaserv@1e5a15c0a5e24fb4b358fff75a7082d65496e1f9)
* PGMSG_USE_ABILITY_ON_DIRECTION
(mana/manaserv@05fc955a3f8a03539088fa7569395434e29d90e8)
* GPMSG_BEING_ABILITY_DIRECTION
(mana/manaserv@54389afd7ba9fecf0761333185145e968e2453ae)
* GPMSG_QUESTLOG_STATUS
(mana/manaserv@66a98a3a0df795761328d62ef2ad07f81e383f9e)
Removed:
* PGMSG_ATTACK
* GPMSG_BEING_ATTACK
(mana/manaserv@f31277b327df701361391b1d4b8bd6f89f4e3109)
* GPMSG_PLAYER_EXP_CHANGE
* GPMSG_LEVELUP
* GPMSG_LEVEL_PROGRESS
(mana/manaserv@44ee071d7ece5a2023f79307f36e8a244c9e7b3a)
Changed:
* GPMSG_ABILITY_STATUS
(mana/manaserv@ba573fcc38580a01985172b9bc864c97ce855af3)
* GPMSG_BEING_LOOKS_CHANGE
(mana/manaserv@8ddda85d923a528c7497a628d2fe10fc40b80a1f)
* APMSG_CHAR_INFO
(mana/manaserv@4f5053f463fd8da0de1615ca6b0f212f02f3d653)
* APMSG_CHAR_CREATE_RESPONSE
(mana/manaserv@1263c729d85df649c7ab59726bddad7c8cd7ae81)
* GPMSG_NPC_BUYSELL_RESPONSE
(mana/manaserv@336ce321a9b996e56a61a5364bb32124efa84dd9)
Equipment changes (mana/manaserv@f712d68495dd8e040c32da3b1c85bcb7845543ec):
* Changed GPMSG_INVENTORY_FULL, GPMSG_EQUIP
* Removed PGMSG_MOVE_ITEM
* Added GPMSG_EQUIP_RESPONSE, GPMSG_UNEQUIP_RESPONSE, GPMSG_UNEQUIP
While this change deals with some of the protocol changes, there's still
many changes required in the UI regarding using of abilities (including
attacking), showing of certain attributes and quest log.
|
|
Thanks to https://github.com/cgmb/guardonce and a follow-up replace to
remove duplicated newlines at end of file:
find src -type f -name '*.h' -exec \
sed --in-place -e :a -e '/^\n*$/{$d;N;};/\n$/ba' {} \;
Source: https://unix.stackexchange.com/questions/81685/how-to-remove-multiple-newlines-at-eof
Fixes compile on macOS, which appears to have been due to the EVENT_H
include guard.
|
|
Slightly more ergonomic and this eliminates direct libxml2 usage from
many places.
|
|
For new characters (and in general, when logging in with a character
that had nothing equipped), the equipment backend wasn't being
initialized. This resulted in the equipment not being visible in the
Equipment window.
Fixes #83
|
|
* Use final for all message handlers, Client, LocalPlayer,
Being::getType, Being::setPosition and Being::setMap.
(avoids some warnings about virtual dispatch in constructors)
* Use auto in more places
* Use emplace_back instead of push_back in some places
* Use default member initializers
* Less else after return
* Removed superfluous .c_str()
* Removed type aliases that are only used once
* Removed more unused includes
|
|
This patch is not exhaustive.
|
|
modernize-use-auto
modernize-use-nullptr
modernize-use-override
modernize-use-using
|
|
There wasn't a whole lot gained by sharing a common base class, and it makes
extending the manaserv Message{In,Out} classes with a debugging mode
unnecessarily complicated.
Reviewed-by: Yohann Ferreira
|
|
|
|
The background images are auto-centered.
Also, for Manaserv, a new background parameter has been
added in the box node of the equip.xml file
to specify the background image.
Note that the filename is relative to the gui theme
folder.
Reviewed-by: Thorbjorn Lindeijer
Resolves: TMW-Mantis #769.
|
|
|
|
A <box> sub tag was added to the <slot> tag with a x and y
parameter to do so.
|
|
|
|
|
|
There are two bugs left I'll take care about in the near future:
- Items dealing with more than one slot capacity
are only showing on the first equip slot.
- The unequip button doesn't get updated when clicking
on the equipped item.
A client design limitation known:
- The client still don't handle correctly items applied on more
than one item type at equip time.
|
|
Currently the same equipment window is used as for tmwAthena so that at
least something is visible. This means the location of equipped items is
currently illogical.
It is now possible to equip and unequip items.
Mantis-issue: 164
Reviewed-by: Stefan Dombrowski
|
|
Makes it clear what kind of listener it is, since there are other
listener classes as well.
Acked-by: Jared Adams
|
|
It's just an annoyance when it's only applied to a few classes. Either
we place everything in this namespace or nothing, and at the moment I
don't see any rationale for placing everything in a Mana namespace.
Acked-by: Jared Adams
|
|
Acked-by: Jared Adams
|
|
Reviewed-by: Freeyorp
|
|
|
|
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
|
|
This moves inventory/storage type into the Inventory class, having
size default to a call to the netcode to get the sive for the given
type.
Reviewed-by: Chuck Miller
|
|
|
|
|
|
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
|
|
Also added the update copyright tool from the Wormux Team.
( And not forgetting credit's due. :P )
|
|
Also remove some extra new lines and fix eAthena's PartyTab define guards.
|
|
Also merge eAthena's EquipmentHandler and InventoryHander. Fixes http://mantis.themanaworld.org/view.php?id=888 .
|
|
Also some related chenges elsewhere
|
|
|
|
|