atlant = GetDefenderHero();
trueAtlant = GetHeroName(GetAttackerHero());
ahmad = GetAttackerHero();

function Start()
    combatSetPause(1);
    if trueAtlant == "Atlant" then
        local aMana = GetUnitManaPoints(atlant);
        local dMana = GetUnitManaPoints(ahmad);
        SetUnitManaPoints(atlant, 500);
        SetUnitManaPoints(ahmad, 500);
        sleep(1);
        startThread(CastBuff);
        sleep(5);
        SetUnitManaPoints(atlant, aMana);
        SetUnitManaPoints(ahmad, dMana);
    end;
    sleep(5);
    combatSetPause(nil);
    print('Inferno buffs casted...');
end;

function CastBuff()
    local defCreatures = GetDefenderCreatures();
    for i, creatures in defCreatures do
        UnitCastAimedSpell(ahmad, 23, creatures);
        sleep(15);
        UnitCastAimedSpell(ahmad, 25, creatures);
    end;
    local attCreatures = GetAttackerCreatures();
    for i, creatures in attCreatures do
        UnitCastAimedSpell(atlant, 11, creatures);
        sleep(15);
        UnitCastAimedSpell(atlant, 13, creatures);
    end;
end;