diff options
author | Erik Schilling <ablu.erikschilling@googlemail.com> | 2013-02-17 12:24:45 +0100 |
---|---|---|
committer | Erik Schilling <ablu.erikschilling@googlemail.com> | 2013-08-26 22:56:47 +0200 |
commit | 44ee071d7ece5a2023f79307f36e8a244c9e7b3a (patch) | |
tree | 06b7fcea59bbbf1963b460ca9b678d0ea6fa90e4 /src/account-server/character.h | |
parent | e3a1e9c89e102dbf961c624435c495c759776312 (diff) | |
download | manaserv-44ee071d7ece5a2023f79307f36e8a244c9e7b3a.tar.gz manaserv-44ee071d7ece5a2023f79307f36e8a244c9e7b3a.tar.bz2 manaserv-44ee071d7ece5a2023f79307f36e8a244c9e7b3a.tar.xz manaserv-44ee071d7ece5a2023f79307f36e8a244c9e7b3a.zip |
Removed skills
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.
Diffstat (limited to 'src/account-server/character.h')
-rw-r--r-- | src/account-server/character.h | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/src/account-server/character.h b/src/account-server/character.h index 53443c4b..58e32dad 100644 --- a/src/account-server/character.h +++ b/src/account-server/character.h @@ -156,12 +156,6 @@ class CharacterData void setAccountLevel(int l, bool force = false) { if (force) mAccountLevel = l; } - /** - * Gets the level of the character. - */ - int getLevel() const { return mLevel; } - void setLevel(int level) { mLevel = level; } - /** Sets the value of a base attribute of the character. */ void setAttribute(unsigned id, double value) { mAttributes[id].base = value; } @@ -172,24 +166,6 @@ class CharacterData const AttributeMap &getAttributes() const { return mAttributes; } - int getSkillSize() const - { return mExperience.size(); } - - const std::map<int, int>::const_iterator getSkillBegin() const - { return mExperience.begin(); } - - const std::map<int, int>::const_iterator getSkillEnd() const - { return mExperience.end(); } - - int getExperience(int skill) const - { return mExperience.find(skill)->second; } - - void setExperience(int skill, int value) - { mExperience[skill] = value; } - - void receiveExperience(int skill, int value) - { mExperience[skill] += value; } - /** * Get / Set a status effects */ @@ -300,7 +276,6 @@ class CharacterData Account *mAccount; //!< Account owning the character. Point mPos; //!< Position the being is at. AttributeMap mAttributes; //!< Attributes. - std::map<int, int> mExperience; //!< Skill Experience. std::map<int, Status> mStatusEffects; //!< Status Effects std::map<int, int> mKillCount; //!< Kill Count AbilityMap mAbilities; @@ -308,7 +283,6 @@ class CharacterData unsigned char mGender; //!< Gender of the being. unsigned char mHairStyle; //!< Hair style of the being. unsigned char mHairColor; //!< Hair color of the being. - short mLevel; //!< Level of the being. short mCharacterPoints; //!< Unused character points. short mCorrectionPoints; //!< Unused correction points. unsigned char mAccountLevel; //!< Level of the associated account. |