/// %25 random vurmaktadır.
using System;
using Server;
using Server.Items;
using Server.Network;
namespace Server.Items
{
public class PoisonousBow : BaseRanged
{
public override WeaponAbility PrimaryAbility{ get{ return WeaponAbility.ParalyzingBlow; } }
public override WeaponAbility SecondaryAbility{ get{ return WeaponAbility.MortalStrike; } }
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 int AosStrengthReq{ get{ return 50; } }
public override int AosMinDamage{ get{ return 23; } }
public override int AosMaxDamage{ get{ return 25; } }
public override int AosSpeed{ get{ return 35; } }
public override int OldStrengthReq{ get{ return 20; } }
public override int OldMinDamage{ get{ return 9; } }
public override int OldMaxDamage{ get{ return 25; } }
public override int OldSpeed{ get{ return 20; } }
public override int DefMaxRange{ get{ return 10; } }
public override int InitMinHits{ get{ return 255; } }
public override int InitMaxHits{ get{ return 255; } }
public override WeaponAnimation DefAnimation{ get{ return WeaponAnimation.ShootBow; } }
public override int ArtifactRarity{ get{ return 12; } }
[Constructable]
public PoisonousBow() : base( 0x13B2 )
{
Hue = 0x4F8;
Attributes.SpellChanneling = 1;
WeaponAttributes.HitLeechMana = 75;
Name = "The Bow of Poisons";
Weight = 6.0;
Layer = Layer.TwoHanded;
}
public override void GetDamageTypes( Mobile wielder, out int phys, out int fire, out int cold, out int pois, out int nrgy )
{
phys = fire = cold = nrgy = 0;
pois = 100;
}
public override void OnHit( Mobile attacker, Mobile defender )
{
if ( attacker.Player && !defender.Player && (defender.Body.IsAnimal || defender.Body.IsMonster) && 0.4 >= Utility.RandomDouble() )
defender.AddToBackpack( Ammo );
base.OnHit( attacker, defender );
if ( 0.25 > Utility.RandomDouble() )
{
defender.PlaySound( 0xDD );
defender.FixedParticles( 0x3728, 244, 25, 9941, 1266, 0, EffectLayer.Waist );
switch ( Utility.Random( 5 ))
{
case 0: defender.ApplyPoison( defender, Poison.Lethal ); break;
case 1: defender.ApplyPoison( defender, Poison.Deadly ); break;
case 2: defender.ApplyPoison( defender, Poison.Greater ); break;
case 3: defender.ApplyPoison( defender, Poison.Regular ); break;
case 4: defender.ApplyPoison( defender, Poison.Lesser ); break;
default: break;
}
}
}
public PoisonousBow( 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();
if ( Weight == 7.0 )
Weight = 6.0;
}
}
}
Total votes: 0
Bulunamadı.
Ultima Online 2 hafta önce
Sphere Scripting 3 hafta önce
Sunucular 3 hafta önce
Sunucular 2 ay önce
Sphere Scripting 2 ay önce
CS 1.6 3 ay önce
Sunucular 4 ay önce
Sunucular 4 ay önce
Sunucular 4 ay önce
Sunucular 4 ay önce
Sunucular 4 ay önce
Ultima Online 4 ay önce
2024-07-08 22:50
2024-07-08 22:34
2024-06-19 22:05
2024-06-01 02:19
2024-05-31 21:17
2024-04-09 16:53
2024-04-06 18:20
2024-04-06 17:43
Yorumlar (0)