summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-09-19Cleaned up mapcomposite.hThorbjørn Lindeijer2-291/+303
Moving class definitions for MapZone, ObjectBucket and MapContent into mapcomposite.cpp since they are not used anywhere else.
2013-09-19Removed unused being state enumsThorbjørn Lindeijer4-48/+1
2013-09-19Renamed actor.{h,cpp} to actorcomponent.{h,cpp}Thorbjørn Lindeijer6-9/+9
To match the class name.
2013-09-15Renamed sendFullStatus to markAllInfoAsChangedErik Schilling3-25/+17
Moved the actual sending of info out of update() and into sendStatus to prevent delay issues depending on the order of the components getting updated.
2013-09-15Fixed last commitErik Schilling5-14/+15
Renamed killConnection based on bjorns feedback. Do not send the info on each warp but only on reconnections.
2013-09-15Fixed handling of reconnects while the old connection is still validErik Schilling6-21/+34
The old connection is now terminated. And the new connection will receive the character data properly.
2013-09-14Removed unused variableErik Schilling1-2/+0
2013-09-14Allow to set the kill count againErik Schilling1-0/+20
We later need to check wether we still need this logic or whether we rather want to remove it in favor of the quest system. But we need this for sourceoftales for now.
2013-09-13Added basic questlog supportErik Schilling5-1/+196
I did this patch quite a while ago. Big thx to Stefan Beller for "rebasing" it.
2013-09-13Fixed walking resetting the dead actionErik Schilling1-2/+2
2013-09-13Fixed small typoErik Schilling1-1/+1
2013-09-13Simplified removal of effectsErik Schilling1-2/+1
2013-09-10Fixed typoThorbjørn Lindeijer1-1/+1
2013-09-09Fixed the equipment info for charactersErik Schilling1-1/+1
It was a inventory slot not equipmentslot.
2013-09-09Removed old unused functionsErik Schilling1-5/+0
2013-09-09Send equipment data for character selectionErik Schilling2-9/+19
2013-09-09Fixed Entity leak with effectsErik Schilling3-10/+4
2013-09-08Allow to use the name of attributes in @attributeErik Schilling1-11/+17
2013-09-08Actually send the info about beings using direction abilitiesErik Schilling3-1/+18
2013-09-08Added support for direction based ability targetsErik Schilling8-36/+99
I had to rearrange the protocol a bit in order to allow to keep the related things together.
2013-09-08Removed unused variableThorbjørn Lindeijer1-1/+0
2013-09-08Renamed character.cpp to charactercomponent.cppErik Schilling21-22/+22
Now we do not have two character.cpp files in the repository.
2013-09-08Cleaned up the inventory handlingErik Schilling15-694/+329
Things done: - Removed the equips table and added another column which keeps track about whether the item is equipped or not - Added a message to notify the client about failing equips instead of hardcoding to chat notification - Removed the move possibillity. It was a quite long function and our future idea of the inventory does not need any moves - Removed the inInventory and inEquipment parameters from chr_inv_count, but added a equipped key to the table that chr_get_inventory returns This change makes equipped items still being in the inventory. This means in-inventory triggers are still active! However it makes no sense to disable this triggers during equipping since it will appear as still in the inventory to the client.
2013-09-01Fixed inconsistent type of hairstyle networkingErik Schilling2-13/+8
2013-09-01Do not make all attributes persistentErik Schilling4-11/+27
By default they are not persistent now (meaning that they wont get stored in the database).
2013-08-31Remove unused variableStefan Beller1-1/+0
2013-08-31remove unused variableStefan Beller1-1/+0
2013-08-26Added forgotten filesErik Schilling2-0/+99
2013-08-26Moved AttributeInfo into a seperate fileErik Schilling18-107/+57
2013-08-26Secured the use of the AttributeInfo where nessecaryErik Schilling3-5/+21
In some cases no longer existing attribute ids sent by the account server or client were able to create crashs.
2013-08-26Allowed to push attributeinfos for the attribute recalculationErik Schilling31-285/+384
While on it I replaced the id usage in the server with the usage of the AttributeInfo directly. Next steps: - Dehardcode the core attribute ids and store their attributeinfos somewhere in AttributeManager (for now i simply wrapped the ids with getAttributeInfo(). - Move AttributeInfo out of AttributeManager to shorten the usage + to allow using a pointer in ModifierLocation without forward declaring it.
2013-08-26Unshared the serialization of charactersErik Schilling10-440/+332
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-26Fixed warning which used an invalid iteratorErik Schilling1-2/+1
2013-08-26Allow abilities name for use_ability()Erik Schilling1-3/+5
2013-08-26Removed ability categoriesErik Schilling9-118/+29
2013-08-26Only call ability recharge callback if it is validErik Schilling1-5/+8
2013-08-26Use '/' as seperator for ability categories rather than '_'Erik Schilling2-6/+6
I find this a lot more readable.
2013-08-26Made cooldowns of abilities scriptableErik Schilling21-299/+168
- Removed hardcoded using of attributes - Simply introduced lua functions to set global and ability cooldowns - Requires database update - Bumps the protocol
2013-08-26Allow multiple scopes (character and monster)Erik Schilling1-4/+10
This allows you to avoid putting usually unnessecary load onto npcs if you only wanted to share an attribute between monsters and characters.
2013-08-26Readded level handlingErik Schilling19-40/+284
Things done: Wrote a entity:give_experience function (lua side only). Renamed characterpoints to attributepoints (no db update. Did not want to do one for a simple rename). Temponary introduced a ATTR_LEVEL constant. TODO: dehardcode this. Script binds for settings the correction and attribute points.
2013-08-26Removed skillsErik Schilling36-1094/+86
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-26Readded Entity:damage as lua functionErik Schilling5-15/+44
2013-08-26Allow names instead of ids for attributes + cleanupErik Schilling16-229/+224
I did not adapt the scripts yet since we need some special handling for the attributes which are required by the server directly. So you still have to use the ids for those. I will change that later. In the future I want to use the AttributeInfo class instead of the int id everywhere possible. So I did a small start on that too.
2013-08-26Warn when defining an attribute without a scopeErik Schilling1-3/+3
Attributes without a scope make no sense.
2013-08-26Added a first very basic monster ai versionErik Schilling8-53/+191
The ai is similar to the old c++ version. Only the target searching is executed every 10 ticks only now to prevent performance issues with too many lua calls.
2013-08-26Call the on_remove handler with the being as parameterErik Schilling1-6/+7
2013-08-26Added look_at bindErik Schilling1-0/+33
2013-08-26Fixed setting name of monstersErik Schilling1-2/+2
2013-08-26Added tick argument to the monster update callbackErik Schilling1-0/+1
2013-08-26Removed the hardcoded monster AIErik Schilling4-230/+1