non ricordo quale sia la lettera che identifichi una stringa o un array di caratteri, però ti posso dire che al posto tuo avrei creato 1 array o 1 lista , entrambe di stringhe (o array di caratteri) ed identificare l'arma come
arma[i], dove i è l'indice corrispondente all'arma (se sai già come sono inserite le stringhe nell'array o nella lista il gioco è fatto)
Es. se "spada" è l'arma inserita al posto 2 usi
arma[2] per il vettore (in c i vettori partono da 1 o 0 ? non ricordo)
cicli fino a 2 nella lista per trovare il valore contenuto in quel nodo.