summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2011-10-19Took interpreting the objects out of the map readerThorbjørn Lindeijer8-216/+229
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
2011-10-19Removed inappropriate assignment to mOld in Being::findPathThorbjørn Lindeijer1-5/+7
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
2011-10-19Made get_beings_in_circle capable of taking a being as argument.Erik Schilling1-3/+16
Instead of giving the x, y coordinates of the circle you can give a being which is in the center of the circle.
2011-10-15Added script bindings for reading map objectsErik Schilling6-155/+264
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
2011-09-29Don't log private chat messages.Yohann Ferreira1-8/+0
This is against privacy rules of most servers anyway. Resolves: Mana-Mantis #392.
2011-09-28Started to fix the autoattack system.Yohann Ferreira5-46/+47
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.
2011-09-28Added a default skill id getter in the skill manager.Yohann Ferreira1-0/+4
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.
2011-09-28Added the chr_set_gender() script function.Yohann Ferreira1-0/+20
2011-09-28Officially added the being gender to the protocol.Yohann Ferreira3-5/+29
2011-09-28Added the chr_get_level script function.Yohann Ferreira1-0/+18
2011-09-28Merge github.com:mana/manaservYohann Ferreira5-16/+18
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
2011-09-28Clarified the role of initialize() and reload() functions in the monsterYohann Ferreira2-6/+8
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.
2011-09-28Fixed mem leak on the item and monster manager unloading processYohann Ferreira3-8/+16
Reviewed-by: o11c. Note: the initialize/reload() api problem will be fixed in another commit.
2011-09-28Added a bit more precision on the conditions used in the ↵Yohann Ferreira2-2/+6
TriggerArea::update() function.
2011-09-28Rewrote the skill manager the same way as the item manager.Yohann Ferreira2-128/+149
This will permit better handling of both skills names and id. This is needed to start reworking on the auto-attack system.
2011-09-28Turned the skill manager into a class.Yohann Ferreira3-7/+24
Ack-by: o11c.
2011-09-28Made the npc_create() function use insertion enqueueing.Yohann Ferreira1-4/+1
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.
2011-09-28Fixed the trigger area declared within map files.Yohann Ferreira2-3/+7
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.
2011-09-28Small random code format cleanups, and documentation fixes.Yohann Ferreira5-79/+50
This doesn't change anything yet. Reviewed-by: o11c.
2011-09-15Added chatcommand to get position of a character.Erik Schilling1-0/+33
Add chatcommand @getpos <character> which return the mapid and location of the character. Part of: Mana-Mantis: #385. Reviewed-by: Bertram.
2011-09-13Avoid crashing the game server when the last argument is quoted.Yohann Ferreira1-1/+9
Resolves: Mana-Mantis #386 Reviewed-by: o11c.
2011-09-09Add persistent items support based on seeseekey's work.Yohann Ferreira13-13/+407
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.
2011-09-08Merge github.com:mana/manaservYohann Ferreira6-5/+19
Conflicts: src/account-server/storage.cpp src/game-server/mapreader.cpp src/sql/mysql/createTables.sql
2011-09-05Added possibility for using monster name in SPAWN map objects.Erik Schilling1-14/+41
2011-09-05Fixed size of mapid field in mysql database.Erik Schilling1-1/+1
Resolves: Mana-Mantis: #388.
2011-09-05Fixed size of mapid field in mysql database.Erik Schilling4-2/+16
Resolves: Mana-Mantis: #388. Reviewed-by: Bertram.
2011-09-04Added possibility for using monster name in SPAWN map objects.Erik Schilling1-14/+41
Reviewed-by: Bertram.
2011-09-02Prevented char from picking up items when inventory is full.Erik Schilling1-9/+14
Resolves: Mana-Mantis: #379. Reviewed-by: Bertram.
2011-09-01Added chatcommand to get position of a character.Erik Schilling1-0/+33
Add chatcommand @getpos <character> which return the mapid and location of the character. Part of: Mana-Mantis: #385.
2011-09-01Prevented char from picking up items when inventory is full.Erik Schilling1-9/+14
Resolves: Mana-Mantis: #379.
2011-08-30As requested, changed the trigger 'existence' to 'in-inventory'.Yohann Ferreira1-2/+2
2011-08-30Made the monster removal not using queues to avoid a crash.Yohann Ferreira1-4/+4
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
2011-08-30Avoid crashing the game server when the last argument is quoted.Yohann Ferreira1-1/+9
Resolves: Mana-Mantis #386
2011-08-30Merge branch 'equipment-fix'Yohann Ferreira7-9/+59
2011-08-30Made the db version an official pre-requisite.Yohann Ferreira3-7/+14
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.
2011-08-30Added missing sql update scripts.Yohann Ferreira5-3/+46
2011-08-26Fixed mem leak on the item and monster manager unloading processYohann Ferreira3-3/+11
2011-08-26Rewrote the skill manager the same way as the item manager.Yohann Ferreira3-131/+169
This will permit better handling of both skills names and id. This is needed to start reworking on the auto-attack system.
2011-08-26Added a bit more precision on the conditions used in the ↵Yohann Ferreira2-2/+6
TriggerArea::update() function.
2011-08-26Made the npc_create() function use insertion enqueueing.Yohann Ferreira1-4/+1
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.
2011-08-26Fixed the trigger area declared within map files.Yohann Ferreira2-3/+7
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.
2011-08-25Merge branch 'equipment-fix' of github.com:Bertram25/manaservYohann Ferreira17-1193/+1248
2011-08-25Allowed map names in chr_warp function.Erik Schilling1-2/+6
Resolves: Mana-Mantis #293. Reviewed-by: Bertram.
2011-08-25Created function to make getting monsters easier in scripts.Erik Schilling3-14/+16
2011-08-23Allowed map names in chr_warp function.Erik Schilling1-2/+6
Resolves: Mana-Mantis #293. Reviewed-by: Bertram.
2011-08-19Merge git://gitorious.org/~bertram/mana/manaserv-equipment-fix into ↵Yohann Ferreira7-206/+211
equipment-fix Conflicts: example/serverdata/scripts/maps/desert.lua
2011-08-19Removed the now useless SpriteLayer enum from the protocol.Yohann Ferreira1-17/+0
2011-08-19Changed the sprite layer protocol to supportYohann Ferreira5-59/+66
an arbitrary number of layers. (up to 255).
2011-08-19Used the client base to make a final bugfix on the server code.Yohann Ferreira5-133/+148
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.
2011-08-19Created function to make getting monsters easier in scripts.Erik Schilling3-14/+16