Age | Commit message (Collapse) | Author | Files | Lines |
|
The map reader is now only concerned with parsing the XML, whereas the
MapComposite turns some of the objects into Warps, Spawns and NPCs.
Reviewed-by: Yohann Ferreira
|
|
Being::findPath doesn't change the position of a being, and so should
not be syncing mOld to the current position. When invoked on the wrong
moment, this could cause MapComposite::update to fail to realize that a
being has moved into another zone.
Also removed some other usages of mOld that were not necessary, to make
its purpose clearer and make a potential cleanup easier.
Reviewed-by: Yohann Ferreira
|
|
Instead of giving the x, y coordinates of the circle you can give a being which
is in the center of the circle.
|
|
map_get_objects([string filter]): returns all object of the current map optionally filtered by type.
map_get_object_property(handle object, string key): returns the value of the property of the object.
map_get_object_bounds(handle object): returns x, y, width, height of an object.
map_get_object_name(handle object): returns name of an object.
map_get_object_type(handle object): returns type of an object.
Mantis-issue: 397
Reviewed-by: Thorbjørn Lindeijer
|
|
This is against privacy rules of most servers anyway.
Resolves: Mana-Mantis #392.
|
|
I simply made the default autoattack look for the default skill
and add exp to it when killing monsters.
Now the player can earn xp again even if it's not well handled
between two logins.
|
|
I also added a link to the skillmanager object in its header
file. This will later be used to get info from elsewhere than
the server main loop.
|
|
|
|
|
|
|
|
Conflicts:
src/game-server/inventory.cpp
src/game-server/inventory.h
src/game-server/item.h
src/game-server/main-game.cpp
src/game-server/skillmanager.cpp
src/utils/point.h
|
|
and item managers.
ack-by: o11c.
note: The managers still need to auto deinit when already loaded.
This will be done in another trivial commit.
|
|
Reviewed-by: o11c.
Note: the initialize/reload() api problem will be fixed in another
commit.
|
|
TriggerArea::update() function.
|
|
This will permit better handling of both skills names and id.
This is needed to start reworking on the auto-attack system.
|
|
Ack-by: o11c.
|
|
As the server was exitting when the insertion was failing
anyway, and because the GameState::update() doesn't allow
actor insertion while the update process, it was then
pretty weird to not use an enqueued insertion for it.
Plus, it fixes an assertion failure when scheduling
an npc creation.
Resolves: Mana-Mantis #360.
Reviewed-by: o11c.
|
|
The bug was pretty generic, as the contains() method
of the Rectangle class wasn't checking against left and top
sides according to the client view point.
I also documented the call site.
Resolves: Mana-Mantis #317.
Reviewed-by: o11c.
|
|
This doesn't change anything yet.
Reviewed-by: o11c.
|
|
Add chatcommand @getpos <character> which return the mapid and location of the character.
Part of: Mana-Mantis: #385.
Reviewed-by: Bertram.
|
|
Resolves: Mana-Mantis #386
Reviewed-by: o11c.
|
|
Also made some random changes where useful, including:
- Code formatting fixes,
- Design fix about the fact that only the game config option
should be checked.
- Fixed the size of the values sent and receive to follow
the rest of the development.
- Fixed variables names to make them show what they are,
and not why they are used.
Resolves: Mana-Mantis #142.
|
|
Conflicts:
src/account-server/storage.cpp
src/game-server/mapreader.cpp
src/sql/mysql/createTables.sql
|
|
|
|
Resolves: Mana-Mantis: #388.
|
|
Resolves: Mana-Mantis: #388.
Reviewed-by: Bertram.
|
|
Reviewed-by: Bertram.
|
|
Resolves: Mana-Mantis: #379.
Reviewed-by: Bertram.
|
|
Add chatcommand @getpos <character> which return the mapid and location of the character.
Part of: Mana-Mantis: #385.
|
|
Resolves: Mana-Mantis: #379.
|
|
|
|
A race condition on the being pointer could happen when
the being queue was highly requested.
IMHO, using queues to add being but remove them directly
is the way to go.
Resolves: Mana-Mantis #384
|
|
Resolves: Mana-Mantis #386
|
|
|
|
It was uneasy to not miss something when updating the db.
And as the db version is somewhat corresponding to a certain
protocol version, adding it in the protocol file sounds relevant
to me, and helps when updating it.
|
|
|
|
|
|
This will permit better handling of both skills names and id.
This is needed to start reworking on the auto-attack system.
|
|
TriggerArea::update() function.
|
|
As the server was exitting when the insertion was failing
anyway, and because the GameState::update() doesn't allow
actor insertion while the update process, it was then
pretty weird to not use an enqueued insertion for it.
Plus, it fixes an assertion failure when scheduling
an npc creation.
Resolves: Mana-Mantis #360.
|
|
The bug was pretty generic, as the contains() method
of the Rectangle class wasn't checking against left and top
sides according to the client view point.
Resolves: Mana-Mantis #317.
|
|
|
|
Resolves: Mana-Mantis #293.
Reviewed-by: Bertram.
|
|
|
|
Resolves: Mana-Mantis #293.
Reviewed-by: Bertram.
|
|
equipment-fix
Conflicts:
example/serverdata/scripts/maps/desert.lua
|
|
|
|
an arbitrary number of layers. (up to 255).
|
|
Made the server handle only one slot type requirement since
it's irrelevant to have more anyway.
Plus, it simplifies the code for both equipping/unequipping.
I also added a dagger to show how equipping/unequipping
is working.
|
|
|