Scoop me an icecream please

SOGL V0.12, 24 bytes

u%⅝⁾⁷‰┘Η:⅛6s⁹№K⌠RΝīL°‘§╬

Try it Here!

A simple compression solution:

....‘    push "@-.¶===(¶----(¶=====(¶_____(¶\/\/\¶/\/\¶\/\¶/\¶\"
     §   pad with spaces and reverse horizontally
      ╬  palindromize with 0 overlap and mirroring the characters

No compression version - way longer as SOGLs compression works nice for this


Python 2, 95 bytes

i=9;print'   .-@@-.'
while i:print['('+~i*3/4*2%22*'-=_='[i%4]+')','\/'*i][i<6].center(12);i-=1

Try it online!


PowerShell, 85 bytes

"   .-@@-.
  (======)
 (--------)
($('='*10))
($('_'*10))"
1..5|%{" "*$_+'\/'*(6-$_)}

Try it online!

OR

PowerShell, 85 bytes

"   .-@@-.
  (======)
 (--------)"
'=','_'|%{"($($_*10))"}
1..5|%{" "*$_+'\/'*(6-$_)}

Try it online!

Take your pick. In both cases, the first three lines don't have enough bytes to do any sort of compression in PowerShell.

The first case uses string multiplication to produce each of the 10-length = and _ lines, while the second uses a loop and string multiplication. In either case, the last line forms the cone, looping from 1 to 5 and each iteration outputting the appropriate number of spaces followed by the appropriate number of cone pieces.

All of those strings are left on the pipeline, and the implicit Write-Output at program completion gives us a newline between elements for free.