mirror of
https://github.com/Jusctsch5/ironsphererpg.git
synced 2026-01-20 03:54:45 +00:00
Taking everything obtained from http://ironsphererpg2.webs.com/ and dumping it in a git repo
117 lines
2.6 KiB
C#
117 lines
2.6 KiB
C#
|
|
function GameBaseData::onAdd(%data, %obj)
|
|
{
|
|
if(%data.targetTypeTag !$= "")
|
|
{
|
|
// use the name given to the object in the mission file
|
|
if(%obj.nameTag !$= "")
|
|
{
|
|
%obj.nameTag = addTaggedString(%obj.nameTag);
|
|
%nameTag = %obj.nameTag;
|
|
}
|
|
else
|
|
%nameTag = %data.targetNameTag;
|
|
|
|
%obj.target = createTarget(%obj, %nameTag, "", "", %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)
|
|
{
|
|
if(%obj.nameTag !$= "")
|
|
removeTaggedString(%obj.nameTag);
|
|
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);
|
|
}
|