If the corp starts a trace, the message looks like this:
ThePlayer uses Surveyor to initiate a trace with strength 6 ().
Note the empty () at the end.
trace-start calls the make-label function, which looks for :label or :msg, but these never exist:
(system-msg state :corp (str "uses " (:title card)
" to initiate a trace with strength " ((fnil + 0 0) base bonus)
" (" (make-label trace) ")"))
That doesn't make much sense.
It used to show the base strength and the amount the corp player payed to increase the trace strength:
(system-msg state :corp (str "uses " (:title card)
" to initiate a trace with strength " total
" (" base
(when (pos? bonus) (str " + " bonus " bonus"))
" + " boost " [Credits]) (" (make-label ability) ")"))
.
Good call! I鈥檒l fix it up right quick.
Also, the message is now shown as soon as the trace is initiated.
In the past, the message would only be shown after the corp player had a chance to boosted the trace.
That's an intentional change. Traces are initiated at a set strength, then the Corp has the chance to increase the strength, then the Runner has the chance to increase link strength. Previously, there was no way to see the base trace strength before the Corp boosted it. Now, it should log a message for each step: initiation, corp boost, runner boost, results.
We should make sure there is a :label or :msg for each trace so that this can be logged as well.
What would that look like?
In the past, the message showed the base strength, any bonus, the boost of the corp, and the final total strength.
Just look at the code sample I posted.
That's the way it was ~2 years ago. Don't know when it was changed.
I was replying to Saintis. I changed it when I did the trace rewrite back in May. The parentheses are unneeded. The prompts otherwise should supply the information the original prompts supplied, and if they don鈥檛, we should definitely add that back in.
What information is missing from the prompts as they currently stand?
Say I fire a trace sub on Surveyor in 3rd position, have Improved Tracers scored, and pay 1c to boost.
The message currently looks like this:
`ThePlayer uses Surveyor to initiate a trace with strength 7 ().
queueseven spends 1 to increase trace strength to 8.
`
when some time ago, it would have looked like this:
ThePlayer uses Surveyor to initiate a trace with strength 8 (6 + 1 Bonus + 1c).
It's fine to show two messages, one with the base trace strength and one with the credits spend to increase the trace strength (I also think it's actually better).
But you no longer see the bonus (which, I admit, is not _that_ important, since nobody ever played Improved Tracers or Rutherford Grid).
And the empty parentheses needs to go.
So either the parentheses should be removed entirely or the bonus should be shown, if any.
The empty parentheses also used to show the effect of the trace, e.g. "(give Runner 2 tags)", which should also be fixed.
I鈥檒l fix this today, adding the bonus back into the message. Do you want to have the effect of the trace in the parentheses like it used to?
I think it's useful to see what the trace is for in the log, but I think for best effect we should give each trace a :label in the trace (and not in the subroutine) to display, which is a lot of work I think.
I've fixed the trace labeling so it now looks like this:

If there is a (positive) bonus it would be printed as (base + bonus) after the trace value (before the trace effect label).
Most helpful comment
I've fixed the trace labeling so it now looks like this:
If there is a (positive) bonus it would be printed as
(base + bonus)after the trace value (before the trace effect label).