Merge branch 'master' into develop

This commit is contained in:
Enno Rehling 2020-01-26 10:15:18 +01:00
commit 80b8bd7158
4 changed files with 26 additions and 19 deletions

View File

@ -5515,7 +5515,7 @@ msgstr "aquarians"
msgctxt "iteminfo" msgctxt "iteminfo"
msgid "fairyboot" msgid "fairyboot"
msgstr "These leather boots are embroidere with unicorn hair and allow their wearer to walk at twice his normal speed." msgstr "These leather boots are embroidered with unicorn hair and allow their wearer to walk at twice his normal speed."
msgctxt "spell" msgctxt "spell"
msgid "skillmod" msgid "skillmod"

View File

@ -29,6 +29,25 @@ function test_castle_names()
assert_equal("citadel", b:get_typename(6250)) assert_equal("citadel", b:get_typename(6250))
end end
function test_build_tunnel_limited()
-- bug 2221
local r = region.create(0, 0, "plain")
local b = building.create(r, "tunnel")
local f = faction.create('human')
local u = unit.create(f, r, 2)
u:set_skill('building', 6, true)
u:add_item('stone', 22)
u:add_item('log', 10)
u:add_item('iron', 2)
u:add_item('money', 700)
u.building = b
u.name = 'Xolgrim'
u:add_order('MACHE 2 BURG ' .. itoa36(b.id))
b.size = 99
process_orders()
assert_equal(100, b.size)
end
function test_build_castle_one_stage() function test_build_castle_one_stage()
local r = region.create(0, 0, 'plain') local r = region.create(0, 0, 'plain')
local f = faction.create('human') local f = faction.create('human')

View File

@ -1,4 +1,5 @@
require 'tests.e2.trees' require 'tests.e2.trees'
require 'tests.e2.buildings'
require 'tests.e2.allies' require 'tests.e2.allies'
require 'tests.e2.quit' require 'tests.e2.quit'
require 'tests.e2.movement' require 'tests.e2.movement'
@ -8,7 +9,6 @@ require 'tests.e2.astral'
require 'tests.e2.spells' require 'tests.e2.spells'
require 'tests.e2.e2features' require 'tests.e2.e2features'
require 'tests.e2.insects' require 'tests.e2.insects'
require 'tests.e2.buildings'
require 'tests.e2.production' require 'tests.e2.production'
require 'tests.e2.adamantium' require 'tests.e2.adamantium'
require 'tests.e2.undead' require 'tests.e2.undead'

View File

@ -810,25 +810,13 @@ build_building(unit * u, const building_type * btype, int id, int want, order *
} }
built = b->size; built = b->size;
} }
if (n <= 0 || n == INT_MAX) {
if (b == NULL) { if (btype->maxsize > 0) {
if (btype->maxsize > 0) { int remain = btype->maxsize - built;
n = btype->maxsize - built; if (remain < n) {
} n = remain;
else {
n = INT_MAX;
}
}
else {
if (b->type->maxsize > 0) {
n = b->type->maxsize - built;
}
else {
n = INT_MAX;
}
} }
} }
built = build_stages(u, btype, built, n, basesk, &skills); built = build_stages(u, btype, built, n, basesk, &skills);
if (built < 0) { if (built < 0) {