Tailean

Member
Code:
public class RingOfBakoosta : GoldRing
    {
        public override int LabelNumber{ get{ return 1061102; } } // Ring of the Vile
        public override int ArtifactRarity{ get{ return 5; } }

        [Constructable]
        public RingOfBakoosta()
        {
            Name = "<BASEFONT COLOR=#A335EE>Ring Of Bakoosta [GAMMA]</font>";
            Hue = 18;
            WeaponAttributes.HitFireball = 15;
            WeaponAttributes.HitLowerDefend = 15;
            Attributes.WeaponSpeed = 10;
        }

Code:
The name 'WeaponAttributes' does not exist

Is there a way to override this?
 
Have you tried just Attributes?
You'll also need to comment out the label number line because it will override the name you have for the ring.
 
Yeah, it says AOS doesn't contain a definition ..are you missing a using
[doublepost=1524936945][/doublepost]using System;
using Server;
using Server.Items;

are my using statements....
[doublepost=1524939439][/doublepost]Okay, so here is where I am...

Code:
using System;

namespace Server.Items
{
    public abstract class BaseRing : BaseJewel
    {
        public override int BaseGemTypeNumber{ get{ return 1044176; } } // star sapphire ring

        public BaseRing( int itemID ) : base( itemID, Layer.Ring )
        {
        }

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

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

            writer.Write( (int) 0 ); // version
        }

        public override void Deserialize( GenericReader reader )
        {
            base.Deserialize( reader );

            int version = reader.ReadInt();
        }
    }

    public class GoldRing : BaseRing
    {
        private AosWeaponAttributes m_AosWeaponAttributes;

        [CommandProperty( AccessLevel.GameMaster )]
        public AosWeaponAttributes WeaponAttributes
        {
            get{ return m_AosWeaponAttributes; }
            set{}
        }

        [Constructable]
        public GoldRing() : base( 0x108a )
        {
            Weight = 0.1;
            m_AosWeaponAttributes = new AosWeaponAttributes( this );
        }

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

        public override void AppendChildNameProperties( ObjectPropertyList list )
        {
            base.AppendChildNameProperties( list );

            int prop;

            if ( (prop = m_AosWeaponAttributes.HitColdArea) != 0 )
                list.Add( 1060416, prop.ToString() ); // hit cold area ~1_val~%

            if ( (prop = m_AosWeaponAttributes.HitDispel) != 0 )
                list.Add( 1060417, prop.ToString() ); // hit dispel ~1_val~%

            if ( (prop = m_AosWeaponAttributes.HitEnergyArea) != 0 )
                list.Add( 1060418, prop.ToString() ); // hit energy area ~1_val~%

            if ( (prop = m_AosWeaponAttributes.HitFireArea) != 0 )
                list.Add( 1060419, prop.ToString() ); // hit fire area ~1_val~%

            if ( (prop = m_AosWeaponAttributes.HitFireball) != 0 )
                list.Add( 1060420, prop.ToString() ); // hit fireball ~1_val~%

            if ( (prop = m_AosWeaponAttributes.HitHarm) != 0 )
                list.Add( 1060421, prop.ToString() ); // hit harm ~1_val~%

            if ( (prop = m_AosWeaponAttributes.HitLeechHits) != 0 )
                list.Add( 1060422, prop.ToString() ); // hit life leech ~1_val~%

            if ( (prop = m_AosWeaponAttributes.HitLightning) != 0 )
                list.Add( 1060423, prop.ToString() ); // hit lightning ~1_val~%

            if ( (prop = m_AosWeaponAttributes.HitLowerAttack) != 0 )
                list.Add( 1060424, prop.ToString() ); // hit lower attack ~1_val~%

            if ( (prop = m_AosWeaponAttributes.HitLowerDefend) != 0 )
                list.Add( 1060425, prop.ToString() ); // hit lower defense ~1_val~%

            if ( (prop = m_AosWeaponAttributes.HitMagicArrow) != 0 )
                list.Add( 1060426, prop.ToString() ); // hit magic arrow ~1_val~%

            if ( (prop = m_AosWeaponAttributes.HitLeechMana) != 0 )
                list.Add( 1060427, prop.ToString() ); // hit mana leech ~1_val~%

            if ( (prop = m_AosWeaponAttributes.HitPhysicalArea) != 0 )
                list.Add( 1060428, prop.ToString() ); // hit physical area ~1_val~%

            if ( (prop = m_AosWeaponAttributes.HitPoisonArea) != 0 )
                list.Add( 1060429, prop.ToString() ); // hit poison area ~1_val~%

            if ( (prop = m_AosWeaponAttributes.HitLeechStam) != 0 )
                list.Add( 1060430, prop.ToString() ); // hit stamina leech ~1_val~%
        }

        private static void SetSaveFlag( ref SaveFlag flags, SaveFlag toSet, bool setIf )
        {
            if ( setIf )
                flags |= toSet;
        }

        private static bool GetSaveFlag( SaveFlag flags, SaveFlag toGet )
        {
            return ( (flags & toGet) != 0 );
        }

        private enum SaveFlag
        {
            None                = 0x00000000,
            WeaponAttributes    = 0x00000001,
        }

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

            writer.Write( (int) 0 ); // version

            SaveFlag flags = SaveFlag.None;

            SetSaveFlag( ref flags, SaveFlag.WeaponAttributes, !m_AosWeaponAttributes.IsEmpty );

            writer.Write( (int) flags );

            if ( GetSaveFlag( flags, SaveFlag.WeaponAttributes ) )
                m_AosWeaponAttributes.Serialize( writer );
        }

        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize( reader );

            int version = reader.ReadInt();

            SaveFlag flags = (SaveFlag) reader.ReadInt();

            if ( GetSaveFlag( flags, SaveFlag.WeaponAttributes ) )
                m_AosWeaponAttributes = new AosWeaponAttributes( this, reader );
            else
                m_AosWeaponAttributes = new AosWeaponAttributes( this );
        }
        //public override void Serialize( GenericWriter writer )
        //{
            //base.Serialize( writer );

            //writer.Write( (int) 0 ); // version
        //}

        //public override void Deserialize( GenericReader reader )
        //{
            //base.Deserialize( reader );

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

    public class SilverRing : BaseRing
    {
        [Constructable]
        public SilverRing() : base( 0x1F09 )
        {
            Weight = 0.1;
        }

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

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

            writer.Write( (int) 0 ); // version
        }

        public override void Deserialize( GenericReader reader )
        {
            base.Deserialize( reader );

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

So, the error I am getting is: Loading...An error occurred while loading a saved object
- Type: Server.Items.GoldRing
- Serial: 0X400022BB
Delete the object?
Delete all of that type?

If I say no it wont load the server..will it delete all rings in the game if I say yes?
[doublepost=1524940255][/doublepost][SOLVED] Okay, I got it to work....thanks for responding Hammerhead....Just had to delete all the old gold rings off the shard and the rings can now have hitfireball on rings.
 
[NOT SOLVED] So players are telling me that the hit fireball and hld doesn't work on the ring. Why could this be?
 

Active Shards

Donations

Total amount
$0.00
Goal
$1,000.00
Back