Missing System Message "Your pet looks happier" (regardless of loyalty)

http://www.runuo.com/community/threads/ready-missing-system-message-your-pet-looks-happier.450209/

Not all powerscrolls do drop - Ninjitsu, Bushido etc.
http://www.runuo.com/community/threads/ready-not-all-powerscrolls-do-drop.459974/

Savage Kin Paint Wrong Skill Requirement + Wrong Success Chance
http://www.runuo.com/community/threads/ready-savage-kin-paint-wrong-skill-requirement-wrong-success-chance.455360/

Hag Quest - Stew, can't eat it
http://www.runuo.com/community/threads/ready-hag-quest-stew.454406/

Giant Blue Beetles shouldn't need beating into submission after being tamed once
http://www.runuo.com/community/threads/ready-giant-blue-beetles.450205/

Greater Dragon Fame/Karma Doesn't Match OSI
http://www.runuo.com/community/threads/ready-greater-dragon-fame-karma-doesnt-match-osi.472206/

Resizing Houses, you can resize a house by using a command under the house sign
http://www.runuo.com/community/threads/ready-resizing-houses.414762/

Crafted Shield Resists are wrong on RunUO
http://www.runuo.com/community/threads/ready-crafted-shield-resists.454186/

Yomotsu Mines, you should not be able to recall out of there.
http://www.runuo.com/community/threads/ready-yomotsu-mines.445486/

Missing Necro Icons in the Buff/Debuff Bar
http://www.runuo.com/community/threads/ready-missing-necro-icons-in-the-buff-debuff-bar.450872/

Chivalry Spells, you are allowed to attempt casting of spells outside of your skill range without a system message
http://www.runuo.com/community/threads/ready-chivalry-spells.450757/

Tinker tools use a different graphic on OSI
http://www.runuo.com/community/threads/ready-tinker-tools.460690/

Tinkering should not be required when crafted a Tetsubo
http://www.runuo.com/community/threads/ready-wrong-skill-requirement-carpentry-wrong-success-chances.455342/

Carpentry-Small+Large Beds -Wrong Success Chance
http://www.runuo.com/community/threads/ready-carpentry-small-large-beds-wrong-success-chance.455794/

Telekinesis, various changes to behaviour with items
http://www.runuo.com/community/threads/ready-telekinesis.455250/

Forensic Evaluation Various issues
http://www.runuo.com/community/threads/ready-forensic-evaluation-various-issues-merged.458700/

Animate Dead Corpses, you cannot carve the corpse after it's used
http://www.runuo.com/community/threads/ready-animate-dead-corpses.453823/

You should be able to use begging skill while riding
http://www.runuo.com/community/threads/ready-begging-while-riding.466174/

Crafting Mod Lower Requirements should only appear on shields
http://www.runuo.com/community/threads/ready-crafting-mod-lower-requirements.452112/

You should be revealed While Taking Poison/Strangle Damage
http://www.runuo.com/community/threads/ready-you-never-reveal-while-taking-poison-strangle-damage.456946/

Insurance messages don't do the math!
http://www.runuo.com/community/threads/ready-insurance-messages-dont-do-the-math.454928/

Slayers should work on area of effect spells
http://www.runuo.com/community/threads/ready-slayers-should-work-on-area-of-effect-spells.448774/

You should not be able to use any travel spell in Heartwood
http://www.runuo.com/community/threads/ready-heartwood.457379/

Welcome Back To The House Friend message does not show post-AoS
http://www.runuo.com/community/threads/ready-welcome-back-to-the-house-friend.415924/

Giant Beetle speed should be very fast when magery spells are cast on it
http://www.runuo.com/community/threads/ready-giant-beetle.417848/
This commit is contained in:
xavier 2011-06-25 18:39:14 +00:00
parent 07e45156e5
commit 5c7774b99a
54 changed files with 682 additions and 130 deletions

View file

@ -1956,16 +1956,19 @@ namespace Server.Mobiles
delay -= 0.075;
}
double offset = (double)m_Mobile.Hits / m_Mobile.HitsMax;
if ( m_Mobile.ReduceSpeedWithDamage || m_Mobile.IsSubdued )
{
double offset = (double) m_Mobile.Hits / m_Mobile.HitsMax;
if( offset < 0.0 )
offset = 0.0;
else if( offset > 1.0 )
offset = 1.0;
if ( offset < 0.0 )
offset = 0.0;
else if ( offset > 1.0 )
offset = 1.0;
offset = 1.0 - offset;
offset = 1.0 - offset;
delay += (offset * 0.8);
delay += ( offset * 0.8 );
}
if( delay < 0.0 )
delay = 0.0;

View file

@ -125,13 +125,13 @@ namespace Server
{
typeof( Barracoon ), typeof( Mephitis ), typeof( Neira ),
typeof( Rikktor ), typeof( Semidar ), typeof( EnergyVortex ),
typeof( Beetle ), typeof( Pixie ), typeof( SilverSerpent ),
typeof( EliteNinja ), typeof( Pixie ), typeof( SilverSerpent ),
typeof( VorpalBunny ), typeof( FleshRenderer ), typeof( KhaldunRevenant ),
typeof( FactionDragoon ), typeof( FactionKnight ), typeof( FactionPaladin ),
typeof( FactionHenchman ), typeof( FactionMercenary ), typeof( FactionNecromancer ),
typeof( FactionSorceress ), typeof( FactionWizard ), typeof( FactionBerserker ),
typeof( FactionPaladin ), typeof( Leviathan ), typeof( FireBeetle ),
typeof( FanDancer ), typeof( EliteNinja )
typeof( FanDancer )
} ),
/* Medium */
new SpeedInfo( 0.25, 0.5, new Type[]
@ -206,7 +206,7 @@ namespace Server
typeof( Kappa ), typeof( KazeKemono ), typeof( DeathwatchBeetle ),
typeof( TsukiWolf ), typeof( YomotsuElder ), typeof( YomotsuPriest ),
typeof( YomotsuWarrior ), typeof( RevenantLion ), typeof( Oni ),
typeof( Gaman ), typeof( Crane )
typeof( Gaman ), typeof( Crane ), typeof( Beetle )
} )
};
}

View file

@ -11,15 +11,18 @@ namespace Server.Mobiles
[CorpseName( "a giant beetle corpse" )]
public class Beetle : BaseMount
{
public virtual double BoostedSpeed{ get{ return 0.1; } }
[Constructable]
public Beetle() : this( "a giant beetle" )
{
}
public override bool SubdueBeforeTame{ get{ return true; } } // Must be beaten into submission
public override bool ReduceSpeedWithDamage{ get{ return false; } }
[Constructable]
public Beetle( string name ) : base( name, 0x317, 0x3EBC, AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
public Beetle( string name ) : base( name, 0x317, 0x3EBC, AIType.AI_Melee, FightMode.Closest, 10, 1, 0.25, 0.5 )
{
SetStr( 300 );
SetDex( 100 );
@ -86,12 +89,22 @@ namespace Server.Mobiles
public override FoodType FavoriteFood{ get{ return FoodType.Meat; } }
// TODO: Speed boost when hit by magic.
public Beetle( Serial serial ) : base( serial )
{
}
public override void OnHarmfulSpell( Mobile from )
{
if ( !Controlled && ControlMaster == null )
CurrentSpeed = BoostedSpeed;
}
public override void OnCombatantChange()
{
if ( Combatant == null && !Controlled && ControlMaster == null )
CurrentSpeed = PassiveSpeed;
}
#region Pack Animal Methods
public override bool OnBeforeDeath()
{

View file

@ -466,6 +466,8 @@ namespace Server.Mobiles
public virtual bool AllowFemaleTamer{ get{ return true; } }
public virtual bool SubdueBeforeTame{ get{ return false; } }
public virtual bool StatLossAfterTame{ get{ return SubdueBeforeTame; } }
public virtual bool ReduceSpeedWithDamage{ get{ return true; } }
public virtual bool IsSubdued{ get{ return SubdueBeforeTame && ( Hits < ( HitsMax / 10 ) ); } }
public virtual bool Commandable{ get{ return true; } }
@ -1301,6 +1303,10 @@ namespace Server.Mobiles
{
}
public virtual void OnHarmfulSpell( Mobile from )
{
}
#region Alter[...]Damage From/To
public virtual void AlterDamageScalarFrom( Mobile caster, ref double scalar )
@ -1341,8 +1347,11 @@ namespace Server.Mobiles
int hides = Hides;
int scales = Scales;
if ( (feathers == 0 && wool == 0 && meat == 0 && hides == 0 && scales == 0) || Summoned || IsBonded )
if ( (feathers == 0 && wool == 0 && meat == 0 && hides == 0 && scales == 0) || Summoned || IsBonded || corpse.Animated )
{
if ( corpse.Animated )
corpse.SendLocalizedMessageTo( from, 500464 ); // Use this on corpses to carve away meat and hide
else
from.SendLocalizedMessage( 500485 ); // You see nothing useful to carve from the corpse.
}
else
@ -2067,7 +2076,7 @@ namespace Server.Mobiles
}
}
if ( happier )
/* if ( happier )*/ // looks like in OSI pets say they are happier even if they are at maximum loyalty
SayTo( from, 502060 ); // Your pet looks happier.
if ( Body.IsAnimal )

View file

@ -42,8 +42,8 @@ namespace Server.Mobiles
SetSkill( SkillName.Tactics, 110.0, 140.0 );
SetSkill( SkillName.Wrestling, 115.0, 145.0 );
Fame = 55000;
Karma = -55000;
Fame = 22000;
Karma = -15000;
VirtualArmor = 60;

View file

@ -10,6 +10,8 @@ namespace Server.Mobiles
{
public override bool SubdueBeforeTame{ get{ return true; } } // Must be beaten into submission
public override bool StatLossAfterTame{ get{ return true; } }
public virtual double BoostedSpeed{ get{ return 0.1; } }
public override bool ReduceSpeedWithDamage{ get{ return false; } }
[Constructable]
public FireBeetle() : base( "a fire beetle", 0xA9, 0x3E95, AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
@ -48,6 +50,18 @@ namespace Server.Mobiles
Hue = 0x489;
}
public override void OnHarmfulSpell( Mobile from )
{
if ( !Controlled && ControlMaster == null )
CurrentSpeed = BoostedSpeed;
}
public override void OnCombatantChange()
{
if ( Combatant == null && !Controlled && ControlMaster == null )
CurrentSpeed = PassiveSpeed;
}
public override bool OverrideBondingReqs()
{
return true;

View file

@ -2291,9 +2291,6 @@ namespace Server.Mobiles
}
}
if ( m_InsuranceCost > 0 )
SendLocalizedMessage( 1060398, m_InsuranceCost.ToString() ); // ~1_AMOUNT~ gold has been withdrawn from your bank box.
if ( m_InsuranceAward is PlayerMobile )
{
PlayerMobile pm = (PlayerMobile)m_InsuranceAward;

View file

@ -39,7 +39,7 @@ namespace Server.Mobiles
Add( new GenericBuyInfo( typeof( KeyRing ), 8, 20, 0x1010, 0 ) );
Add( new GenericBuyInfo( typeof( Lockpick ), 12, 20, 0x14FC, 0 ) );
Add( new GenericBuyInfo( typeof( TinkerTools ), 7, 20, 0x1EB8, 0 ) );
Add( new GenericBuyInfo( typeof( TinkersTools ), 7, 20, 0x1EBC, 0 ) );
Add( new GenericBuyInfo( typeof( Board ), 3, 20, 0x1BD7, 0 ) );
Add( new GenericBuyInfo( typeof( IronIngot ), 5, 16, 0x1BF2, 0 ) );
Add( new GenericBuyInfo( typeof( SewingKit ), 3, 20, 0xF9D, 0 ) );