summaryrefslogtreecommitdiff
path: root/gameserver.cbp
AgeCommit message (Collapse)AuthorFilesLines
2013-04-13Added -std=c++0x compiler flag to the codeblocks filesPostremus1-0/+1
2013-04-02Moved fighting code into a componentErik Schilling1-0/+4
All damage dealing is now handeled via CombatComponent. Monsters use a derived MonsterCombatComponent since they can have a damage mutation and have a seperate script callback. The wirering with Being is still not optional since most of the stuff does not exist as components. Things done: - Seperated the fighting code from Being and only let Characters and Monsters add the Component (less overhead for npcs) - Added a getter for Attribute values to prevent searching it all the time in non Being members - Fixed the type if the damage mutation to double (no idea why it was int) I did not want to copy it over incorrectly - Removed the addAttack/removeAttack overrides in Character and made the knuckleAttack being added based on newly added signals Future TODOS: - Remove depedency on Being as soon all needed dependencies are available as components of Entity - Move the monster script callback into the general combatcomponent and make it usuable for characters too
2013-03-25Changed SpawnArea and TriggerArea to components of EntityThorbjørn Lindeijer1-4/+4
Well, first visible change is that everything just gets longer to read. Reviewed-by: Yohann Ferreira
2013-02-03Fixed codeblocks compile for linux with sigc++Erik Schilling1-3/+7
2013-02-01Added emote support.Yohann Ferreira1-0/+2
2013-01-08Rename AutoAttack to AttackErik Schilling1-2/+2
2013-01-05Fixed codeblocks compile for linux targetsErik Schilling1-154/+154
2012-04-14Introduced a Timeout class for counting down without countingThorbjørn Lindeijer1-0/+2
The timeout remembers a reference point of time against which it can check how much time is remaining. Reviewed-by: Erik Schilling Reviewed-by: Yohann Ferreira
2012-04-04Renamed Thing to EntityThorbjørn Lindeijer1-2/+2
In preparation for using an entity/component system for the entities in the game world, this name will be more recognizable and easier to talk about. Reviewed-by: Yohann Ferreira
2012-04-04CodeBlocks gameserver projectfile updatedPostremus1-14/+36
Added scriptmanager.h, scriptmanager.cpp, specialmanager.h, specialmanager.cpp Reviewed-by: Ablu.
2011-03-20Updating C::B: Moved defines.h and manaserv_protocol.h into 'common'Stefan Dombrowski1-2/+2
The files had been moved in commit: 5b3c4a585b211b03fb2999cddd2558e030ed5c0e
2011-01-10Removing default argument values from Map definitionStefan Dombrowski1-1/+1
The default argument values had no effect, because they are not in the declaration. Updating the codeblock project, because protocol.h had been renamed. Reviewed-by: Bertram
2011-01-09Removed the superfluous point struct.Yohann Ferreira1-1/+1
It was too close from the Position class and it leads to making the server handle one or another type through the code. Still bugged me many times while making changes. Reviewed-by: Jaxad.
2010-11-15Updating C::B projectStefan Dombrowski1-0/+5
* Adding missing protocol.h * Switching debugger symbols and compiler optimization on * Show the Mana icon for executable files
2010-11-14Renamed .hpp files into .h for consistency.Yohann Ferreira1-55/+55
Also added an header to the autoattack.{h,cpp} files. Big but trivial fix.
2010-10-20Fixed syntax error in Code::Blocks gameserver projectA.R. iceslice1-1/+1
12 files were missing because of this. Reviewed-by: Thorbjørn Lindeijer <thorbjorn@lindeijer.nl>
2010-08-29Merge branch 'testing'Freeyorp1-0/+8
Conflicts: src/account-server/storage.cpp src/game-server/being.cpp src/game-server/being.hpp src/game-server/character.cpp src/game-server/character.hpp src/game-server/gamehandler.cpp src/game-server/inventory.cpp src/scripting/lua.cpp src/sql/mysql/createTables.sql src/sql/sqlite/createTables.sql
2010-08-17Add enet files to codeblocksStefan Dombrowski1-1/+21
Because of compiler warnings generated by enet, warnings are switched of for: * unknown #pragmas, which are for MSVC compiler * enumeration with missing case Reviewed-by: Bertram
2010-07-10New attribute system and major changes to many low-level areas.Freeyorp1-0/+8
Attribute system: Structure is no longer completely hardcoded. Attributes and structure is defined by new xml file (defaulting to stats.xml) Structure defines non-base modifications to an attribute, to be used by modifiers from items, effects, etc. Calculating the base value for core attributes is still done in C++ (and for such fundamental elements the only reason I can think of to do it any other way is perhaps being able to quickly change scripts without a compile could be useful for testing, but such things are a low priority anyway) Item structure: Modifiers are now through triggers rather than single events. This also removes hardcoded types - an item could be both able to be equipped and be able to be activated. Item activation no longer consumes by default, this must be specified by the property <consumes /> inside the trigger. Currently only attribute modifications, autoattacks, and consumes are defined as effects, but stubs for others do exist. Autoattacks are currently non-functional, and this should be rectified with some urgency. Auto Attacks: AutoAttacks are now separate entities, though not fully complete, nor fully integrated with all beings yet. Integration with the Character class is urgent, integration with other Being children less so. When fully integrated this will allow for multiple autoattacks, through equipping multiple items with this as an equip effect or even through other means if needed. Equipment structure: As ItemClass types are no longer hardcoded, so too are equip types. An item have multiple ways to be equipped across multiple equipment slots with any number in each slot. Character maximums are global but configurable. Miscellaneous: Speed, money, and weight are now attributes. Some managers have been changed into classes such that their associated classes can have them as friends, to avoid (ab)use of public accessors. The serialise procedure should also be set as a friend of Character (both in the account- and game- server) as well; having public accessors returning iterators is simply ridiculous. Some start for such cleanups have been made, but this is not the primary focus here. Significant work will need to be done before this is resolved completely, but the start is there. BuySell::registerPlayerItems() has been completely disabled temporarily. The previous function iterated through equipment, yet in the context I think it is intended to fill items? I have been unable to update this function to fit the modifications made to the Inventory/Equipment/Possessions, as I am unsure what exactly what it should be doing. ItemClass::mSpriteId was previously unused, so had been removed, but I notice that it was used when transmitting equipment to nearby clients. Experimentation showed that this value was never set to anything other than 0, and so has been left out of the ItemManager rewrite. I am not entirely sure what is happening here, but it should be worth looking into at a later time, as I am not sure how equipment appearences would be sent otherwise.
2010-07-09Added LUA script bindings for manipulating the specials available to a ↵Philipp Sehmisch1-2/+3
character. Added script call for getting the cost of a special (recharge only for now) Deleting specials works server-sided but the client isn't informed about it properly. Specials without recharge cost don't appear for the player. Both of these features require an additional netcode message. Reviewed-by: Freeyorp
2010-06-07Update Code::Blocks project filesJared Adams1-2/+2
2010-01-18Updated project filesPhilipp Sehmisch1-0/+2
2009-12-28Updated project filesPhilipp Sehmisch1-0/+3
2009-12-08Updated Code::Blocks project files. Patch by Cody Martin who doesn't want ↵Philipp Sehmisch1-2/+6
his email to appear in the log.
2009-10-25Rebranded Code::Blocks project filesPhilipp Sehmisch1-113/+113
2009-07-30Add missing files to the Code::Blocks projectJared Adams1-0/+4
2009-05-20Fix crash caused by non-removal of target.David Athay1-3/+2
2009-04-23Reworked party invites, now sends rejections and checks the invites are validDavid Athay1-0/+1
2009-03-06Added transactional history to game server.David Athay1-108/+109
2009-02-10Removed testing.cpp because all of its functionality can now be covered by ↵Philipp Sehmisch1-109/+108
LUA scripts
2009-01-28Moved MapContent into header file.David Athay1-0/+4
2009-01-09Removed cipher.{h,cpp} from Code::Blocks projectsBjørn Lindeijer1-1/+0
The files were removed in 3dde50b0e702c81d0856db5d46f5d8b0dc671fe5
2008-11-24Updated codeblocks projectDavid Athay1-0/+3
2008-11-04Forgot to save the files before committing, sorry.David Athay1-1/+2
2008-10-31Changed command system to handle commands without template magic.David Athay1-0/+2
2008-10-24Added post callback for getting post.David Athay1-0/+3
Added GM command for changing player attributes. Changed GM command to @ as '/' was already being used by client for local commands.
2008-09-27Implemented getting the attack zone of weapons from the item database and ↵Philipp Sehmisch1-0/+2
implemented single target attacks useful for projectile weapons like bows.
2008-09-19Added post communication between chat and game servers.David Athay1-0/+1
2008-07-24Added error message when NPC is too far away.David Athay1-0/+1
2008-04-01Consolidated public and private channels into one,David Athay1-0/+1
which also includes guild channels. Channels now have a joinable field, which is true for channels that are created by users, and false for guild channels. Chatting in guild channels now works, and non-guild members can no longer join guild channels
2008-03-12Updated codeblocks project files, and added a unix targetDavid Athay1-477/+136
2007-11-19Removed useless win32 implementation of gettimeofday.Eugenio Favalli1-10/+0
2007-09-27Ported monster database.Eugenio Favalli1-12/+18
2007-09-10Dimensionless spawn points now spawn over the whole map.Eugenio Favalli1-1/+21
2007-08-27Enabled loading of npcs and scripts from map files.Eugenio Favalli1-0/+34
2007-08-13Updated project files and added scripting engine.Eugenio Favalli1-2/+27
2007-07-17Implemented loading of warp and spawn areas from map files.Eugenio Favalli1-6/+10
2007-07-02Updated project files.Eugenio Favalli1-10/+0
2007-06-25Fixed include directories and updated project files.Eugenio Favalli1-12/+25
2007-03-23Updated and fixed Code::Blocks project files.Eugenio Favalli1-18/+50