ML quest system; first SVN release.

Secondary changes:
- Region fixes, mainly for New Haven.
- Recipe system changes.
- Enabled ML craftables.
- Dyeing/cutting restrictions for quest items.
- Moved IsInvulnerable from BaseVendor to BaseCreature.
- Moved RandomBrightHue to Utility.
- Items no longer decay when attached to a spawner.
- Quest item hue is now faked through packets, instead of overriding Hue.
- Re-enabled item drag effects for SA clients.
- Fixed AssignRandomFacialHair bug in Utility.
- Added random hue comments to Utility.
This commit is contained in:
eos 2013-02-03 01:05:17 +00:00
parent 5c7af18dfb
commit 35fbffdb51
167 changed files with 23218 additions and 234 deletions

View file

@ -97,6 +97,7 @@ namespace Server.Engines.Craft
AddCraft( typeof( ShortMusicStand ), 1044294, 1044313, 78.9, 103.9, typeof( Log ), 1044041, 15, 1044351 );
AddCraft( typeof( TallMusicStand ), 1044294, 1044315, 81.5, 106.5, typeof( Log ), 1044041, 20, 1044351 );
AddCraft( typeof( Easle ), 1044294, 1044317, 86.8, 111.8, typeof( Log ), 1044041, 20, 1044351 );
if( Core.SE )
{
index = AddCraft( typeof( RedHangingLantern ), 1044294, 1029412, 65.0, 90.0, typeof( Log ), 1044041, 5, 1044351 );
@ -132,6 +133,33 @@ namespace Server.Engines.Craft
AddRes( index, typeof( RunedPrism ), 1073465, 1, 1053098 );
AddRes( index, typeof( JeweledFiligree ), 1072894, 1, 1053098 );
SetNeededExpansion( index, Expansion.ML );
index = AddCraft( typeof( WarriorStatueSouthDeed ), 1044294, 1072887, 0.0, 35.0, typeof( Log ), 1044041, 250, 1044351 );
AddRecipe( index, 300 );
ForceNonExceptional( index );
SetNeededExpansion( index, Expansion.ML );
index = AddCraft( typeof( WarriorStatueEastDeed ), 1044294, 1072888, 0.0, 35.0, typeof( Log ), 1044041, 250, 1044351 );
AddRecipe( index, 301 );
ForceNonExceptional( index );
SetNeededExpansion( index, Expansion.ML );
index = AddCraft( typeof( SquirrelStatueSouthDeed ), 1044294, 1072884, 0.0, 35.0, typeof( Log ), 1044041, 250, 1044351 );
AddRecipe( index, 302 );
ForceNonExceptional( index );
SetNeededExpansion( index, Expansion.ML );
index = AddCraft( typeof( SquirrelStatueEastDeed ), 1044294, 1073398, 0.0, 35.0, typeof( Log ), 1044041, 250, 1044351 );
AddRecipe( index, 303 );
ForceNonExceptional( index );
SetNeededExpansion( index, Expansion.ML );
index = AddCraft( typeof( AcidProofRope ), 1044294, 1074886, 80, 130.0, typeof( GreaterStrengthPotion ), 1073466, 2, 1044253 );
AddRes( index, typeof( ProtectionScroll ), 1044395, 1, 1053098 );
AddRes( index, typeof( SwitchItem ), 1032127, 1, 1053098 );
AddRecipe( index, 304 );
ForceNonExceptional( index );
SetNeededExpansion( index, Expansion.ML );
}
// Furniture
@ -158,6 +186,13 @@ namespace Server.Engines.Craft
SetNeededExpansion( index, Expansion.SE );
}
if ( Core.ML )
{
index = AddCraft( typeof( OrnateElvenChair ), 1044291, 1072870, 80.0, 105.0, typeof( Log ), 1044041, 30, 1044351 );
AddRecipe( index, 305 );
SetNeededExpansion( index, Expansion.ML );
}
// Containers
AddCraft( typeof( WoodenBox ), 1044292, 1023709, 21.0, 46.0, typeof( Log ), 1044041, 10, 1044351 );
AddCraft( typeof( SmallCrate ), 1044292, 1044309, 10.0, 35.0, typeof( Log ), 1044041, 8 , 1044351 );
@ -208,31 +243,124 @@ namespace Server.Engines.Craft
AddRes( index, typeof( BarrelHoops ), 1044289, 1, 1044253 );
AddRes( index, typeof( BarrelLid ), 1044251, 1, 1044253 );
if ( Core.ML )
{
index = AddCraft( typeof( ArcaneBookshelfSouthDeed ), 1044292, 1072871, 94.7, 119.7, typeof( Log ), 1044041, 80, 1044351 );
AddRecipe( index, 306 );
ForceNonExceptional( index );
SetNeededExpansion( index, Expansion.ML );
index = AddCraft( typeof( ArcaneBookshelfEastDeed ), 1044292, 1073371, 94.7, 119.7, typeof( Log ), 1044041, 80, 1044351 );
AddRecipe( index, 307 );
ForceNonExceptional( index );
SetNeededExpansion( index, Expansion.ML );
/* TODO
index = AddCraft( typeof( OrnateElvenChestSouthDeed ), 1044292, 1072862, 94.7, 119.7, typeof( Log ), 1044041, 40, 1044351 );
AddRecipe( index, 308 );
ForceNonExceptional( index );
SetNeededExpansion( index, Expansion.ML );
index = AddCraft( typeof( OrnateElvenChestEastDeed ), 1044292, 1073383, 94.7, 119.7, typeof( Log ), 1044041, 40, 1044351 );
AddRecipe( index, 309 );
ForceNonExceptional( index );
SetNeededExpansion( index, Expansion.ML );
*/
index = AddCraft( typeof( ElvenDresserSouthDeed ), 1044292, 1072864, 75.0, 100.0, typeof( Log ), 1044041, 45, 1044351 );
AddRecipe( index, 310 );
ForceNonExceptional( index );
SetNeededExpansion( index, Expansion.ML );
index = AddCraft( typeof( ElvenDresserEastDeed ), 1044292, 1073388, 75.0, 100.0, typeof( Log ), 1044041, 45, 1044351 );
AddRecipe( index, 311 );
ForceNonExceptional( index );
SetNeededExpansion( index, Expansion.ML );
/* TODO
index = AddCraft( typeof( FancyElvenArmoire ), 1044292, 1072866, 80.0, 105.0, typeof( Log ), 1044041, 60, 1044351 );
AddRecipe( index, 312 );
ForceNonExceptional( index );
SetNeededExpansion( index, Expansion.ML );
*/
}
// Staves and Shields
AddCraft( typeof( ShepherdsCrook ), 1044295, 1023713, 78.9, 103.9, typeof( Log ), 1044041, 7, 1044351 );
AddCraft( typeof( QuarterStaff ), 1044295, 1023721, 73.6, 98.6, typeof( Log ), 1044041, 6, 1044351 );
AddCraft( typeof( GnarledStaff ), 1044295, 1025112, 78.9, 103.9, typeof( Log ), 1044041, 7, 1044351 );
AddCraft( typeof( WoodenShield ), 1044295, 1027034, 52.6, 77.6, typeof( Log ), 1044041, 9, 1044351 );
AddCraft( typeof( ShepherdsCrook ), Core.ML ? 1044566 : 1044295, 1023713, 78.9, 103.9, typeof( Log ), 1044041, 7, 1044351 );
AddCraft( typeof( QuarterStaff ), Core.ML ? 1044566 : 1044295, 1023721, 73.6, 98.6, typeof( Log ), 1044041, 6, 1044351 );
AddCraft( typeof( GnarledStaff ), Core.ML ? 1044566 : 1044295, 1025112, 78.9, 103.9, typeof( Log ), 1044041, 7, 1044351 );
AddCraft( typeof( WoodenShield ), Core.ML ? 1062760 : 1044295, 1027034, 52.6, 77.6, typeof( Log ), 1044041, 9, 1044351 );
if( !Core.AOS ) //Duplicate Entries to preserve ordering depending on era
{
index = AddCraft( typeof( FishingPole ), 1044295, 1023519, 68.4, 93.4, typeof( Log ), 1044041, 5, 1044351 ); //This is in the categor of Other during AoS
index = AddCraft( typeof( FishingPole ), Core.ML ? 1044294 : 1044295, 1023519, 68.4, 93.4, typeof( Log ), 1044041, 5, 1044351 ); //This is in the categor of Other during AoS
AddSkill( index, SkillName.Tailoring, 40.0, 45.0 );
AddRes( index, typeof( Cloth ), 1044286, 5, 1044287 );
}
if( Core.SE )
{
index = AddCraft( typeof( Bokuto ), 1044295, 1030227, 70.0, 95.0, typeof( Log ), 1044041, 6, 1044351 );
index = AddCraft( typeof( Bokuto ), Core.ML ? 1044566 : 1044295, 1030227, 70.0, 95.0, typeof( Log ), 1044041, 6, 1044351 );
SetNeededExpansion( index, Expansion.SE );
index = AddCraft( typeof( Fukiya ), 1044295, 1030229, 60.0, 85.0, typeof( Log ), 1044041, 6, 1044351 );
index = AddCraft( typeof( Fukiya ), Core.ML ? 1044566 : 1044295, 1030229, 60.0, 85.0, typeof( Log ), 1044041, 6, 1044351 );
SetNeededExpansion( index, Expansion.SE );
index = AddCraft( typeof( Tetsubo ), 1044295, 1030225, 80.0, 140.3, typeof( Log ), 1044041, 10, 1044351 );
index = AddCraft( typeof( Tetsubo ), Core.ML ? 1044566 : 1044295, 1030225, 80.0, 140.3, typeof( Log ), 1044041, 10, 1044351 );
SetNeededExpansion( index, Expansion.SE );
}
if ( Core.ML )
{
index = AddCraft( typeof( PhantomStaff ), 1044566, 1072919, 90.0, 130.0, typeof( Log ), 1044041, 16, 1044351 );
AddRes( index, typeof( DiseasedBark ), 1032683, 1, 1053098 );
AddRes( index, typeof( Putrefication ), 1032678, 10, 1053098 );
AddRes( index, typeof( Taint ), 1032679, 10, 1053098 );
AddRareRecipe( index, 313 );
ForceNonExceptional( index );
SetNeededExpansion( index, Expansion.ML );
index = AddCraft( typeof( ArcanistsWildStaff ), 1044566, 1073549, 63.8, 113.8, typeof( Log ), 1044041, 16, 1044351 );
AddRes( index, typeof( WhitePearl ), 1026253, 1, 1053098 );
AddRecipe( index, 314 );
SetNeededExpansion( index, Expansion.ML );
index = AddCraft( typeof( AncientWildStaff ), 1044566, 1073550, 63.8, 113.8, typeof( Log ), 1044041, 16, 1044351 );
AddRes( index, typeof( PerfectEmerald ), 1026251, 1, 1053098 );
AddRecipe( index, 315 );
SetNeededExpansion( index, Expansion.ML );
index = AddCraft( typeof( ThornedWildStaff ), 1044566, 1073551, 63.8, 113.8, typeof( Log ), 1044041, 16, 1044351 );
AddRes( index, typeof( FireRuby ), 1026254, 1, 1053098 );
AddRecipe( index, 316 );
SetNeededExpansion( index, Expansion.ML );
index = AddCraft( typeof( HardenedWildStaff ), 1044566, 1073552, 63.8, 113.8, typeof( Log ), 1044041, 16, 1044351 );
AddRes( index, typeof( Turquoise ), 1026250, 1, 1053098 );
AddRecipe( index, 317 );
SetNeededExpansion( index, Expansion.ML );
}
// Armor
if ( Core.ML )
{
index = AddCraft( typeof( IronwoodCrown ), 1062760, 1072924, 85.0, 120.0, typeof( Log ), 1044041, 10, 1044351 );
AddRes( index, typeof( DiseasedBark ), 1032683, 1, 1053098 );
AddRes( index, typeof( Corruption ), 1032676, 10, 1053098 );
AddRes( index, typeof( Putrefication ), 1032678, 10, 1053098 );
AddRareRecipe( index, 318 );
ForceNonExceptional( index );
SetNeededExpansion( index, Expansion.ML );
index = AddCraft( typeof( BrambleCoat ), 1062760, 1072925, 85.0, 120.0, typeof( Log ), 1044041, 10, 1044351 );
AddRes( index, typeof( DiseasedBark ), 1032683, 1, 1053098 );
AddRes( index, typeof( Taint ), 1032679, 10, 1053098 );
AddRes( index, typeof( Scourge ), 1032677, 10, 1053098 );
AddRareRecipe( index, 319 );
ForceNonExceptional( index );
SetNeededExpansion( index, Expansion.ML );
}
// Instruments
index = AddCraft( typeof( LapHarp ), 1044293, 1023762, 63.1, 88.1, typeof( Log ), 1044041, 20, 1044351 );
AddSkill( index, SkillName.Musicianship, 45.0, 50.0 );
@ -265,6 +393,23 @@ namespace Server.Engines.Craft
SetNeededExpansion( index, Expansion.SE );
}
if ( Core.ML )
{
index = AddCraft( typeof( TallElvenBedSouthDeed ), 1044290, 1072858, 94.7, 119.7, typeof( Log ), 1044041, 200, 1044351 );
AddSkill( index, SkillName.Tailoring, 75.0, 80.0 );
AddRes( index, typeof( Cloth ), 1044286, 100, 1044287 );
AddRecipe( index, 320 );
ForceNonExceptional( index );
SetNeededExpansion( index, Expansion.ML );
index = AddCraft( typeof( TallElvenBedEastDeed ), 1044290, 1072859, 94.7, 119.7, typeof( Log ), 1044041, 200, 1044351 );
AddSkill( index, SkillName.Tailoring, 75.0, 80.0 );
AddRes( index, typeof( Cloth ), 1044286, 100, 1044287 );
AddRecipe( index, 321 );
ForceNonExceptional( index );
SetNeededExpansion( index, Expansion.ML );
}
// Misc
index = AddCraft( typeof( SmallBedSouthDeed ), 1044290, 1044321, 94.7, 119.8, typeof( Log ), 1044041, 100, 1044351 );
AddSkill( index, SkillName.Tailoring, 75.0, 80.0 );
@ -294,7 +439,7 @@ namespace Server.Engines.Craft
AddCraft( typeof( PlayerBBSouth ), 1044290, 1062421, 85.0, 110.0, typeof( Log ), 1044041, 50, 1044351 );
}
// Blacksmithy
// Blacksmithy - This changed to Anvils and Forges (1111809) for SA
index = AddCraft( typeof( SmallForgeDeed ), 1044296, 1044330, 73.6, 98.6, typeof( Log ), 1044041, 5, 1044351 );
AddSkill( index, SkillName.Blacksmith, 75.0, 80.0 );
AddRes( index, typeof( IronIngot ), 1044036, 75, 1044037 );
@ -343,20 +488,20 @@ namespace Server.Engines.Craft
AddRes( index, typeof( Cloth ), 1044286, 25, 1044287 );
// Cooking
index = AddCraft( typeof( StoneOvenEastDeed ), 1044299, 1044345, 68.4, 93.4, typeof( Log ), 1044041, 85, 1044351 );
index = AddCraft( typeof( StoneOvenEastDeed ), Core.ML ? 1044298 : 1044299, 1044345, 68.4, 93.4, typeof( Log ), 1044041, 85, 1044351 );
AddSkill( index, SkillName.Tinkering, 50.0, 55.0 );
AddRes( index, typeof( IronIngot ), 1044036, 125, 1044037 );
index = AddCraft( typeof( StoneOvenSouthDeed ), 1044299, 1044346, 68.4, 93.4, typeof( Log ), 1044041, 85, 1044351 );
index = AddCraft( typeof( StoneOvenSouthDeed ), Core.ML ? 1044298 : 1044299, 1044346, 68.4, 93.4, typeof( Log ), 1044041, 85, 1044351 );
AddSkill( index, SkillName.Tinkering, 50.0, 55.0 );
AddRes( index, typeof( IronIngot ), 1044036, 125, 1044037 );
index = AddCraft( typeof( FlourMillEastDeed ), 1044299, 1044347, 94.7, 119.7, typeof( Log ), 1044041, 100, 1044351 );
index = AddCraft( typeof( FlourMillEastDeed ), Core.ML ? 1044298 : 1044299, 1044347, 94.7, 119.7, typeof( Log ), 1044041, 100, 1044351 );
AddSkill( index, SkillName.Tinkering, 50.0, 55.0 );
AddRes( index, typeof( IronIngot ), 1044036, 50, 1044037 );
index = AddCraft( typeof( FlourMillSouthDeed ), 1044299, 1044348, 94.7, 119.7, typeof( Log ), 1044041, 100, 1044351 );
index = AddCraft( typeof( FlourMillSouthDeed ), Core.ML ? 1044298 : 1044299, 1044348, 94.7, 119.7, typeof( Log ), 1044041, 100, 1044351 );
AddSkill( index, SkillName.Tinkering, 50.0, 55.0 );
AddRes( index, typeof( IronIngot ), 1044036, 50, 1044037 );
AddCraft( typeof( WaterTroughEastDeed ), 1044299, 1044349, 94.7, 119.7, typeof( Log ), 1044041, 150, 1044351 );
AddCraft( typeof( WaterTroughSouthDeed ), 1044299, 1044350, 94.7, 119.7, typeof( Log ), 1044041, 150, 1044351 );
AddCraft( typeof( WaterTroughEastDeed ), Core.ML ? 1044298 : 1044299, 1044349, 94.7, 119.7, typeof( Log ), 1044041, 150, 1044351 );
AddCraft( typeof( WaterTroughSouthDeed ), Core.ML ? 1044298 : 1044299, 1044350, 94.7, 119.7, typeof( Log ), 1044041, 150, 1044351 );
MarkOption = true;
Repair = Core.AOS;