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!

Unidentified Items For AOS Servers.

RoninGT

Sorceror
Unidentified Items For AOS Servers.

Item ID System v1.0

UPDATED 9/17/2004
Updated Readme with full info on BaseJewel.cs (Thanks To Halciet)
Updated Readme and BaseArmor.cs fixed Identifed Flag.
If you Changed your BaseArmor.cs Flag from = 0x00000080, to= 0x00000400,
Change it back to = 0x00000080, (Thanks To Halciet)

I have always love the old school Unidentified items never understood why OSI took them out at the birth of AOS. So many people with tons of ID wands in the banks and worse the skill ItemID became pretty useless after that too.
I have seen alot of ppl asking here how it can be done. and i have even asked my self so i hope you enjoy this system.

This is nothing more than changes to your current scripts no new ones to add in.
I have supplied stock scripts with the mods and a README on how to change your files if you have custom

BaseWeapon.cs
BaseArmor.cs
BaseJewel.cs
IDWand.cs
LootPack.cs
CraftItem.cs
ItemIdentification.cs

The system works as so. Any item with. Extra mods to it such as Swing Speed Inc, Mage Armor, All the extra Aos Attributes on it will come up as Unidentified untill someone uses an idwand or skill item id on them. Then it shall display its props. If a crafter makes an item with a runic and it has extra props on it It will auto id the item. I didnt make any changes to the NPC Vendors due to most shard they dont sell magic item however i do plan to add something in for it in a later release for those who do have shards that have NPC Vendos with magic items. LookPack has been changed to have a chance for IDWands to drop as loot they have the same chance as Magic Instruments. For a full list of changes see the README File.

Here is what an item will look like before it has been identified



If the item does not have any extra props it will not come up as Unidentified.

This system has been tested ONLY on RunUO v1.0 RC0
Its good smooth running system i has been on my shard for awhile now without any problems other than the players wondering where they get IDWands lol. It seems to give players a bit more fun when finding items.

For items you want to auto id when created see example below.

Code:
using System;
using Server;

namespace Server.Items
{
	public class ArcaneShield : WoodenKiteShield
	{
		public override int LabelNumber{ get{ return 1061101; } } // Arcane Shield 
		public override int ArtifactRarity{ get{ return 11; } }

		public override int InitMinHits{ get{ return 255; } }
		public override int InitMaxHits{ get{ return 255; } }

		[Constructable]
		public ArcaneShield()
		{
			Hue = 0x556;
			// TODO: Night Sight
			Attributes.SpellChanneling = 1;
			Attributes.DefendChance = 15;
			Attributes.CastSpeed = 1;

                                                Identified = true;

		}

		public ArcaneShield( Serial serial ) : base( serial )
		{
		}

		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.Write( (int) 0 );
		}
		
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();
		}
	}
}

By adding the line
Code:
Identified = true;

Hope you enjoy
Any problems or comments post here and ill see what i can do to help you

Ronin

Install
ALWAYS back up your files!!!
Back up and replace.
BaseWeapon.cs
BaseJewel.cs
BaseArmor.cs
IDWand.cs
LookPack.cs
CraftItem.cs
ItemIdentification.cs

See README For detailed info on these scripts. and how to change your own if you have custom addons in these scripts.
 

Attachments

  • ItemID_AOS.zip
    95 KB · Views: 332

Jarrod

Sorceror
Thanks for returning some importance back to a skill that has been neglected far too long.
:)

Very nice work.
 
D

draco

Guest
This must be one of the best scripts!! Now people can get use of the itemId again ^^
 

Knightshade

Wanderer
Awesome work RoninGT! :)
This is something I've been interested in looking into. I'm glad to see someone else has addressed this issue with care and grace. Thanks for all the hard work!
 

Halciet

Sorceror
Now if only you could find some way of handling that resistance display thing.

I did want to note that in your instructions you mentioned needing to change the number for the Identified save flag from 0x00000080 to 0x00000400 or else it wouldn't save the state on reboot; I didn't change it and I havn't had that problem. I decided not to when I saw that 0x00000400 was the number used for Maker's Mark, thus it could lead to future problems.

Similarly, I didn't have the m_Identified variable or get/set methods in BaseJewel.cs, which wasn't mention in the readme. I went in and added them myself, and it was no problem, but if the distro BaseJewel doesn't have them, you might want to mention that in the readme to help newer coders who have already replaced their default BaseJewel with something else.

Good work,

-Hal
 

RoninGT

Sorceror
Sorry ill double check the readme was sure i addressed basejewel, As far was base armor i had issues on my server of armor after reboot not staying identified. and when i change that it worked out ok and have had no issues with it. But thank you for the heads up on readme ill check and update it later today

Ronin
 

KillerBeeZ

Knight
RoninGT said:
In aos shard Item ID is pretty Useless i dont know of a use for it in AOS shards.

Ronin

to combat this on my shard, I created a new craft menu that uses Item ID...

I plan to use this script as well... cause UO is crap without the unidentified stuff... it makes it much more fun.

Players at this time will tend to leave all but the best stuff on monsters... now they will at least pick it up and ID it 1st.
 

KillerBeeZ

Knight
I have converted this to work with b36

All seems to work with 1 exception

The jewels dont get IDed right away because I had to change a bit of the code.

Instead, you have to ID them, then put it on before it gets IDed.

** for B36 **

I have edited the README.txt for those with b36

The only thing is that I believe there to be a better way in regards to the Jewels... but it does work.
 

Attachments

  • READMEb36.txt
    48.7 KB · Views: 27

chro

Wanderer
realy nice and useful submission! my shard aint aos, but that's realy the kind of scripts we need!
 

RoninGT

Sorceror
KillerBeeZ said:
I have converted this to work with b36

All seems to work with 1 exception

The jewels dont get IDed right away because I had to change a bit of the code.

Instead, you have to ID them, then put it on before it gets IDed.

** for B36 **

I have edited the README.txt for those with b36

The only thing is that I believe there to be a better way in regards to the Jewels... but it does work.

Nice work man, I dont have a copy of b36 anymore or i would have.

Ronin
 

Kamron

Knight
I just coded this the other day. Great idea indeed. I must ask you, as I do not have time to check out the download. Are the properties actually applied even though its unidentified? They shouldn't be.. including lower requirements, durability increases, and damage increases. Hues should be changed to 0 (as artifacts like zyronic claw are hued, and its a give away), and the name should be changed to ItemData.Name or else its a give away as well.

I have had problems trying to get identification to apply the attributes to items worn... so I disabled it, if you do take that approach and suceed in that feature, I may have to find time for your variant of this great feature. My next step is to make the Identification skill fail rate based on the intensity and attribute count of the item. And make IDWands have (basically) a skill range which is equal to Item Identification, or something to that effect.

Good work. If you need more brainstorming (expansion), testing, or want me to help in any way, please ICQ me at 3591886.
 

KillerBeeZ

Knight
XxSP1DERxX said:
I just coded this the other day. Great idea indeed. I must ask you, as I do not have time to check out the download. Are the properties actually applied even though its unidentified? They shouldn't be.. including lower requirements, durability increases, and damage increases. Hues should be changed to 0 (as artifacts like zyronic claw are hued, and its a give away), and the name should be changed to ItemData.Name or else its a give away as well.

I have had problems trying to get identification to apply the attributes to items worn... so I disabled it, if you do take that approach and suceed in that feature, I may have to find time for your variant of this great feature. My next step is to make the Identification skill fail rate based on the intensity and attribute count of the item. And make IDWands have (basically) a skill range which is equal to Item Identification, or something to that effect.

Good work. If you need more brainstorming (expansion), testing, or want me to help in any way, please ICQ me at 3591886.

No, the items, while Unidentified, still give the bonuses.

Also, some properties that are inherint to the ore type of something (like lower requirements), don't show up until IDed even though it was crafted, and since it was crafted, it doesn't have the Unidentified label.

Even with this, its still great to have. It would be nice to work these issues out though, and if I can help, I will.
 

Kamron

Knight
I have all of these issues resolved. Basically what you do is change AOS.cs so that AOS attributes return 0 (in the BaseAttributes).

I used an interface to determine what requires identification with the Identified property as the requirement, then added that to basearmor, baseweapon, basejewel. Also, for durability and other internallly calculated stats, you will need to make a return when not identified. Also for GetProperties, you will need to add an if Identified check. Set identified to true in the constructor, and set Identified to false if attributeCount is greater than 0 in the lootpack where aos attributes are added. Also set Identified to false where all artifacts are added as loot (look for CreateRandomArtifact). Another give away is elemental damage.. so you would have to go over all weapons which have elemental damages (inside of the SetDamageType) to check for identification first, then that can be avoided. Then if they are not identified, put 100% physical, else put the normal damage types in getproperties. Or you can override the SetDamageType in BaseWeapon, but that would require a call to base.SetDamageType for all weapons which have elemental damages. Either way is fine.

All armor/weapons etc which have custom skillmods will need their respective checks, and AOSSkillBonuses will need a check to in order to return 0 when not identified.

The only down-fall is that staff cannot see the actual properties when it is not identified, but if they set the value, it will be set in actuality.

All crafted items should be identified automatically at the constructor, and not require the Identified = true line in the craft system.

Problems fixed :) If anyone has a better solution to allow staff to edit the AOSProperties, maybe a dummy attribute list to edit via props or whatever, would be good.
 

RoninGT

Sorceror
Crafted items do auto id, as far as unidentified items still applies props yes they do. just dont show them. I have not gotten that far :p But i do like the ideas on hues/names/props. I do have a few updates to make here and there :).
Ill get with you guys shortly if thats cool see if i can get some more suggestions/pointers on the system.

Thanks

Ronin
 

Kesia

Wanderer
your missing something in your "txt" in the baseJewel...it took me edditing yours with things I had added to mine to get it to work..you might want to doble check it *smiles* just thought i would give ya the heads up :eek:
 
Top