forked from github/server
bug 2221: buildings cannot exceed maxsize.
* enable the allies.lua tests
This commit is contained in:
parent
b88f9e8610
commit
42e17f3ba9
|
@ -5519,7 +5519,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"
|
||||||
|
|
|
@ -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')
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
require 'tests.e2.buildings'
|
||||||
|
require 'tests.e2.allies'
|
||||||
|
require 'tests.e2.quit'
|
||||||
require 'tests.e2.movement'
|
require 'tests.e2.movement'
|
||||||
require 'tests.e2.carts'
|
require 'tests.e2.carts'
|
||||||
require 'tests.e2.quit'
|
require 'tests.e2.quit'
|
||||||
|
@ -5,7 +8,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'
|
||||||
|
|
|
@ -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) {
|
|
||||||
n = btype->maxsize - built;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
n = INT_MAX;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if (b->type->maxsize > 0) {
|
|
||||||
n = b->type->maxsize - built;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
n = INT_MAX;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (btype->maxsize > 0) {
|
||||||
|
int remain = btype->maxsize - built;
|
||||||
|
if (remain < n) {
|
||||||
|
n = remain;
|
||||||
|
}
|
||||||
|
}
|
||||||
built = build_stages(u, btype, built, n, basesk, &skills);
|
built = build_stages(u, btype, built, n, basesk, &skills);
|
||||||
|
|
||||||
if (built < 0) {
|
if (built < 0) {
|
||||||
|
|
Loading…
Reference in New Issue