mirror of
https://github.com/Jusctsch5/ironsphererpg.git
synced 2026-01-19 19:44:45 +00:00
Taking everything obtained from http://ironsphererpg2.webs.com/ and dumping it in a git repo
124 lines
3.7 KiB
C#
124 lines
3.7 KiB
C#
//--------------------------------------------------------------------------
|
|
// Trigger functions and datablocks...
|
|
//
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
datablock TriggerData(defaultTrigger)
|
|
{
|
|
tickPeriodMS = 200;
|
|
};
|
|
|
|
datablock TriggerData(hairTrigger)
|
|
{
|
|
tickPeriodMS = 30;
|
|
};
|
|
|
|
datablock TriggerData(slowTrigger)
|
|
{
|
|
tickPeriodMS = 1000;
|
|
};
|
|
|
|
datablock TriggerData(stationTrigger)
|
|
{
|
|
tickPeriodMS = 30;
|
|
};
|
|
|
|
datablock TriggerData(gameTrigger)
|
|
{
|
|
tickPeriodMS = 50;
|
|
};
|
|
|
|
datablock TriggerData(markerTrigger)
|
|
{
|
|
tickPeriodMS = 100000;
|
|
};
|
|
//--------------------------------------------------------------------------
|
|
datablock TriggerData(defaultTeamTrigger)
|
|
{
|
|
tickPeriodMS = 200;
|
|
};
|
|
|
|
function defaultTeamTrigger::onEnterTrigger(%this, %trigger, %triggeringObject)
|
|
{
|
|
%group = %trigger.getGroup();
|
|
if (!%group)
|
|
return;
|
|
for (%i = 0; %i < %group.getCount(); %i++) {
|
|
%object = %group.getObject(%i);
|
|
if (%triggeringObject.team == %trigger.team)
|
|
%object.onTrigger(%trigger, 1);
|
|
}
|
|
}
|
|
|
|
function defaultTeamTrigger::onLeaveTrigger(%this, %trigger, %triggeringObject)
|
|
{
|
|
%group = %trigger.getGroup();
|
|
if (!%group)
|
|
return;
|
|
for (%i = 0; %i < %group.getCount(); %i++) {
|
|
%object = %group.getObject(%i);
|
|
if (%triggeringObject.team == %trigger.team)
|
|
%object.onTrigger(%trigger, 0);
|
|
}
|
|
}
|
|
|
|
function defaultTeamTrigger::onTickTrigger(%this, %trigger)
|
|
{
|
|
%group = %trigger.getGroup();
|
|
if (!%group)
|
|
return;
|
|
%tick = false;
|
|
for (%i = 0; %i < %trigger.getNumObjects(); %i++) {
|
|
if (%trigger.getObject(%i).team == %trigger.team) {
|
|
%tick = true;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (%tick == true) {
|
|
for (%i = 0; %i < %group.getCount(); %i++) {
|
|
%object = %group.getObject(%i);
|
|
%object.onTriggerTick(%trigger);
|
|
}
|
|
}
|
|
}
|
|
|
|
//******************************************************************************
|
|
//* Game Trigger - Functions *
|
|
//******************************************************************************
|
|
|
|
/// -Trigger- //////////////////////////////////////////////////////////////////
|
|
//Function -- onEnterTrigger (%data, %obj, %colObj)
|
|
// %data = Trigger Data Block
|
|
// %obj = Trigger Object
|
|
// %colObj = Object that collided with the trigger
|
|
//Decription -- Called when trigger has been triggered
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
function gameTrigger::onEnterTrigger(%data, %obj, %colObj)
|
|
{
|
|
Game.onEnterTrigger(%obj.name, %data, %obj, %colObj);
|
|
}
|
|
|
|
/// -Trigger- //////////////////////////////////////////////////////////////////
|
|
//Function -- onLeaveTrigger (%data, %obj, %colObj)
|
|
// %data = Trigger Data Block
|
|
// %obj = Trigger Object
|
|
// %colObj = Object that collided with the trigger
|
|
//Decription -- Called when trigger has been untriggered
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
function gameTrigger::onLeaveTrigger(%data, %obj, %colObj)
|
|
{
|
|
Game.onLeaveTrigger(%obj.name, %data, %obj, %colObj);
|
|
}
|
|
|
|
/// -Trigger- //////////////////////////////////////////////////////////////////
|
|
//Function -- onTickTrigger(%data, %obj)
|
|
// %data = Trigger Data Block
|
|
// %obj = Trigger Object
|
|
//Decription -- Called every tick if triggered
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
function gameTrigger::onTickTrigger(%data, %obj)
|
|
{
|
|
Game.onTickTrigger(%obj.name, %data, %obj);
|
|
} |