BUG 2446: trade prices not getting read from XML.

This commit is contained in:
Enno Rehling 2018-06-10 09:51:08 +02:00
parent 2d05a99e7d
commit ade7b2ef43
2 changed files with 25 additions and 2 deletions

View File

@ -491,8 +491,29 @@ function test_dwarf_mining()
local f = faction.create('dwarf') local f = faction.create('dwarf')
local r = region.create(0, 0, 'plain') local r = region.create(0, 0, 'plain')
local u = unit.create(f, r) local u = unit.create(f, r)
u.name = 'Xolgrim'
u:set_skill('mining', 2) u:set_skill('mining', 2)
assert_equal(2, u:get_skill('mining')) assert_equal(2, u:get_skill('mining'))
assert_equal(4, u:eff_skill('mining')) assert_equal(4, u:eff_skill('mining'))
end end
function test_buy_sell()
local f = faction.create('human')
local r = region.create(0, 0, 'plain')
local u = unit.create(f, r)
local lux = r.luxury
local b = building.create(r, 'castle')
b.size = 10
u:set_skill('trade', 1)
item = 'silk'
name = 'Seide'
if lux == 'silk' then
item = 'balm'
name = 'Balsam'
end
u:add_item(item, 5)
u:add_order('VERKAUFE 1 ' .. name)
assert_equal(0, u:get_item('money'))
process_orders()
assert_equal(4, u:get_item(item))
assert_not_equal(0, u:get_item('money'))
end

View File

@ -818,7 +818,9 @@ static void start_resources(parseinfo *pi, const XML_Char *el, const XML_Char **
handle_requirement(pi, el, attr); handle_requirement(pi, el, attr);
} }
else if (xml_strcmp(el, "luxury") == 0) { else if (xml_strcmp(el, "luxury") == 0) {
rtype->ltype = new_luxurytype(itype, 0); int price = atoi(attr_get(attr, "price"));
assert(price > 0);
rtype->ltype = new_luxurytype(itype, price);
} }
else if (xml_strcmp(el, "potion") == 0) { else if (xml_strcmp(el, "potion") == 0) {
int i, level = 0; int i, level = 0;