So i copy pasted my way thru some scripts, And after a few days its working
relatively fine. The mob drops ethereal mounts from the vet rewards system,
but only a few show the ethereal hue on mounting, most do not. And im stumped
because its the same script, calling from the same other script with the same
code structure, im guessing you call it method.

So please can anyone tell me why its not working the same for all mounts to show
ethereal hue when mounted? or give me a hint or something? Some usings may
not be needed, it was my last attempt at trying to fix it.

Also sorry for the desperate tone, i guess thats what happens when you spend
3 days on a script and it wont let me finish it, lol.

Thanks for reading

//Created by Hotshot aka Mule II

using System;
using Server;
using Server.Items;
//using Server.Engines.VeteranRewards;
//using Server.Multis;
//using Server.Spells;

namespace Server.Mobiles
{
[CorpseName( "Corpse Of The Keeper" )]
public class KeeperOfTheEthereal : BaseCreature
{
public override bool ShowFameTitle{ get{ return false; } }

[Constructable]
public KeeperOfTheEthereal() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "Adramelech";
Title = "The Keeper Of The Ethereal";

Body = 400;
Hue = 2386;
BaseSoundID = 1072;

SetStr( 100);
SetDex( 100);
SetInt( 100);
SetHits( 1600 );
SetDamage( 5, 12 );
SetDamageType( ResistanceType.Physical, 20 );
SetDamageType( ResistanceType.Cold, 20 );
SetDamageType( ResistanceType.Fire, 20 );
SetDamageType( ResistanceType.Energy, 20 );
SetDamageType( ResistanceType.Poison, 20 );

SetResistance( ResistanceType.Physical, 20 );
SetResistance( ResistanceType.Cold, 20 );
SetResistance( ResistanceType.Fire, 20 );
SetResistance( ResistanceType.Energy, 20 );
SetResistance( ResistanceType.Poison, 20 );

SetSkill( SkillName.EvalInt, 100.0 );
SetSkill( SkillName.Magery, 100.0 );
SetSkill( SkillName.Meditation, 100.0 );
SetSkill( SkillName.Poisoning, 100.0 );
SetSkill( SkillName.MagicResist, 100.0 );
SetSkill( SkillName.Tactics, 100.0 );
SetSkill( SkillName.Wrestling, 100.0 );
SetSkill( SkillName.Swords, 100.0 );
SetSkill( SkillName.Anatomy, 100.0 );
SetSkill( SkillName.Parry, 100.0 );

Fame = 25000;
Karma = -25000;

VirtualArmor = 40;


AddItem( new MaleKimono( 2387 ) );

PackGold( 1000, 3000 );

Item hair = new Item( Utility.RandomList( 8265 ) );
hair.Hue = 1153;
hair.Layer = Layer.Hair;
hair.Movable = false;
AddItem( hair );

}

public override bool HasBreath{ get{ return true ; } }
public override int BreathFireDamage{ get{ return 11; } }
public override int BreathColdDamage{ get{ return 11; } }

// public override bool IsScaryToPets{ get{ return true; } }
public override bool AutoDispel{ get{ return true; } }
public override bool BardImmune{ get{ return true; } }
public override bool Unprovokable{ get{ return true; } }
public override Poison HitPoison{ get{ return Poison. Lethal ; } }
public override bool AlwaysMurderer{ get{ return true; } }
//public override bool IsScaredOfScaryThings{ get{ return false; } }


public override void GenerateLoot()
{
AddLoot( LootPack.Rich, 1 );
}
public override void OnDeath( Container c )
{
base.OnDeath( c );
switch ( Utility.Random( 19 ) )
{
case 0: c.AddItem( new EtherealShroud() ); break;
case 1: c.AddItem( new EtherealHorse() ); break;
case 2: c.AddItem( new EtherealLlama() ); break;
case 3: c.AddItem( new EtherealOstard() ); break;
case 4: c.AddItem( new EtherealUnicorn() ); break;
case 5: c.AddItem( new EtherealKirin() ); break;
case 6: c.AddItem( new EtherealBeetle() ); break;
case 7: c.AddItem( new EtherealSwampDragon() ); break;
case 8: c.AddItem( new RideablePolarBear() ); break;
case 9: c.AddItem( new EtherealCuSidhe() ); break;
case 10: c.AddItem( new EtherealLlama() ); break;
case 11: c.AddItem( new EtherealHiryu() ); break;
case 12: c.AddItem( new ChargerOfTheFallen() ); break;
case 13: c.AddItem( new EtherealReptalon() ); break;
case 14: c.AddItem( new EtherealBoura() ); break;
case 15: c.AddItem( new EtherealAncientHellHound() ); break;
case 16: c.AddItem( new EtherealTiger() ); break;
case 17: c.AddItem( new EtherealLasher() ); break;
case 18: c.AddItem( new EtherealTarantula() ); break;
}
}
public KeeperOfTheEthereal( 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();

}
}
}
 

Attachments

  • KeeperOfTheEthereal.cs
    4.3 KB · Views: 5
It is part of the EtherealMount code, each class that inherits it may have different hues set for the transparency.
 
ok, but several of them dont show any ethereal hue at all.
Only thing i can think of from what you are saying is either
to edit the hues or that my hue.mul is not showing the
correct hues?

right now im downloading and updating client to the latest patch,
to see if it fixes it. But i was, am working with client version
7_0_15_1. I really wanted to try and keep that version.

And i only see one ethereal hue being called in ethereals .cs?
in line 20
public static readonly int DefaultEtherealHue = 0x4001;

nothing about hues in rewardsystem.cs. Anyway ill just compare
with latest client patch, if it doesnt work out i guess i just
bit off too much.

thanks for the reply and the nudge to where to look.
 
Last edited:
Back