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