$storage = ['Common' => array(), 'Uncommon' => array(), 'Rare' => array()];
for ($i = 1; $i <= $t->handSize(); $i++) {
$cur_card = $t->getCard($t->hisData()->Hand[$i]);
$rarity = $cur_card->getRarity();
if (!$cur_card->hasKeyword('Beast')) {
$storage[$rarity][] = $i;
}
}
if ((count($storage['Common']) + count($storage['Uncommon']) + count($storage['Rare'])) > 0) {
shuffle($storage['Common']); shuffle($storage['Uncommon']); shuffle($storage['Rare']);
$storage_temp = array_merge($storage['Common'], $storage['Uncommon'], $storage['Rare']);
$discarded_pos = array_pop($storage_temp);
$t->setCard('his', $discarded_pos, $t->drawCard($t->getList(['rarity'=>'Common', 'keyword'=>'Beast']), $t->hisData()->Hand, $discarded_pos, 'drawCardList'));
}
$tmp = $t->keywordCount($t->myData()->Hand, 'Beast') + $t->keywordCount($t->hisData()->Hand, 'Beast');
$t->hisData()->attack(5 * $tmp);