mirror of
https://github.com/Ragora/TribesReplay.git
synced 2026-01-20 01:54:47 +00:00
102 lines
2.2 KiB
C#
102 lines
2.2 KiB
C#
|
|
|
||
|
|
function GameBaseData::onAdd(%data, %obj)
|
||
|
|
{
|
||
|
|
if(%data.targetTypeTag !$= "")
|
||
|
|
%obj.target = createTarget(%obj, %data.targetNameTag, "", "", %data.targetTypeTag, 0, 0);
|
||
|
|
else
|
||
|
|
%obj.target = -1;
|
||
|
|
}
|
||
|
|
|
||
|
|
function GameBaseData::onRemove(%data, %obj)
|
||
|
|
{
|
||
|
|
%target = %obj.getTarget();
|
||
|
|
|
||
|
|
// first 32 targets are team targets
|
||
|
|
if(%target >= 32)
|
||
|
|
freeTarget(%target);
|
||
|
|
}
|
||
|
|
|
||
|
|
function InteriorInstance::damage()
|
||
|
|
{
|
||
|
|
}
|
||
|
|
|
||
|
|
function TerrainBlock::damage()
|
||
|
|
{
|
||
|
|
}
|
||
|
|
|
||
|
|
function ForceFieldBare::damage()
|
||
|
|
{
|
||
|
|
}
|
||
|
|
|
||
|
|
function GameBaseData::shouldApplyImpulse(%data, %obj)
|
||
|
|
{
|
||
|
|
return %data.shouldApplyImpulse;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
function ShapeBaseData::onAdd(%data, %obj)
|
||
|
|
{
|
||
|
|
Parent::onAdd(%data, %obj);
|
||
|
|
// if it's a deployed object, schedule the ambient thread to play in a little while
|
||
|
|
if(%data.deployAmbientThread)
|
||
|
|
%obj.schedule(750, "playThread", $AmbientThread, "ambient");
|
||
|
|
// check for ambient animation that should always be played
|
||
|
|
if(%data.alwaysAmbient)
|
||
|
|
%obj.playThread($AmbientThread, "ambient");
|
||
|
|
}
|
||
|
|
|
||
|
|
function SimObject::setOwnerClient(%obj, %cl)
|
||
|
|
{
|
||
|
|
%obj.client = %cl;
|
||
|
|
}
|
||
|
|
|
||
|
|
function SimObject::getOwnerClient(%obj)
|
||
|
|
{
|
||
|
|
if(isObject(%obj))
|
||
|
|
return %obj.client;
|
||
|
|
return 0;
|
||
|
|
}
|
||
|
|
// recursive objective init functions for mission group
|
||
|
|
|
||
|
|
function SimGroup::objectiveInit(%this)
|
||
|
|
{
|
||
|
|
for (%i = 0; %i < %this.getCount(); %i++)
|
||
|
|
%this.getObject(%i).objectiveInit();
|
||
|
|
}
|
||
|
|
|
||
|
|
function SimObject::objectiveInit(%this)
|
||
|
|
{
|
||
|
|
}
|
||
|
|
|
||
|
|
function GameBase::objectiveInit(%this)
|
||
|
|
{
|
||
|
|
//error("Initializing object " @ %this @ ", " @ %this.getDataBlock().getName());
|
||
|
|
%this.getDataBlock().objectiveInit(%this);
|
||
|
|
}
|
||
|
|
|
||
|
|
// tag strings are ignored if they start with an underscore
|
||
|
|
function GameBase::getGameName(%this)
|
||
|
|
{
|
||
|
|
%name = "";
|
||
|
|
|
||
|
|
if(%this.nameTag !$= "")
|
||
|
|
%name = %this.nameTag;
|
||
|
|
else
|
||
|
|
{
|
||
|
|
%name = getTaggedString(%this.getDataBlock().targetNameTag);
|
||
|
|
if((%name !$= "") && (getSubStr(%name, 0, 1) $= "_"))
|
||
|
|
%name = "";
|
||
|
|
}
|
||
|
|
|
||
|
|
%type = getTaggedString(%this.getDataBlock().targetTypeTag);
|
||
|
|
if((%type !$= "") && (getSubStr(%type, 0, 1) !$= "_"))
|
||
|
|
{
|
||
|
|
if(%name !$= "")
|
||
|
|
return(%name @ " " @ %type);
|
||
|
|
else
|
||
|
|
return(%type);
|
||
|
|
}
|
||
|
|
|
||
|
|
return(%name);
|
||
|
|
}
|