Ich habe die Funktion noch etwas erweitert.
Code:
-- SpielerID, TerritoriumsID, 1 für unverwundbar
function unverwundbar(player, terri, d)
local cityWalls = {}
local categories = {
EntityCategories.CityWallGate,
EntityCategories.CityWallSegment,
EntityCategories.PalisadeGate,
EntityCategories.PalisadeSegment,
}
for _, Cat in ipairs(categories) do
for _, ID in ipairs{Logic.GetPlayerEntitiesInCategory(player, Cat)} do
table.insert(cityWalls, ID)
end
end
if d == 1 then
for i = 1, #cityWalls do
MakeInvulnerable(cityWalls[i]);
end
else
for i = 1, #cityWalls do
MakeVulnerable(cityWalls[i]);
end
end
local Palisade = {Logic.GetEntitiesOfCategoryInTerritory(terri, player, EntityCategories.PalisadeSegment, 0)}
if d == 1 then
for i = 1, #Palisade do
MakeInvulnerable(Palisade[i]);
end
else
for i = 1, #Palisade do
MakeVulnerable(Palisade[i]);
end
end
end
Mit z.B. unverwundbar(2, 3, 1) macht man alle Mauern und Palisaden von Spieler 2 in Territorium 3 unverwundbar, mit unverwundbar(2, 3, 0) wieder verwundbar.
Lesezeichen