RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

[RunUO 2.0 RC1] Xanthos Evo System

X

Xanthos

Guest
Xanthos Evo System

Evo Creature System 2.1 by Xanthos

This system comes with the Evolution dragon, hiyru and mercenary and allows fast and easy creation of new creatures by simply filling in the details of a set of table like structures, one for each stage in the creature's evolution and copying a small set of template classes and replacing the class names with a newly chosen name. It also allows almost anyone to quickly and easily tune evos created under this framework.

Acknowledgements

This framework is my own design. The idea of the evolution creatures are borrowed from the creative minds of the RunUO forum. I do not know the origin of all of these ideas, however there are a few people whose code I used as a guide to model this system. Most notably are: Raelis for the Evolution Dragon and mating gump, GG521 for the Evolution Hiryu, and Sadoul/Grae for their Evolution Mercenary ideas. Thanks also to Protius73 and bzk90 for their contributions in the forum. Dracna contributed to configuration options and code limiting the use of training elementals. Special thanks to Thundar for testing and coming up with some great ideas.

Features
  • Easy creation of new evolution creatures (a.k.a. Evos), as well as the associated eggs and dust
  • A command (EP) that can be used by players to get the experience points of their Evo
  • Easy tuning of deployed Evos, by admins - no programming experience necessary for most changes
  • Evos can be configured to always remain "Wonderfully Happy" or, without feeding, allow loyalty to decay like other pets - see the "Spec" file of each Evo for more details.
  • A high hit point low damage Training Elemental comes with the system. The Elemental reflects 10% of the damage done to and can be configured as invulnerable or killable.
  • A Training Elemental Deed can be given as a reward item, allowing players to place a Training Elemental spawner in their homes
  • The Evos in this system implement only one timer; the pregnancy timer, resulting in less server lag than many other evolution creature designs
  • The Evo system comes with three Evo creatures: Dragon, Hiryu, and Mercenary (mercenary has many spoken commands and can equip a large range of items including jewelry)
  • The Evo system comes with three Evo Guardian creatures: Guardian Dragon, Guardian Hiryu, and Guardian Mercenary. These are superior to their normal counterparts and may drop eggs/deeds as a reward for conquering them in battle.
  • The system is compatible with RunUO 2.0 and requires no changes to the RunUO distro files
  • Easy to install and configure.
Installation

This system is not compatible with other shrink systems as the format of shrunken pets my be different that what other systems expect. However, this shrink system will coexist with others allowing you to cut users over to the new shrink system after installation.
For installation, unzip the EVO and Utilities directories into the Xanthos directory within your customs directory. All shrink system configuration variables are maintained in ShrinkConfig.xml which, when placed in the RunUO data directory will override the hardcoded defaults. Configuration of the Evo creatures is done in your derived classes.

How To Create A New Evo
  • Make a copy of the Hiryu (if it is to be a mount) or Dragon directory under the EVO directory and rename it to YourClass.
  • Rename all of the files, replacing EvoHiryu in each file name with YourClass.
  • Inside the YourClass directory, open each file and replace all occurreneces of EvoHiryu to YourClass.
  • In YourClass.cs, YourClassDust.cs and YourClassEgg.cs change the respective strings "a hiryu corpse", "hiryu dust", and "a hiryu egg" as appropriate.
  • Open YourClassSpec.cs.
  • In the constructor of the YourClassSpec class, edit the variable values as you see fit.
  • Add or remove YourClassStageX class definitions, according to how many stages you plan to have, by copying and pasting one of the exisiting definitions.
  • Change the assignment of the m_Stages vairable in the YourClassSpec constructor according to the number of stages YourClassStageX class definitions you have.
  • Edit the values of the variables in each of the YourClassStageX as appropriate for each stage of the creatures evolution. Setting any of the array type variables to null will cause them to not be changed in that stage of the evolution. Damage amount, hits, strength, dexterity and intelligence can be applied relatively or absolutely depending on the value of YourClassSpec.m_AbsoluteStatValues. All of the other variables are applied absolutely.
In Game

Evo creatures cannot be spawned in game but must be acquired through the deeds or eggs. GuardianEvo creatures, however can be spawned directly and have a percentage chance to drop a deed/egg as loot. Guardians are subclasses of the various Evo creatures that also implement the IEvoGuardian interface and are meant to be much more powerful than their normal counterparts.

Requirements

Xanthos.ShrinkSystem and Xanthos.Utilities are required.

Caveats

You may use or modify this system in any way you desire, however I ask that you leave the original headers in the source files if you re-write or redistribute the sources in any way.
- Xanthos
 

Attachments

  • Evo System 2.1.zip
    82.1 KB · Views: 3,419

Deimos

Page
Thanks for bringing out the updated system

I've installed this and your shrink system as instructed, but my server doesn't start, this is what I get when I try to start it

Errors:
+ Customs/Xanthos/EVO/BaseEvo.cs:
CS0246: Line 28: The type or namespace name 'ShrinkItem' could not
(are you missing a using directive or an assembly reference?)
CS0246: Line 393: The type or namespace name 'ShrinkItem' could not
(are you missing a using directive or an assembly reference?)
CS0246: Line 570: The type or namespace name 'ShrinkItem' could not
(are you missing a using directive or an assembly reference?)
+ Customs/Xanthos/EVO/BaseMountEvo.cs:
CS0246: Line 28: The type or namespace name 'ShrinkItem' could not
(are you missing a using directive or an assembly reference?)
CS0246: Line 382: The type or namespace name 'ShrinkItem' could not
(are you missing a using directive or an assembly reference?)
+ Customs/Xanthos/EVO/Commands.cs:
CS0246: Line 22: The type or namespace name 'CommandEventArgs' coul
found (are you missing a using directive or an assembly reference?)
 
X

Xanthos

Guest
I believe the last error is due to installing a RunUO 2.0 package on a RunUO 1.0 server. The other errors are indicitive of not having the shrink system installed. I have updated the zip file to include the shrink system.
 

Tee312

Wanderer
WTG Xanthos.. just the other day someone was asking for a system that built evos easily, and this was what i was referring to, but i couldnt find it with a search :/
 
X

Xanthos

Guest
Wrong thread =)

Look at the code in this package and see how it hues. That should give you an idea on how to hue them. BTW, you can port this code back to 1.0 pretty easily the changes to support 2.0 are pretty minimal.
 

swayde

Wanderer
You are the man...BTW thanks so much for the scripts by far my favs on the shard...keep up the good werk
 

LittleJ

Wanderer
evo probs

Having some major issues chaning the skill cap of my evos.... what i have done is made evos have 100 stages every 10 stages get another rank.... basiclay xxx has evolved into "new rank" with new ranks include a bigger jump in stats .... prob is i cannot seem to make the skill cap go above 120 unless i make it from start, what do i add to what file to make the skill cap go up at like stage 10 from 120 to 130 or something
 

vampyerskss

Wanderer
I seem to be having problems with when one of the Evo's die they turn into human form.....I haven't modified anything..just wondering if anyone else has had this problem
 

Daene

Wanderer
whats this mean?

Errors:
+ Customs/Xanthos/EVO System/BaseEvo.cs:
CS0104: Line 29: 'ShrinkItem' is an ambiguous reference between 'Server.Item
s.ShrinkItem' and 'Xanthos.ShrinkSystem.ShrinkItem'
+ Customs/Xanthos/EVO System/BaseMountEvo.cs:
CS0104: Line 29: 'ShrinkItem' is an ambiguous reference between 'Server.Item
s.ShrinkItem' and 'Xanthos.ShrinkSystem.ShrinkItem'

How do I fix this?
 
X

Xanthos

Guest
It means someone has created a class named ShrinkItem in the Server.Items namespace. One of them must be removed or you need to reference them by the fully qualified name.
 
X

Xanthos

Guest
A new version has been uploaded. Version 2.1 has a config option to disallow use of Evos in PvP.
 

kiltedcoyote

Wanderer
I'm getting a strange error with this system. It's telling me AnkhEast is missing a namespace reference. When I reference Server.Items.AnkhEast directly it says it is not part of Server.Items....where it clearly is. Any ideas on that?
 

kiltedcoyote

Wanderer
RunUO - [www.runuo.com] Version 2.0, Build 2525.28051
Core: Running on .NET Framework Version 2.0.50727
Scripts: Compiling C# scripts...failed (1 errors, 3 warnings)
Warnings:
+ Customs/Evo System/Xanthos/EVO System/BaseEvo.cs:
CS0108: Line 113: 'Xanthos.Evo.BaseEvo.Pregnant' hides inherited member 'Ser
ver.Mobiles.BaseCreature.Pregnant'. Use the new keyword if hiding was intended.
+ Customs/Evo System/Xanthos/EVO System/BaseMountEvo.cs:
CS0108: Line 121: 'Xanthos.Evo.BaseEvoMount.Pregnant' hides inherited member
'Server.Mobiles.BaseCreature.Pregnant'. Use the new keyword if hiding was inten
ded.
+ Engines/AI/Creature/BaseCreature.cs:
CS0429: Line 288: Unreachable expression code detected
Errors:
+ Customs/Evo System/Xanthos/EVO System/Mercenary/Mercenary.cs:
CS0246: Line 310: The type or namespace name 'AnkhEast' could not be found (
are you missing a using directive or an assembly reference?)
Scripts: One or more scripts failed to compile or no script files were found.
- Press return to exit, or R to try again.

I wouldnt worry about the warnings, I think I know what that is about.

But the actual error
 

Malaperth

Wanderer
That is really bizarre. Have you looked at your Anks.cs file to see if somehow it was changed? I see nothing wrong there, and see no reason that if it really was a namespace error that it wouldn't choke on AnkhWest also.
 
Top