|
||
|
|||||||
| Server Support on Windows Get (and give) support on general questions related to the RunUO server itself. |
![]() |
|
|
Thread Tools | Display Modes |
|
|
#2 (permalink) |
|
Forum Novice
Join Date: Nov 2003
Location: USA, a small hick city in Missouri
Posts: 174
|
I don't know, I tried to make one based on the ratman archer.. (should post in script help) but it seems that the only thing that will shoot arrows have the ratman archer body (seems to me that way.. but i'm a newbie when it comes to scripts).. if someone could please help him and clear up my question about why it seems only ratman archer body shoots the bow, i'd appreciate it
![]() |
|
|
|
|
|
#3 (permalink) |
|
Newbie
Join Date: Apr 2004
Age: 34
Posts: 77
|
I have a Lizardman archer along with Ratmen archers, one thing to look for is they have arrows in there pack and have a bow.. They also need archery skill then they should be able to shoot a bow. Im at work at the moment or id post a scipt or two. Take a look at the Juka Lord and that might give you an idea..
|
|
|
|
|
|
#4 (permalink) |
|
Any luck with you're Orc Scout King ?
I am interested in an orc scout and not sure if i should start making one, or you are in the process of yours ? I am wondering how hard to mimick the teleporting ? damn slippery suckers. here is a basic orcscrout script Code:
using System;
using System.Collections;
using Server.Misc;
using Server.Items;
using Server.Targeting;
namespace Server.Mobiles
{
[CorpseName( "an orcish corpse" )]
public class OrcScout : BaseCreature
{
public override InhumanSpeech SpeechType{ get{ return InhumanSpeech.Orc; } }
[Constructable]
public OrcScout() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = NameList.RandomName( "orc" );
Body = 17;
BaseSoundID = 0x45A;
Hue = 0x851;
SetStr( 147, 215 );
SetDex( 91, 115 );
SetInt( 61, 85 );
SetHits( 95, 123 );
SetDamage( 4, 14 );
SetDamageType( ResistanceType.Physical, 100 );
SetResistance( ResistanceType.Physical, 25, 35 );
SetResistance( ResistanceType.Fire, 30, 40 );
SetResistance( ResistanceType.Cold, 20, 30 );
SetResistance( ResistanceType.Poison, 30, 40 );
SetResistance( ResistanceType.Energy, 30, 40 );
SetSkill( SkillName.MagicResist, 70.1, 85.0 );
SetSkill( SkillName.Swords, 60.1, 85.0 );
SetSkill( SkillName.Tactics, 75.1, 90.0 );
SetSkill( SkillName.Wrestling, 60.1, 85.0 );
SetSkill( SkillName.Anatomy, 60.2, 100.0 );
SetSkill( SkillName.Archery, 80.1, 90.0 );
Fame = 2500;
Karma = -2500;
switch ( Utility.Random( 5 ) )
{
case 0: PackItem( new Lockpick() ); break;
case 1: PackItem( new MortarPestle() ); break;
case 2: PackItem( new Bottle() ); break;
case 3: PackItem( new RawRibs() ); break;
case 4: PackItem( new Shovel() ); break;
}
AddItem( new OrcBow() );
PackItem( new Arrow( Utility.RandomMinMax( 50, 70 ) ) );
PackItem( new RingmailChest() );
if ( 0.3 > Utility.RandomDouble() )
PackItem( Loot.RandomPossibleReagent() );
if ( 0.2 > Utility.RandomDouble() )
PackItem( new BolaBall() );
}
public override void GenerateLoot()
{
AddLoot( LootPack.Meager );
AddLoot( LootPack.Average );
// TODO: evil orc helm
}
public override bool CanRummageCorpses{ get{ return true; } }
public override int TreasureMapLevel{ get{ return 1; } }
public override int Meat{ get{ return 1; } }
public override OppositionGroup OppositionGroup
{
get{ return OppositionGroup.SavagesAndOrcs; }
}
public override bool IsEnemy( Mobile m )
{
if ( m.Player && m.FindItemOnLayer( Layer.Helm ) is OrcishKinMask )
return false;
return base.IsEnemy( m );
}
public override void AggressiveAction( Mobile aggressor, bool criminal )
{
base.AggressiveAction( aggressor, criminal );
Item item = aggressor.FindItemOnLayer( Layer.Helm );
if ( item is OrcishKinMask )
{
AOS.Damage( aggressor, 50, 0, 100, 0, 0, 0 );
item.Delete();
aggressor.FixedParticles( 0x36BD, 20, 10, 5044, EffectLayer.Head );
aggressor.PlaySound( 0x307 );
}
}
public OrcScout( 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();
}
}
}
![]() here is my orcbow Code:
using System;
using Server.Network;
using Server.Items;
namespace Server.Items
{
[FlipableAttribute( 0x13B2, 0x13B1 )]
public class OrcBow : BaseRanged
{
public override int EffectID{ get{ return 0xF42; } }
public override Type AmmoType{ get{ return typeof( Arrow ); } }
public override Item Ammo{ get{ return new Arrow(); } }
public override WeaponAbility PrimaryAbility{ get{ return WeaponAbility.ParalyzingBlow; } }
public override WeaponAbility SecondaryAbility{ get{ return WeaponAbility.MortalStrike; } }
public override int AosMinDamage{ get{ return 25; } }
public override int AosMaxDamage{ get{ return 35; } }
public override int AosSpeed{ get{ return 35; } }
public override int OldMinDamage{ get{ return 9; } }
public override int OldMaxDamage{ get{ return 41; } }
public override int OldSpeed{ get{ return 20; } }
public override int DefMaxRange{ get{ return 13; } }
public override int InitMinHits{ get{ return 31; } }
public override int InitMaxHits{ get{ return 60; } }
public override WeaponAnimation DefAnimation{ get{ return WeaponAnimation.ShootBow; } }
[Constructable]
public OrcBow() : base( 0x13B2 )
{
Weight = 6.0;
Layer = Layer.TwoHanded;
Name = "orc bow";
StrRequirement = 60;
Hue = 2106;
}
public OrcBow( Serial serial ) : base( serial )
{
}
public override bool OnFired( Mobile attacker, Mobile defender )
{
Container pack = attacker.Backpack;
if ( attacker.Player && (pack == null || !pack.ConsumeTotal( AmmoType, 2 )) )
return false;
attacker.MovingEffect( defender, EffectID, 18, 1, false, false );
return true;
}
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();
if ( Weight == 7.0 )
Weight = 6.0;
}
}
}
L. |
|
|
|
|
![]() |
| Bookmarks |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|