Heritage items, talismans

This commit is contained in:
xavier 2011-07-24 01:47:01 +00:00
parent e7db1fd9f7
commit 129cac945b
109 changed files with 11659 additions and 188 deletions

View file

@ -815,11 +815,24 @@ namespace Server.Engines.Craft
if( m_ForceNonExceptional )
return 0.0;
double bonus = 0.0;
if ( from.Talisman is BaseTalisman )
{
BaseTalisman talisman = (BaseTalisman) from.Talisman;
if ( talisman.Skill == system.MainSkill )
{
chance -= talisman.SuccessBonus / 100.0;
bonus = talisman.ExceptionalBonus / 100.0;
}
}
switch ( system.ECA )
{
default:
case CraftECA.ChanceMinusSixty: return chance - 0.6;
case CraftECA.FiftyPercentChanceMinusTenPercent: return (chance * 0.5) - 0.1;
case CraftECA.ChanceMinusSixty: chance -= 0.6; break;
case CraftECA.FiftyPercentChanceMinusTenPercent: chance = chance * 0.5 - 0.1; break;
case CraftECA.ChanceMinusSixtyToFourtyFive:
{
double offset = 0.60 - ((from.Skills[system.MainSkill].Value - 95.0) * 0.03);
@ -829,9 +842,15 @@ namespace Server.Engines.Craft
else if ( offset > 0.60 )
offset = 0.60;
return chance - offset;
chance -= offset;
break;
}
}
if ( chance > 0 )
return chance + bonus;
return chance;
}
public bool CheckSkills( Mobile from, Type typeRes, CraftSystem craftSystem, ref int quality, ref bool allRequiredSkills )
@ -886,6 +905,14 @@ namespace Server.Engines.Craft
else
chance = 0.0;
if ( allRequiredSkills && from.Talisman is BaseTalisman )
{
BaseTalisman talisman = (BaseTalisman) from.Talisman;
if ( talisman.Skill == craftSystem.MainSkill )
chance += talisman.SuccessBonus / 100.0;
}
if ( allRequiredSkills && valMainSkill == maxMainSkill )
chance = 1.0;

View file

@ -125,6 +125,15 @@ namespace Server.Engines.Craft
AddRes( index, typeof( Cloth ), 1044286, 5, 1044287 );
}
if ( Core.ML )
{
index = AddCraft( typeof( RunedSwitch ), 1044294, 1072896, 70.0, 120.0, typeof( Log ), 1044041, 2, 1044351 );
AddRes( index, typeof( EnchantedSwitch ), 1072893, 1, 1053098 );
AddRes( index, typeof( RunedPrism ), 1073465, 1, 1053098 );
AddRes( index, typeof( JeweledFiligree ), 1072894, 1, 1053098 );
SetNeededExpansion( index, Expansion.ML );
}
// Furniture
AddCraft( typeof( FootStool ), 1044291, 1022910, 11.0, 36.0, typeof( Log ), 1044041, 9, 1044351 );
AddCraft( typeof( Stool ), 1044291, 1022602, 11.0, 36.0, typeof( Log ), 1044041, 9, 1044351 );

View file

@ -128,6 +128,12 @@ namespace Server.Engines.Craft
AddCraft( typeof( EmptyVialsWRack ), 1044050, 1044616, 65.0, 115.0, typeof( Sand ), 1044625, 8, 1044627 );
AddCraft( typeof( FullVialsWRack ), 1044050, 1044617, 65.0, 115.0, typeof( Sand ), 1044625, 9, 1044627 );
AddCraft( typeof( SpinningHourglass ), 1044050, 1044618, 75.0, 125.0, typeof( Sand ), 1044625, 10, 1044627 );
if ( Core.ML )
{
index = AddCraft( typeof( HollowPrism ), 1044050, 1072895, 100.0, 150.0, typeof( Sand ), 1044625, 8, 1044627 );
SetNeededExpansion( index, Expansion.ML );
}
}
}
}

View file

@ -293,12 +293,30 @@ namespace Server.Engines.Craft
AddNecroSpell(16, 40, 79.6, typeof(ExorcismScroll), Reagent.NoxCrystal, Reagent.GraveDust);
}
int index;
int index;
if ( Core.ML )
{
index = AddCraft( typeof( EnchantedSwitch ), 1044294, 1072893, 45.0, 95.0, typeof( BlankScroll ), 1044377, 1, 1044378 );
AddRes( index, typeof( SpidersSilk ), 1044360, 1, 1044253 );
AddRes( index, typeof( BlackPearl ), 1044353, 1, 1044253 );
AddRes( index, typeof( SwitchItem ), 1073464, 1, 1044253 );
ForceNonExceptional( index );
SetNeededExpansion( index, Expansion.ML );
index = AddCraft( typeof( RunedPrism ), 1044294, 1073465, 45.0, 95.0, typeof( BlankScroll ), 1044377, 1, 1044378 );
AddRes( index, typeof( SpidersSilk ), 1044360, 1, 1044253 );
AddRes( index, typeof( BlackPearl ), 1044353, 1, 1044253 );
AddRes( index, typeof( HollowPrism ), 1072895, 1, 1044253 );
ForceNonExceptional( index );
SetNeededExpansion( index, Expansion.ML );
}
// Runebook
index = AddCraft(typeof(Runebook), 1044294, 1041267, 45.0, 95.0, typeof(BlankScroll), 1044377, 8, 1044378);
AddRes(index, typeof(RecallScroll), 1044445, 1, 1044253);
AddRes(index, typeof(GateTravelScroll), 1044446, 1, 1044253);
index = AddCraft( typeof( Runebook ), 1044294, 1041267, 45.0, 95.0, typeof( BlankScroll ), 1044377, 8, 1044378 );
AddRes( index, typeof( RecallScroll ), 1044445, 1, 1044253 );
AddRes( index, typeof( GateTravelScroll ), 1044446, 1, 1044253 );
if (Core.AOS)
{

View file

@ -201,6 +201,15 @@ namespace Server.Engines.Craft
AddCraft( typeof( BarrelHoops ), 1044047, 1024321, -15.0, 35.0, typeof( IronIngot ), 1044036, 5, 1044037 );
AddCraft( typeof( Hinge ), 1044047, 1024181, 5.0, 55.0, typeof( IronIngot ), 1044036, 2, 1044037 );
AddCraft( typeof( BolaBall ), 1044047, 1023699, 45.0, 95.0, typeof( IronIngot ), 1044036, 10, 1044037 );
if ( Core.ML )
{
index = AddCraft( typeof( JeweledFiligree ), 1044047, 1072894, 70.0, 110.0, typeof( IronIngot ), 1044036, 2, 1044037 );
AddRes( index, typeof( StarSapphire ), 1044231, 1, 1044253 );
AddRes( index, typeof( Ruby ), 1044234, 1, 1044253 );
SetNeededExpansion( index, Expansion.ML );
}
#endregion
#region Utensils

View file

@ -157,6 +157,9 @@ namespace Server.Items
if( !CraftResources.IsStandard( resource ) )
return true;
if ( i is ITokunoDyable )
return true;
return(
IsInTypeList( t, TreasuresOfTokuno.LesserArtifactsTotal )
|| IsInTypeList( t, TreasuresOfTokuno.GreaterArtifacts )