View Single Post
Old 05-27-2004, 10:35 AM   #7 (permalink)
Ravenal
Forum Expert
 
Ravenal's Avatar
 
Join Date: Oct 2003
Location: Spokane Valley, WA
Age: 24
Posts: 1,533
Default

I don't see how ours is the same and how i copied yours at all =/ I coppied the Magery List, and then worked my way from there...

Yours...
Code:
private const double HealChance = 0.05; // 5% chance to heal at gm necromancy, uses spirit speak healing
		private const double TeleportChance = 0.05; // 5% chance to teleport at gm necromancy
		private const double DispelChance = 0.75; // 75% chance to dispel at gm necromancy
Code:
else if ( !m_Mobile.Summoned && (SmartAI || (ScaleByMagery( HealChance ) > Utility.RandomDouble())) )
				{
					if ( m_Mobile.Hits < (m_Mobile.HitsMax - 50) )
					{
						if ( !new GreaterHealSpell( m_Mobile, null ).Cast() )
							new HealSpell( m_Mobile, null ).Cast();
					}
					else if ( m_Mobile.Hits < (m_Mobile.HitsMax - 10) )
					{
						new HealSpell( m_Mobile, null ).Cast();
					}
				}
My Editing...
Code:
private const double HealChance = 0.10; // 10% chance to heal or spiritspeak at gm magery or gm spiritspeak
		private const double TeleportChance = 0.05; // 5% chance to teleport at gm magery
		private const double DispelChance = 0.75; // 75% chance to dispel at gm magery
Code:
else if ( !m_Mobile.Summoned && ( SmartAI || ScaleByHealing( HealChance ) > Utility.RandomDouble()))
				{
					switch( Utility.Random( 2 ) )
					{
						case 0:
							if ( m_Mobile.Hits < (m_Mobile.HitsMax - 50) )
							{
								m_Mobile.UseSkill( SkillName.SpiritSpeak );
							}
							else if ( m_Mobile.Hits < (m_Mobile.HitsMax - 10) )
							{
								m_Mobile.UseSkill( SkillName.SpiritSpeak );
							}
						break;
						case 1:
							if ( m_Mobile.Hits < (m_Mobile.HitsMax - 50) )
							{
								if ( !new GreaterHealSpell( m_Mobile, null ).Cast() )
									new HealSpell( m_Mobile, null ).Cast();
							}
							else if ( m_Mobile.Hits < (m_Mobile.HitsMax - 10) )
							{
								new HealSpell( m_Mobile, null ).Cast();
							}
						break;
					}
				}
And the HEaling format, there is Absolutly nothign in common... Lets look at the Spell Casting for single dmg...

Code:
	public virtual Spell GetRandomDamageSpell()
		{
			int maxCircle = (int)((m_Mobile.Skills[SkillName.Necromancy].Value + 50.0) / (100.0 / 7.0));
			int minCircle = (int)((m_Mobile.Skills[SkillName.Magery].Value + 50.0) / (100.0 / 7.0));

			if ( maxCircle < 2 && minCircle < 8 )
				maxCircle = 2;
				minCircle = 8;

			switch ( Utility.Random( minCircle + (maxCircle*2) ) )
			{
				case  0: return new FireballSpell( m_Mobile, null );
				case  1: return new PainSpikeSpell( m_Mobile, null );
				case  2: return new MindBlastSpell( m_Mobile, null );
				case  3: return new BloodOathSpell( m_Mobile, null );
				case  4: return new FlameStrikeSpell( m_Mobile, null );
				case  5: return new EvilOmenSpell( m_Mobile, null );
				case  6: return new CurseSpell( m_Mobile, null );
				case  7: return new MindRotSpell( m_Mobile, null );
				case  8: return new LightningSpell( m_Mobile, null );
				case  9: return new StrangleSpell( m_Mobile, null );
				case 10: return new WitherSpell( m_Mobile, null );
				case 11: return new VengefulSpiritSpell( m_Mobile, null );
				default: return new FlameStrikeSpell( m_Mobile, null );
			}
		}
That was yours heres mine

Much different...

and Uses far more Spells than yours =/ No offense thats just how i thought of it, And btw i never knew you made one until i submitted mine

Code:
public virtual Spell GetRandomDamageSpell()
		{
			int maxCircle = (int)(((m_Mobile.Skills[SkillName.Magery].Value + 20.0) / (100.0 / 7)) + (int)((m_Mobile.Skills[SkillName.Necromancy].Value + 20.0) / (100.0 / 7)));

			if ( maxCircle < 1 )
				maxCircle = 1;

			switch ( Utility.Random( maxCircle*2 ) )
			{
				case  0: case  1: return new MagicArrowSpell( m_Mobile, null );
				case  2: case  3: return new HarmSpell( m_Mobile, null );
				case  4: case  5: return new FireballSpell( m_Mobile, null );
				case  6: case  7: return new LightningSpell( m_Mobile, null );
				case  8: case  9: return new MindBlastSpell( m_Mobile, null );
				case 10: case  11: return new PainSpikeSpell( m_Mobile, null );
				case 12: case  13: return new BloodOathSpell( m_Mobile, null );
				case 14: case  15: return new EvilOmenSpell( m_Mobile, null );
				case 16: case  17: return new MindRotSpell( m_Mobile, null );
				case 18: case  19: return new StrangleSpell( m_Mobile, null );
				case 20: return new WitherSpell( m_Mobile, null );
				case 21: return new VengefulSpiritSpell( m_Mobile, null );
				case 22: return new EnergyBoltSpell( m_Mobile, null );
				case 23: return new ExplosionSpell( m_Mobile, null );
				case 24: return new PoisonStrikeSpell( m_Mobile, null );
				default: return new FlameStrikeSpell( m_Mobile, null );
			}
		}
__________________

Ravenal is offline   Reply With Quote