Is there anything I might be able to do to help? Seal Clubbers and Accordion Thieves really benefit from using their titular weapons, and I’d like to see this make progress for those classes in particular.It is because by default, at present, ALL items that match a boolean requirement are passed through to the brute force maximization, so would need pruning. Numerics already get pruned.
You want a function that can take an array of booleans and turn it into a bitfield? I’m a bit unclear on why we aren’t just using boolean arrays in the first place, honestly.A patch that successfully coverts Boolean array from bits to longs as we are running out, and works everywhere they are used would help. I couldn’t get them all working and don’t have time now.
@Test
public void clubModifierDoesntAffectOffhand()
{
KoLCharacter.addAvailableSkill( "Double-Fisted Skull Smashing" );
// 5 base + buffed mus.
KoLCharacter.setStatPoints( 5, 25, 0, 0, 0, 0 );
try
{
// 2 seal-clubbing clubs, 1 white sword
InventoryManager.parseInventory( new JSONObject( "{\"1\": \"2\", \"269\": \"1\"}" ) );
}
catch ( JSONException e )
{
fail( "Inventory parsing failed." );
}
assertTrue( Maximizer.maximize( "mus, club", 0, 0, true ) );
assertEquals(
7, Modifiers.getNumericModifier( "Generated", "_spec", "Buffed Muscle" ), 0.01 );
}
int slot = EquipmentManager.itemIdToEquipmentType( id );
...
case EquipmentManager.WEAPON:
...
if ( this.requireClub && !EquipmentDatabase.isClub( id ) )
{
continue;
}