Download Link for Modding Conversion Files: {not yet}
This is a guide for porting 1.09 mods to 1.10f. It is described in a kind of awkward tabulated pseudocode. The goal is to keep as much of 1.09 intact during the transfer as possible, while also unlocking all the functionality of 1.10f. This means it should include all features (or lack of) of 1.09, like:
Mana potions are not sold by stores.
You can multibuy rejuv pots and hpots, but not mpots.
No synergies.
Boots and shields do not give strbonus.
Monsters are given flat stats, they do not scale with level.
Minions are the same as their unique; minion1/minion2 are only used for two types of foul crow nests.
Anything which is incomplete or untranslatable is put into curly brackets, {like so}. If you know of any fixes or explanations for these cases, please let me know! And if you notice anything that is in 1.09 but was not translated at all or properly to 1.10+, then be sure to point it out!
CREDITS/THANKS:
Eleriaqueen (directed to Offsets Spreadsheet for 1.09)
Kieran (description of rare/set/unique gambling in 1.09)
oli (description of rare/set/unique gambling in 1.09)
Myhrginoc (description of rare/set/unique gambling in 1.09: viewtopic.php?t=11200)
FUNCTIONS:
Code: Select all
txt (directory to filename to execute following functions on)
endtxt (stops modifying txt files activated by the txt function)
inscol (name of column to insert, column is EMPTY) (existing column to insert new column after)
inscolblock (directory of filename to take column names from) (first column name) (last column name) (existing column to insert new column block after, columns are EMPTY)
copypaste (column to copy from, excluding column name) (column to copy to, excluding column name)
setcel (column name) (row ID) (value to be put into cell)
setcol (column name) (value to be put into all cells of that column, except for the column name)
namecol (column name) (new column name)
namecolblock (directory of filename to take column names from) (first column name) (last column name) (existing column to copy paste column names to)
idname (column name containing ID cells) (directory of txt file you want to use to convert IDs to names) (using previous parameter's defined txt file: column name containing names to convert the IDs to)
copytxt (directory of txt file to copy) (directory of created txt file copy)
delcol (column name of column to delete)
delcolblock (column name of first column to delete) (column name of last column to delete)
reprow (column that gives the number of repeating units to convert into new rows that are inserted after the row minus 1; the respective repeating unit of each new row is placed into the 1st repeating unit's position, regardless of its original position, except for the 1st row which isn't given a new row at all since it already has the 1st row's position) (first column of 1st repeating unit) (last column of 1st repeating unit)
bool (column containing boolean setting; execute the following function on a per row basis if the respective bool cell =1, otherwise the next function is ignored for that row)
usecolblock (directory of filename to take column contents from, including column names and column contents) (first column from defined file to take from) (last column from defined file to take from) (column to insert entire contents of columns after)
movdelcol (column to move, then delete the empty column) (column after which to move column to)
movdelcolblock (first column to move, then delete the empty columns) (last column to move, then delete the empty columns) (column after which to move columns to)
calccol (column to apply calcs to, excluding column name) (calc to apply; so putting in *8 here would multiply each cell under column name by 8)
Code: Select all
[inscol]
col1 col2 col3
row1 A B
row2 C D
inscol colnew col2
col1 col2 colnew col3
row1 A B
row2 C D
inscol colnew col2
col1 col2 colnew col3
row1 A B
row2 C D
[inscol]
[inscolblock]
folder1\txtfile1.txt contains:
col1 col2 col3
row1 A B
row2 C D
folder2\txtfile2.txt contains:
col7 col8 col9 col0
row9 M N O
row0 P Q R
txt folder1\txtfile1.txt
inscolblock folder2\txtfile2 col7 col9 col2
folder1\txtfile1.txt contains:
col1 col2 col7 col8 col9 col3
row1 A B
row2 C D
folder2\txtfile2.txt contains:
col7 col8 col9 col0
row9 M N O
row0 P Q R
[inscolblock]
[copypaste]
col1 col2 col3 col4
row1 A B X
row2 C D Y
copypaste col4 col2
col1 col2 col3 col4
row1 X B X
row2 Y D Y
[copypaste]
[setcel]
col1 col2 col3 col4
row1 A B X
row2 C D Y
row3 M N O
(ID count starts from 0, after the column row)
setcel col4 0 cleglaw
setcel col4 2 sigon
setcel col2 1 hsarus
col1 col2 col3 col4
row1 A B cleglaw
row2 hsarus D Y
row3 M N sigon
[setcel]
[setcol]
col1 col2 col3 col4
row1 A B X
row2 C D Y
row3 M N O
setcol col2 R
col1 col2 col3 col4
row1 R B X
row2 R D Y
row3 R N O
[setcol]
[namecol]
col1 col2 col3 col4
row1 A B X
row2 C D Y
row3 M N O
namecol col2 prop1
col1 prop1 col3 col4
row1 A B X
row2 C D Y
row3 M N O
[namecol]
[namecolblock]
folder1\txtfile1.txt contains:
col1 col2 col3 col4 col5
row1 A B C D
row2 E F G H
folder2\txtfile2.txt contains:
zzz aaa bbb ccc ddd eee
row1 M N O P X
row2 Q R S T Y
txt folder1\txtfile1.txt
namecolblock folder2\txtfile2.txt aaa ccc col3
folder1\txtfile1.txt contains:
col1 col2 aaa bbb ccc
row1 A B C D
row2 E F G H
folder2\txtfile2.txt contains:
zzz aaa bbb ccc ddd eee
row1 M N O P X
row2 Q R S T Y
[namecolblock]
[idname]
folder1\txtfile1.txt contains:
col1 col2 col3 col4 col5
row1 A 0 C D
row2 E 1 G H
row3 I 3 K L
row4 M 3 N O
folder2\txtfile2.txt contains:
zzz aaa bbb ccc ddd eee
row1 p q r s
row2 t u v w
row3 x y z 1
row4 2 3 4 5
txt folder1\txtfile1.txt
idname col3 folder2\txtfile2.txt eee
folder1\txtfile1.txt contains:
col1 col2 col3 col4 col5
row1 A s C D
row2 E w G H
row3 I 5 K L
row4 M 5 N O
folder2\txtfile2.txt contains:
zzz aaa bbb ccc ddd eee
row1 p q r s
row2 t u v w
row3 x y z 1
row4 2 3 4 5
[idname]
[copytxt]
folder1\txtfile1.txt contains:
col1 col2 col3
row1 A B
row2 C D
copytxt folder1\txtfile1.txt folder2\txtfile9.txt
folder1\txtfile1.txt contains:
col1 col2 col3
row1 A B
row2 C D
folder2\txtfile9.txt contains:
col1 col2 col3
row1 A B
row2 C D
[copytxt]
[delcol]
col1 col2 col3 col4
row1 A B C
row2 D E F
row3 G H I
row4 J K L
delcol col2
col1 col3 col4
row1 B C
row2 E F
row3 H I
row4 K L
[delcol]
[delcolblock]
delcolblock (column name of first column to delete) (column name of last column to delete)
col1 col2 col3 col4 col5 col6 col7
row1 A B C X P Q
row2 D E F Y R S
row3 G H I Z T U
row4 J K L O V M
delcolblock col4 col6
col1 col2 col3 col7
row1 A B Q
row2 D E S
row3 G H U
row4 J K M
[delcolblock]
[reprow]
col1 num item1 itemtype1 prop1 par1 min1 max1 item2 itemtype2 prop2 par2 min2 max2 item3 itemtype3 prop3 par3 min3 max3 eol
arctic 3 arctic bow bow dmg-cold 50 25 60 arctic armor tors all-res 5 10 arctic belt belt pois-res 20 20 0
death 2 death sword swor ias 10 20 death glove glov ias 30 30 death belt belt all-res 5 10 0
sigon 3 sigon shield shie block 20 20 sigon helm helm mana 15 25 sigon glove glov ias 5 5 0
reprow num item1 max1
col1 num item1 itemtype1 prop1 par1 min1 max1 item2 itemtype2 prop2 par2 min2 max2 item3 itemtype3 prop3 par3 min3 max3 eol
arctic 3 arctic bow bow dmg-cold 50 25 60 arctic armor tors all-res 5 10 arctic belt belt pois-res 20 20 0
arctic 3 arctic armor tors all-res 5 10 arctic armor tors all-res 5 10 arctic belt belt pois-res 20 20 0
arctic 3 arctic belt belt pois-res 20 20 arctic armor tors all-res 5 10 arctic belt belt pois-res 20 20 0
death 2 death sword swor ias 10 20 death glove glov ias 30 30 death belt belt all-res 5 10 0
death 2 death glove glov ias 30 30 death glove glov ias 30 30 death belt belt all-res 5 10 0
sigon 3 sigon shield shie block 20 20 sigon helm helm mana 15 25 sigon glove glov ias 5 5 0
sigon 3 sigon helm helm mana 15 25 sigon helm helm mana 15 25 sigon glove glov ias 5 5 0
sigon 3 sigon glove glov ias 5 5 sigon helm helm mana 15 25 sigon glove glov ias 5 5 0
[reprow]
[bool]
col1 col2 col3 col4 col5 col6 col7
row1 A C sigon 1 P Q
row2 D E cleglaw 0 R S
row3 G I hsarus 1 T U
row4 J L arctic 1 V M
row5 z x death 0 o p
bool col5
copypaste col4 col3
col1 col2 col3 col4 col5 col6 col7
row1 A sigon sigon 1 P Q
row2 D E cleglaw 0 R S
row3 G hsarus hsarus 1 T U
row4 J arctic arctic 1 V M
row5 z x death 0 o p
[bool]
[usecolblock]
folder1\txtfile1.txt contains:
col1 col2 col3 col4 col5
row1 A B C D
row2 E F G H
folder2\txtfile2.txt contains:
zzz aaa bbb ccc ddd eee
row1 M N O P X
row2 Q R S T Y
txt folder1\txtfile1.txt
usecolblock folder2\txtfile2.txt aaa ccc col3
folder1\txtfile1.txt contains:
col1 col2 col3 aaa bbb ccc col4 col5
row1 A B M N O C D
row2 E F Q R S G H
folder2\txtfile2.txt contains:
zzz aaa bbb ccc ddd eee
row1 M N O P X
row2 Q R S T Y
[usecolblock]
[movdelcol]
col1 col2 col3 col4
row1 A B X
row2 C D Y
movdelcol col3 col1
col1 col3 col2 col4
row1 B A X
row2 D C Y
[movdelcol]
[movdelcolblock]
col1 col2 col3 col4 col5 col6
row1 A B X M O
row2 C D Y N P
movdelcolblock col4 col6 col2
col1 col2 col4 col5 col6 col3
row1 A X M O B
row2 C Y N P D
[movdelcolblock]
[calccol]
col1 col2 col3 col4
row1 3 5 8
row2 6 10 16
row3 9 15 32
row4 12 20 64
calccol col3 *8
col1 col2 col3 col4
row1 3 40 8
row2 6 80 16
row3 9 120 32
row4 12 160 64
[calccol]
---
---
---
{need pre-processing of 109 files to delete all instances of the annoying, useless Expansion rows. interferes with idname and usecolblock}
Code: Select all
txt 109\armor.txt
inscolname namestr code
copypaste code namestr
inscol type2 type
idname sound 000\wamsounds.txt 109name
inscol StrBonus maxdam
inscol DexBonus StrBonus
endtxt
Code: Select all
txt 109\cubemain.txt
inscol op version
inscol param op
inscol value param
inscolnameblock 110\cubemain.txt output b c mod 5 max mod 5 max
endtxt
Code: Select all
txt 109\difficultylevels.txt
{109 has ExtraUniqueMonsters 0/1/2. this adds extra uniques only if levels.txt has monumin or monumax greater than 0 for a given level. so in vanilla, blood moor and den of evil wont spawn extrauniquemonsters since they have monumin=0 and monumax=0}
inscol GambleRare StaticFieldMin
inscol GambleSet GambleRare
inscol GambleUnique GambleSet
inscol GambleUber GambleUnique
inscol GambleUltra GambleUber
setcol GambleRare 8000
setcol GambleSet 10
setcol GambleUnique 1
setcol GambleUber 90
setcol GambleUltra 33
endtxt
Code: Select all
txt 109\hirelings.txt
inscol Version Subtype
setcol Version 100
endtxt
Code: Select all
txt 110\itemstatcost.txt
copypaste 1.09-Save Bits Save Bits
copypaste 1.09-Save Add Save Add
endtxt
Code: Select all
txt 109\itemtypes.txt
inscol *eol StorePage
setcol *eol 0
endtxt
Code: Select all
txt 109\levels.txt
inscol QuestFlag Act
inscol QuestFlagEx QuestFlag
inscol SizeX(N) SizeY
inscol SizeY(N) SizeX(N)
inscol SizeX(H) SizeY(N)
inscol SizeY(H) SizeX(H)
copypaste SizeX SizeX(N)
copypaste SizeX SizeX(H)
copypaste SizeY SizeY(N)
copypaste SizeY SizeY(H)
inscol Teleport Depend
setcol Teleport 1
setcel Teleport 73 2
inscol MonDen(N) MonDen
inscol MonDen(H) MonDen(N)
copypaste MonDen MonDen(N)
copypaste MonDen Monden(H)
inscol MonUMin(N) MonUMax
inscol MonUMax(N) MonUMin(N)
inscol MonUMin(H) MonUMax(N)
inscol MonUMax(H) MonUMin(H)
{need to set MonU(N) and MonU(H) based on 109 difficultylevels.txt; monumin and monumax also get increased by it}
{need to convert mon IDs to mon names}
namecol Mtot NumMon
namecolblock 110\levels.txt mon1 mon25 m1
{S1...S25 ???
https://d2mods.info/forum/kb/viewarticle?a=232
basically like a lame version of minion i think, only used in 1.09 vanilla for crow nests
how many crows does it spawn? one group of them?
}
namecolblock 110\levels.txt umon1 umon25 U1
{C1...C5 = cmon1...cmon4; imperfect translation, 109 allows for more critters}
{CA1...CA5 = cpct1...cpt4 ; imperfect translation, 109 allows for more critters}
{CD1...CD5 = camt1...camt4 ; presumably. imperfect translation regardless, since 110's camt is broken according to txt guide}
{need to convert IDs to names, or change names to IDs in monstats}
endtxt
Code: Select all
txt 109\magicsuffix.txt
inscol etype3 etype4
inscol etype4 etype5
endtxt
Code: Select all
txt 109\misc.txt
inscol auto prefix gamble cost
inscol namestr alternategfx
copypaste code namestr
idname sound 000\wamsounds.txt 109name
inscol questdiffcheck quest
usecolblock 000\pspell.txt pSpell spelldesccalc spellicon
usecolblock 000\multibuy.txt multibuy multibuy PermStoreItem
Code: Select all
txt 109\missiles.txt
usecolblock 110\missiles.txt pcltdofunc *damage param2 desc Id
inscol VelLev MaxVel
usecolblock 110\missiles.txt animrate animrate celfile
usecolblock 110\missiles.txt xoffset zoffset nextdelay
inscolblock 110\missiles.txt SrcTown CltSrcTown Size
inscolblock 110\missiles.txt Town Holy Explosion
inscol softhit gethit
idname Skill skills.txt skill
usecolblock 110\missiles.txt ResultFlags HitFlags Skill
usecolblock 110\missiles.txt ApplyMastery ApplyMastery HitShift
inscolblock 110\missiles.txt Half2HSrc SrcMissDmg SrcDamage
inscolblock 110\missiles.txt MinLevDam1 MinLevDam5 MinDamage
copypaste LevDam1 MinLevDam1
copypaste LevDam2 MinLevDam2
copypaste LevDam3 MinLevDam3
copypaste LevDam3 MinLevDam4
copypaste LevDam3 MinLevDam5
inscolblock 110\missiles.txt MaxLevDam1 DmgSymPerCalc MaxDamage
copypaste LevDam1 MaxLevDam1
copypaste LevDam2 MaxLevDam2
copypaste LevDam3 MaxLevDam3
copypaste LevDam3 MaxLevDam4
copypaste LevDam3 MaxLevDam5
inscolblock 110\missiles.txt MinELev1 MinELev5 EMin
copypaste ELev1 MinELev1
copypaste ELev2 MinELev2
copypaste ELev3 MinELev3
copypaste ELev3 MinELev4
copypaste ELev3 MinELev5
inscolblock 110\missiles.txt MaxELev1 EDmgSymPerCalc EMax
copypaste ELev1 MaxELev1
copypaste ELev2 MaxELev2
copypaste ELev3 MaxELev3
copypaste ELev3 MaxELev4
copypaste ELev3 MaxELev5
usecolblock 110\missiles.txt TravelSound EOL DamageRate
delcolblock LevDam1 LevDam3
delcolblock ELev1 ELev3
calccol SrcDamage *8
endtxt
Code: Select all
copytxt 109\monstats.txt 109\monstats2.txt
txt 109\monstats2.txt
{how to fix up class such that it is like 110 id?}
movdelcol Height Class
movdelcol OverlayHeight Height
movdelcol PixHeight OverlayHeight
movdelcol SizeX PixHeight
movdelcol SizeY SizeX
movdelcol eSpawnCol SizeY
movdelcol MeleeRng eSpawnCol
movdelcol BaseW MeleeRng
movdelcol HitClass BaseW
inscolblock 110\monstats2.txt HDv S8v HitClass
{need to fill in HDv S8v columns}
movdelcolblock HD TotalPieces S8v
movdelcolblock ModeDH ModeRN TotalPieces
inscolblock 110\monstats2.txt dDT dRN ModeRN
{need to fill in dDT dRN columns}
movdelcolblock A1Move CMove dRN
movdelcol CMove A2Move
movdelcolblock noGfxHitTest HitTestHeight S4Move
movdelcol Restore HitTestHeight
movdelcol AutomapCel Restore
movdelcol NoMap AutomapCel
movdelcol NoOverlays NoMap
movdelcolblock IsSel NeverSel NoOverlays
inscol shiftSel NeverSel
{does shiftsel need to be filled?}
movdelcol corpseSel shiftSel
movdelcol IsAtt corpseSel
usecolblock 110\monstats2.txt revive revive IsAtt
movdelcol IsCritter revive
movdelcol eSmall IsCritter
movdelcol eLarge eSmall
movdelcol Soft eLarge
movdelcol Inert Soft
movdelcol ObjectCollision Inert
movdelcol DeadCollision ObjectCollision
movdelcol Shadow DeadCollision
movdelcol NoUniqueShift Shadow
movdelcol compositeDeath NoUniqueShift
movdelcol BloodLocal compositeDeath
movdelcol Bleed BleedLocal
movdelcol Light Bleed
movdelcolblock LightR LightB Light
inscolblock 110\monstats2.txt Utrans Utrans(H) LightB
movdelcolblock Heart BodyPart Utrans(H)
inscolblock 110\monstats2.txt InfernoLen EOL BodyPart
{
infernolen fill?
infernoanim fill?
infernorollback fill?
resurrect fill?
resurrectmode fill?
resurrectskill fill?
}
setcol EOL 0
namecolblock 110\monstats2.txt Id EOL Class
delcolblock namco zoo
endtxt
txt monstats.txt
{}
Code: Select all
txt 109\runes.txt
inscol eol T1Max7
setcol eol 0
endtxt
Code: Select all
copytxt 109\setitems.txt 109\sets.txt
txt 109\sets.txt
delcolblock NumItems I6MaxE
namecol Name Index
inscol Name Index
inscolblock 110\sets.txt Pcode2b PMax2b PMax2a
inscolblock 110\sets.txt Pcode3b PMax3b PMax3a
inscolblock 110\sets.txt Pcode4b PMax4b PMax4a
inscolblock 110\sets.txt Pcode5b PMax5b PMax5a
inscolblock 110\sets.txt FCode7 *eol FMax6
setcol *eol 0
namecolblock 110\sets.txt index *eol
endtxt
txt 109\setitems.txt
delcol version
reprow NumItems Item1 I1MaxE
inscol set Name
copypaste Name set
namecol Name index
inscolblock 110\setitems.txt item *eol Name
copypaste Item1 Suffix index
copypaste Item1 item
copypaste Item1 Rarity rarity
copypaste level lvl
copypaste lvl req Item1 Lvlreq
copypaste cost mult Item1 cost mult
copypaste cost add Item1 cost add
copypaste add func Item1 Add
copypaste prop1 I1Code1
copypaste par1 I1Param1
copypaste min1 I1Min1
copypaste max1 I1Max1
copypaste prop2 I1Code2
copypaste par2 I1Param2
copypaste min2 I1Min2
copypaste max2 I1Max2
copypaste aprop1a I1CodeA
copypaste apar1a I1ParamA
copypaste amin1a I1MinA
copypaste amax1a I1MaxA
copypaste aprop2a I1CodeB
copypaste apar2a I1ParamB
copypaste amin2a I1MinB
copypaste amax2a I1MaxB
copypaste aprop3a I1CodeC
copypaste apar3a I1ParamC
copypaste amin3a I1MinC
copypaste amax3a I1MaxC
copypaste aprop4a I1CodeD
copypaste apar4a I1ParamD
copypaste amin4a I1MinD
copypaste amax4a I1MaxD
copypaste aprop5a I1CodeE
copypaste apar5a I1ParamE
copypaste amin5a I1MinE
copypaste amax5a I1MaxE
idname transformcolor 000\colors.txt code
bool transform
copypaste transformcolor chrtransform
copypaste chrtransform invtransform
delcolblock Item1 FMax6
endtxt
Code: Select all
copytxt 109\skills.txt 109\skilldesc.txt
txt 109\skilldesc.txt
namecol skill skilldesc
movdelcolblock skillpage skillcolumn skilldesc
usecolblock 110\skills.txt listrow listpool skillcolumn
movdelcol iconcel listpool
usecolblock 110\skills.txt str name eol
delcolblock id cost add
endtxt
txt 109\skills.txt
usecolblock 110\skills.txt skilldesc immediate charclass
usecolblock 110\skills.txt noammo noammo attackrank
movdelcol range noammo
usecolblock 110\skills.txt weapsel etypeb2 range
movdelcol anim etypeb2
usecolblock 110\skills.txt seqtrans seqtrans anim
movdelcolblock monanim seqnum seqtrans
usecolblock 110\skills.txt seqinput seqinput seqnum
movdelcol durability seqinput
movdelcolblock useattackrate lineofsight durability
movdelcolblock useattackrate searchmonsternear lineofsight
namecol searchmonsternear searchenemynear
movdelcol searchopenxy searchenemynear
usecolblock 110\skills.txt selectproc selectproc searchopenxy
movdelcol selectdead selectproc
namecol selectdead targetcorpse
movdelcolblock targetpet targetally targetcorpse
usecolblock 110\skills.txt targetitem targetitem targetally
movdelcol attacknomana targetitem
usecolblock 110\skills.txt tgtplacecheck tgtplacecheck attacknomana
movdelcol itemeffect tgtplacecheck
usecolblock 110\skills.txt itemclteffect skpoints itemeffect
movdelcol reqlevel skpoints
usecolblock 110\skills.txt maxlvl maxlvl reqlevel
movdelcolblock reqstr reqskill3 maxlvl
usecolblock 110\skills.txt restrict restrict reqskill3
movdelcolblock state1 delay restrict
idname state1 000\restrict.txt state
idname state2 000\restrict.txt state
idname state3 000\restrict.txt state
movdelcol leftskl delay
namecol leftskl leftskill
usecolblock 110\skills.txt repeat minmana leftskill
movdelcolblock manashift intown minmana
usecolblock 110\skills.txt aura aura intown
movdelcol periodic aura
usecolblock 110\skills.txt perdelay perdelay periodic
movdelcolblock finishing passive perdelay
usecolblock 110\skills.txt progressive *calc4 desc passive
movdelcolblock param1 param6 description *calc4 desc
usecolblock 110\skills.txt param7 *param8 description param6 description
movdelcol ingame *param8 description
movdelcolblock tohit levtohit ingame
usecolblock 110\skills.txt tohitcalc kick levtohit
inscolblock 110\skills.txt MinLevDam1 MinLevDam5 MinDam
copypaste LevDam1 MinLevDam1
copypaste LevDam2 MinLevDam2
copypaste LevDam3 MinLevDam3
copypaste LevDam3 MinLevDam4
copypaste LevDam3 MinLevDam5
inscolblock 110\skills.txt MaxLevDam1 DmgSymPerCalc MaxDamage
copypaste LevDam1 MaxLevDam1
copypaste LevDam2 MaxLevDam2
copypaste LevDam3 MaxLevDam3
copypaste LevDam3 MaxLevDam4
copypaste LevDam3 MaxLevDam5
inscolblock 110\missiles.txt MinELev1 MinELev5 EMin
copypaste ELev1 MinELev1
copypaste ELev2 MinELev2
copypaste ELev3 MinELev3
copypaste ELev3 MinELev4
copypaste ELev3 MinELev5
inscolblock 110\missiles.txt MaxELev1 EDmgSymPerCalc EMax
copypaste ELev1 MaxELev1
copypaste ELev2 MaxELev2
copypaste ELev3 MaxELev3
copypaste ELev3 MaxELev4
copypaste ELev3 MaxELev5
delcolblock LevDam1 LevDam3
delcolblock ELev1 ELev3
movdelcolblock hitshift ELevLen3 kick
usecolblock 110\skills.txt ELenSymPerCalc aibonus ELevLen3
movdelcolblock cost mult cost add aibonus
delcolblock classreq caster state
calccol SrcDam *8
endtxt
Code: Select all
txt 109\superuniques.txt
{new 110 column: Name}
{convert class from ID to monstats name}
{new 110 column: Replacable}
{new 110 column: Utrans, Utrans(N), Utrans(H)}
{need to find original 109 colors}
inscol *eol TC(H)
setcol *eol 0
endtxt
Code: Select all
txt 109\treasureclassex.txt
inscol group Treasure Class
inscol level group
endtxt
Code: Select all
txt 109\uniqueitems.txt
namecol completed enabled
namecol Level lvl
namecol LevelReq lvlreq
inscol carry1 type
idname transformcolor 000\colors.txt code
namecol invtransform invtransform109
inscol chrtransform cost add
inscol invtransform chrtransform
bool transform
copypaste transformcolor chrtransform
bool invtransform109
copypaste transformcolor invtransform
delcolblock transform transformcolor
inscol flippyfile invtransform
inscol invfile flippyfile
inscol dropsound invfile
inscol dropsfxframe dropsound
inscol usesound dropsfxframe
namecolblock 110\uniqueitems.txt prop1 max12 ItemMod1Code
endtxt
Code: Select all
txt 109\weapons.txt
inscol type2 type
inscol namestr alternategfx
copypaste code namestr
idname sound 000\wamsounds.txt 109name
inscol questdiffcheck quest
endtxt
CANNOT BE CONVERTED:
Uniqueprefix has some weird columns which presumably determine what montypes get what unique names, probably cannot be translated from 109 to 110.
Pierce allows you to change the number of times it can pierce, this is not possible in 110.