Initial commit
This commit is contained in:
130
DATA/SCRIPTS/FREESTORE/HUMANGALACTICFREESTORE.LUA
Normal file
130
DATA/SCRIPTS/FREESTORE/HUMANGALACTICFREESTORE.LUA
Normal file
@@ -0,0 +1,130 @@
|
||||
-- $Id: //depot/Projects/StarWars/Run/Data/Scripts/FreeStore/HumanGalacticFreeStore.lua#2 $
|
||||
--/////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
--
|
||||
-- (C) Petroglyph Games, Inc.
|
||||
--
|
||||
--
|
||||
-- ***** ** * *
|
||||
-- * ** * * *
|
||||
-- * * * * *
|
||||
-- * * * * * * * *
|
||||
-- * * *** ****** * ** **** *** * * * ***** * ***
|
||||
-- * ** * * * ** * ** ** * * * * ** ** ** *
|
||||
-- *** ***** * * * * * * * * ** * * * *
|
||||
-- * * * * * * * * * * * * * * *
|
||||
-- * * * * * * * * * * ** * * * *
|
||||
-- * ** * * ** * ** * * ** * * * *
|
||||
-- ** **** ** * **** ***** * ** *** * *
|
||||
-- * * *
|
||||
-- * * *
|
||||
-- * * *
|
||||
-- * * * *
|
||||
-- **** * *
|
||||
--
|
||||
--/////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
-- C O N F I D E N T I A L S O U R C E C O D E -- D O N O T D I S T R I B U T E
|
||||
--/////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
--
|
||||
-- $File: //depot/Projects/StarWars/Run/Data/Scripts/FreeStore/HumanGalacticFreeStore.lua $
|
||||
--
|
||||
-- Original Author: James Yarrow
|
||||
--
|
||||
-- $Author: Brian_Hayes $
|
||||
--
|
||||
-- $Change: 20677 $
|
||||
--
|
||||
-- $DateTime: 2005/06/24 17:01:12 $
|
||||
--
|
||||
-- $Revision: #2 $
|
||||
--
|
||||
--/////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
require("pgcommands")
|
||||
require("FleetEvents")
|
||||
|
||||
function Base_Definitions()
|
||||
|
||||
ServiceRate = 1
|
||||
|
||||
Common_Base_Definitions()
|
||||
|
||||
if Definitions then
|
||||
Definitions()
|
||||
end
|
||||
|
||||
FleetType = nil
|
||||
fleet_table = {}
|
||||
fleet_key = nil
|
||||
fleet = nil
|
||||
increment = 0.001
|
||||
roll = nil
|
||||
threshold = 0.0
|
||||
event = nil
|
||||
parent = nil
|
||||
|
||||
Init_Fleet_Events()
|
||||
end
|
||||
|
||||
function main()
|
||||
|
||||
FleetType = Find_Object_Type("Galactic_Fleet")
|
||||
|
||||
if FreeStoreService then
|
||||
while 1 do
|
||||
FreeStoreService()
|
||||
PumpEvents()
|
||||
end
|
||||
end
|
||||
|
||||
ScriptExit()
|
||||
end
|
||||
|
||||
function On_Unit_Service(object)
|
||||
parent = object.Get_Parent_Object()
|
||||
if parent and parent.Get_Type() == FleetType then
|
||||
fleet_table[parent] = parent
|
||||
end
|
||||
end
|
||||
|
||||
function FreeStoreService()
|
||||
for fleet_key, fleet in pairs(fleet_table) do
|
||||
if TestValid(fleet) then
|
||||
Evaluate_Random_Event(fleet)
|
||||
else
|
||||
fleet_table[fleet_key] = nil
|
||||
end
|
||||
Sleep(0.5)
|
||||
end
|
||||
end
|
||||
|
||||
function Evaluate_Random_Event(fleet)
|
||||
|
||||
event = FleetEventTable.Sample()
|
||||
|
||||
if not event.Is_Appropriate_For_Fleet(fleet) then
|
||||
return
|
||||
end
|
||||
|
||||
--roll to determine whether an event takes place. The chance of an event
|
||||
--increases with the amount of time that's passed with no event.
|
||||
roll = GameRandom.Get_Float()
|
||||
|
||||
if roll > threshold then
|
||||
threshold = increment + threshold
|
||||
return
|
||||
end
|
||||
|
||||
threshold = 0.0
|
||||
|
||||
if GameRandom.Get_Float() > event.Get_Avoidance_Chance(fleet) then
|
||||
--Execute event
|
||||
event.Execute(fleet)
|
||||
else
|
||||
--Inform user that event was avoided
|
||||
event.Avoided(fleet)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function On_Unit_Added(object)
|
||||
end
|
||||
Reference in New Issue
Block a user