Files
SoaFE/DATA/SCRIPTS/GAMEOBJECT/DISPLAY_SPECTATORUPGRADES_LAND.LUA
2026-02-28 14:00:45 -06:00

51 lines
1.8 KiB
Lua

-- Spectator upgrade display for SoaFE
-- spawns the appropriate dummy upgrade for the Spectator Faction
-- Is attached to a proper Upgrade, and will be activated when that Upgrade is activated (completes building)
--
-- Revision: 1.1 - Date: 2022/04/10
--
-- Authors: Nikomer (Nikomer#1313 on Discord) | Revision by Galyana
--
-- REQUIRES:
-- - the following XML tag be added to all pertinent Upgrade Objects:
-- <Lua_Script>Display_SpectatorUpgrades</Lua_Script>
require("PGStateMachine")
require("PGBase")
require("PGSpawnUnits")
function Definitions()
DebugMessage("%s -- In Definitions", tostring(Script))
Define_State("State_Init", State_Init);
ServiceRate = 1.0
spectator_player = nil
end
function State_Init(message)
if message == OnEnter then
spectator_player = Find_First_Object("Spectator_Reveal_Marker_Land") --.Get_Owner()
if not spectator_player then
ScriptExit()
end
if spectator_player then
spectator_player = Find_First_Object("Spectator_Reveal_Marker_Land").Get_Owner()
end
-- if TestValid(spectator_player) then
-- DebugMessage("-- Found primary spectator player %s.", tostring(spectator_player))
-- else
-- DebugMessage("-- ERROR: Did not find primary spectator player, exiting script.")
-- ScriptExit()
-- end
local owner_team = Object.Get_Owner().Get_Team() + 1
local upgrade_name = "Spectator_T" .. owner_team .. "_" .. Object.Get_Type().Get_Name()
DebugMessage("-- Spawning Spectator dummy upgrade: %s", upgrade_name)
Create_Generic_Object(upgrade_name, Object.Get_Position(), spectator_player)
end
ScriptExit()
end