Scripts/Engines/BulkOrders/LargeBulkEntry.cs, riga 33, aggiungere:
Scripts/Engines/BulkOrders/LargeSmithBOD.cs, modificare:
con:
Scripts/Engines/BulkOrders/Rewards.cs, modificare:
con:
Aggiungere nella m_GoldTable:
Subito sotto aggiungere questo metodo:
Nel metodo ComputeGold subito sotto, modificare:
con:
E prima di:
Aggiungere:
Per far funzionare il tutto occorre modificare il file Data/Bulk Orders/Blacksmith/weapons.cfg aggiungendo:
E inoltre aggiungere questi files nella stessa directory.
Tutti i dati aggiornati a quanto riportato su Tower of Roses.
codice:
public static SmallBulkEntry[] LargeAxes { get{ return GetEntries( "Blacksmith", "largeaxes" ); } } public static SmallBulkEntry[] LargeFencing { get{ return GetEntries( "Blacksmith", "largefencing" ); } } public static SmallBulkEntry[] LargeMaces { get{ return GetEntries( "Blacksmith", "largemaces" ); } } public static SmallBulkEntry[] LargePolearms { get{ return GetEntries( "Blacksmith", "largepolearms" ); } } public static SmallBulkEntry[] LargeSwords { get{ return GetEntries( "Blacksmith", "largeswords" ); } }
codice:
bool useMaterials = true; switch ( Utility.Random( 4 ) ) { default: case 0: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.LargeRing ); break; case 1: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.LargePlate ); break; case 2: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.LargeChain ); break; }
codice:
bool useMaterials; switch ( Utility.Random( 8 ) ) { default: case 0: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.LargeRing ); useMaterials = true; break; case 1: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.LargePlate ); useMaterials = true; break; case 2: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.LargeChain ); useMaterials = true; break; case 3: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.LargeAxes ); useMaterials = false; break; case 4: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.LargeFencing ); useMaterials = false; break; case 5: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.LargeMaces ); useMaterials = false; break; case 6: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.LargePolearms ); useMaterials = false; break; case 7: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.LargeSwords ); useMaterials = false; break; }
codice:
private RewardType[] m_Types = new RewardType[] { new RewardType( 200, typeof( RingmailGloves ), typeof( RingmailChest ), typeof( RingmailArms ), typeof( RingmailLegs ) ), new RewardType( 200, typeof( Bardiche ), typeof( Halberd ) ), new RewardType( 300, typeof( ChainCoif ), typeof( ChainLegs ), typeof( ChainChest ) ), new RewardType( 300, typeof( Axe ), typeof( BattleAxe ), typeof( DoubleAxe ), typeof( ExecutionersAxe ), typeof( LargeBattleAxe ), typeof( TwoHandedAxe ) ), new RewardType( 300, typeof( Broadsword ), typeof( Cutlass ), typeof( Katana ), typeof( Longsword ), typeof( Scimitar ), typeof( ThinLongsword ), typeof( VikingSword ) ), new RewardType( 300, typeof( WarAxe ), typeof( HammerPick ), typeof( Mace ), typeof( Maul ), typeof( WarHammer ), typeof( WarMace ) ), new RewardType( 350, typeof( ShortSpear ), typeof( Spear ), typeof( WarFork ), typeof( Kryss ) ), new RewardType( 400, typeof( PlateArms ), typeof( PlateLegs ), typeof( PlateHelm ), typeof( PlateGorget ), typeof( PlateGloves ), typeof( PlateChest ) ) };
codice:
private RewardType[] m_Types = new RewardType[] { // Armors new RewardType( 200, typeof( RingmailGloves ), typeof( RingmailChest ), typeof( RingmailArms ), typeof( RingmailLegs ) ), new RewardType( 300, typeof( ChainCoif ), typeof( ChainLegs ), typeof( ChainChest ) ), new RewardType( 400, typeof( PlateArms ), typeof( PlateLegs ), typeof( PlateHelm ), typeof( PlateGorget ), typeof( PlateGloves ), typeof( PlateChest ) ), // Weapons new RewardType( 200, typeof( Bardiche ), typeof( Halberd ) ), new RewardType( 300, typeof( Dagger), typeof( ShortSpear ), typeof( Spear ), typeof( WarFork ), typeof( Kryss ) ), new RewardType( 350, typeof( Axe ), typeof( BattleAxe ), typeof( DoubleAxe ), typeof( ExecutionersAxe ), typeof( LargeBattleAxe ), typeof( TwoHandedAxe ) ), new RewardType( 350, typeof( Broadsword ), typeof( Cutlass ), typeof( Katana ), typeof( Longsword ), typeof( Scimitar ), typeof( ThinLongsword ), typeof( VikingSword ) ), new RewardType( 350, typeof( WarAxe ), typeof( HammerPick ), typeof( Mace ), typeof( Maul ), typeof( WarHammer ), typeof( WarMace ) ) };
codice:
new int[][] // 2-part weapons (regular) { new int[]{ 3000, 0, 0, 0, 0, 0, 0, 0, 0 }, new int[]{ 4500, 0, 0, 0, 0, 0, 0, 0, 0 }, new int[]{ 6000, 0, 0, 0, 0, 0, 0, 0, 0 } }, new int[][] // 2-part weapons (exceptional) { new int[]{ 5000, 0, 0, 0, 0, 0, 0, 0, 0 }, new int[]{ 7500, 0, 0, 0, 0, 0, 0, 0, 0 }, new int[]{ 10000, 0, 0, 0, 0, 0, 0, 0, 0 } }, new int[][] // 5-part weapons (regular) { new int[]{ 4000, 0, 0, 0, 0, 0, 0, 0, 0 }, new int[]{ 6000, 0, 0, 0, 0, 0, 0, 0, 0 }, new int[]{ 8000, 0, 0, 0, 0, 0, 0, 0, 0 } }, new int[][] // 5-part weapons (exceptional) { new int[]{ 7500, 0, 0, 0, 0, 0, 0, 0, 0 }, new int[]{ 11250, 0, 0, 0, 0, 0, 0, 0, 0 }, new int[]{ 15000, 0, 0, 0, 0, 0, 0, 0, 0 } }, new int[][] // 6-part weapons (regular) { new int[]{ 4000, 0, 0, 0, 0, 0, 0, 0, 0 }, new int[]{ 6000, 0, 0, 0, 0, 0, 0, 0, 0 }, new int[]{ 10000, 0, 0, 0, 0, 0, 0, 0, 0 } }, new int[][] // 6-part weapons (exceptional) { new int[]{ 7500, 0, 0, 0, 0, 0, 0, 0, 0 }, new int[]{ 11250, 0, 0, 0, 0, 0, 0, 0, 0 }, new int[]{ 15000, 0, 0, 0, 0, 0, 0, 0, 0 } }
codice:
private int ComputeType( Type type, int itemCount ) { // Item count of 1 means it's a small BOD. if ( itemCount == 1 ) return 0; int typeIdx; // Loop through the RewardTypes defined earlier and find the correct one. for ( typeIdx = 0; typeIdx < 7; ++typeIdx ) { if ( m_Types[typeIdx].Contains( type ) ) break; } // Types 5, 6 and 7 are Large Weapon BODs with the same rewards. if ( typeIdx > 5 ) typeIdx = 5; return ( typeIdx + 1 ) * 2; }
codice:
int typeIndex = (( itemCount == 1 ? 0 : m_Types[7].Contains( type ) ? 3 : m_Types[2].Contains( type ) ? 2 : 1 ) * 2) + (exceptional ? 1 : 0);
codice:
int typeIndex = ComputeType( type, itemCount );
codice:
int gold = goldTable[typeIndex][quanIndex][mtrlIndex];
codice:
if ( exceptional ) typeIndex++;
codice:
Dagger 0x0F52
Tutti i dati aggiornati a quanto riportato su Tower of Roses.
Commenta