Muito obrigado pela sua ajuda, DavidPostill. Aqui está o que eu estava fazendo de errado:
Em vez de tentar palavras diferentes, eu apenas verificaria a declaração IF deixando minha "Escolha" vazia, significando que eu teria o valor original toda vez. Nada de errado com isso, então.
Quanto à matemática, não sei ao certo como consegui fazê-lo, mas simplesmente referir-me às páginas de Rob Van der Woude sobre o assunto me ajudou a reescrever um código funcionando corretamente. Em vez de usar todas essas variáveis, acabei de deletar tudo e fiz uma abordagem muito mais simples:
if /i "%type%"=="fight" (
if /i "%choice%"=="%weapon%" (
set /a ehp = ehp - atk
set /a hp = hp - eatk
goto FIGHTPROCESSORLOOP
)
)