v50 Steam/Premium information for editors
- v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
- Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.
Divine equipment/script
Jump to navigation
Jump to search
angel_item_info={
armor={
pants={
gen={},
adj={
"blocky",
"rounded",
"thin",
"jagged"
}
},
armor={
gen={},
adj={
"bulging",
"square",
"segmented",
"jagged"
}
},
helm={
gen={},
adj={
"conical",
"rounded",
"tall",
"jagged"
}
},
gloves={
gen={},
adj={
"bulky",
"intricate",
"thin",
"jagged"
}
},
shoes={
gen={},
adj={
"blocky",
"sleek",
"intricate",
"jagged"
}
},
},
clothing={
pants={
gen={},
adj={
"split",
"frilly",
"sheer",
"bell-shaped"
}
},
armor={
gen={},
adj={
"frilly",
"sleek",
"bulky",
"asymmetrical",
}
},
helm={
gen={},
adj={
"frilly",
"sleek",
"bulky",
}
},
gloves={
gen={},
adj={
"bulky",
"sleek",
"frilly",
}
},
shoes={
gen={},
adj={
"frilly",
"sheer",
"bulky",
}
},
},
weapon={
PIKE={
gen={},
adj={
"curved",
"wavy",
"jagged",
"thin"
}
},
WHIP={
gen={},
adj={
"bulky",
"branching",
"thin",
"long",
}
},
BOW={
gen={},
adj={
"pointed",
"tall",
"jagged",
"thin",
}
},
BLOWGUN={
gen={},
adj={
"curved",
"wavy",
"jagged",
"thin"
}
},
AXE={
gen={},
adj={
"crescent",
"jagged",
"thin",
}
},
SWORD={
gen={},
adj={
"curved",
"wavy",
"jagged",
"thin"
}
},
DAGGER={
gen={},
adj={
"curved",
"twisted",
"jagged",
"thin",
}
},
MACE={
gen={},
adj={
"bent",
"tall",
"jagged",
"thin",
}
},
HAMMER={
gen={},
adj={
"curved",
"large-headed",
"jagged",
"thin",
}
},
SPEAR={
gen={},
adj={
"thick",
"wavy",
"jagged",
"thin",
}
},
CROSSBOW={
gen={},
adj={
"sleek",
"long",
"jagged",
"bulky",
}
},
},
ammo={
ARROW={},
BLOWDART={},
BOLT={}
},
shield={
gen={},
adj={
"curved",
"square",
"tall",
"rectangular"
}
}
}
angel_item_info.armor.pants.gen.greaves=function()
local lines={}
-- some more variety-causing way to generate these?
lines[#lines+1]="[NAME:greaves:greaves]"
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.armor.pants.adj).."]"
lines[#lines+1]="[ARMORLEVEL:3]"
lines[#lines+1]="[LBSTEP:MAX]"
lines[#lines+1]="[SHAPED]"
lines[#lines+1]="[LAYER:ARMOR]"
lines[#lines+1]="[COVERAGE:100]"
lines[#lines+1]="[LAYER_SIZE:15]"
lines[#lines+1]="[LAYER_PERMIT:30]"
lines[#lines+1]="[MATERIAL_SIZE:6]"
lines[#lines+1]="[METAL]"
lines[#lines+1]="[BARRED]"
lines[#lines+1]="[HARD]"
return {item=lines,weight=1}
end
angel_item_info.clothing.pants.gen.skirt=function()
local lines={}
lines[#lines+1]="[NAME:skirt:skirts]"
lines[#lines+1]="[LBSTEP:1]"
lines[#lines+1]="[LAYER:OVER]"
lines[#lines+1]="[COVERAGE:100]"
lines[#lines+1]="[LAYER_SIZE:10]"
lines[#lines+1]="[LAYER_PERMIT:100]"
lines[#lines+1]="[MATERIAL_SIZE:2]"
return {item=lines,weight=1}
end
angel_item_info.armor.armor.gen.breastplate=function()
local lines={}
lines[#lines+1]="[NAME:breastplate:breastplates]"
lines[#lines+1]="[ARMORLEVEL:3]"
lines[#lines+1]="[UBSTEP:0]"
lines[#lines+1]="[LBSTEP:0]"
lines[#lines+1]="[SHAPED]"
lines[#lines+1]="[LAYER:ARMOR]"
lines[#lines+1]="[COVERAGE:100]"
lines[#lines+1]="[LAYER_SIZE:20]"
lines[#lines+1]="[LAYER_PERMIT:50]"
lines[#lines+1]="[MATERIAL_SIZE:9]"
return {item=lines,weight=1}
end
-- out into its own file?
angel_item_info.clothing.armor.gen.coat=function()
local lines={}
lines[#lines+1]="[NAME:coat:coats]"
lines[#lines+1]="[UBSTEP:MAX]"
lines[#lines+1]="[LBSTEP:1]"
lines[#lines+1]="[LAYER:OVER]"
lines[#lines+1]="[COVERAGE:100]"
lines[#lines+1]="[LAYER_SIZE:20]"
lines[#lines+1]="[LAYER_PERMIT:50]"
lines[#lines+1]="[MATERIAL_SIZE:5]"
lines[#lines+1]="[LEATHER]"
return {item=lines,weight=1}
end
angel_item_info.clothing.armor.gen.shirt=function()
local lines={}
lines[#lines+1]="[NAME:shirt:shirts]"
lines[#lines+1]="[UBSTEP:MAX]"
lines[#lines+1]="[LBSTEP:0]"
lines[#lines+1]="[LAYER:UNDER]"
lines[#lines+1]="[COVERAGE:100]"
lines[#lines+1]="[LAYER_SIZE:10]"
lines[#lines+1]="[LAYER_PERMIT:50]"
lines[#lines+1]="[MATERIAL_SIZE:3]"
lines[#lines+1]="[LEATHER]"
return {item=lines,weight=1}
end
angel_item_info.clothing.armor.gen.cloak=function()
local lines={}
lines[#lines+1]="[NAME:cloak:cloaks]"
lines[#lines+1]="[UBSTEP:MAX]"
lines[#lines+1]="[LBSTEP:1]"
lines[#lines+1]="[LAYER:COVER]"
lines[#lines+1]="[COVERAGE:100]"
lines[#lines+1]="[LAYER_SIZE:15]"
lines[#lines+1]="[LAYER_PERMIT:150]"
lines[#lines+1]="[MATERIAL_SIZE:5]"
lines[#lines+1]="[LEATHER]"
return {item=lines,weight=1}
end
angel_item_info.clothing.armor.gen.tunic=function()
local lines={}
lines[#lines+1]="[NAME:tunic:tunics]"
lines[#lines+1]="[UBSTEP:0]"
lines[#lines+1]="[LBSTEP:1]"
lines[#lines+1]="[LAYER:UNDER]"
lines[#lines+1]="[COVERAGE:100]"
lines[#lines+1]="[LAYER_SIZE:10]"
lines[#lines+1]="[LAYER_PERMIT:50]"
lines[#lines+1]="[MATERIAL_SIZE:3]"
lines[#lines+1]="[LEATHER]"
return {item=lines,weight=1}
end
angel_item_info.clothing.armor.gen.toga=function()
local lines={}
lines[#lines+1]="[NAME:toga:togas]"
lines[#lines+1]="[UBSTEP:1]"
lines[#lines+1]="[LBSTEP:1]"
lines[#lines+1]="[LAYER:OVER]"
lines[#lines+1]="[COVERAGE:100]"
lines[#lines+1]="[LAYER_SIZE:30]"
lines[#lines+1]="[LAYER_PERMIT:100]"
lines[#lines+1]="[MATERIAL_SIZE:5]"
lines[#lines+1]="[LEATHER]"
return {item=lines,weight=1}
end
angel_item_info.clothing.armor.gen.cape=function()
local lines={}
lines[#lines+1]="[NAME:cape:capes]"
lines[#lines+1]="[UBSTEP:0]"
lines[#lines+1]="[LBSTEP:0]"
lines[#lines+1]="[LAYER:COVER]"
lines[#lines+1]="[COVERAGE:50]"
lines[#lines+1]="[LAYER_SIZE:10]"
lines[#lines+1]="[LAYER_PERMIT:300]"
lines[#lines+1]="[MATERIAL_SIZE:3]"
lines[#lines+1]="[LEATHER]"
return {item=lines,weight=1}
end
angel_item_info.clothing.armor.gen.vest=function()
local lines={}
lines[#lines+1]="[NAME:vest:vests]"
lines[#lines+1]="[UBSTEP:0]"
lines[#lines+1]="[LBSTEP:0]"
lines[#lines+1]="[LAYER:OVER]"
lines[#lines+1]="[COVERAGE:50]"
lines[#lines+1]="[LAYER_SIZE:10]"
lines[#lines+1]="[LAYER_PERMIT:50]"
lines[#lines+1]="[MATERIAL_SIZE:2]"
lines[#lines+1]="[LEATHER]"
return {item=lines,weight=1}
end
angel_item_info.clothing.armor.gen.dress=function()
local lines={}
lines[#lines+1]="[NAME:dress:dresses]"
lines[#lines+1]="[UBSTEP:MAX]"
lines[#lines+1]="[LBSTEP:MAX]"
lines[#lines+1]="[LAYER:UNDER]"
lines[#lines+1]="[COVERAGE:100]"
lines[#lines+1]="[LAYER_SIZE:10]"
lines[#lines+1]="[LAYER_PERMIT:50]"
lines[#lines+1]="[MATERIAL_SIZE:5]"
lines[#lines+1]="[LEATHER]"
return {item=lines,weight=1}
end
angel_item_info.clothing.armor.gen.robe=function()
local lines={}
lines[#lines+1]="[NAME:robe:robes]"
lines[#lines+1]="[UBSTEP:MAX]"
lines[#lines+1]="[LBSTEP:MAX]"
lines[#lines+1]="[LAYER:OVER]"
lines[#lines+1]="[COVERAGE:100]"
lines[#lines+1]="[LAYER_SIZE:20]"
lines[#lines+1]="[LAYER_PERMIT:100]"
lines[#lines+1]="[MATERIAL_SIZE:6]"
lines[#lines+1]="[LEATHER]"
return {item=lines,weight=1}
end
angel_item_info.armor.helm.gen.helm=function()
local lines={}
lines[#lines+1]="[NAME:helm:helms]"
lines[#lines+1]="[ARMORLEVEL:1]"
lines[#lines+1]="[METAL_ARMOR_LEVELS]"
lines[#lines+1]="[SHAPED]"
lines[#lines+1]="[LAYER:ARMOR]"
lines[#lines+1]="[COVERAGE:100]"
lines[#lines+1]="[LAYER_SIZE:30]"
lines[#lines+1]="[LAYER_PERMIT:20]"
lines[#lines+1]="[MATERIAL_SIZE:2]"
lines[#lines+1]="[BARRED]"
lines[#lines+1]="[SCALED]"
lines[#lines+1]="[LEATHER]"
lines[#lines+1]="[SHAPED]"
return {item=lines,weight=1}
end
angel_item_info.armor.helm.gen.cap=function()
local lines={}
lines[#lines+1]="[NAME:cap:caps]"
lines[#lines+1]="[METAL_ARMOR_LEVELS]"
lines[#lines+1]="[LAYER:OVER]"
lines[#lines+1]="[COVERAGE:50]"
lines[#lines+1]="[LAYER_SIZE:10]"
lines[#lines+1]="[LAYER_PERMIT:15]"
lines[#lines+1]="[MATERIAL_SIZE:1]"
lines[#lines+1]="[LEATHER]"
lines[#lines+1]="[HARD]"
lines[#lines+1]="[METAL]"
lines[#lines+1]="[SHAPED]"
return {item=lines,weight=1}
end
angel_item_info.clothing.helm.gen.hood=function()
local lines={}
lines[#lines+1]="[NAME:hood:hoods]"
lines[#lines+1]="[LAYER:COVER]"
lines[#lines+1]="[COVERAGE:100]"
lines[#lines+1]="[LAYER_SIZE:10]"
lines[#lines+1]="[LAYER_PERMIT:100]"
lines[#lines+1]="[MATERIAL_SIZE:2]"
lines[#lines+1]="[LEATHER]"
return {item=lines,weight=1}
end
angel_item_info.clothing.helm.gen.turban=function()
local lines={}
lines[#lines+1]="[NAME:turban:turbans]"
lines[#lines+1]="[LAYER:OVER]"
lines[#lines+1]="[COVERAGE:50]"
lines[#lines+1]="[LAYER_SIZE:20]"
lines[#lines+1]="[LAYER_PERMIT:100]"
lines[#lines+1]="[MATERIAL_SIZE:2]"
lines[#lines+1]="[LEATHER]"
return {item=lines,weight=1}
end
angel_item_info.clothing.helm.gen.mask=function()
local lines={}
lines[#lines+1]="[NAME:mask:masks]"
lines[#lines+1]="[LAYER:UNDER]"
lines[#lines+1]="[COVERAGE:50]"
lines[#lines+1]="[LAYER_SIZE:20]"
lines[#lines+1]="[LAYER_PERMIT:10]"
lines[#lines+1]="[MATERIAL_SIZE:2]"
lines[#lines+1]="[LEATHER]"
lines[#lines+1]="[HARD]"
lines[#lines+1]="[METAL]"
lines[#lines+1]="[BARRED]"
lines[#lines+1]="[SCALED]"
lines[#lines+1]="[SHAPED]"
return {item=lines,weight=1}
end
angel_item_info.clothing.helm.gen.veil_head=function()
local lines={}
lines[#lines+1]="[NAME:head veil:head veils]"
lines[#lines+1]="[LAYER:OVER]"
lines[#lines+1]="[COVERAGE:50]"
lines[#lines+1]="[LAYER_SIZE:10]"
lines[#lines+1]="[LAYER_PERMIT:100]"
lines[#lines+1]="[MATERIAL_SIZE:2]"
lines[#lines+1]="[LEATHER]"
return {item=lines,weight=1}
end
angel_item_info.clothing.helm.gen.veil_face=function()
local lines={}
lines[#lines+1]="[NAME:face veil:face veils]"
lines[#lines+1]="[LAYER:UNDER]"
lines[#lines+1]="[COVERAGE:50]"
lines[#lines+1]="[LAYER_SIZE:10]"
lines[#lines+1]="[LAYER_PERMIT:100]"
lines[#lines+1]="[MATERIAL_SIZE:2]"
lines[#lines+1]="[LEATHER]"
return {item=lines,weight=1}
end
angel_item_info.clothing.helm.gen.headscarf=function()
local lines={}
lines[#lines+1]="[NAME:headscarf:headscarves]"
lines[#lines+1]="[LAYER:OVER]"
lines[#lines+1]="[COVERAGE:50]"
lines[#lines+1]="[LAYER_SIZE:10]"
lines[#lines+1]="[LAYER_PERMIT:100]"
lines[#lines+1]="[MATERIAL_SIZE:2]"
lines[#lines+1]="[LEATHER]"
return {item=lines,weight=1}
end
angel_item_info.armor.gloves.gen.gauntlet=function()
local lines={}
lines[#lines+1]="[NAME:gauntlet:gauntlets]"
lines[#lines+1]="[ARMORLEVEL:2]"
lines[#lines+1]="[UPSTEP:1]"
lines[#lines+1]="[SHAPED]"
lines[#lines+1]="[LAYER:ARMOR]"
lines[#lines+1]="[COVERAGE:100]"
lines[#lines+1]="[LAYER_SIZE:20]"
lines[#lines+1]="[LAYER_PERMIT:15]"
lines[#lines+1]="[MATERIAL_SIZE:2]"
lines[#lines+1]="[SCALED]"
lines[#lines+1]="[BARRED]"
return {item=lines,weight=1}
end
angel_item_info.clothing.gloves.gen.glove=function()
local lines={}
lines[#lines+1]="[NAME:glove:gloves]"
lines[#lines+1]="[MATERIAL_SIZE:1]"
lines[#lines+1]="[LAYER:UNDER]"
lines[#lines+1]="[COVERAGE:100]"
lines[#lines+1]="[LAYER_SIZE:10]"
lines[#lines+1]="[LAYER_PERMIT:10]"
lines[#lines+1]="[LEATHER]"
return {item=lines,weight=1}
end
angel_item_info.clothing.gloves.gen.mitten=function()
local lines={}
lines[#lines+1]="[NAME:mitten:mittens]"
lines[#lines+1]="[LAYER:COVER]"
lines[#lines+1]="[COVERAGE:150]"
lines[#lines+1]="[LAYER_SIZE:15]"
lines[#lines+1]="[LAYER_PERMIT:20]"
lines[#lines+1]="[MATERIAL_SIZE:1]"
lines[#lines+1]="[LEATHER]"
return {item=lines,weight=1}
end
angel_item_info.armor.shoes.gen.boots_high=function()
local lines={}
lines[#lines+1]="[NAME:high boot:high boots]"
lines[#lines+1]="[ARMORLEVEL:1]"
lines[#lines+1]="[UPSTEP:1]"
lines[#lines+1]="[METAL_ARMOR_LEVELS]"
lines[#lines+1]="[LAYER:OVER]"
lines[#lines+1]="[COVERAGE:100]"
lines[#lines+1]="[LAYER_SIZE:25]"
lines[#lines+1]="[LAYER_PERMIT:15]"
lines[#lines+1]="[MATERIAL_SIZE:2]"
lines[#lines+1]="[LEATHER]"
return {item=lines,weight=1}
end
angel_item_info.armor.shoes.gen.boots_low=function()
local lines={}
lines[#lines+1]="[NAME:low boot:low boots]"
lines[#lines+1]="[ARMORLEVEL:1]"
lines[#lines+1]="[METAL_ARMOR_LEVELS]"
lines[#lines+1]="[LAYER:OVER]"
lines[#lines+1]="[COVERAGE:100]"
lines[#lines+1]="[LAYER_SIZE:25]"
lines[#lines+1]="[LAYER_PERMIT:15]"
lines[#lines+1]="[MATERIAL_SIZE:1]"
lines[#lines+1]="[LEATHER]"
return {item=lines,weight=1}
end
angel_item_info.clothing.shoes.gen.shoes=function()
local lines={}
lines[#lines+1]="[NAME:shoe:shoes]"
lines[#lines+1]="[LAYER:OVER]"
lines[#lines+1]="[COVERAGE:100]"
lines[#lines+1]="[LAYER_SIZE:20]"
lines[#lines+1]="[LAYER_PERMIT:15]"
lines[#lines+1]="[MATERIAL_SIZE:1]"
lines[#lines+1]="[LEATHER]"
return {item=lines,weight=1}
end
angel_item_info.clothing.shoes.gen.sandals=function()
local lines={}
lines[#lines+1]="[NAME:sandal:sandals]"
lines[#lines+1]="[LAYER:OVER]"
lines[#lines+1]="[COVERAGE:100]"
lines[#lines+1]="[LAYER_SIZE:25]"
lines[#lines+1]="[LAYER_PERMIT:15]"
lines[#lines+1]="[MATERIAL_SIZE:1]"
lines[#lines+1]="[LEATHER]"
return {item=lines,weight=1}
end
angel_item_info.clothing.shoes.gen.chausses=function()
local lines={}
lines[#lines+1]="[NAME:chausse:chausses]"
lines[#lines+1]="[UPSTEP:MAX]"
lines[#lines+1]="[LAYER:UNDER]"
lines[#lines+1]="[COVERAGE:100]"
lines[#lines+1]="[LAYER_SIZE:10]"
lines[#lines+1]="[LAYER_PERMIT:15]"
lines[#lines+1]="[MATERIAL_SIZE:3]"
lines[#lines+1]="[LEATHER]"
return {item=lines,weight=1}
end
angel_item_info.clothing.shoes.gen.socks=function()
local lines={}
lines[#lines+1]="[NAME:sock:socks]"
lines[#lines+1]="[LAYER:UNDER]"
lines[#lines+1]="[COVERAGE:100]"
lines[#lines+1]="[LAYER_SIZE:10]"
lines[#lines+1]="[LAYER_PERMIT:15]"
lines[#lines+1]="[MATERIAL_SIZE:1]"
return {item=lines,weight=1}
end
local function make_sword_func(name)
return function()
local lines={}
lines[#lines+1]="[NAME:"..name.."]"
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.weapon.SWORD.adj).."]"
lines[#lines+1]="[SIZE:300]"
lines[#lines+1]="[SKILL:SWORD]"
lines[#lines+1]="[TWO_HANDED:37500]"
lines[#lines+1]="[MINIMUM_SIZE:32500]"
lines[#lines+1]="[MATERIAL_SIZE:3]"
lines[#lines+1]="[ATTACK:EDGE:20000:4000:slash:slashes:NO_SUB:1250]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ATTACK:EDGE:50:2000:stab:stabs:NO_SUB:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ATTACK:BLUNT:20000:4000:slap:slaps:flat:1250]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ATTACK:BLUNT:100:1000:strike:strikes:pommel:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
return {item=lines,weight=1}
end
end
angel_item_info.weapon.SWORD.gen.sword=make_sword_func("sword:swords")
angel_item_info.weapon.SWORD.gen.blade=make_sword_func("blade:blades")
angel_item_info.weapon.PIKE.gen.pike=function()
local lines={}
lines[#lines+1]="[NAME:pike:pikes]"
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.weapon.PIKE.adj).."]"
lines[#lines+1]="[SIZE:800]"
lines[#lines+1]="[SKILL:PIKE]"
lines[#lines+1]="[TWO_HANDED:77500]"
lines[#lines+1]="[MINIMUM_SIZE:62500]"
lines[#lines+1]="[MATERIAL_SIZE:4]"
lines[#lines+1]="[ATTACK:EDGE:20:12000:stab:stabs:NO_SUB:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ATTACK:BLUNT:10000:6000:bash:bashes:shaft:1250]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
return {item=lines,weight=1}
end
local function make_whip_func(name)
return function()
local lines={}
lines[#lines+1]="[NAME:"..name.."]"
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.weapon.WHIP.adj).."]"
lines[#lines+1]="[SIZE:300]"
lines[#lines+1]="[SKILL:WHIP]"
lines[#lines+1]="[TWO_HANDED:27500]"
lines[#lines+1]="[MINIMUM_SIZE:22500]"
lines[#lines+1]="[MATERIAL_SIZE:1]"
lines[#lines+1]="[ATTACK:BLUNT:1:10:lash:lashes:NO_SUB:5000]"
lines[#lines+1]="[ATTACK_PREPARE_AND_RECOVER:4:4]"
lines[#lines+1]="[ATTACK_FLAG_BAD_MULTIATTACK]"
return {item=lines,weight=1}
end
end
angel_item_info.weapon.WHIP.gen.whip=make_whip_func("whip:whips")
angel_item_info.weapon.WHIP.gen.lash=make_whip_func("lash:lashes")
angel_item_info.weapon.WHIP.gen.scourge=function()
local lines={}
lines[#lines+1]="[NAME:scourge:scourges]"
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.weapon.WHIP.adj).."]"
lines[#lines+1]="[SIZE:300]"
lines[#lines+1]="[SKILL:WHIP]"
lines[#lines+1]="[TWO_HANDED:27500]"
lines[#lines+1]="[MINIMUM_SIZE:22500]"
lines[#lines+1]="[MATERIAL_SIZE:1]"
lines[#lines+1]="[ATTACK:EDGE:10:50:lash:lashes:NO_SUB:2000]"
lines[#lines+1]="[ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ATTACK_FLAG_BAD_MULTIATTACK]"
return {item=lines,weight=1}
end
-- if you want your angels to use a totally different kind of arrow, you're totally allowed to do that,
-- which is why there's this whole arrow table
angel_item_info.ammo.ARROW.thin=function()
local lines={}
lines[#lines+1]="[NAME:arrow:arrows]"
lines[#lines+1]="[ADJECTIVE:thin]"
lines[#lines+1]="[CLASS:ARROW]"
lines[#lines+1]="[SIZE:150]"
lines[#lines+1]="[ATTACK:EDGE:4:1000:stab:stabs:NO_SUB:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
return {item=lines,weight=1}
end
angel_item_info.ammo.ARROW.jagged=function()
local lines={}
lines[#lines+1]="[NAME:arrow:arrows]"
lines[#lines+1]="[ADJECTIVE:jagged]"
lines[#lines+1]="[CLASS:ARROW]"
lines[#lines+1]="[SIZE:150]"
lines[#lines+1]="[ATTACK:EDGE:5:1000:stab:stabs:NO_SUB:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
return {item=lines,weight=1}
end
angel_item_info.ammo.ARROW.wide_headed=function()
local lines={}
lines[#lines+1]="[NAME:arrow:arrows]"
lines[#lines+1]="[ADJECTIVE:wide-headed]"
lines[#lines+1]="[CLASS:ARROW]"
lines[#lines+1]="[SIZE:150]"
lines[#lines+1]="[ATTACK:EDGE:100:1000:stab:stabs:NO_SUB:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
return {item=lines,weight=1}
end
angel_item_info.ammo.ARROW.cone_headed=function()
local lines={}
lines[#lines+1]="[NAME:arrow:arrows]"
lines[#lines+1]="[ADJECTIVE:cone-headed]"
lines[#lines+1]="[CLASS:ARROW]"
lines[#lines+1]="[SIZE:175]"
lines[#lines+1]="[ATTACK:EDGE:50:1000:stab:stabs:NO_SUB:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
return {item=lines,weight=1}
end
angel_item_info.weapon.BOW.gen.bow=function(i,prefix)
local lines={}
lines[#lines+1]="[NAME:bow:bows]"
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.weapon.BOW.adj).."]"
lines[#lines+1]="[SIZE:300]"
lines[#lines+1]="[SKILL:SWORD]"
lines[#lines+1]="[RANGED:BOW:ARROW]"
lines[#lines+1]="[SHOOT_FORCE:1000]"
lines[#lines+1]="[SHOOT_MAXVEL:200]"
lines[#lines+1]="[TWO_HANDED:0]"
lines[#lines+1]="[MINIMUM_SIZE:15000]"
lines[#lines+1]="[MATERIAL_SIZE:3]"
lines[#lines+1]="[ATTACK:BLUNT:10000:4000:bash:bashes:NO_SUB:1250]"
lines[#lines+1]="[ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ITEM_AMMO:"..prefix.."WP_A"..tostring(i).."]"
add_generated_info(lines)
table_merge(lines,generate_from_list(angel_item_info.ammo.ARROW).item)
return {item=lines,weight=1}
end
angel_item_info.ammo.BOLT.short=function()
local lines={}
lines[#lines+1]="[NAME:bolt:bolts]"
lines[#lines+1]="[ADJECTIVE:short]"
lines[#lines+1]="[CLASS:BOLT]"
lines[#lines+1]="[SIZE:125]"
lines[#lines+1]="[ATTACK:EDGE:5:500:stab:stabs:NO_SUB:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
return {item=lines,weight=1}
end
angel_item_info.ammo.BOLT.long=function()
local lines={}
lines[#lines+1]="[NAME:bolt:bolts]"
lines[#lines+1]="[ADJECTIVE:long]"
lines[#lines+1]="[CLASS:BOLT]"
lines[#lines+1]="[SIZE:175]"
lines[#lines+1]="[ATTACK:EDGE:5:1000:stab:stabs:NO_SUB:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
return {item=lines,weight=1}
end
angel_item_info.ammo.BOLT.jagged=function()
local lines={}
lines[#lines+1]="[NAME:bolt:bolts]"
lines[#lines+1]="[ADJECTIVE:jagged]"
lines[#lines+1]="[CLASS:BOLT]"
lines[#lines+1]="[SIZE:150]"
lines[#lines+1]="[ATTACK:EDGE:10:1000:stab:stabs:NO_SUB:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
return {item=lines,weight=1}
end
angel_item_info.ammo.BOLT.thin=function()
local lines={}
lines[#lines+1]="[NAME:bolt:bolts]"
lines[#lines+1]="[ADJECTIVE:thin]"
lines[#lines+1]="[CLASS:BOLT]"
lines[#lines+1]="[SIZE:150]"
lines[#lines+1]="[ATTACK:EDGE:3:1500:stab:stabs:NO_SUB:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
return {item=lines,weight=1}
end
angel_item_info.weapon.CROSSBOW.gen.crossbow=function(i,prefix)
local lines={}
lines[#lines+1]="[NAME:crossbow:crossbows]"
lines[#lines+1]="[SIZE:400]"
lines[#lines+1]="[SKILL:HAMMER]"
lines[#lines+1]="[RANGED:CROSSBOW:BOLT]"
lines[#lines+1]="[SHOOT_FORCE:1000]"
lines[#lines+1]="[SHOOT_MAXVEL:200]"
lines[#lines+1]="[TWO_HANDED:0]"
lines[#lines+1]="[MINIMUM_SIZE:15000]"
lines[#lines+1]="[MATERIAL_SIZE:3]"
lines[#lines+1]="[ATTACK:BLUNT:10000:4000:bash:bashes:NO_SUB:1250]"
lines[#lines+1]="[ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ITEM_AMMO:"..prefix.."WP_A"..tostring(i).."]"
add_generated_info(lines)
table_merge(lines,generate_from_list(angel_item_info.ammo.BOLT).item)
return {item=lines,weight=1}
end
angel_item_info.ammo.BLOWDART.narrow=function()
local lines={}
lines[#lines+1]="[NAME:blowdart:blowdarts]"
lines[#lines+1]="[ADJECTIVE:narrow]"
lines[#lines+1]="[CLASS:BLOWDART]"
lines[#lines+1]="[SIZE:20]"
lines[#lines+1]="[ATTACK:EDGE:1:50:stick:sticks:NO_SUB:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
return {item=lines,weight=1}
end
angel_item_info.ammo.BLOWDART.thick=function()
local lines={}
lines[#lines+1]="[NAME:blowdart:blowdarts]"
lines[#lines+1]="[ADJECTIVE:thick]"
lines[#lines+1]="[CLASS:BLOWDART]"
lines[#lines+1]="[SIZE:40]"
lines[#lines+1]="[ATTACK:EDGE:2:50:stick:sticks:NO_SUB:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
return {item=lines,weight=1}
end
angel_item_info.ammo.BLOWDART.tapered=function()
local lines={}
lines[#lines+1]="[NAME:blowdart:blowdarts]"
lines[#lines+1]="[ADJECTIVE:narrow]"
lines[#lines+1]="[CLASS:BLOWDART]"
lines[#lines+1]="[SIZE:30]"
lines[#lines+1]="[ATTACK:EDGE:1:50:stick:sticks:NO_SUB:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
return {item=lines,weight=1}
end
angel_item_info.ammo.BLOWDART.double=function()
local lines={}
lines[#lines+1]="[NAME:blowdart:blowdarts]"
lines[#lines+1]="[ADJECTIVE:double-tipped]"
lines[#lines+1]="[CLASS:BLOWDART]"
lines[#lines+1]="[SIZE:25]"
lines[#lines+1]="[ATTACK:EDGE:2:50:stick:sticks:NO_SUB:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
return {item=lines,weight=1}
end
angel_item_info.weapon.BLOWGUN.gen.blowgun=function(i,prefix)
local lines={}
lines[#lines+1]="[NAME:blowgun:blowguns]"
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.weapon.BOW.adj).."]"
lines[#lines+1]="[SIZE:150]"
lines[#lines+1]="[SKILL:SWORD]"
lines[#lines+1]="[RANGED:BLOWGUN:BLOWDART]"
lines[#lines+1]="[SHOOT_FORCE:100]"
lines[#lines+1]="[SHOOT_MAXVEL:1000]"
lines[#lines+1]="[TWO_HANDED:0]"
lines[#lines+1]="[MINIMUM_SIZE:5000]"
lines[#lines+1]="[MATERIAL_SIZE:2]"
lines[#lines+1]="[ATTACK:BLUNT:10000:4000:bash:bashes:NO_SUB:1250]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ITEM_AMMO:"..prefix.."WP_A"..tostring(i).."]"
add_generated_info(lines)
table_merge(lines,generate_from_list(angel_item_info.ammo.BLOWDART).item)
return {item=lines,weight=1}
end
angel_item_info.weapon.AXE.gen.battle=function(i,prefix)
local lines={}
lines[#lines+1]="[NAME:battle axe:battle axes]"
lines[#lines+1]="[SIZE:800]"
lines[#lines+1]="[SKILL:AXE]"
lines[#lines+1]="[TWO_HANDED:47500]"
lines[#lines+1]="[MINIMUM_SIZE:42500]"
lines[#lines+1]="[MATERIAL_SIZE:4]"
lines[#lines+1]="[ATTACK:EDGE:40000:6000:hack:hacks:NO_SUB:1250]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ATTACK:BLUNT:40000:6000:slap:slaps:flat:1250]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ATTACK:BLUNT:100:1000:strike:strikes:pommel:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.weapon.AXE.adj).."]"
return {item=lines,weight=1}
end
angel_item_info.weapon.AXE.gen.halberd=function(i,prefix)
local lines={}
lines[#lines+1]="[NAME:halberd:halberds]"
lines[#lines+1]="[SIZE:1200]"
lines[#lines+1]="[SKILL:AXE]"
lines[#lines+1]="[TWO_HANDED:77500]"
lines[#lines+1]="[MINIMUM_SIZE:62500]"
lines[#lines+1]="[MATERIAL_SIZE:5]"
lines[#lines+1]="[ATTACK:EDGE:20000:8000:slash:slashes:NO_SUB:1250]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ATTACK:EDGE:50:2000:stab:stabs:NO_SUB:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ATTACK:BLUNT:20000:6000:bash:bashes:shaft:1250]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.weapon.AXE.adj).."]"
return {item=lines,weight=1}
end
angel_item_info.weapon.AXE.gen.great=function(i,prefix)
local lines={}
lines[#lines+1]="[NAME:great axe:great axes]"
lines[#lines+1]="[SIZE:1300]"
lines[#lines+1]="[SKILL:AXE]"
lines[#lines+1]="[TWO_HANDED:77500]"
lines[#lines+1]="[MINIMUM_SIZE:62500]"
lines[#lines+1]="[MATERIAL_SIZE:5]"
lines[#lines+1]="[ATTACK:EDGE:60000:8000:hack:hacks:NO_SUB:1250]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ATTACK:BLUNT:60000:8000:slap:slaps:flat:1250]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ATTACK:BLUNT:100:1000:strike:strikes:pommel:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.weapon.AXE.adj).."]"
return {item=lines,weight=1}
end
angel_item_info.weapon.DAGGER.gen.dagger=function(i,prefix)
local lines={}
lines[#lines+1]="[NAME:dagger:daggers]"
lines[#lines+1]="[SIZE:200]"
lines[#lines+1]="[SKILL:DAGGER]"
lines[#lines+1]="[TWO_HANDED:27500]"
lines[#lines+1]="[MINIMUM_SIZE:5000]"
lines[#lines+1]="[MATERIAL_SIZE:1]"
lines[#lines+1]="[ATTACK:EDGE:1000:800:slash:slashes:NO_SUB:1250]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ATTACK:EDGE:5:1000:stab:stabs:NO_SUB:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ATTACK:BLUNT:20:600:strike:strikes:pommel:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.weapon.DAGGER.adj).."]"
return {item=lines,weight=1}
end
angel_item_info.weapon.DAGGER.gen.knife=function(i,prefix)
local lines={}
lines[#lines+1]="[NAME:knife:knives]"
lines[#lines+1]="[SIZE:200]"
lines[#lines+1]="[SKILL:DAGGER]"
lines[#lines+1]="[TWO_HANDED:27500]"
lines[#lines+1]="[MINIMUM_SIZE:5000]"
lines[#lines+1]="[MATERIAL_SIZE:1]"
lines[#lines+1]="[ATTACK:EDGE:1000:800:slash:slashes:NO_SUB:1250]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ATTACK:EDGE:5:1000:stab:stabs:NO_SUB:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.weapon.DAGGER.adj).."]"
return {item=lines,weight=1}
end
angel_item_info.weapon.DAGGER.gen.nail=function(i,prefix)
local lines={}
lines[#lines+1]="[NAME:nail:nails]"
lines[#lines+1]="[SIZE:200]"
lines[#lines+1]="[SKILL:DAGGER]"
lines[#lines+1]="[TWO_HANDED:27500]"
lines[#lines+1]="[MINIMUM_SIZE:5000]"
lines[#lines+1]="[MATERIAL_SIZE:1]"
lines[#lines+1]="[ATTACK:EDGE:5:1000:stab:stabs:NO_SUB:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.weapon.DAGGER.adj).."]"
return {item=lines,weight=1}
end
angel_item_info.weapon.DAGGER.gen.spike=function(i,prefix)
local lines={}
lines[#lines+1]="[NAME:spike:spikes]"
lines[#lines+1]="[SIZE:200]"
lines[#lines+1]="[SKILL:DAGGER]"
lines[#lines+1]="[TWO_HANDED:27500]"
lines[#lines+1]="[MINIMUM_SIZE:5000]"
lines[#lines+1]="[MATERIAL_SIZE:1]"
lines[#lines+1]="[ATTACK:EDGE:5:1000:stab:stabs:NO_SUB:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.weapon.DAGGER.adj).."]"
return {item=lines,weight=1}
end
angel_item_info.weapon.DAGGER.gen.prong=function(i,prefix)
local lines={}
lines[#lines+1]="[NAME:prong:prongs]"
lines[#lines+1]="[SIZE:200]"
lines[#lines+1]="[SKILL:DAGGER]"
lines[#lines+1]="[TWO_HANDED:27500]"
lines[#lines+1]="[MINIMUM_SIZE:5000]"
lines[#lines+1]="[MATERIAL_SIZE:1]"
lines[#lines+1]="[ATTACK:EDGE:5:1000:stab:stabs:NO_SUB:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.weapon.DAGGER.adj).."]"
return {item=lines,weight=1}
end
angel_item_info.weapon.MACE.gen.mace=function(i,prefix)
local lines={}
lines[#lines+1]="[NAME:mace:maces]"
lines[#lines+1]="[SIZE:800]"
lines[#lines+1]="[SKILL:MACE]"
lines[#lines+1]="[TWO_HANDED:37500]"
lines[#lines+1]="[MINIMUM_SIZE:32500]"
lines[#lines+1]="[MATERIAL_SIZE:3]"
lines[#lines+1]="[ATTACK:BLUNT:20:200:bash:bashes:NO_SUB:2000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.weapon.MACE.adj).."]"
return {item=lines,weight=1}
end
angel_item_info.weapon.HAMMER.gen.war_hammer=function(i,prefix)
local lines={}
lines[#lines+1]="[NAME:war hammer:war hammers]"
lines[#lines+1]="[SIZE:400]"
lines[#lines+1]="[SKILL:HAMMER]"
lines[#lines+1]="[TWO_HANDED:37500]"
lines[#lines+1]="[MINIMUM_SIZE:32500]"
lines[#lines+1]="[MATERIAL_SIZE:3]"
lines[#lines+1]="[ATTACK:BLUNT:10:200:bash:bashes:NO_SUB:2000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.weapon.HAMMER.adj).."]"
return {item=lines,weight=1}
end
angel_item_info.weapon.HAMMER.gen.maul=function(i,prefix)
local lines={}
lines[#lines+1]="[NAME:maul:mauls]"
lines[#lines+1]="[SIZE:1300]"
lines[#lines+1]="[SKILL:HAMMER]"
lines[#lines+1]="[TWO_HANDED:77500]"
lines[#lines+1]="[MINIMUM_SIZE:62500]"
lines[#lines+1]="[MATERIAL_SIZE:5]"
lines[#lines+1]="[ATTACK:BLUNT:100:6000:bash:bashes:NO_SUB:2000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.weapon.HAMMER.adj).."]"
return {item=lines,weight=1}
end
angel_item_info.weapon.SPEAR.gen.spear=function(i,prefix)
local lines={}
lines[#lines+1]="[NAME:spear:spears]"
lines[#lines+1]="[SIZE:400]"
lines[#lines+1]="[SKILL:SPEAR]"
lines[#lines+1]="[TWO_HANDED:47500]"
lines[#lines+1]="[MINIMUM_SIZE:5000]"
lines[#lines+1]="[MATERIAL_SIZE:3]"
lines[#lines+1]="[ATTACK:EDGE:20:10000:stab:stabs:NO_SUB:1000]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ATTACK:BLUNT:10000:6000:bash:bashes:shaft:1250]"
lines[#lines+1]=" [ATTACK_PREPARE_AND_RECOVER:3:3]"
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.weapon.SPEAR.adj).."]"
return {item=lines,weight=1}
end
angel_item_info.shield.gen.shield=function(i,prefix)
local lines={}
lines[#lines+1]="[NAME:shield:shields]"
lines[#lines+1]="[ARMORLEVEL:2]"
lines[#lines+1]="[BLOCKCHANCE:20]"
lines[#lines+1]="[UPSTEP:2]"
lines[#lines+1]="[MATERIAL_SIZE:4]"
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.shield.adj).."]"
return {item=lines,weight=1}
end
angel_item_gens={}
angel_item_gens.default=function(prefix,tokens)
local weapon_num=5
local shield_num=1
local a_pants_num=1
local c_pants_num=1
local a_armor_num=1
local c_armor_num=1
local a_helm_num=1
local c_helm_num=1
local a_gloves_num=1
local c_gloves_num=1
local a_shoes_num=1
local c_shoes_num=1
local lines={}
local tokens={
WEAPON={},
AMMO={},
SHIELD={},
ARMOR={},
HELM={},
GLOVES={},
SHOES={},
PANTS={}
}
for i=1,a_pants_num do
local tok=prefix.."APN"..tostring(i)
tokens.PANTS[#tokens.PANTS+1]=tok
lines[#lines+1]="[ITEM_PANTS:"..tok.."]"
add_generated_info(lines)
table_merge(lines,generate_from_list(angel_item_info.armor.pants.gen,i,prefix).item)
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.armor.pants.adj).."]"
lines[#lines+1]="[METAL]"
lines[#lines+1]="[HARD]"
end
for i=1,c_pants_num do
local tok=prefix.."CPN"..tostring(i)
tokens.PANTS[#tokens.PANTS+1]=tok
lines[#lines+1]="[ITEM_PANTS:"..tok.."]"
add_generated_info(lines)
table_merge(lines,generate_from_list(angel_item_info.clothing.pants.gen,i,prefix).item)
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.clothing.pants.adj).."]"
lines[#lines+1]="[SOFT]"
lines[#lines+1]="[STRUCTURAL_ELASTICITY_WOVEN_THREAD]"
end
for i=1,a_armor_num do
local tok=prefix.."AAR"..tostring(i)
tokens.ARMOR[#tokens.ARMOR+1]=tok
lines[#lines+1]="[ITEM_ARMOR:"..tok.."]"
add_generated_info(lines)
table_merge(lines,generate_from_list(angel_item_info.armor.armor.gen,i,prefix).item)
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.armor.armor.adj).."]"
lines[#lines+1]="[HARD]"
lines[#lines+1]="[METAL]"
end
for i=1,c_armor_num do
local tok=prefix.."CAR"..tostring(i)
tokens.ARMOR[#tokens.ARMOR+1]=tok
lines[#lines+1]="[ITEM_ARMOR:"..tok.."]"
add_generated_info(lines)
table_merge(lines,generate_from_list(angel_item_info.clothing.armor.gen,i,prefix).item)
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.clothing.armor.adj).."]"
lines[#lines+1]="[SOFT]"
lines[#lines+1]="[STRUCTURAL_ELASTICITY_WOVEN_THREAD]"
end
for i=1,a_helm_num do
local tok=prefix.."AHM"..tostring(i)
tokens.HELM[#tokens.HELM+1]=tok
lines[#lines+1]="[ITEM_HELM:"..tok.."]"
add_generated_info(lines)
table_merge(lines,generate_from_list(angel_item_info.armor.helm.gen,i,prefix).item)
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.armor.helm.adj).."]"
lines[#lines+1]="[HARD]"
lines[#lines+1]="[METAL]"
end
for i=1,c_helm_num do
local tok=prefix.."CHM"..tostring(i)
tokens.HELM[#tokens.HELM+1]=tok
lines[#lines+1]="[ITEM_HELM:"..tok.."]"
add_generated_info(lines)
table_merge(lines,generate_from_list(angel_item_info.clothing.helm.gen,i,prefix).item)
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.clothing.helm.adj).."]"
lines[#lines+1]="[SOFT]"
lines[#lines+1]="[STRUCTURAL_ELASTICITY_WOVEN_THREAD]"
end
for i=1,a_gloves_num do
local tok=prefix.."AGL"..tostring(i)
tokens.GLOVES[#tokens.GLOVES+1]=tok
lines[#lines+1]="[ITEM_GLOVES:"..tok.."]"
add_generated_info(lines)
table_merge(lines,generate_from_list(angel_item_info.armor.gloves.gen,i,prefix).item)
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.armor.gloves.adj).."]"
lines[#lines+1]="[METAL]"
lines[#lines+1]="[HARD]"
end
for i=1,c_gloves_num do
local tok=prefix.."CGL"..tostring(i)
tokens.GLOVES[#tokens.GLOVES+1]=tok
lines[#lines+1]="[ITEM_GLOVES:"..tok.."]"
add_generated_info(lines)
table_merge(lines,generate_from_list(angel_item_info.clothing.gloves.gen,i,prefix).item)
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.clothing.gloves.adj).."]"
lines[#lines+1]="[SOFT]"
lines[#lines+1]="[STRUCTURAL_ELASTICITY_WOVEN_THREAD]"
end
for i=1,a_shoes_num do
local tok=prefix.."ASH"..tostring(i)
tokens.SHOES[#tokens.SHOES+1]=tok
lines[#lines+1]="[ITEM_SHOES:"..tok.."]"
add_generated_info(lines)
table_merge(lines,generate_from_list(angel_item_info.armor.shoes.gen,i,prefix).item)
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.armor.shoes.adj).."]"
lines[#lines+1]="[METAL]"
lines[#lines+1]="[HARD]"
end
for i=1,c_shoes_num do
local tok=prefix.."CSH"..tostring(i)
tokens.SHOES[#tokens.SHOES+1]=tok
lines[#lines+1]="[ITEM_SHOES:"..tok.."]"
add_generated_info(lines)
table_merge(lines,generate_from_list(angel_item_info.clothing.shoes.gen,i,prefix).item)
lines[#lines+1]="[ADJECTIVE:"..pick_random(angel_item_info.clothing.shoes.adj).."]"
lines[#lines+1]="[SOFT]"
lines[#lines+1]="[STRUCTURAL_ELASTICITY_WOVEN_THREAD]"
end
local available_skills={
"PIKE",
"WHIP",
"BOW",
"BLOWGUN",
"AXE",
"SWORD",
"DAGGER",
"MACE",
"HAMMER",
"SPEAR",
"CROSSBOW"
}
for i=1,weapon_num do
local tok=prefix.."WP"..tostring(i)
tokens.WEAPON[#tokens.WEAPON+1]=tok
lines[#lines+1]="[ITEM_WEAPON:"..tok.."]"
add_generated_info(lines)
local skill=pick_random_no_replace(available_skills)
table_merge(lines,generate_from_list(angel_item_info.weapon[skill].gen,i,prefix).item)
end
for i=1,shield_num do
local tok=prefix.."SH"..tostring(i)
tokens.SHIELD[#tokens.SHIELD+1]=tok
lines[#lines+1]="[ITEM_SHIELD:"..tok.."]"
add_generated_info(lines)
table_merge(lines,generate_from_list(angel_item_info.shield.gen,i,prefix).item)
end
return {lines=lines,weight=1,tokens=tokens}
end