I’ve been fiddling with a conversion of creatures from the d20 SRD (i.e. from the DnD Monster Manual) to BRP. I need the data for my Creature Generator spreadsheet. Since the data is available in XML and DB formats it’s not that difficult to do a translation. I’ve chosen the quick and dirty route and imported all data into Excel and now I’m almost done with the translation scripts.
When I’m done, creating a word document and a PDF printout of all the creatures won’t be that much trouble, in fact it will just be a matter of writing a VBA script in Word that merges the all the information from the Excel spreadsheets per each creature and stores that as a creature description in a Word document. Before I do that I’d like to see if anyone has any objections to my transformation algorithms.
1) Stats
I base the conversion on the average given in the SRD. The stat is divided by the average dice value and the reminder is added as a dice bonus. The choice of dice is based on the average value.
SIZ is a little bit different matter as it's not given in the SRD. I base the conversion on the broad size category and the STR stat value.Code:'--------------------------------------------------------------------------------------- ' Procedure : getDiceString ' Author : Peter Brink ' Date : 2008-05-10 ' Purpose : The average stat value / 6 would give you the number of dices used. But ' we dont use more than a handfull dices. We first need to analyze the ' average value and decide how many dices we will use. We then use the ' remainder as a point bonus. '--------------------------------------------------------------------------------------- ' Public Function getDiceString(averageVal As Integer) As String Dim noDice As Integer Dim diceType As Integer Dim diceMod As Integer diceType = 6 Select Case averageVal Case 1 To 4 'split in number of d3 and add reminder as +p noDice = CInt(averageVal / 1.5) diceMod = averageVal Mod 1.5 diceType = 3 Case 5 To 10 'split in number of d4 and add reminder as +p noDice = CInt(averageVal / 2.5) diceMod = averageVal Mod 2.5 diceType = 4 Case 11 To 17 'split in 3d6 and add reminder as +p noDice = 3 diceMod = averageVal - 11 Case 11 To 20 'split in 4d6 and add reminder as +p noDice = 4 diceMod = averageVal - 14 Case 21 To 40 'split in 6d6 and add reminder as +p noDice = 6 diceMod = averageVal - 21 Case 41 To 60 'split in 8d6 and add reminder as +p noDice = 8 diceMod = averageVal - 28 Case 61 To 80 'split in 10d6 and add reminder as +p noDice = 10 diceMod = averageVal - 35 Case Else 'split in 10d10 and add reminder as +p noDice = 10 diceMod = averageVal - 55 diceType = 10 End Select If averageVal = 0 Then getDiceString = "0" ElseIf Not diceMod = 0 Then getDiceString = noDice & "d" & diceType & "+" & diceMod Else getDiceString = noDice & "d" & diceType End If End Function
2) MoveCode:'--------------------------------------------------------------------------------------- ' Procedure : getSizDice ' Author : Peter Brink ' Date : 2008-05-10 ' Purpose : Uses the STR dice and the Size value of a creature to create it's SIZ dice '--------------------------------------------------------------------------------------- ' Public Function getSizDice(creatureSize As String, strDice As String) As String Select Case LCase(creatureSize) Case "fine" 'SIZ 1 getSizDice = "1" Case "diminutive" 'SIZ 1-2 getSizDice = "1d2" Case "tiny" 'SIZ 2-4 getSizDice = "1d3+1" Case Else getSizDice = parseStrDice(strDice, creatureSize) End Select End Function
I divide the d20 move rate by 10 and drop all reminders, this gives a reliable translation to BRP, IMO.
3) Armour
Here I just parses the armour record and uses the natural AC bonus as a AP value.
4) Skills
I wrote a skill conversion function for the Creature Creator and I use it here to convert a d20 skill to an equivalent BRP skill. The skill ranks are multiplied by 5 and this gives a first rudimentary conversion. However, the skill levels seems a bit high so I'm wondering if I don't need to write a more intelligent conversion routine.
5) Weapons
Same as with skills, the skill rank is converted. This can lead to quite high base chances. But some creatures in RQ also had high base chances. A more general conversion algorithm is probably needed here... The weapon type checked against those I have in the Creator.
6) Hit Locations
I use the categories of hit locations from RQ Creatures. I also need to create a few new ones. No problems here as far as I can see.
7) Description
The description contains of a few sections. The first is just a short description of the creature and that only needs to be extracted. The second is a very brief note on the creature's combat tactics, also only needs to be extracted. Then there are notes about special powers and the like. I don't really plan to keep those - but I haven't decided yet. There are also notes on the creatures skills, or what skills the creature has any racial bonuses in. I'm wondering if one perhaps should use these notes when assessing the average skill values and perhaps that will lead to a better choice of base skill levels.


Reply With Quote

