I am currently drunk in game, so I cannot test this
boolean [element] weak_elements;
switch (monster_element())
{
case $element[cold]: weak_elements = $elements[spooky, hot]; break;
case $element[spooky]: weak_elements = $elements[hot, stench]; break;
case $element[hot]...