Störe Astrale Integrität und Mauern der Ewigkeit können mit STUFE gezuabert werden. Als Fixkosten-Sprüche kann die Stufe des Zaubers nicht überschritten werden.
Test für die Reichweite des Astralzaubers.
This commit is contained in:
Enno Rehling 2020-12-06 19:08:23 +01:00
parent 1507090300
commit a3c8ff78da
2 changed files with 54 additions and 5 deletions

View File

@ -214,7 +214,7 @@
<spell name="view_reality" rank="5">
<resource name="aura" amount="40" cost="fixed"/>
</spell>
<spell name="astral_disruption" rank="4">
<spell name="astral_disruption" rank="4" variable="true">
<resource name="aura" amount="140" cost="fixed"/>
</spell>
<spell name="seduction" rank="5" parameters="u" los="true">
@ -422,7 +422,7 @@
<resource name="aura" amount="1" cost="fixed"/>
<resource name="permaura" amount="1" cost="fixed"/>
</spell>
<spell name="eternal_walls" rank="5" parameters="b" ship="true">
<spell name="eternal_walls" rank="5" parameters="b" ship="true" variable="true">
<resource name="aura" amount="50" cost="fixed"/>
<resource name="permaura" amount="1" cost="fixed"/>
</spell>

View File

@ -273,15 +273,64 @@ end
function test_astral_disruption()
local r = region.create(0, 0, "plain")
local r2 = r:get_astral('fog')
local r3 = region.create(r2.x+1, r2.y, 'fog')
local f = faction.create("human")
local u = unit.create(f, r)
local uh = unit.create(get_monsters(), r2, 1, "braineater")
u.magic = "draig"
u.magic = "tybied"
u:set_skill("magic", 100) -- level 100 should beat magic resistance
u.aura = 200
u:add_spell("astral_disruption")
u:add_spell("astral_disruption", 14)
u:add_order('ZAUBERE STUFE 1 "Stoere Astrale Integritaet"')
process_orders()
assert_not_nil(r2:get_curse("astralblock"))
assert_equal(60, u.aura)
assert_equal(100, r2:get_curse("astralblock"))
assert_nil(r3:get_curse("astralblock"))
assert_equal(r, uh.region)
end
function test_astral_disruption_levels()
local r = region.create(0, 0, "plain")
local r2 = r:get_astral('fog')
local r3 = region.create(r2.x+1, r2.y, 'fog')
local r4 = region.create(r2.x+2, r2.y, 'fog')
local f = faction.create("human")
local u = unit.create(f, r)
local uh = unit.create(get_monsters(), r2, 1, "braineater")
u.magic = "tybied"
u:set_skill("magic", 100) -- level 100 should beat magic resistance
u.aura = 200
u:add_spell("astral_disruption", 14)
-- at level 5, range +1:
u:add_order('ZAUBERE STUFE 5 "Stoere Astrale Integritaet"')
process_orders()
assert_equal(60, u.aura)
assert_equal(100, r2:get_curse("astralblock"))
assert_equal(100, r3:get_curse("astralblock"))
assert_nil(r4:get_curse("astralblock"))
assert_equal(r, uh.region)
end
function test_astral_disruption_default_level()
local r = region.create(0, 0, "plain")
local r2 = r:get_astral('fog')
local r3 = region.create(r2.x+1, r2.y, 'fog')
local r4 = region.create(r3.x+1, r2.y, 'fog')
local r5 = region.create(r4.x+1, r2.y, 'fog')
local f = faction.create("human")
local u = unit.create(f, r)
local uh = unit.create(get_monsters(), r2, 1, "braineater")
u.magic = "tybied"
u:set_skill("magic", 100) -- level 100 should beat magic resistance
u.aura = 200
u:add_spell("astral_disruption", 14)
-- no level means cast at the spell's level (14)
u:add_order('ZAUBERE "Stoere Astrale Integritaet"')
process_orders()
assert_equal(60, u.aura)
assert_equal(100, r2:get_curse("astralblock"))
assert_equal(100, r3:get_curse("astralblock"))
assert_equal(100, r4:get_curse("astralblock"))
assert_nil(r5:get_curse("astralblock"))
assert_equal(r, uh.region)
end