Age | Commit message (Collapse) | Author | Files | Lines |
|
Version 15 was skipped, and we'll never go back. Renamed the 15_to_16
update scripts to 14_to_16 to avoid confusing everybody who wants to
update their DBs.
Reviewed-by: Yohann Ferreira
|
|
Reviewed-by: Thorbjørn Lindeijer.
|
|
|
|
Reviewed-by: Bjorn, Bertram.
|
|
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.
Reviewed-by: Bjorn.
|
|
Thanks to Ablu.
|
|
Reviewed-by: o11c.
|
|
Reviewed-by: Ablu.
|
|
Reviewed-by: Ablu.
|
|
When I introduced NameMap it was only used with pointers, but now it is
also used with std::string so it probably makes sense to keep a default-
constructed value around so that a reference can be returned rather than
a copy.
NameMap::find was renamed to NameMap::value to make it more clear that
it doesn't return an iterator, like std::map::find.
Reviewed-by: Yohann Ferreira
Reviewed-by: Ben Longbons
|
|
on the log system.
|
|
log_accountToStandardOutput and log_gameToStandardOutput have been
merged together as log_toStandardOutput.
Reviewed-by: Yohann Ferreira
|
|
Should be used when adding new files. Rather than individual copyright
on files, the Mana server will use the same copyright everywhere.
Reviewed-by: Yohann Ferreira
|
|
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
|
|
At the moment it is the responsibility of the script to make sure any
references to beings passed into script functions are valid.
This means you can't schedule delayed scripts like the one making
maggots say 'Roaaarrrr!!!', since the being might have been removed
before the script gets executed. In the case of this bug the maggots are
removed by some script code testing 'mana.monster_remove'.
We should of course fix the way actor handles are used in Lua so that
scripts can't end up crashing the server.
Mantis-issue: 384
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
|
|
Reviewed-by: Ablu
|
|
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.
|
|
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.
|
|
Changed specials.xml to reflect the current capabilities
Reviewed-by: Bertram
|
|
|
|
|
|
Resolves: Mana-Mantis: #388.
Reviewed-by: Bertram.
|
|
Reviewed-by: Bertram.
|
|
Resolves: Mana-Mantis: #379.
Reviewed-by: Bertram.
|
|
Resolves: Mana-Mantis #293.
Reviewed-by: Bertram.
|
|
|
|
You now can change the anger of a monster to a being using
mana.monster_change_anger(monster, being, anger)
Resolves: Mana-Mantis #366.
|
|
The account server sends out a random number, which is
additionally used for hashing the password.
Reviewed by Bertram
|
|
|
|
Resolves: Mana-Mantis #318.
Reviewed-by: Bertram.
|
|
mana.monster_get_name(id) and mana.item_get_name(id) can be used
to get the name of an item or a monster if only an id is given.
Reviewed-by: Bertram.
|
|
You can now use either the name or the id of the item in the LUA
functions chr_inv_change, monster_create, item_drop.
Part of: Mana-Mantis #318.
Reviewed-by: Bertram.
|
|
I also changed the chatmessage function to chat_message
to follow the coding standard.
|
|
mana.is_walkable(x, y) can now be used to check wether the pixel on the
current map is walkable or not.
Reviewed-by: Bertram.
|
|
mana.monster_remove(monster) can now be used to remove a monster
from a map.
Resolves: Mana-Mantis #352.
Reviewed-by: Bertram.
|
|
mana.get_map_prpoperty(string) can now be used to read a property from a
map file. String is the property name.
Resolves: Mana-Mantis #353.
Reviewed-by: Bertram.
|
|
You can now call mana.get_distance(being1, being2) or
mana.get_distance(x1, y1, x2, y2) for calculating distances.
Reviewed-by: Jaxad0127, Bertram.
Resolves: Mana-Mantis #370.
|
|
Reviewed-by: Bertram.
Resolves: Mana-Mantis #369.
|