triggers can be made to do 'random' things
Code:
// Script that triggered an accidental damage to the player plane
// Autor: FG28_Kodiak
using System;
using maddox.game;
using maddox.game.world;
public class Mission : maddox.game.AMission
{
AiAircraft PlayerPlane;
public override void OnTrigger(int missionNumber, string shortName, bool active)
{
if (("trigger01".Equals(shortName) || "trigger02".Equals(shortName)) && active)
{
DoDamage();
}
GamePlay.gpGetTrigger(shortName).Enable = false;
}
private void DoDamage()
{
PlayerPlane = (AiAircraft)GamePlay.gpPlayer().Place();
Random RandomIncident = new Random();
switch (RandomIncident.Next(1,9))
{
case 1:
PlayerPlane.hitNamed(part.NamedDamageTypes.ControlsElevatorDisabled);
GamePlay.gpHUDLogCenter("Elevator Disabled");
break;
case 2:
PlayerPlane.hitNamed(part.NamedDamageTypes.ControlsAileronsDisabled);
GamePlay.gpHUDLogCenter("Ailerons Disabled");
break;
case 3:
PlayerPlane.hitNamed(part.NamedDamageTypes.ControlsRudderDisabled);
GamePlay.gpHUDLogCenter("Rudder Disabled");
break;
case 4:
PlayerPlane.hitNamed(part.NamedDamageTypes.Eng0PropBlade0Broken);
GamePlay.gpHUDLogCenter("PropBlade Broken");
break;
case 5:
PlayerPlane.hitNamed(part.NamedDamageTypes.Eng0TotalFailure);
GamePlay.gpHUDLogCenter("Engine Failure");
break;
case 6:
PlayerPlane.hitNamed(part.NamedDamageTypes.Eng0OilSecondariesFire);
GamePlay.gpHUDLogCenter("Oil is on fire");
break;
case 7:
PlayerPlane.hitNamed(part.NamedDamageTypes.HydraulicsPumpFailure);
GamePlay.gpHUDLogCenter("Hydraulics Pump failure");
break;
case 8:
PlayerPlane.hitNamed(part.NamedDamageTypes.UndercarriageDownLockFailureL);
GamePlay.gpHUDLogCenter("UndercarriageDownLock Left failure");
break;
case 9:
PlayerPlane.hitNamed(part.NamedDamageTypes.Eng0Plug00Failure);
PlayerPlane.hitNamed(part.NamedDamageTypes.Eng0Plug01Failure);
PlayerPlane.hitNamed(part.NamedDamageTypes.Eng0Plug05Failure);
GamePlay.gpHUDLogCenter("Engine Plug 0,1,5 failure");
break;
}
}
public override void OnAircraftLanded(int missionNumber, string shortName, AiAircraft aircraft)
{
GamePlay.gpHUDLogCenter("Excellent!");
}
public override void OnAircraftCrashLanded(int missionNumber, string shortName, AiAircraft aircraft)
{
GamePlay.gpHUDLogCenter("Congratulation You are alive ;-)");
}
}
message can be sent to pretty much anyone you like as i understand it- but Kodiak will be able to answer that much better than me (and probably a better way of doing the random

)