As you know, the variety is caused by having lots of entries with the same role and this does not cause any slowdown. Having 48 entries all with the role Addboard does not cause a slowdown.
With my Renegade Pirates OXP I have 13 ship-entries, all different (for variety) but all with the <role>Hardpirate. If I tell Oolite:-
Code: Select all
<array>
<dict>
<key>conditions</key>
<array>
<string>status_string equal STATUS_EXITING_WITCHSPACE</string>
<string>systemGovernment_number equal 0</string>
<string>d100_number greaterthan 70</string>
</array>
<key>do</key>
<array>
<string>addSystemShips: hardpirate 2 0.1</string>
</array>
However, if I'd given each one the role pirate(0.1), pirate(0.2) etc then maybe it would add to the time Oolite takes to "think about" adding a pirate ship to a system.
Besides you have replaced a native game object rather than adding somthing. Maybe Oolite doesn't like this!
I reckon if you gave each board the role Adboard and just added it by the beacon with a:-
Code: Select all
<array>
<dict>
<key>conditions</key>
<array>
<string>status_string equal STATUS_EXITING_WITCHSPACE</string>
<string>systemGovernment_number greaterthan 5</string>
</array>
<key>do</key>
<array>
<string>addSystemShips: Adboard 1 0.0</string>
</array>
Same effect, but it is only telling Oolite to add one ship rather than replace somthing that Oolite is "expecting" to be in the system anyway.
That might stop the slowdown. I have 13 hardpirate ships as entries and I have 25 entries like the above in script to make them varied, but no slowdown when running!
I might be enterly wrong, its just that I used one role with 13 ships on the list to be called and got no slowdown. But you've replaced a game object with 22 objects with percentage chance roles and got a slow down.
On my elderly 3 year old Dell (can just run Halo, but don't even think about asking it to run Doom3 ), I play with all OXPs installed, so when Oolite adds pirates to an anarchy it is picking off a list of 100 odd ships with the role pirate to add, yet no problem!