Resource icon

Level System 3 - Rerelease 3.3

No permission to download
Welcome to the final update. Beyond this point no additional features will be added. Thank you to everyone that helped push this project forward. Any additional updates processed at this point will be bugs being patched out. So far everything is working as intended. Now for the warnings.

This update is huge, if this is your first time using this system or this is going into a server that has not had this system before, you can ignore this warning. If you are upgrading the system, merging can work however at this point nearly every important file has been modified. Copying and replacing might be a better choice. As always, back up any files before upgrading, work smarter not harder.

ALSO - Distro Edits, some things were moved to the XML attachments themselves, and new features were added to the distro edit list. The readme file is updated and so will be the overview in a little bit. If upgrading, you will likely need to revert or remove some distro edits.

Please feel free to continue to mod this to your liking, I will still offer support for it however any new features that you create, I will not push into the master file.

- Added Null Checks through the core files, there were a lot that was missed.
- Fixed the EXP Share and Split Functions
- Overhauled the playerlevel gump as well as the petlevelgump
- Fixed the EXP bar
- XMLPetAttacksBonus.cs added , pet attacks, buffs and additional features for pets.
- Added an official system for level equipped items, so instead of editing the weapon or armor, just go into the attachment itself and drop in the ItemName in the list. Examples are within the attachment.
- Added items, including Skill reset token, level req tile, set level token and others.
- added a one time override upon attachment that helps the character creation process

There was a lot of changes made to the config files, please completely review all the config files before firing up the server.

The ONLY thing that is a little twitchy was the gain exp on skill usage, some skills is great for this, some is horrible.

If you run into any problems please post in the discussion thread.
  • Love
Reactions: sahisahi
Files Adjusted or added
- LevelHandler.cs
- PlayerLevelGump.cs
- LevelCore.cs
- LevelHandlerPet.cs
- PetLevelGump.cs
- ExpPowerHourToken.cs
- ExpPowerHour.cs
- ReadMe

Fixed issue with BaseCreatures that did not have the XML attachment causing a crash when they were killed either by a player or area damage.

Fixed issue with PetLevelSystem not activating properly. Moved the null check into the PetLevelHandler , adjusted the code for basecreature.cs , updated overview with proper code. LevelHandlerPet.cs update is required for the edit to work properly to prevent further crashes.

Fixed Mysticism in PlayerLevelGump.
Fixed MaxHits from not updating for pets when str was added.
Fix to EXP Gained from summon creatures.
Fixed EXP Gump , now it should refresh.

- Not updated: RawStr vs Str Etc. RawStr,INT,DEX shows the base stats without bonuses or mods in the level gump. If that is not desired remove the Raw portion and just use Str INT or DEX and it will account for the bonuses and gear.

Added a Power Hour Exp Boost Token. This token when used adds an xml attachment to a player that last for 60 minutes, configured now has an entry to adjust how much bonus exp is granted. This does not affect pets! That might exist in the future.

Currently in Development: Skills Control for EXP Gain. Every skill will be able to contribute to the EXP Pool. This is currently in development.

Per the usual, if there is something amiss or not working please let me know.
  • Like
Reactions: sahisahi
Attached ZIP
Still getting used to the new form for submitting changes.
Here is the missing Cosmetic Level info.

Changes to these files were done.
- LevelCore.cs
- PetConfiguration.cs
- LevelHandlerPet.cs
- Readme

Fixed a possible unlikely of unlikely scenario's where if the controlmaster was null however the pet still had the attachment the server would crash. Changes made in LevelHandlerPet.cs

Added a distro edit for basecreature.cs to pull the level info. The changes to PetConfiguration and LevelCore are required for this to work.

Here is the quick edit for basecreature.
Locate : public override string ApplyNameSuffix(string suffix)

under that section add in the GetProps Section. Unlikely that you will already have this as its not part of the servuo distro at this time. If you do, then simply merge the edit in.

Code:
        #region Player Level system - BaseCreature Expansion
        public override void GetProperties(ObjectPropertyList list)
        {
            base.GetProperties(list);   
            ConfiguredPetXML cp2 = new ConfiguredPetXML();
            XMLPetLevelAtt petxml = (XMLPetLevelAtt)XmlAttach.FindAttachment(this, typeof(XMLPetLevelAtt));
            if (cp2.LevelBelowPet)
            {
                if (petxml != null)
                {
                    int petlevelint = LevelCore.PetLevelXML(this, new Configured());
                    list.Add("<BASEFONT COLOR=#7FCAE7>Level: <BASEFONT COLOR=#17FF01>" + petlevelint);
                }
            }
            
        }
        #endregion
Expansion into pets is finally here, pets now can be leveled up right along side the main toon with their own EXP pool. Not shared to the control master. With this system new features are coming to light.
- ConfiguredPet.cs script to control the system
- Loss of level on Death
- Loss of Stat on Death (required Loss of level to be enabled to use)
- Customization Stat points like the player. (no Skills yet!)
- Level Sheet for the Pets (only works on your own pet!) - command available too
- Notification if Pet Gains EXP or a Level.

Updated to Player Side of Things
- EXPCoin still a little borked
- Added the distro edits to overview for the Gain EXP for taming.
- Formally added the Follower Boost on Level (Still can make a player very OP!)
- Updated LevelHandler.cs to properly gain exp from using Summon creatures.

Updated Readme with current distro edits!

Files Updated or Added for those that want to Merge not copy whole thing.
- Configuration/PetConfiguration.cs
- Configuration/Configuration.cs
- Core/LevelHandlerPet.cs
- Core/LevelHandler.cs
- Core/LevelCore.cs
- Utilities/XMLDeleteLevelAttOnLogin.cs
- XMLAttachments/XMLPetLevelAtt.cs
- Items/PetLevelSheet.cs
- CommandsGumps/PetLevelGump.cs

Special Shout out and Thanks to Lokai for providing me assistance with making the PetLevelGump work correctly. No Joke, always something to learn here!

If there is anything amiss or broken, let me know and I will fix it as soon as possible.
I did test out the pet system vigoriously so it 'should' be okay.
Token did not Delete on usage
Fixed an issue with command and token being used.
EXPCoin isn't compiling with a configuration setting, reverted for now.
- Updated and overhauled the XML attachment itself
- Updates to the PlayerGump to accommodate the new features.
- Added A stat reset coin, the update to the xml attachment now holds the used stats from leveling up, which the reset coin uses as a reference to reset and return used stat points.
- Added additional updates to the XML attachment for future updates.

!!!!!!!!!!!!!!!!!!!!!!!!!!WARNING!!!!!!!!!!!!!!!!!!!!!!!!!!!!
This is a serialization change to the level xml attachment! If you choose to apply this update you will need to do the following, other wise you will not be able to successfully compile. These serialization changes are rare which is why i added possible future updates even though they are not yet complete.

1) Go into your 'Saves' folder'.
2) Delete the 'Attachments' folder.
3) Start the Server.

Unfortunately the attachments are all stored in a data container, so you cannot just delete level based attachments and leave everything else... :-\
At least in my case I cannot do so, worth a shot to see if the server will just purge it on its own.

If you have any problems , let me know and I will actively fix them, so far from my testing it 'should' be okay.

Once Again.. You will lose ALL level attachments from this update.
- Added Equipment level examples, sword and armor.

- Updated configure.cs with Discount option, required distro edit

- Updated readme file with instructions for discount in BaseVendor.cs

- Created Level Vendors up to Level 250
- The user will need to go into each vendor file and modify the buy list to meet their shards needs. Sell list left incomplete on purpose.

- Updated Folder Tree in Zip File
- Added Easier Toggle to Turn off EXP for killing creatures. This would allow other systems that gain exp to be used on their own, such as crafting.
Removed invalid code from katana
  • Like
Reactions: sahisahi