I found some code from googling. I'm not a coding wizard, so I could totally be reading this wrong, but it looks like the code pulls from the list of killers when it rolls for protection.
private static Type[] m_Killers = new Type[]
{
typeof( OrcBomber ), typeof( OrcBrute ), typeof( Sewerrat ), typeof( Rat ), typeof( GiantRat ),
typeof( Ratman ), typeof( RatmanArcher ), typeof( GiantSpider ), typeof( FrostSpider ), typeof( GiantBlackWidow ),
typeof( DreadSpider ), typeof( SilverSerpent ), typeof( DeepSeaSerpent ), typeof( GiantSerpent ), typeof( Snake ),
typeof( IceSnake ), typeof( IceSerpent ), typeof( LavaSerpent ), typeof( LavaSnake ), typeof( Yamandon ),
typeof( StrongMongbat ),typeof( Mongbat ), typeof( VampireBat ), typeof( Lich ), typeof( EvilMage ),
typeof( LichLord ), typeof( EvilMageLord ), typeof( SkeletalMage ), typeof( KhaldunZealot ), typeof( AncientLich ),
typeof( JukaMage ), typeof( MeerMage ), typeof( Beetle ), typeof( DeathwatchBeetle ), typeof( RuneBeetle ),
typeof( FireBeetle ), typeof( DeathwatchBeetleHatchling), typeof( Bird ), typeof( Chicken ), typeof( Eagle ),
typeof( TropicalBird ), typeof( Phoenix ), typeof( DesertOstard ), typeof( FrenziedOstard ), typeof( ForestOstard ),
typeof( Crane ), typeof( SnowLeopard ), typeof( IceFiend ), typeof( FrostOoze ), typeof( FrostTroll ),
typeof( IceElemental ), typeof( SnowElemental ), typeof( GiantIceWorm ), typeof( LadyOfTheSnow ), typeof( FireElemental ),
typeof( FireSteed ), typeof( HellHound ), typeof( HellCat ), typeof( PredatorHellCat ), typeof( LavaLizard ),
typeof( FireBeetle ), typeof( Cow ), typeof( Bull ), typeof( Gaman )//, typeof( Minotaur)
// TODO Meraktus, Tormented Minotaur, Minotaur
};
... ... ...
public static TalismanAttribute GetRandomKiller()
{
return GetRandomKiller( true );
}
public static TalismanAttribute GetRandomKiller( bool includingNone )
{
if ( includingNone && Utility.RandomBool() )
return new TalismanAttribute();
int num = Utility.Random(m_Killers.Length);
return new TalismanAttribute(m_Killers[num], m_KillerLabels[num], Utility.RandomMinMax(10, 100));
}
public static TalismanAttribute GetRandomProtection()
{
return GetRandomProtection( true );
}
public static TalismanAttribute GetRandomProtection( bool includingNone )
{
if ( includingNone && Utility.RandomBool() )
return new TalismanAttribute();
int num = Utility.Random(m_Killers.Length);
return new TalismanAttribute(m_Killers[num], m_KillerLabels[num], Utility.RandomMinMax(5, 60));