protected function actions(array $actions, QuestEvent $e)
 {
     for ($i = 0; $i < count($actions); $i++) {
         $method = $actions[$i][0];
         $argument = $actions[$i][1];
         if (method_exists($e->getPlayerHelper(), $method)) {
             if (!is_null($argument)) {
                 $e->getPlayerHelper()->{$method}($argument);
             } else {
                 $e->getPlayerHelper()->{$method}();
             }
         }
     }
 }
 public function changeState($questId, $newStateId)
 {
     $questHelper = new QuestHelper(Game::init()->getDb()->quests);
     if (isset($this->_player["quests"][$questId]) and $questHelper->questExists($questId)) {
         $event = new QuestEvent();
         $event->setQuestId($questId);
         $event->setPlayerHelper($this);
         $event->setQuestHelper($questHelper);
         $event->setState($newStateId);
         Game::init()->getDispatcher()->dispatch('quest.change', $event);
     }
 }