Runic sewing kits will no longer apply durability
http://www.uodemise.com/forum/showthread.php?t=133757 Vendor Look/Browse/View will now work properly http://www.uodemise.com/forum/showthread.php?t=135531 Stacked Eggbombs will now unstack correctly http://www.uodemise.com/forum/showthread.php?t=134321 Unbonded pets should logout too http://www.uodemise.com/forum/showthread.php?t=119262 Paragon chests placed on player vendors will now behave correctly http://www.uodemise.com/forum/showthread.php?t=116864 Proper party fame/karma sharing http://www.uodemise.com/forum/showthread.php?t=122749 Guild Alliance/War update bug fixed http://www.uodemise.com/forum/showthread.php?t=115236 Fukiya properties updates and loading bug fixed http://www.uodemise.com/forum/showthread.php?t=136042 Shuriken, same problems as fukiya http://www.uodemise.com/forum/showthread.php?t=120212 greater mongbats will now be recognised as quest objectives http://www.uodemise.com/forum/showthread.php?t=128072 divine fury sound tweaks. http://www.uodemise.com/forum/showthread.php?t=136489 pet stat gains fix http://www.uodemise.com/forum/showthread.php?t=134820 Pets follow speed corrected http://www.uodemise.com/forum/showthread.php?t=124774 E-fields no longer block in trammel rulesets. http://www.uodemise.com/forum/showthread.php?t=116680 Disguise kit timer fix http://www.uodemise.com/forum/showthread.php?t=133913 Meer Mage special abilities fixes. http://www.uodemise.com/forum/showthread.php?t=122134 Missing food property if eggs, in animal lore gump http://www.uodemise.com/forum/showthread.php?t=135258 Pets will follow after an attack is completed. http://www.uodemise.com/forum/showthread.php?t=135962 Hides should not be scissored whilst still on the corpse http://www.uodemise.com/forum/showthread.php?t=118799 Pet bonding changed to include jewelry skill adjustments. http://www.uodemise.com/forum/showthread.php?t=121060 Skinning knife can be used to cut corpses http://www.uodemise.com/forum/showthread.php?t=115248 PlayerVendors will correctly send update packets to the client when hair is changed http://www.uodemise.com/forum/showthread.php?t=120216 Corrections to house sign gump http://www.uodemise.com/forum/showthread.php?t=134406 pet "guarding" system message added http://www.uodemise.com/forum/showthread.php?t=134091 Giant toads should be aggressive http://www.uodemise.com/forum/showthread.php?t=133984 bardiche and halberds are axe tools. http://www.uodemise.com/forum/showthread.php?t=122739
This commit is contained in:
parent
d688c9e0f3
commit
208acafd7e
37 changed files with 1058 additions and 226 deletions
|
|
@ -1059,6 +1059,8 @@ namespace Server.Mobiles
|
|||
m_Mobile.PlaySound( m_Mobile.GetIdleSound() );
|
||||
m_Mobile.Warmode = true;
|
||||
m_Mobile.Combatant = null;
|
||||
string petname = String.Format( "{0}", m_Mobile.Name );
|
||||
m_Mobile.ControlMaster.SendLocalizedMessage ( 1049671, petname ); //~1_PETNAME~ is now guarding you.
|
||||
break;
|
||||
|
||||
case OrderType.Attack:
|
||||
|
|
@ -1285,6 +1287,7 @@ namespace Server.Mobiles
|
|||
else
|
||||
{
|
||||
m_Mobile.Warmode = false;
|
||||
m_Mobile.CurrentSpeed = 0.1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1453,6 +1456,7 @@ namespace Server.Mobiles
|
|||
m_Mobile.DebugSay( "Nothing to guard from" );
|
||||
|
||||
m_Mobile.Warmode = false;
|
||||
m_Mobile.CurrentSpeed = 0.1;
|
||||
|
||||
WalkMobileRange( controlMaster, 1, false, 0, 1 );
|
||||
}
|
||||
|
|
@ -1469,8 +1473,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
m_Mobile.DebugSay( "I think he might be dead. He's not anywhere around here at least. That's cool. I'm glad he's dead." );
|
||||
|
||||
m_Mobile.ControlTarget = null;
|
||||
m_Mobile.ControlOrder = OrderType.None;
|
||||
m_Mobile.ControlTarget = m_Mobile.ControlMaster;
|
||||
m_Mobile.ControlOrder = OrderType.Follow;
|
||||
|
||||
if( m_Mobile.FightMode == FightMode.Closest || m_Mobile.FightMode == FightMode.Aggressor )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ using Server.Items;
|
|||
using Server.Mobiles;
|
||||
using Server.ContextMenus;
|
||||
using Server.Engines.Quests;
|
||||
using Server.Engines.PartySystem;
|
||||
using Server.Factions;
|
||||
using Server.Spells.Bushido;
|
||||
using Server.Spells.Spellweaving;
|
||||
|
|
@ -1264,7 +1265,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
}
|
||||
|
||||
public virtual void OnCarve( Mobile from, Corpse corpse )
|
||||
public virtual void OnCarve( Mobile from, Corpse corpse, Item with )
|
||||
{
|
||||
int feathers = Feathers;
|
||||
int wool = Wool;
|
||||
|
|
@ -1318,16 +1319,43 @@ namespace Server.Mobiles
|
|||
|
||||
if ( hides != 0 )
|
||||
{
|
||||
if ( HideType == HideType.Regular )
|
||||
corpse.DropItem( new Hides( hides ) );
|
||||
else if ( HideType == HideType.Spined )
|
||||
corpse.DropItem( new SpinedHides( hides ) );
|
||||
else if ( HideType == HideType.Horned )
|
||||
corpse.DropItem( new HornedHides( hides ) );
|
||||
else if ( HideType == HideType.Barbed )
|
||||
corpse.DropItem( new BarbedHides( hides ) );
|
||||
Item holding = from.Weapon as Item;
|
||||
if ( Core.AOS && ( holding is SkinningKnife /* TODO: || holding is ButcherWarCleaver || with is ButcherWarCleaver */ ) )
|
||||
{
|
||||
Item leather = null;
|
||||
|
||||
from.SendLocalizedMessage( 500471 ); // You skin it, and the hides are now in the corpse.
|
||||
switch ( HideType )
|
||||
{
|
||||
case HideType.Regular: leather = new Leather( hides ); break;
|
||||
case HideType.Spined: leather = new SpinedLeather( hides ); break;
|
||||
case HideType.Horned: leather = new HornedLeather( hides ); break;
|
||||
case HideType.Barbed: leather = new BarbedLeather( hides ); break;
|
||||
}
|
||||
|
||||
if ( leather != null )
|
||||
{
|
||||
if ( !from.PlaceInBackpack( leather ) )
|
||||
{
|
||||
corpse.DropItem( leather );
|
||||
from.SendLocalizedMessage( 500471 ); // You skin it, and the hides are now in the corpse.
|
||||
}
|
||||
else
|
||||
from.SendLocalizedMessage( 1073555 ); // You skin it and place the cut-up hides in your backpack.
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( HideType == HideType.Regular )
|
||||
corpse.DropItem( new Hides( hides ) );
|
||||
else if ( HideType == HideType.Spined )
|
||||
corpse.DropItem( new SpinedHides( hides ) );
|
||||
else if ( HideType == HideType.Horned )
|
||||
corpse.DropItem( new HornedHides( hides ) );
|
||||
else if ( HideType == HideType.Barbed )
|
||||
corpse.DropItem( new BarbedHides( hides ) );
|
||||
|
||||
from.SendLocalizedMessage( 500471 ); // You skin it, and the hides are now in the corpse.
|
||||
}
|
||||
}
|
||||
|
||||
if ( scales != 0 )
|
||||
|
|
@ -1959,7 +1987,7 @@ namespace Server.Mobiles
|
|||
|
||||
if ( master != null && master == from ) //So friends can't start the bonding process
|
||||
{
|
||||
if ( m_dMinTameSkill <= 29.1 || master.Skills[SkillName.AnimalTaming].Base >= m_dMinTameSkill || OverrideBondingReqs() )
|
||||
if ( m_dMinTameSkill <= 29.1 || master.Skills[SkillName.AnimalTaming].Base >= m_dMinTameSkill || OverrideBondingReqs() || (Core.ML && master.Skills[SkillName.AnimalTaming].Value >= m_dMinTameSkill) )
|
||||
{
|
||||
if ( BondingBegin == DateTime.MinValue )
|
||||
{
|
||||
|
|
@ -4325,7 +4353,10 @@ namespace Server.Mobiles
|
|||
int totalKarma = -Karma / 100;
|
||||
|
||||
List<DamageStore> list = GetLootingRights( this.DamageEntries, this.HitsMax );
|
||||
|
||||
List<Mobile> titles = new List<Mobile>();
|
||||
List<int> fame = new List<int>();
|
||||
List<int> karma = new List<int>();
|
||||
|
||||
bool givenQuestKill = false;
|
||||
bool givenFactionKill = false;
|
||||
bool givenToTKill = false;
|
||||
|
|
@ -4337,8 +4368,41 @@ namespace Server.Mobiles
|
|||
if ( !ds.m_HasRight )
|
||||
continue;
|
||||
|
||||
Titles.AwardFame( ds.m_Mobile, totalFame, true );
|
||||
Titles.AwardKarma( ds.m_Mobile, totalKarma, true );
|
||||
Party party = Engines.PartySystem.Party.Get( ds.m_Mobile );
|
||||
|
||||
if ( party != null )
|
||||
{
|
||||
int divedFame = totalFame / party.Members.Count;
|
||||
int divedKarma = totalKarma / party.Members.Count;
|
||||
|
||||
for ( int j = 0; j < party.Members.Count; ++j )
|
||||
{
|
||||
PartyMemberInfo info = party.Members[ j ] as PartyMemberInfo;
|
||||
|
||||
if ( info != null && info.Mobile != null )
|
||||
{
|
||||
int index = titles.IndexOf( info.Mobile );
|
||||
|
||||
if ( index == -1 )
|
||||
{
|
||||
titles.Add( info.Mobile );
|
||||
fame.Add( divedFame );
|
||||
karma.Add( divedKarma );
|
||||
}
|
||||
else
|
||||
{
|
||||
fame[ index ] += divedFame;
|
||||
karma[ index ] += divedKarma;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
titles.Add( ds.m_Mobile );
|
||||
fame.Add( totalFame );
|
||||
karma.Add( totalKarma );
|
||||
}
|
||||
|
||||
OnKilledBy( ds.m_Mobile );
|
||||
|
||||
|
|
@ -4370,6 +4434,11 @@ namespace Server.Mobiles
|
|||
}
|
||||
}
|
||||
}
|
||||
for ( int i = 0; i < titles.Count; ++i )
|
||||
{
|
||||
Titles.AwardFame( titles[ i ], fame[ i ], true );
|
||||
Titles.AwardKarma( titles[ i ], karma[ i ], true );
|
||||
}
|
||||
}
|
||||
|
||||
base.OnDeath( c );
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue