void AdjustNPCReputation(object oNPC1, object oNPC2)
{
    // Adjust reputation to make them hostile towards each other
    AdjustReputation(oNPC1, oNPC2, -100);
    AdjustReputation(oNPC2, oNPC1, -100);

    // Command each NPC to attack the other
    AssignCommand(oNPC1, ActionAttack(oNPC2));
    AssignCommand(oNPC2, ActionAttack(oNPC1));
}

void main()
{
    // Get the waypoints
    object oWaypointBlack = GetWaypointByTag("SPAWN_MOB_BLACK");
    object oWaypointRed = GetWaypointByTag("SPAWN_MOB_RED");

    // Check if waypoints are valid
    if(GetIsObjectValid(oWaypointBlack) && GetIsObjectValid(oWaypointRed))
    {
        // Spawn the NPCs
        object oNPCBlack = CreateObject(OBJECT_TYPE_CREATURE, "cas_arenablack", GetLocation(oWaypointBlack));
        object oNPCRed = CreateObject(OBJECT_TYPE_CREATURE, "cas_arenared", GetLocation(oWaypointRed));

        // Delay 90 seconds, then adjust their reputation and make them attack each other
        DelayCommand(5.0, AdjustNPCReputation(oNPCBlack, oNPCRed));
    }
}
