/** * Short description for function * * Long description (if any) ... * * @param object $char Parameter description (if any) ... * @return boolean Return description (if any) ... * @access public */ public function arePrerequisitesMet(Character $char) { if ($char->getRace()->getName() == Constants\Common::RACE_HUMAN) { Logger::debug('Character %s mets the prerequisites of Action Surge', array($char->getName())); return true; } return false; }
public function start() { Logger::info('Starting an encounter with the following beings:'); foreach ($this->involved as $being) { Logger::info(' - %s (Perception: %s, Hitpoints %s)', array($being->getName(), DisplayHelper::displayInt($being->checkSkill(C\Skills::PERCEPTION, TRUE)), DisplayHelper::displayInt($being->getHitpoints()))); } $this->state = Encounter::STATE_ACTIVE; }
private function doRoll() { $results = array(); for ($i = 0; $i < $this->repeat; $i++) { $results[] = $roll = rand(1, $this->sides); Logger::debug('Rolled %d', array($roll)); } if (!is_null($this->keep)) { switch ($this->use) { case iDice::USE_HIGH: sort($results); break; case iDice::USE_LOW: rsort($results); break; } for ($i = $this->repeat; $i <= $this->keep; $i--) { array_shift($results); } } $result = array_sum($results) + $this->modifier; Logger::info('Roll result for %dd%d + %d: %d', array($this->repeat, $this->sides, $this->modifier, $result)); return $result; }
/** * Short description for function * * Long description (if any) ... * * @param object $char Parameter description (if any) ... * @return boolean Return description (if any) ... * @access public */ public function arePrerequisitesMet(C $char) { if ($char->getAbility(Constants\Abilities::STR) > 15) { Logger::debug('Character %s mets the prerequisites of Power Attack', array($char->getName())); return true; } return false; }
$standardArray->assignAbilities(array(Constants\Abilities::STR => 16, Constants\Abilities::CON => 14, Constants\Abilities::DEX => 13, Constants\Abilities::WIS => 12, Constants\Abilities::CHA => 11, Constants\Abilities::INT => 10)); $berdir->setAbilityScore($standardArray); // $rollScore = AbilityHelper::factoryGenerator('RollingScore'); // $rollScore->rollAbilities(); // $berdir->setAbilityScore($rollScore); $berdir->build(); $level = new Level($berdir); $level->chooseFeat(new Feats\Powerattack()); $level->finish(); $berdir->activateFeat(Feats\Powerattack::Name); $berdir->deactivateFeat(Feats\Powerattack::Name); $berdir->rollInitiative(); Logger::debug($berdir->dump()); $curunair = Game::addCharacter('Curunair'); $curunair->setRace(new Race\Dwarf()); $fighter = $curunair->setClass(new Classes\Fighter()); $fighter->chooseTrainedSkill(array(Constants\Skills::ATHLETHICS, Constants\Skills::ENDURANCE, Constants\Skills::STREETWISE)); $standardArray = AbilityHelper::factoryGenerator('StandardArray'); $standardArray->assignAbilities(array(Constants\Abilities::STR => 16, Constants\Abilities::CON => 14, Constants\Abilities::DEX => 13, Constants\Abilities::WIS => 12, Constants\Abilities::CHA => 11, Constants\Abilities::INT => 10)); $curunair->setAbilityScore($standardArray); // $rollScore = AbilityHelper::factoryGenerator('RollingScore'); // $rollScore->rollAbilities(); // $berdir->setAbilityScore($rollScore); $curunair->build(); $level = new Level($curunair); $level->chooseFeat(new Feats\Powerattack()); $level->finish(); $curunair->rollInitiative(); Logger::debug($curunair->dump()); $encounter = Game::startEncounter(); $encounter->start();
/** * Short description for function * * Long description (if any) ... * * @return void * @access public */ public function build() { $l = Language::singleton(); Logger::debug('Character building has started...'); Logger::debug('Calculating Abilities'); foreach ($this->race->getAbilities() as $ability => $value) { $this->updateAbility($ability, $value); } Logger::debug('Calculating speed, vision and size'); $this->updateSpeed($this->race->getSpeed()); $this->updateVision($this->race->getVision()); $this->updateSize($this->race->getSize()); Logger::debug('Calculating languages'); foreach ($this->race->getLanguages() as $lang) { $this->addLanguage($lang); } Logger::debug('Calculating skills'); foreach ($this->race->getSkillBonuses() as $skill => $value) { $this->updateSkill($skill, $value); } Logger::debug('Calculating profiencies'); foreach ($this->class->getProfiencies() as $prof) { $this->addProfiency($prof); } Logger::debug('Calculating hitpoints'); $this->updateMaxHitPoints($this->class->getBaseHitPoints($this)); $this->updateHitPoints($this->getMaxHitpoints()); }
/** * Short description for function * * Long description (if any) ... * * @param unknown $message Parameter description (if any) ... * @param unknown $level Parameter description (if any) ... * @return boolean Return description (if any) ... * @access public */ public function log($message, $level) { if (!$this->isEnabled($level)) { return false; } $levelText = Language::singleton()->t(Logger::getText($level)); foreach (explode("\n", $message) as $line) { echo date('d.m.Y H:i:s:' . (int) (round(microtime(), 4) * 1000) . ' : ') . $levelText . ' : ' . trim($line) . "\n"; } }
/** * Short description for function * * Long description (if any) ... * * @return void * @access public */ public function finish() { if (!empty($this->gain)) { //throw new Exception_NotEverythingChosen($this->gain); } foreach ($this->feats as $feat) { $this->char->addFeat($feat); } Logger::info('Character %s has finished the Levelup to %s', array($this->char->getName(), $this->newLevel)); }
/** * Short description for function * * Long description (if any) ... * * @param unknown $listener Parameter description (if any) ... * @return unknown Return description (if any) ... * @access public * @throws Exception_IllegalListener Exception description (if any) ... * @static */ public static function addListener($listener) { if (is_string($listener)) { $listener = Logger::factory($listener); } if (!$listener instanceof iLogListener) { throw new Exception_IllegalListener($listener); } self::$listeners[] = $listener; return $listener; }