diff --git a/game/engines/default/engine/Store.lua b/game/engines/default/engine/Store.lua index 9e37e55dfab8fb3b7b4fb5b7f76481af22b31c04..ed861d2a5cfa260a8a86fcddddc422e01ca0cdbc 100644 --- a/game/engines/default/engine/Store.lua +++ b/game/engines/default/engine/Store.lua @@ -70,7 +70,7 @@ function _M:loadup(level, zone, force_nb) local i = 1 local rngfill = force_nb or (rng.range(s.min_fill, s.max_fill) - #inven) while i <= rngfill do - local filter = util.getval(s.filters) + local filter = table.clone(util.getval(s.filters)) local e if not filter.defined then e = zone:makeEntity(level, "object", filter, nil, true) else e = zone:makeEntityByName(level, "object", filter.defined) end @@ -90,7 +90,7 @@ function _M:loadup(level, zone, force_nb) end for i = 1, #(s.fixed or {}) do - local filter = s.fixed[i] + local filter = table.clone(s.fixed[i]) local e if not filter.defined then e = zone:makeEntity(level, "object", filter, nil, true) else e = zone:makeEntityByName(level, "object", filter.defined) end diff --git a/game/modules/tome/data/general/grids/mountain.lua b/game/modules/tome/data/general/grids/mountain.lua index c2aa42748cb65bb053db00998852f6e81cde54d7..e1c6a9f41ae8ae6bed390f33018c34c34d93a864 100644 --- a/game/modules/tome/data/general/grids/mountain.lua +++ b/game/modules/tome/data/general/grids/mountain.lua @@ -105,8 +105,45 @@ newEntity{ block_sense = true, block_esp = true, air_level = -20, + nice_tiler = { method="mountain3d", + base={"HARDMOUNTAIN_5", 100, 1, 6}, + wall8={"HARDMOUNTAIN_8", 100, 1, 6}, wall87={"HARDMOUNTAIN_8", 100, 1, 6}, wall88={"HARDMOUNTAIN_8", 100, 1, 6}, wall89={"HARDMOUNTAIN_8", 100, 1, 6}, + wall2={"HARDMOUNTAIN_2", 100, 1, 6}, wall21={"HARDMOUNTAIN_2", 100, 1, 6}, wall22={"HARDMOUNTAIN_2", 100, 1, 6}, wall23={"HARDMOUNTAIN_2", 100, 1, 6}, + wall4={"HARDMOUNTAIN_4", 100, 1, 6}, wall47={"HARDMOUNTAIN_4", 100, 1, 6}, wall44={"HARDMOUNTAIN_4", 100, 1, 6}, wall41={"HARDMOUNTAIN_4", 100, 1, 6}, + wall6={"HARDMOUNTAIN_6", 100, 1, 6}, wall69={"HARDMOUNTAIN_6", 100, 1, 6}, wall66={"HARDMOUNTAIN_6", 100, 1, 6}, wall63={"HARDMOUNTAIN_6", 100, 1, 6}, + wall1={"HARDMOUNTAIN_1", 100, 1, 6}, wall3={"HARDMOUNTAIN_3", 100, 1, 6}, wall7={"HARDMOUNTAIN_7", 100, 1, 6}, wall9={"HARDMOUNTAIN_9", 100, 1, 6}, + wall11={"HARDMOUNTAIN_1", 100, 1, 6}, wall33={"HARDMOUNTAIN_3", 100, 1, 6}, wall77={"HARDMOUNTAIN_7", 100, 1, 6}, wall98={"HARDMOUNTAIN_9", 100, 1, 6}, + inner_wall1={"HARDMOUNTAIN_1I", 100, 1, 6}, inner_wall3={"HARDMOUNTAIN_3I", 100, 1, 6}, inner_wall7={"HARDMOUNTAIN_7I", 100, 1, 6}, inner_wall9={"HARDMOUNTAIN_9I", 100, 1, 6}, + pillar={"HARDMOUNTAIN_SINGLE", 100, 1, 6}, + pillar4={"HARDMOUNTAIN_PILLAR4", 100, 1, 6}, pillar6={"HARDMOUNTAIN_PILLAR6", 100, 1, 6}, pillar2={"HARDMOUNTAIN_PILLAR2", 100, 1, 6}, pillar8={"HARDMOUNTAIN_PILLAR8", 100, 1, 6}, + pillar82={"HARDMOUNTAIN_PILLAR82", 100, 1, 6}, pillar46={"HARDMOUNTAIN_PILLAR46", 100, 1, 6}, + }, } +for i = 1, 6 do +newEntity{base="HARDMOUNTAIN_WALL", define_as = "HARDMOUNTAIN_5"..i, image="terrain/mountain5_"..i..".png"} +newEntity{base="HARDMOUNTAIN_WALL", define_as = "HARDMOUNTAIN_8"..i, image="terrain/mountain5_"..i..".png", add_displays = {class.new{z=18, display_y=-1, image="terrain/mountain8.png"}}} +newEntity{base="HARDMOUNTAIN_WALL", define_as = "HARDMOUNTAIN_2"..i, image="terrain/mountain5_"..i..".png", add_displays = {class.new{display_y=1, image="terrain/mountain2.png"}}} +newEntity{base="HARDMOUNTAIN_WALL", define_as = "HARDMOUNTAIN_4"..i, image="terrain/mountain5_"..i..".png", add_displays = {class.new{display_x=-1, image="terrain/mountain4.png"}}} +newEntity{base="HARDMOUNTAIN_WALL", define_as = "HARDMOUNTAIN_6"..i, image="terrain/mountain5_"..i..".png", add_displays = {class.new{display_x=1, image="terrain/mountain6.png"}}} +newEntity{base="HARDMOUNTAIN_WALL", define_as = "HARDMOUNTAIN_7"..i, image="terrain/mountain5_"..i..".png", add_displays = {class.new{z=18, display_y=-1, display_x=-1, image="terrain/mountain7.png", add_mos = {{display_y=-1, image="terrain/mountain8.png"}, {display_x=-1, image="terrain/mountain4.png"}}}}} +newEntity{base="HARDMOUNTAIN_WALL", define_as = "HARDMOUNTAIN_9"..i, image="terrain/mountain5_"..i..".png", add_displays = {class.new{z=18, display_y=-1, display_x=1, image="terrain/mountain9.png", add_mos = {{display_y=-1, image="terrain/mountain8.png"}, {display_x=1, image="terrain/mountain6.png"}}}}} +newEntity{base="HARDMOUNTAIN_WALL", define_as = "HARDMOUNTAIN_1"..i, image="terrain/mountain5_"..i..".png", add_displays = {class.new{display_y=1, display_x=-1, image="terrain/mountain1.png", add_mos = {{display_y=1, image="terrain/mountain2.png"}, {display_x=-1, image="terrain/mountain4.png"}}}}} +newEntity{base="HARDMOUNTAIN_WALL", define_as = "HARDMOUNTAIN_3"..i, image="terrain/mountain5_"..i..".png", add_displays = {class.new{display_y=1, display_x=1, image="terrain/mountain3.png", add_mos = {{display_y=1, image="terrain/mountain2.png"}, {display_x=1, image="terrain/mountain6.png"}}}}} +newEntity{base="HARDMOUNTAIN_WALL", define_as = "HARDMOUNTAIN_1I"..i, image="terrain/mountain5_"..i..".png", add_displays = {class.new{z=18, display_y=-1, display_x=1, image="terrain/mountain1i.png"}}} +newEntity{base="HARDMOUNTAIN_WALL", define_as = "HARDMOUNTAIN_3I"..i, image="terrain/mountain5_"..i..".png", add_displays = {class.new{z=18, display_y=-1, display_x=-1, image="terrain/mountain3i.png"}}} +newEntity{base="HARDMOUNTAIN_WALL", define_as = "HARDMOUNTAIN_7I"..i, image="terrain/mountain5_"..i..".png", add_displays = {class.new{display_y=1, display_x=1, image="terrain/mountain7i.png"}}} +newEntity{base="HARDMOUNTAIN_WALL", define_as = "HARDMOUNTAIN_9I"..i, image="terrain/mountain5_"..i..".png", add_displays = {class.new{display_y=1, display_x=-1, image="terrain/mountain9i.png"}}} +newEntity{base="HARDMOUNTAIN_WALL", define_as = "HARDMOUNTAIN_SINGLE"..i, image="terrain/mountain5_"..i..".png", add_displays = {class.new{z=18, display_y=-1, display_x=-1, image="terrain/mountain7.png", add_mos = {{display_y=-1, image="terrain/mountain8.png"}, {display_x=1, display_y=-1, image="terrain/mountain9.png"}}}, class.new{display_y=1, display_x=-1, image="terrain/mountain1.png", add_mos = {{display_y=1, image="terrain/mountain2.png"}, {display_x=1, display_y=1, image="terrain/mountain3.png"}, {display_x=-1, image="terrain/mountain4.png"}, {display_x=1, image="terrain/mountain6.png"}}}}} +newEntity{base="HARDMOUNTAIN_WALL", define_as = "HARDMOUNTAIN_PILLAR4"..i, image="terrain/mountain5_"..i..".png", add_displays = {class.new{z=18, display_y=-1, display_x=-1, image="terrain/mountain7.png", add_mos = {{display_y=-1, image="terrain/mountain8.png"}}}, class.new{display_y=1, display_x=-1, image="terrain/mountain1.png", add_mos = {{display_y=1, image="terrain/mountain2.png"}, {display_x=-1, image="terrain/mountain4.png"}}}}} +newEntity{base="HARDMOUNTAIN_WALL", define_as = "HARDMOUNTAIN_PILLAR6"..i, image="terrain/mountain5_"..i..".png", add_displays = {class.new{z=18, display_y=-1, display_x=1, image="terrain/mountain9.png", add_mos = {{display_y=-1, image="terrain/mountain8.png"}}}, class.new{display_y=1, display_x=1, image="terrain/mountain3.png", add_mos = {{display_y=1, image="terrain/mountain2.png"}, {display_x=1, image="terrain/mountain6.png"}}}}} +newEntity{base="HARDMOUNTAIN_WALL", define_as = "HARDMOUNTAIN_PILLAR46"..i, image="terrain/mountain5_"..i..".png", add_displays = {class.new{z=18, display_y=-1, image="terrain/mountain8.png"}, class.new{display_y=1, image="terrain/mountain2.png"}}} +newEntity{base="HARDMOUNTAIN_WALL", define_as = "HARDMOUNTAIN_PILLAR8"..i, image="terrain/mountain5_"..i..".png", add_displays = {class.new{z=18, display_y=-1, display_x=-1, image="terrain/mountain7.png", add_mos = {{display_y=-1, image="terrain/mountain8.png"}, {display_x=1, display_y=-1, image="terrain/mountain9.png"}}}, class.new{display_x=-1, image="terrain/mountain4.png", add_mos = {{display_x=1, image="terrain/mountain6.png"}}}}} +newEntity{base="HARDMOUNTAIN_WALL", define_as = "HARDMOUNTAIN_PILLAR2"..i, image="terrain/mountain5_"..i..".png", add_displays = {class.new{z=18, display_y=1, display_x=-1, image="terrain/mountain1.png", add_mos = {{display_y=1, image="terrain/mountain2.png"}, {display_x=1, display_y=1, image="terrain/mountain3.png"}}}, class.new{display_x=-1, image="terrain/mountain4.png", add_mos = {{display_x=1, image="terrain/mountain6.png"}}}}} +newEntity{base="HARDMOUNTAIN_WALL", define_as = "HARDMOUNTAIN_PILLAR82"..i, image="terrain/mountain5_"..i..".png", add_displays = {class.new{display_x=-1, image="terrain/mountain4.png", add_mos = {{display_x=1, image="terrain/mountain6.png"}}}}} +end + + ----------------------------------------- -- Rocky exits ----------------------------------------- diff --git a/game/modules/tome/data/general/stores/basic.lua b/game/modules/tome/data/general/stores/basic.lua index 4cdadb2e12a54d74d32bd41bce987fb36b150667..108f9fa43cc99e234d35b08f2d326ddb4282eaf8 100644 --- a/game/modules/tome/data/general/stores/basic.lua +++ b/game/modules/tome/data/general/stores/basic.lua @@ -18,30 +18,26 @@ -- darkgod@te4.org newEntity{ - define_as = "ARMOR", + define_as = "HEAVY_ARMOR", name = "heavy armour smith", display = '2', color=colors.UMBER, store = { purse = 25, empty_before_restock = false, - min_fill = 10, - max_fill = 20, - filters = function() - return {type="armor", subtype="heavy", id=true, tome_drops="store"} - return {type="armor", subtype="massive", id=true, tome_drops="store"} - end, + filters = { + {type="armor", subtype="heavy", id=true, tome_drops="store"}, + {type="armor", subtype="massive", id=true, tome_drops="store"}, + }, }, } newEntity{ - define_as = "ARMOR", + define_as = "LIGHT_ARMOR", name = "tanner", display = '2', color=colors.LIGHT_UMBER, store = { purse = 25, empty_before_restock = false, - min_fill = 10, - max_fill = 20, filters = function() return {type="armor", subtype="light", id=true, tome_drops="store"} end, @@ -49,14 +45,12 @@ newEntity{ } newEntity{ - define_as = "ARMOR", + define_as = "CLOTH_ARMOR", name = "tailor", display = '2', color=colors.WHITE, store = { purse = 25, empty_before_restock = false, - min_fill = 10, - max_fill = 20, filters = function() return {type="armor", subtype="cloth", id=true, tome_drops="store"} end, @@ -64,16 +58,68 @@ newEntity{ } newEntity{ - define_as = "WEAPON", - name = "weapon smith", + define_as = "SWORD_WEAPON", + name = "sword smith", + display = '3', color=colors.UMBER, + store = { + purse = 25, + empty_before_restock = false, + filters = { + {type="weapon", subtype="greatsword", id=true, tome_drops="store"}, + {type="weapon", subtype="longsword", id=true, tome_drops="store"}, + }, + }, +} + +newEntity{ + define_as = "AXE_WEAPON", + name = "axe smith", + display = '3', color=colors.UMBER, + store = { + purse = 25, + empty_before_restock = false, + filters = { + {type="weapon", subtype="waraxe", id=true, tome_drops="store"}, + {type="weapon", subtype="battleaxe", id=true, tome_drops="store"}, + }, + }, +} + +newEntity{ + define_as = "MAUL_WEAPON", + name = "mace smith", + display = '3', color=colors.UMBER, + store = { + purse = 25, + empty_before_restock = false, + filters = { + {type="weapon", subtype="greatmaul", id=true, tome_drops="store"}, + {type="weapon", subtype="mace", id=true, tome_drops="store"}, + }, + }, +} + +newEntity{ + define_as = "KNIFE_WEAPON", + name = "knife smith", display = '3', color=colors.UMBER, store = { purse = 25, empty_before_restock = false, - min_fill = 10, - max_fill = 20, filters = function() - return {type="weapon", subtype="sword", id=true, tome_drops="store"} + return {type="weapon", subtype="dagger", id=true, tome_drops="store"} + end, + }, +} +newEntity{ + define_as = "STAFF_WEAPON", + name = "staff carver", + display = '3', color=colors.RED, + store = { + purse = 25, + empty_before_restock = false, + filters = function() + return {type="weapon", subtype="staff", id=true, tome_drops="store"} end, }, } @@ -85,8 +131,6 @@ newEntity{ store = { purse = 10, empty_before_restock = false, - min_fill = 4, - max_fill = 7, filters = { {type="scroll", subtype="infusion", id=true}, }, @@ -100,8 +144,6 @@ newEntity{ store = { purse = 10, empty_before_restock = false, - min_fill = 4, - max_fill = 7, filters = { {type="scroll", subtype="rune", id=true}, }, @@ -115,8 +157,6 @@ newEntity{ store = { purse = 30, empty_before_restock = false, - min_fill = 20, - max_fill = 30, filters = { {type="gem", id=true}, }, @@ -134,8 +174,6 @@ newEntity{ store = { purse = 25, empty_before_restock = false, - min_fill = 15, - max_fill = 25, filters = function() return rng.table{ {type="weapon", subtype="staff", id=true, tome_drops="store"}, @@ -154,8 +192,6 @@ newEntity{ store = { purse = 20, empty_before_restock = false, - min_fill = 15, - max_fill = 25, filters = { {type="jewelry", id=true}, }, @@ -177,8 +213,6 @@ newEntity{ store = { purse = 10, empty_before_restock = false, - min_fill = 5, - max_fill = 9, filters = { {type="scroll", subtype="rune", id=true}, }, @@ -199,8 +233,6 @@ newEntity{ purse = 35, empty_before_restock = false, sell_percent = 240, - min_fill = 10, - max_fill = 20, filters = function() return {id=true, ignore={type="money"}, add_levels=10, tome_drops="boss"} end, @@ -214,8 +246,6 @@ newEntity{ store = { purse = 5, empty_before_restock = false, - min_fill = 40, - max_fill = 40, filters = { {id=true, defined="FOUNDATION_NOTE1"}, {id=true, defined="FOUNDATION_NOTE2"}, @@ -237,8 +267,6 @@ newEntity{ store = { purse = 5, empty_before_restock = false, - min_fill = 40, - max_fill = 40, filters = { {id=true, defined="ZIGUR_HISTORY"}, }, @@ -246,17 +274,86 @@ newEntity{ } newEntity{ - define_as = "ZIGUR_ARMOR", + define_as = "ZIGUR_HARMOR", name = "armour smith", display = '2', color=colors.UMBER, store = { purse = 25, empty_before_restock = false, - min_fill = 20, - max_fill = 30, + filters = { + {type="armor", subtype="heavy", id=true, tome_drops="store"}, + {type="armor", subtype="massive", id=true, tome_drops="store"}, + }, + post_filter = function(e) + if e.power_source and e.power_source.arcane then return false end + return true + end, + }, +} +newEntity{ + define_as = "ZIGUR_LARMOR", + name = "tanner", + display = '2', color=colors.UMBER, + store = { + purse = 25, + empty_before_restock = false, filters = function() - return {type="armor", id=true, tome_drops="store"} + return {type="armor", subtype="light", id=true, tome_drops="store"} + end, + post_filter = function(e) + if e.power_source and e.power_source.arcane then return false end + return true + end, + }, +} + +newEntity{ + define_as = "ZIGUR_SWORD_WEAPON", + name = "sword smith", + display = '3', color=colors.UMBER, + store = { + purse = 25, + empty_before_restock = false, + filters = { + {type="weapon", subtype="greatsword", id=true, tome_drops="store"}, + {type="weapon", subtype="longsword", id=true, tome_drops="store"}, + }, + post_filter = function(e) + if e.power_source and e.power_source.arcane then return false end + return true end, + }, +} + +newEntity{ + define_as = "ZIGUR_AXE_WEAPON", + name = "axe smith", + display = '3', color=colors.UMBER, + store = { + purse = 25, + empty_before_restock = false, + filters = { + {type="weapon", subtype="waraxe", id=true, tome_drops="store"}, + {type="weapon", subtype="battleaxe", id=true, tome_drops="store"}, + }, + post_filter = function(e) + if e.power_source and e.power_source.arcane then return false end + return true + end, + }, +} + +newEntity{ + define_as = "ZIGUR_MACE_WEAPON", + name = "mace smith", + display = '3', color=colors.UMBER, + store = { + purse = 25, + empty_before_restock = false, + filters = { + {type="weapon", subtype="greatmaul", id=true, tome_drops="store"}, + {type="weapon", subtype="mace", id=true, tome_drops="store"}, + }, post_filter = function(e) if e.power_source and e.power_source.arcane then return false end return true @@ -265,16 +362,14 @@ newEntity{ } newEntity{ - define_as = "ZIGUR_WEAPON", - name = "weapon smith", + define_as = "ZIGUR_KNIFE_WEAPON", + name = "knife smith", display = '3', color=colors.UMBER, store = { purse = 25, empty_before_restock = false, - min_fill = 20, - max_fill = 30, filters = function() - return {type="weapon", id=true, tome_drops="store"} + return {type="weapon", subtype="dagger", id=true, tome_drops="store"} end, post_filter = function(e) if e.power_source and e.power_source.arcane then return false end diff --git a/game/modules/tome/data/maps/towns/derth.lua b/game/modules/tome/data/maps/towns/derth.lua index b0ff77eafdb3eec8c67ceeeb296a840b243c3186..0bf49301472b14f8470b7f9da48782c707ea7260 100644 --- a/game/modules/tome/data/maps/towns/derth.lua +++ b/game/modules/tome/data/maps/towns/derth.lua @@ -33,8 +33,10 @@ defineTile(":", "FLOOR") defineTile("&", "POST") defineTile("'", "DOOR") -defineTile('2', "HARDWALL", nil, nil, "WEAPON_STORE") -defineTile('3', "HARDWALL", nil, nil, "ARMOR_STORE") +defineTile('2', "HARDWALL", nil, nil, "SWORD_WEAPON_STORE") +defineTile('5', "HARDWALL", nil, nil, "KNIFE_WEAPON_STORE") +defineTile('3', "HARDWALL", nil, nil, "HEAVY_ARMOR_STORE") +defineTile('1', "HARDWALL", nil, nil, "LIGHT_ARMOR_STORE") defineTile('4', "HARDWALL", nil, nil, "HERBALIST") defineTile('9', "HARDWALL", nil, nil, "JEWELRY") @@ -98,14 +100,14 @@ ttttttt~~~tt.__.........._......_.......t~~~tttttt ttttttt~~~t.._.#####....._......_.###...t~~~tttttt ttttttt~~~t.._.#####....._.####._.###...t~~~tttttt ttttttt~~~t.._.#####....._.####._.###...t~~~tttttt -ttttttt~~~t.._.###2#....___####._.###...t~~~tttttt +ttttttt~~~t.._.#5#2#....___####._.###...t~~~tttttt ttttttt~~~t.._______..___._.._.._.###...t~~~tttttt ttttttt~~~t......._..__..._______.###..tt~~~tttttt ttttttt~~~tt......_.._.........._.._...t~~~ttttttt tttttttt~~~tt.....____.####.....____...t~~~ttttttt ttttttttt~~~tt......_..####....._......t~~~ttttttt ttttttttt~~~~tt.....__.####....._.....tt~~~ttttttt -tttttttttt~~~~ttt....__##3#....._.....t~~~tttttttt +tttttttttt~~~~ttt....__#13#....._.....t~~~tttttttt tttttttttttt~~~~tt....___________...tt~~~~tttttttt ttttttttttttt~~~~ttttt............ttt~~~~ttttttttt tttttttttttttt~~~~~~~ttttttt...tttt~~~~~~ttttttttt diff --git a/game/modules/tome/data/maps/towns/elvala.lua b/game/modules/tome/data/maps/towns/elvala.lua index 8992ac1bda9ec7b6de4f06a6177bc60846e2adbf..24790726dbc8f4e8f823b0fd02071d8f3b866c38 100644 --- a/game/modules/tome/data/maps/towns/elvala.lua +++ b/game/modules/tome/data/maps/towns/elvala.lua @@ -30,8 +30,10 @@ defineTile("_", "OLD_FLOOR") defineTile(".", "GRASS") defineTile("t", {"TREE","TREE2","TREE3","TREE4","TREE5","TREE6","TREE7","TREE8","TREE9","TREE10","TREE11","TREE12","TREE13","TREE14","TREE15","TREE16","TREE17","TREE18","TREE19","TREE20"}) -defineTile("2", "HARDWALL", nil, nil, "ARMOR_STORE") -defineTile("3", "HARDWALL", nil, nil, "WEAPON_STORE") +defineTile("1", "HARDWALL", nil, nil, "CLOTH_ARMOR_STORE") +defineTile("2", "HARDWALL", nil, nil, "LIGHT_ARMOR_STORE") +defineTile("3", "HARDWALL", nil, nil, "STAFF_WEAPON_STORE") +defineTile("4", "HARDWALL", nil, nil, "SWORD_WEAPON_STORE") defineTile("5", "HARDWALL", nil, nil, "RUNEMASTER") -- addSpot section @@ -59,7 +61,7 @@ return [[ ~~...............##___________##......ttt..~~~~~~~ ~~....ttt........#__#########__#...........~~~~~~~ ~....ttt.........#_###########_#...........~~~~~~~ -~...ttt.....######__#5#######__######.......~~~~~~ +~...ttt.....######__#5#####1#__######.......~~~~~~ ~...t....####_______________________####......~~~~ ~......###_______#_____..._____#_______###.....~~~ ~.....##________###___.....___###________##....~~~ @@ -71,7 +73,7 @@ return [[ ~~.......####_______________________####........~~ ~~..........######__#########__######..........~~~ ~~...............#_###########_#...............~~~ -~.....t.tt.......#__#########__#...............~~~ +~.....t.tt.......#__####4####__#...............~~~ ~....ttttt.......##___________##..............~~~~ ~....ttttt........#___________#......tt.......~~~~ ~~...tttt.....t...#___________#.....tttt.....~~~~~ diff --git a/game/modules/tome/data/maps/towns/iron-council.lua b/game/modules/tome/data/maps/towns/iron-council.lua index 41d964f80f529f715610de16ed7ee804d587ef84..e8649e769cbc66460a0c7979187cf50d349b12d2 100644 --- a/game/modules/tome/data/maps/towns/iron-council.lua +++ b/game/modules/tome/data/maps/towns/iron-council.lua @@ -31,8 +31,12 @@ defineTile(".", "OLD_FLOOR") defineTile("s", "STATUE") defineTile("R", "ESCAPE_REKNOR") -defineTile("2", "HARDWALL", nil, nil, "ARMOR_STORE") -defineTile("3", "HARDWALL", nil, nil, "WEAPON_STORE") +defineTile("1", "HARDWALL", nil, nil, "HEAVY_ARMOR_STORE") +defineTile("2", "HARDWALL", nil, nil, "LIGHT_ARMOR_STORE") +defineTile("7", "HARDWALL", nil, nil, "CLOTH_ARMOR_STORE") +defineTile("3", "HARDWALL", nil, nil, "AXE_WEAPON_STORE") +defineTile("4", "HARDWALL", nil, nil, "MACE_WEAPON_STORE") +defineTile("6", "HARDWALL", nil, nil, "SWORD_WEAPON_STORE") defineTile("5", "HARDWALL", nil, nil, "RUNIC_STORE") defineTile("9", "HARDWALL", nil, nil, "GEM_STORE") @@ -53,12 +57,12 @@ return [[ ####.......####........####......####........##### ####.......####........####......####.........#### ####.......####........####......####.........#### -####........###........2##3......###..........#### +####........#1#........2##3......#4#..........#### ####....................##....................#### ####...###............................###.....#### ####...####..........................####.....#### ####...####..........................####.....#### -####...####..........................####.....#### +####...##7#..........................#6##.....#### ####.............s..............s.............#### ####..........................................#### ####..........................................#### diff --git a/game/modules/tome/data/zones/town-derth/traps.lua b/game/modules/tome/data/zones/town-derth/traps.lua index 5eaf5910e4bc4a08daaea4b15fe787eb9edb64d9..4f18894d922bbd1fe96b7edc291f8c7055a48867 100644 --- a/game/modules/tome/data/zones/town-derth/traps.lua +++ b/game/modules/tome/data/zones/town-derth/traps.lua @@ -19,16 +19,28 @@ load("/data/general/traps/store.lua") -newEntity{ base = "BASE_STORE", define_as = "ARMOR_STORE", +newEntity{ base = "BASE_STORE", define_as = "HEAVY_ARMOR_STORE", name="Armoury", display='2', color=colors.UMBER, - resolvers.store("ARMOR", "allied-kingdoms"), + resolvers.store("HEAVY_ARMOR", "allied-kingdoms"), } -newEntity{ base = "BASE_STORE", define_as = "WEAPON_STORE", - name="Weapon Store", +newEntity{ base = "BASE_STORE", define_as = "LIGHT_ARMOR_STORE", + name="Tanner", + display='2', color=colors.UMBER, + resolvers.store("LIGHT_ARMOR", "allied-kingdoms"), +} + +newEntity{ base = "BASE_STORE", define_as = "SWORD_WEAPON_STORE", + name="Swordsmith", + display='3', color=colors.UMBER, + resolvers.store("SWORD_WEAPON", "allied-kingdoms"), +} + +newEntity{ base = "BASE_STORE", define_as = "KNIFE_WEAPON_STORE", + name="Knives and daggers", display='3', color=colors.UMBER, - resolvers.store("WEAPON", "allied-kingdoms"), + resolvers.store("KNIFE_WEAPON", "allied-kingdoms"), } newEntity{ base = "BASE_STORE", define_as = "HERBALIST", diff --git a/game/modules/tome/data/zones/town-elvala/traps.lua b/game/modules/tome/data/zones/town-elvala/traps.lua index 11103896472bf258b50528a88386f36052f30f43..49517b3e6f0fb05b9e3859a5e73e61ffb7c6ec47 100644 --- a/game/modules/tome/data/zones/town-elvala/traps.lua +++ b/game/modules/tome/data/zones/town-elvala/traps.lua @@ -19,16 +19,26 @@ load("/data/general/traps/store.lua") -newEntity{ base = "BASE_STORE", define_as = "ARMOR_STORE", - name="Armoury", +newEntity{ base = "BASE_STORE", define_as = "CLOTH_ARMOR_STORE", + name="Tailor", + display='2', color=colors.RED, + resolvers.store("CLOTH_ARMOR"), +} +newEntity{ base = "BASE_STORE", define_as = "LIGHT_ARMOR_STORE", + name="Tanner", display='2', color=colors.UMBER, - resolvers.store("ARMOR"), + resolvers.store("LIGHT_ARMOR"), } -newEntity{ base = "BASE_STORE", define_as = "WEAPON_STORE", - name="Weapon Store", +newEntity{ base = "BASE_STORE", define_as = "SWORD_WEAPON_STORE", + name="Swordsmith", display='3', color=colors.UMBER, - resolvers.store("WEAPON"), + resolvers.store("SWORD_WEAPON"), +} +newEntity{ base = "BASE_STORE", define_as = "STAFF_WEAPON_STORE", + name="Staff carver", + display='3', color=colors.RED, + resolvers.store("STAFF_WEAPON"), } newEntity{ base = "BASE_STORE", define_as = "RUNEMASTER", diff --git a/game/modules/tome/data/zones/town-iron-council/traps.lua b/game/modules/tome/data/zones/town-iron-council/traps.lua index 39d3369e9a311954c8b25ff9828e5246889d1dcf..bc5eca434567f253f5c49a1e379207dac24c6e16 100644 --- a/game/modules/tome/data/zones/town-iron-council/traps.lua +++ b/game/modules/tome/data/zones/town-iron-council/traps.lua @@ -19,16 +19,36 @@ load("/data/general/traps/store.lua") -newEntity{ base = "BASE_STORE", define_as = "ARMOR_STORE", +newEntity{ base = "BASE_STORE", define_as = "HEAVY_ARMOR_STORE", name="Armoury", display='2', color=colors.UMBER, - resolvers.store("ARMOR", "iron-throne"), + resolvers.store("HEAVY_ARMOR", "iron-throne"), +} +newEntity{ base = "BASE_STORE", define_as = "LIGHT_ARMOR_STORE", + name="Tanner", + display='2', color=colors.UMBER, + resolvers.store("LIGHT_ARMOR", "iron-throne"), +} +newEntity{ base = "BASE_STORE", define_as = "CLOTH_ARMOR_STORE", + name="Tailor", + display='2', color=colors.UMBER, + resolvers.store("CLOTH_ARMOR", "iron-throne"), } -newEntity{ base = "BASE_STORE", define_as = "WEAPON_STORE", - name="Weapon Store", +newEntity{ base = "BASE_STORE", define_as = "SWORD_WEAPON_STORE", + name="Sword smith", + display='3', color=colors.UMBER, + resolvers.store("SWORD_WEAPON", "iron-throne"), +} +newEntity{ base = "BASE_STORE", define_as = "AXE_WEAPON_STORE", + name="Axe smith", + display='3', color=colors.UMBER, + resolvers.store("AXE_WEAPON", "iron-throne"), +} +newEntity{ base = "BASE_STORE", define_as = "MACE_WEAPON_STORE", + name="Mace smith", display='3', color=colors.UMBER, - resolvers.store("WEAPON", "iron-throne"), + resolvers.store("MAUL_WEAPON", "iron-throne"), } newEntity{ base = "BASE_STORE", define_as = "RUNIC_STORE", diff --git a/game/modules/tome/data/zones/town-zigur/traps.lua b/game/modules/tome/data/zones/town-zigur/traps.lua index 09cce3aadae901fda62c58d40efc0e09abe1a0aa..824aa7fbe3bdcf42fd10f8ebc094d6810ed585e3 100644 --- a/game/modules/tome/data/zones/town-zigur/traps.lua +++ b/game/modules/tome/data/zones/town-zigur/traps.lua @@ -19,16 +19,36 @@ load("/data/general/traps/store.lua") -newEntity{ base = "BASE_STORE", define_as = "ARMOR_STORE", +newEntity{ base = "BASE_STORE", define_as = "HEAVY_ARMOR_STORE", name="Armoury", display='2', color=colors.UMBER, - resolvers.store("ZIGUR_ARMOR", "zigur"), + resolvers.store("ZIGUR_HARMOR", "zigur"), +} +newEntity{ base = "BASE_STORE", define_as = "LIGHT_ARMOR_STORE", + name="Tanner", + display='2', color=colors.UMBER, + resolvers.store("ZIGUR_LARMOR", "zigur"), } -newEntity{ base = "BASE_STORE", define_as = "WEAPON_STORE", - name="Weapon Store", +newEntity{ base = "BASE_STORE", define_as = "SWORD_WEAPON_STORE", + name="Sword smith", + display='3', color=colors.UMBER, + resolvers.store("ZIGUR_SWORD_WEAPON", "zigur"), +} +newEntity{ base = "BASE_STORE", define_as = "MACE_WEAPON_STORE", + name="Mace smith", + display='3', color=colors.UMBER, + resolvers.store("ZIGUR_MACE_WEAPON", "zigur"), +} +newEntity{ base = "BASE_STORE", define_as = "AXE_WEAPON_STORE", + name="Axe smith", + display='3', color=colors.UMBER, + resolvers.store("ZIGUR_AXE_WEAPON", "zigur"), +} +newEntity{ base = "BASE_STORE", define_as = "KNIFE_WEAPON_STORE", + name="Knife smith", display='3', color=colors.UMBER, - resolvers.store("ZIGUR_WEAPON", "zigur"), + resolvers.store("ZIGUR_KNIFE_WEAPON", "zigur"), } newEntity{ base = "BASE_STORE", define_as = "LIBRARY", diff --git a/tiled-maps/elvala.tmx b/tiled-maps/elvala.tmx index 63ca33bd00056ca7f0de06b75df4bcdda453671d..27b0baa289994714ec2577ec16675373fa02f644 100644 --- a/tiled-maps/elvala.tmx +++ b/tiled-maps/elvala.tmx @@ -92,6 +92,11 @@ </tileset> <tileset firstgid="361" name="dg_town132" tilewidth="32" tileheight="32"> <image source="gfx/dg_town132.gif" width="288" height="128"/> + <tile id="3"> + <properties> + <property name="display" value="5"/> + </properties> + </tile> <tile id="4"> <properties> <property name="display" value="2"/> @@ -102,6 +107,11 @@ <property name="display" value="3"/> </properties> </tile> + <tile id="16"> + <properties> + <property name="display" value="1"/> + </properties> + </tile> <tile id="22"> <properties> <property name="display" value="4"/> @@ -115,7 +125,7 @@ </tileset> <layer name="Terrain" width="50" height="50"> <data encoding="base64" compression="zlib"> - eJzt2tttwzAMBVD7N0tkDM/gLbJAu0PX9DRFgBggBJK6fIhWgnwQBdJY0hFFyXa7L8uyf0ONg8TVY4ka7m9soYYzUMtWMD60j4ijYryIg9YE5/BaKvJU4ajM27FgjtZSPdeWXFgcV837JzvO8f2suuN3nbdOTsfdEM/v315B27kJ4Vkf1Q40Zs8Hja0Jr8M7J6McW6dfj0EzZa4rzjLKQIPbnxAHarGsK6QdzSGdE1x4a32kgToQQ/tcMsrRMyBz/Lfi+eDCa2kdvbFb6sAaqMlS4+jYpd/TtizXcSbEEtmDJCvXJnKdZW/rOSzrhxuPVmseh2TpObzreaSDy/On5iNiubI+rLU+636FOmY+PzwOzYSe0VnnufcsRG2o4Wi+H+kXMWzkZ+9+MZKPkQ7pmay31jx1kGXIcLQ5QR1SW0if1nt3qb328ywH0rf1GUSbjxEOZB1kP5tnOzhDhSO7PtB6zHDQPrh8aOe+dt5Z9hSLQWoP3X8Rh5QLi4G+13qsWJuSi37udaDheVeCvvPJyEdk/JwF3StQi/Ue3DP2mR0eA7pneZ5XPPdTEUNvXNbrrnTsgbZ6lmxD1d+puVoZNfdVluj4Z/sfgdHxD/vJhNg= + eJzt2lFuwyAMBuDktZfoMXKG3GIH2Pbex10zp5kmNZKFbPP/xhBa7cGq1CXABxhI1n1Zlv0/3DhEXN2WVsP9hS3ScAZq2Qa0D62jxTGivYhD5oTmiFpGjNMIx8hxOxbMUVpG9zUzFozjqn5/Z8fZvq/Vd3yv8+bJ6bgT8Xf97RmynJsRkfkx2oHG7OMhYysi6oj2SS/HVqk3YvBMmfNKs/QyyNDWJ8SBWph5hZTjOax9Qotorvc0SAdiKJ9LejlqBqSPf1b9mseKjV3UUjpqbWfygA3UxOQ42nbr77Is5j7NhFha1iDLqpWJ3MesbTUHM3+09ni5FnFYlpojOp97OrRxftfxaLFcmR9srs+6XqGOmfePiMMzafs5c75i9/PoXojaUMNRXN9SL2LYxGftvOj18ady1pLX9nRYz2S1uRbJgyxDhqMcE9RhlYXUyZ7drfLK77McSN3sM4jXHz0cyDzIfjbPdmiGEY7s/EDzMcMh69DGw9v3vf2OWVMYg1Ueuv4iDmssGIN8r/WxYmVaLvl91IFG5F0J+s4nYzxa2q9Z0LUCtbBn8EjbZ3ZEDOiaFXleiZynWgy1drH3XenYG8qqWbINo/5PreVKr74fZWlt/2y/Eegdv+VOhAs= </data> </layer> </map>