summaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
AgeCommit message (Collapse)AuthorFilesLines
2018-10-03Install sql scriptsErik Schilling1-0/+2
2018-09-13Do not search for old lua explicitlyErik Schilling1-1/+1
We also support the newer versions and systems like Fedora do not ship the older lua versions.
2015-04-25Do not pollute the context with the icu namespaceErik Schilling1-0/+3
2013-09-19Renamed actor.{h,cpp} to actorcomponent.{h,cpp}Thorbjørn Lindeijer1-2/+2
To match the class name.
2013-09-08Renamed character.cpp to charactercomponent.cppErik Schilling1-2/+2
Now we do not have two character.cpp files in the repository.
2013-08-26Unshared the serialization of charactersErik Schilling1-1/+0
This getting annoying while trying to do multiple changes. Types/structures had to be shared all the time making it nessecary to find ugly workarounds.
2013-08-26Removed skillsErik Schilling1-2/+0
This removes support for skills. The plan is to allow to implement the skills as they were implemented before via attributes. This adds a lot more flexibility to the server creators while also removing the confusion about skills and attributes. So this change does: - Remove the skillmanager with all its calls, the skill xml file, etc - Move exp giving to the script engine: --> Allows to implement the old behaviour (and more) in the scripts - Remove the exp tag from the monster definition: + Since the server itself does not require it anymore it feels wrong to require it for EVERY monster. TODO: Add a system to add properties to the monsters/items.xml which allow defining things like the exp and allows to read the value from the script engine. + Small drawback, but it should not be hard to implement this property system. - Drop the level networking and calculation. + level calculation will happen via the attribute system later but i would prefer to do this in a seperate patch since this patch already got longer than expected especially since this requires to make setting correction points and available status points scriptable. + The level would be simply set as a attribute, the int number of it will be the level, the remaining digits will be the % number till the next levelup. - NOT remove any existing skill tables in the database update scripts. + There is no way to move them into the attribute table in a unified way (there are too many different way they could have been used). So server admins have to care about moving theirs skills to attributes themselves. + Keeping the old tables does not hurt for existing databases. So removing does not give any advantage/is required anyway. The now obsolote info about the EXP transaction is not removed for updated databases either. (The update script basically only bumps the version number without doing anything else. - bump the network protocol version --> old clients won't be able to connect. - bump the database version --> serveradmins need to update their db.
2013-08-26[Abilities] Removed the old autoattack systemErik Schilling1-6/+0
As a side effect i had to remove the monster attack AI for now. I will readd this as next thing.
2013-08-26[Abilities] Moved the ability code into a own componentErik Schilling1-0/+2
This later allows monsters and characters to use this component.
2013-08-26[Abilities] Renamed specials to abilitiesErik Schilling1-2/+2
2013-06-18Allow manaserv to be built with external ENetBrian Callahan1-3/+9
2013-04-29Single xml solutionPrzemysław Grzywacz1-0/+2
Mana-mantis: #506.
2013-04-27Warn at failing overridesErik Schilling1-1/+2
2013-04-02Fixed multiple warnings and errors that blocked c++0xErik Schilling1-0/+2
This allows the server to compile with c++0x (and enables it). This also includes some coding style / readabillity fixes.
2013-04-02Removed old commandhandler approachErik Schilling1-1/+0
It was forgotten to remove when the new approach was added
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/+5
Well, first visible change is that everything just gets longer to read. Reviewed-by: Yohann Ferreira
2013-02-24Added possibility to reserve mapsErik Schilling1-0/+2
If you set net_gameServerName you can now reserve maps in the maps.xml. There you have to add the servername - property to the <map> tag. Then the map will only be activated by that server. Also changed the activate sequence that the account server now tells the game server what maps to activate (previously the server requested all maps and the account server said yes or no). TODO: Fix general inter server map switching.
2013-02-03Modifications to allow crosscompiling with mingwErik Schilling1-4/+4
Reviewed-by: bjorn.
2013-02-01Added emote support.Yohann Ferreira1-0/+2
2013-01-09Replaced EventListener with signals based on libsigc++Thorbjørn Lindeijer1-1/+4
This replaces the rather hard to understand event dispatcher with a probably even harder to understand templated library, but fortunately we can rely on the available documentation. Hopefully it will also help with the readability of our code and with adding additional signals to other classes. Added libsigc++ to README and Travis CI configuration. Reviewed-by: Erik Schilling
2013-01-08Rename AutoAttack to AttackErik Schilling1-2/+2
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-04Enhanced special supportErik Schilling1-0/+2
- Made the current charge being saved. - Added script binds: - chr_set_special_recharge_speed - chr_get_special_recharge_speed - chr_set_special_mana - chr_get_special_mana - get_special_info - Added special info lua class. Functions: - name - needed_mana - rechargeable - on_use - on_recharged - category Further the engine no longer sets charge to 0 after using of specials this allows more flexbilillity (like failing specials). Changes on the xml database: - recharge renamed to rechargeable (needed by client and server) - needed - the needed mana to trigger a special (server only) - rechargespeed - the defailt recharge speed in mana per tick (server only) - target - the type of target (either being or point) (server and client) I also made the lua engine pushing nil instead of a 0 light userdata when the pointer was 0. Database update needed. Change is tested. Mana-Mantis: #167, #156 Reviewed-by: bjorn.
2012-03-02Merged all the different Lua states into oneThorbjørn Lindeijer1-0/+2
No more Lua state for each status effect, monster, item effect or map. All scripts are loaded into the same state. This should be more efficient overall and make it easier to implement dynamic reloading of the scripts in the future. Now, this introduces the problem of name collisions between different Lua scripts. For now this is solved by using more specific function names, like 'tick_plague' and 'tick_jump' rather than just 'tick'. The plan is however to get rid of these globals, and register these callbacks from the script, so that they can be local functions without the danger of colliding with other scripts. Reviewed-by: Erik Schilling Reviewed-by: Yohann Ferreira
2012-01-29Removed unused createRandomPassword functionThorbjørn Lindeijer1-2/+0
Reviewed-by: Erik Schilling
2011-09-09Add persistent items support based on seeseekey's work.Yohann Ferreira1-0/+1
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-03-20Moved defines.h and manaserv_protocol.h into 'common'Thorbjørn Lindeijer1-2/+2
Just seems a bit more organized to me.
2011-01-26Add an heartbeat time flag in the statistics file.Yohann Ferreira1-0/+1
This way, any kind of external service can know about the running state of each servers, even if only the account server is updating the statistics because: 1. When the account server is running, each <gameserver> tag is a running game server. Otherwise, it's not listed. 2. Whenever the account server stops running, the stat file isn't updated anymore and so the <heartbeat> tag isn't. 3. Game servers without any contact with an account server will try to reconnect to the account server and kick out every players so they aren't considered as running in that case. Reviewed-by: Crush. Resolves: Mana-mantis #270.
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-12-29protocol.h -> manaserv_protocol.h to avoid conflicts with mysql files.Yohann Ferreira1-1/+1
Resolves: Mana-Mantis #278.
2010-12-16Standardized the current errors thrown.Yohann Ferreira1-0/+1
Reviewed-by: Jaxad0127.
2010-11-14Renamed .hpp files into .h for consistency.Yohann Ferreira1-68/+68
Also added an header to the autoattack.{h,cpp} files. Big but trivial fix.
2010-10-26Always check for zlib and add the necessary library flagsThorbjørn Lindeijer1-4/+3
Not only necessary on Windows, but also on Ubuntu (and probably Fedora) This seems to be due to a recent change in how things are packaged. Reviewed-by: Bernd Wachter
2010-09-08Centralized stringToBool conversion.Yohann Ferreira1-1/+0
Also moved the trim() function into the utils namespace where it belongs more, and made some random code cleanups. Reviewed-by: Thorbjorn.
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-15Add included enet to CMakeBernd Wachter1-3/+8
2010-07-30Made the game-server compile again with CMake.Yohann Ferreira1-0/+8
2010-07-23Fixing compatibility with cmake 2.6.0Renato Alves1-2/+2
The syntax IF ((condition) OR (condition)) is not accepted by cmake prior to 2.6.4. The patch should address this without affecting newer versions.
2010-05-16Changed and split up the default location for loading dataThorbjørn Lindeijer1-3/+4
Instead of loading data from a 'data' directory in the current working directory, the server now uses clientDataPath and serverDataPath as specified in the configuration. This removes the need to set up symbolic links in order to merge these two types of data. The default values point to example/clientdata and example/serverdata, where a minimal example world can be developed to make setting up an initial server quick and easy. The XML::Document convenience class was copied over from the client. Also, the ResourceManager is now shared between both servers, since the account client is reading items.xml. Reviewed-by: Jared Adams
2010-01-30Win32 build fixes when building with cmakeBernd Wachter1-2/+6
Add missing zlib dependency, add NOGDI flag to avoid namespace clashes.
2010-01-29Add/fix win32 build rulesBernd Wachter1-1/+22
2010-01-29Switch inverted binary namesBernd Wachter1-2/+2
2010-01-29Fix build flags for optional libraries, add extra link librariesBernd Wachter1-5/+10
2010-01-29Use the module shipped with CMake 2.6 to detect Lua 5.1Bernd Wachter1-5/+5
2010-01-29Upgraded CMakeLists.txt files to deal with compile option. I have still one ↵Bertram1-64/+94
problem with Lua... There must be something wrong in the FindLua.cmake module because the FIND_PACKAGE(Lua) doesn't work and is currently commented out.
2010-01-28Added WIP entries for Cmake build. This is configurable but non-working atm.Bertram1-0/+252
I'll need a bit more time and help to get this fully working, but it's a good start :) Also corrected a typo in a makefile.am file.