Difference between revisions of "Further Notes on CMP to RSRD Migration, part2"

From PCGen Wiki
Jump to: navigation, search
(Further CMP to RSRD conversion suggestions)
 
(=)
Line 117: Line 117:
 
=====================================
 
=====================================
 
FRCS/ue_feats.lst - Ice Troll Berserker should modify the rage special ability for natural armor...
 
FRCS/ue_feats.lst - Ice Troll Berserker should modify the rage special ability for natural armor...
 +
 +
 +
=====================================
 +
if you use linux, or have 'cygwin' installed under windows, you can run a bash script to do some extra conversions - note that some of this may be unnecessary as PrettyLst may fix it)
 +
 +
<<--start of file
 +
# SLong and SShort are what we *want* to have finally.
 +
# ALong, AShort and BShort are variations of this (common typos!) that appear initially
 +
# that we want to replace
 +
 +
#################
 +
# save to above commented out as version history once done
 +
SLong="Players Guide to Faerun"
 +
SShort="pgtfae"
 +
 +
ALong="Players Guide to Faerun"
 +
ALong="players guide to faerun"
 +
AShort="pgtfae"
 +
BShort="PGTFAE"
 +
 +
Files=$( ls *.lst)
 +
echo This script indicates the file name, and the first SOURCE entry noted therein as stdout, to allow verification of correct Sed replacement values
 +
 +
for File in ${Files}
 +
do
 +
echo ${File}
 +
grep SOURCE ${File} |head -3 |uniq
 +
printf "SOURCELONG:${SLong}\nSOURCESHORT:${SShort}\n" >a
 +
printf "#Converted by DG $(date +%d/%m/%y)\n\n" >>a
 +
 +
# want to replace characters 93 & 94 (special quotes)
 +
# but cant get sed to recognise them...
 +
# these appear as black squares in vim..
 +
# have to do manually in vim..
 +
#
 +
egrep -v "^SOURCE|^# CVS|#Converted by" $File |\
 +
sed -e 's/Willpower/Will/g' \
 +
-e 's/ARMR_MWORK/MWORKA/g' \
 +
-e 's/AMMO_MWORK/MWORKA/g' \
 +
-e 's/ARMRMW/MWORKA/g' \
 +
-e 's/ARMR_PLUS_1/PLUS1A/g' \
 +
-e 's/ARMR_PLUS_2/PLUS2A/g' \
 +
-e 's/ARMR_PLUS_3/PLUS3A/g' \
 +
-e 's/ARMR_PLUS_4/PLUS4A/g' \
 +
-e 's/ARMR_PLUS_5/PLUS5A/g' \
 +
-e 's/SHLD_MWORK/MWORKA/g' \
 +
-e 's/SHLD_STEEL/STEEL/g' \
 +
-e 's/SHLD_DARKWOOD/DARK/g' \
 +
-e 's/ARMOR_SPIKE_BASH/SPOKE_SB/g' \
 +
-e 's/ARMOR_SPIKE/SPIKE_S/g' \
 +
-e 's/ARMR_STEEL/STEEL/g' \
 +
-e 's/SHLD_WOOD/WOOD/g' \
 +
-e 's/SHLD_PLUS_1/PLUS1S/g' \
 +
-e 's/SHLD_PLUS_2/PLUS2S/g' \
 +
-e 's/SHLD_PLUS_3/PLUS3S/g' \
 +
-e 's/SHLD_PLUS_4/PLUS4S/g' \
 +
-e 's/SHLD_PLUS_5/PLUS5S/g' \
 +
-e 's/WEAP_PLUS_1/PLUS1W/g' \
 +
-e 's/WEAP_PLUS_2/PLUS2W/g' \
 +
-e 's/WEAP_PLUS_3/PLUS3W/g'  \
 +
-e 's/WEAP_PLUS_4/PLUS4W/g'  \
 +
-e 's/WEAP_PLUS_5/PLUS5W/g'  \
 +
-e 's/AMMO_PLUS_1/PLUS1W/g' \
 +
-e 's/AMMO_PLUS_2/PLUS2W/g' \
 +
-e 's/AMMO_PLUS_3/PLUS3W/g' \
 +
-e 's/AMMO_PLUS_4/PLUS4W/g' \
 +
-e 's/AMMO_PLUS_5/PLUS5W/g' \
 +
-e 's/WEAP_BANE/BANE_M/g'  \
 +
-e 's/WEAP_STEEL/STEEL/g' \
 +
-e 's/WEAP_VORPAL/VORPAL/g' \
 +
-e 's/WEAP_ALCH_SILVR/ALCHM/g' \
 +
-e 's/WEAP_ALCH_SLVR/ALCHM/g' \
 +
-e 's/WEAP_AXIOMATIC/LAW_M/g' \
 +
-e 's/WEAP_HOLY/HOLY_M/g' \
 +
-e 's/ARMR_DRAGONHIDE/DRACO/g' \
 +
-e 's/AMMO_ALCH_SLVR/ALCHM/g' \
 +
-e 's/AMMO_COLD_IRON/C_IRON/g' \
 +
-e 's/.WEAP_WOOD//g' \
 +
-e 's/AMMO_ALCH_SILVR/ALCHM/g' \
 +
-e 's/MWWEAPON/MWORKW/g'  \
 +
-e 's/WEAPMW/MWORKW/g'  \
 +
-e 's/WEAP_MWORK/MWORKW/g'  \
 +
-e 's/|PREDEFAULTMONSTER:Y//g' \
 +
-e 's/MFEAT/FEAT/g' \
 +
-e 's/HITDICE:[0-9]*,[0-9]*//g' \
 +
-e"s/[|]SOURCELONG:${SLong}//" \
 +
-e"s/[|]SOURCESHORT:${SShort}//"  \
 +
-e"s/[|]SOURCESHORT:${AShort}//"  \
 +
-e"s/[|]SOURCESHORT:${BShort}//" \
 +
-e's/|SOURCEPAGE/SOURCEPAGE/' \
 +
-e's/[|]SOURCELONG:${ALong}//' \
 +
-e's/SOURCEPAGE/ SOURCEPAGE/' \
 +
-e's/|SOURCE/\tSOURCE/' >>a
 +
# that's a 'tab' two lines up, check when copying
 +
mv a ${File}
 +
done
 +
 +
<<--end of file-->>
 +
 +
Copy that to a file (remove the <<-- -->> lines) and then execute it, with something like:
 +
cat SedCommands.txt |bash
 +
 +
=====================================
 +
other manual changes:
 +
 +
WEAPONPROF:blah to :
 +
BONUS:WEAPONPROF:blah
 +
AUTO:WEAPONPROF|Longsword|Rapier|
 +
 +
BONUS:ToHIT|blah to BONUS:COMBAT:TOHIT|blah
 +
 +
ADD:FEAT|(blah) ADD:FEAT|(blah)      to ADD:FEAT|2|blah,blah
 +
 +
Note that LANGBONUS (and potentially others?) take pipe (|) separators in one file but comma separators in others.
 +
 +
Further note that there are various typo's, particularly in 'DEFINE' variables.

Revision as of 23:29, 24 February 2012

This really is just a cut and paste from a scratch file I used whilst converting data Some of this (most?) is possibly done by PrettyLst (I wasnt using the right options initially!)

Several of these commands are search and replace regex expressions for VIM (my editor of choice), the concept should be clear though as to the intent, and updating to your editor of choice. I copy the line from the scratch file, and in vim, press ':' to enter command mode, and then just paste and hit return.


replace % with %% in descriptions

=========================

spells file changed all to .mod other than specific few (20 odd non-srd spells) note - we only really want the descriptions, not the mechanics..

=========================

feats file changed all to .mod note - we only really want the descriptions, not the mechanics.. ExtraTurning - CHOOSE: nochoice Typo???!!! Type=ExtraTurnig.STACK ??? - updated to match pcgen srd original CHOOSE:Exotic :- CHOOSE:PROFICIENCY|WEAPON|UNIQUE|TYPE=Exotic CHOOSE:Blah|1 := CHOOSE:Blah PRELEVEL:x := PRELEVEL:MIN=x PREVARLT:CL=Shaaryan Hunter,6  := PRECLASSLEVELMAX:1,Shaaryan Hunter=5 PREVARGTEQ:CL=Shaaryan Hunter,6  := PRECLASS:1,Shaaryan Hunter=6

AUTO.SHIELDPROF|TYPE := AUTO.SHIELDPROF|SHIELDTYPE CHOOSE:Martial := CHOOSE:PROFICIENCY|WEAPON|UNIQUE|TYPE=Martial CHOOSE:SKILLSNAMED|blah|1 :- CHOOSE:SKILLSNAMED|blah


feats_hidden file ADD:FEAT(blah)|x :- ADD:FEAT|x|blah SPELL:Blah|x|Innate := SPELLS:Innate|TIMES=x|Blah SPELLS:Innate|CASTERLEVEL=max(classlevel("Mage"),1)|Blah CHOOSE:NUMCHOICES=x| := CHOOSE:x|

TODO Favoured Enemy / Favoured Bonus - all disabled, seems style is quite different

Rogue Bonus - CHOOSE:SKILLS|3+INT := SELECT:3+INT CHOOSE:SKILLS

=========================

skills file changed all to .mod note - we only really want the descriptions, not the mechanics.. PREMOVE:Blah := PREMOVE:1,Blah CHOOSE:Language(Spoken) :- CHOOSE:LANGUAGE|Spoken

SA:  := SAB: AUTO.ARMORPROF|TYPE  := AUTO.ARMORPROF|ARMORTYPE

=========================

updates to dieties file Tag Name: PREALIGN:x,x Variables Used (x):LG,LN,LE,NG,TN,NE,CG,CN,CE,Deity (Alignment abbreviation). Variables Used (x):0,1,2,3,4,5,6,7,8,10 (Alignment array number). LG,LN,LE,NG,TN,NE,CG,CN,CE, Deity

0, 1, 2, 3, 4, 5, 6, 7, 8, 10 

%s/ [ ]*FOLLOWERALIGN:147/|PREALIGN:LN,TN,CN / %s/ [ ]*FOLLOWERALIGN:13457/|PREALIGN:LN,NG,TN,NE,CN / %s/ [ ]*FOLLOWERALIGN:258/|PREALIGN:LE,NE,CE / %s/ [ ]*FOLLOWERALIGN:012/|PREALIGN:LG,LN,LE / %s/ [ ]*FOLLOWERALIGN:125/|PREALIGN:LN,LE,NE / %s/ [ ]*FOLLOWERALIGN:036/|PREALIGN:LG,NG,CG / %s/ [ ]*FOLLOWERALIGN:013/|PREALIGN:LG,LN,NG / %s/ [ ]*FOLLOWERALIGN:578 /|PREALIGN:NE,CN,CE / %s/ [ ]*FOLLOWERALIGN:678 /|PREALIGN:CG,CN,CE / %s/ [ ]*FOLLOWERALIGN:367 /|PREALIGN:NG,CG,CN / %s/ [ ]*FOLLOWERALIGN:012345678 /|PREALIGN:LG,LN,LE,NG,TN,NE,CG,CN,CE / %s/ [ ]*FOLLOWERALIGN:013467 /|PREALIGN:LG,LN,NG,TN,CG,CN / %s/ [ ]*FOLLOWERALIGN:012345 /|PREALIGN:LG,LN,LE,NG,TN,NE / %s/ [ ]*FOLLOWERALIGN:3467 /|PREALIGN:NG,TN,CG,CN / %s/ [ ]*FOLLOWERALIGN:345678 /|PREALIGN:NG,TN,NE,CG,CN,CE / %s/ [ ]*FOLLOWERALIGN:0123457 /|PREALIGN:LG,LN,LE,NG,TN,NE,CN / %s/ [ ]*FOLLOWERALIGN:01236 /|PREALIGN:LG,LN,LE,NG,CG / %s/ [ ]*FOLLOWERALIGN:2458 /|PREALIGN:LE,TN,NE,CE / %s/ [ ]*FOLLOWERALIGN:0346 /|PREALIGN:LG,NG,TN,CG / %s/ [ ]*FOLLOWERALIGN:4678 /|PREALIGN:TN,CG,CN,CE /

PREVARxx| becomes PREVARxx:Var,Value


%s/|PREDEFAULTMONSTER:Y//g %s/MFEAT/FEAT/g

  1. note - need BOTH of the following, first one splits, second one cleans

%s/HITDICE:[0-9]*,/HD:,&HITDICE:\tHITDIE:/ %s/,HITDICE://g

                       or just remove it completely... %s/HITDICE:[0-9]*,[0-9]*//g

>>>No Longer using HITDICE, please remove and just use MONSTERCLASS

=========================

SPELL: becomes SPELLS:Innate|TIMES=x|CASTERLEVEL=x|SpellName1,DC|SpellName2,DC

=========================

Typically replace 'Heavy blah' with 'blah (Heavy)' etc.

=========================

NOTE D:\utils\PCGen\PCGen5164\data\d20ogl\srd35\basics\rsrd_equipmods_enhancing.lst NOTE D:\utils\PCGen\PCGen5164\data\d20ogl\srd35\basics\rsrd_equipmods_base.lst

%s/Willpower/Will/g %s/ARMR_MWORK/MWORKA/g %s/ARMR_PLUS_2/PLUS2A/g %s/ARMR_STEEL/STEEL/g %s/ARMR_PLUS_3/PLUS3W/g %s/ARMR_PLUS_1/PLUS1W/g %s/SHLD_MWORK/MWORKS/g %s/SHLD_STEEL/STEEL/g %s/SHLD_WOOD/WOOD/g %s/SHLD_PLUS_1/PLUS1S/g %s/SHLD_PLUS_2/PLUS2S/g %s/WEAP_PLUS_1/PLUS1W/g %s/WEAP_PLUS_2/PLUS2W/g %s/WEAP_PLUS_3/PLUS3W/g %s/WEAP_PLUS_4/PLUS4W/g %s/WEAP_PLUS_5/PLUS5W/g %s/WEAP_STEEL/STEEL/g

%s/WEAP_MWORK/MWORKW/g

=========================

FRCS/ue_feats.lst - Ice Troll Berserker should modify the rage special ability for natural armor...


=========================

if you use linux, or have 'cygwin' installed under windows, you can run a bash script to do some extra conversions - note that some of this may be unnecessary as PrettyLst may fix it)

<<--start of file

  1. SLong and SShort are what we *want* to have finally.
  2. ALong, AShort and BShort are variations of this (common typos!) that appear initially
  3. that we want to replace
  1. save to above commented out as version history once done

SLong="Players Guide to Faerun" SShort="pgtfae"

ALong="Players Guide to Faerun" ALong="players guide to faerun" AShort="pgtfae" BShort="PGTFAE"

Files=$( ls *.lst) echo This script indicates the file name, and the first SOURCE entry noted therein as stdout, to allow verification of correct Sed replacement values

for File in ${Files} do echo ${File} grep SOURCE ${File} |head -3 |uniq printf "SOURCELONG:${SLong}\nSOURCESHORT:${SShort}\n" >a printf "#Converted by DG $(date +%d/%m/%y)\n\n" >>a

  1. want to replace characters 93 & 94 (special quotes)
  2. but cant get sed to recognise them...
  3. these appear as black squares in vim..
  4. have to do manually in vim..

egrep -v "^SOURCE|^# CVS|#Converted by" $File |\ sed -e 's/Willpower/Will/g' \ -e 's/ARMR_MWORK/MWORKA/g' \ -e 's/AMMO_MWORK/MWORKA/g' \ -e 's/ARMRMW/MWORKA/g' \ -e 's/ARMR_PLUS_1/PLUS1A/g' \ -e 's/ARMR_PLUS_2/PLUS2A/g' \ -e 's/ARMR_PLUS_3/PLUS3A/g' \ -e 's/ARMR_PLUS_4/PLUS4A/g' \ -e 's/ARMR_PLUS_5/PLUS5A/g' \ -e 's/SHLD_MWORK/MWORKA/g' \ -e 's/SHLD_STEEL/STEEL/g' \ -e 's/SHLD_DARKWOOD/DARK/g' \ -e 's/ARMOR_SPIKE_BASH/SPOKE_SB/g' \ -e 's/ARMOR_SPIKE/SPIKE_S/g' \ -e 's/ARMR_STEEL/STEEL/g' \ -e 's/SHLD_WOOD/WOOD/g' \ -e 's/SHLD_PLUS_1/PLUS1S/g' \ -e 's/SHLD_PLUS_2/PLUS2S/g' \ -e 's/SHLD_PLUS_3/PLUS3S/g' \ -e 's/SHLD_PLUS_4/PLUS4S/g' \ -e 's/SHLD_PLUS_5/PLUS5S/g' \ -e 's/WEAP_PLUS_1/PLUS1W/g' \ -e 's/WEAP_PLUS_2/PLUS2W/g' \ -e 's/WEAP_PLUS_3/PLUS3W/g' \ -e 's/WEAP_PLUS_4/PLUS4W/g' \ -e 's/WEAP_PLUS_5/PLUS5W/g' \ -e 's/AMMO_PLUS_1/PLUS1W/g' \ -e 's/AMMO_PLUS_2/PLUS2W/g' \ -e 's/AMMO_PLUS_3/PLUS3W/g' \ -e 's/AMMO_PLUS_4/PLUS4W/g' \ -e 's/AMMO_PLUS_5/PLUS5W/g' \ -e 's/WEAP_BANE/BANE_M/g' \ -e 's/WEAP_STEEL/STEEL/g' \ -e 's/WEAP_VORPAL/VORPAL/g' \ -e 's/WEAP_ALCH_SILVR/ALCHM/g' \ -e 's/WEAP_ALCH_SLVR/ALCHM/g' \ -e 's/WEAP_AXIOMATIC/LAW_M/g' \ -e 's/WEAP_HOLY/HOLY_M/g' \ -e 's/ARMR_DRAGONHIDE/DRACO/g' \ -e 's/AMMO_ALCH_SLVR/ALCHM/g' \ -e 's/AMMO_COLD_IRON/C_IRON/g' \ -e 's/.WEAP_WOOD//g' \ -e 's/AMMO_ALCH_SILVR/ALCHM/g' \ -e 's/MWWEAPON/MWORKW/g' \ -e 's/WEAPMW/MWORKW/g' \ -e 's/WEAP_MWORK/MWORKW/g' \ -e 's/|PREDEFAULTMONSTER:Y//g' \ -e 's/MFEAT/FEAT/g' \ -e 's/HITDICE:[0-9]*,[0-9]*//g' \ -e"s/[|]SOURCELONG:${SLong}//" \ -e"s/[|]SOURCESHORT:${SShort}//" \ -e"s/[|]SOURCESHORT:${AShort}//" \ -e"s/[|]SOURCESHORT:${BShort}//" \ -e's/|SOURCEPAGE/SOURCEPAGE/' \ -e's/[|]SOURCELONG:${ALong}//' \ -e's/SOURCEPAGE/ SOURCEPAGE/' \ -e's/|SOURCE/\tSOURCE/' >>a

  1. that's a 'tab' two lines up, check when copying

mv a ${File} done

<<--end of file-->>

Copy that to a file (remove the <<-- -->> lines) and then execute it, with something like: cat SedCommands.txt |bash

=========================

other manual changes:

WEAPONPROF:blah to : BONUS:WEAPONPROF:blah AUTO:WEAPONPROF|Longsword|Rapier|

BONUS:ToHIT|blah to BONUS:COMBAT:TOHIT|blah

ADD:FEAT|(blah) ADD:FEAT|(blah) to ADD:FEAT|2|blah,blah

Note that LANGBONUS (and potentially others?) take pipe (|) separators in one file but comma separators in others.

Further note that there are various typo's, particularly in 'DEFINE' variables.