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); } }