Revert "DID: Rewrote the goblin spawns in lua"
This reverts commit d19926bfb3
.
This commit is contained in:
parent
69660e93e3
commit
cd9eff3bf0
3 changed files with 46 additions and 36 deletions
|
@ -65,10 +65,6 @@
|
|||
path=data/campaigns/Descent_Into_Darkness
|
||||
[/binary_path]
|
||||
|
||||
[lua]
|
||||
code="wesnoth.require 'campaigns/Descent_Into_Darkness/lua/spawns.lua'"
|
||||
[/lua]
|
||||
|
||||
{campaigns/Descent_Into_Darkness/utils}
|
||||
{campaigns/Descent_Into_Darkness/scenarios}
|
||||
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
-- Used for the goblin spawns in scenario 2
|
||||
|
||||
local helper = wesnoth.require "lua/helper.lua"
|
||||
local wml_actions = wesnoth.wml_actions
|
||||
local _ = wesnoth.textdomain "wesnoth-did"
|
||||
local T = helper.set_wml_tag_metatable {}
|
||||
|
||||
function wml_actions.spawn_units(cfg)
|
||||
local x = cfg.x or helper.wml_error("[spawn_units] missing required x= attribute.")
|
||||
local y = cfg.y or helper.wml_error("[spawn_units] missing required y= attribute.")
|
||||
local types = cfg.types or helper.wml_error("[spawn_units] missing required types= attribute.")
|
||||
local count = cfg.count or helper.wml_error("[spawn_units] missing required count= attribute.")
|
||||
local side = cfg.side or helper.wml_error("[spawn_units] missing required side= attribute.")
|
||||
|
||||
for i=1,count do
|
||||
local locs = wesnoth.get_locations({T["not"] { T.filter {} } , T["and"] { x = x, y = y, radius = 1 } })
|
||||
if #locs == 0 then locs = wesnoth.get_locations({T["not"] { T.filter {} } , T["and"] { x = x, y = y, radius = 2 } }) end
|
||||
|
||||
local unit_type = helper.rand(types)
|
||||
local loc_i = helper.rand("1.."..#locs)
|
||||
|
||||
wml_actions.move_unit_fake({x = string.format("%d,%d", x, locs[loc_i][1]) , y = string.format("%d,%d", y, locs[loc_i][2]) , type = unit_type , side = side})
|
||||
wesnoth.put_unit(locs[loc_i][1], locs[loc_i][2], { id = string.format("guard_%i_%i_%i", x, y, i), type = unit_type , side = side, random_traits = "yes", name= _"Villager", upkeep = "loyal" })
|
||||
end
|
||||
end
|
||||
|
|
@ -171,13 +171,53 @@
|
|||
[/filter_condition]
|
||||
|
||||
{VARIABLE_OP number_of_guards rand "0..2"}
|
||||
{VARIABLE guard_i 1}
|
||||
|
||||
[spawn_units]
|
||||
x,y=$x1,$y1
|
||||
count=$number_of_guards
|
||||
types=Goblin Spearman
|
||||
side=2
|
||||
[/spawn_units]
|
||||
[while]
|
||||
[variable]
|
||||
name=guard_i
|
||||
less_than_equal_to=$number_of_guards
|
||||
[/variable]
|
||||
|
||||
[do]
|
||||
[store_locations]
|
||||
[filter_adjacent_location]
|
||||
x,y=$x1,$y1
|
||||
[/filter_adjacent_location]
|
||||
|
||||
[not]
|
||||
[filter]
|
||||
[/filter]
|
||||
[/not]
|
||||
|
||||
variable=possible_guard_locations
|
||||
[/store_locations]
|
||||
|
||||
{IF_VAR possible_guard_locations.length greater_than 0 (
|
||||
[then]
|
||||
{VARIABLE_OP random_location_index rand "0..$($possible_guard_locations.length - 1)"}
|
||||
|
||||
[move_unit_fake]
|
||||
side=2
|
||||
type=Goblin Spearman
|
||||
x=$x1,$possible_guard_locations[$random_location_index].x
|
||||
y=$y1,$possible_guard_locations[$random_location_index].y
|
||||
[/move_unit_fake]
|
||||
|
||||
[unit]
|
||||
id=guard_$x1|_$y1|_$guard_i
|
||||
name= _ "Villager"
|
||||
type=Goblin Spearman
|
||||
side=2
|
||||
x,y=$possible_guard_locations[$random_location_index].x,$possible_guard_locations[$random_location_index].y
|
||||
random_traits=yes
|
||||
[/unit]
|
||||
[/then]
|
||||
)}
|
||||
|
||||
{VARIABLE_OP guard_i add 1}
|
||||
[/do]
|
||||
[/while]
|
||||
|
||||
{VARIABLE village_$x1|_$y1|_cleared yes}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue