alias calcC {
var %Ccards $gettok($hget(cards,$1),0,44), %soft = 0, %x = 0
while (%Ccards) {
var %cardNum $gettok($hget(cards,$1),%Ccards,44)
var %cardNumb $gettok(%cardNum,1,46)
if (%cardNumb isnum) {
var %CcardsT $calc(%cardNumb + %CcardsT)
}
elseif (%cardNumb == A) {
var %cardNumb 1
if (!%soft) && (%CcardsT < 12) %soft = 1
var %CcardsT $calc(%cardNumb + %CcardsT)
}
else {
var %cardNumb 10
var %CcardsT $calc(%cardNumb + %CcardsT)
}
if (%soft) && (%CcardsT > 11) %soft = 0
dec %Ccards
inc %x
}
; to return something else for blackjack, replace
; $iif(%x == 2,21,21) with $iif(%x == 2,newReturn,21)
if (%soft) {
if (%CcardsT == 11) return $iif(%x == 2,21,21)
if ($prop == soft) return %CcardsT
elseif ($prop == softReadable) return $+(%CcardsT,/,$calc(%CcardsT + 10))
else return $calc(%CcardsT + 10)
}
return %CcardsT
}