Deprecated: Return type of MediaWiki\Session\PHPSessionHandler::open($save_path, $session_name) should either be compatible with SessionHandlerInterface::open(string $path, string $name): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/session/PHPSessionHandler.php on line 172

Deprecated: Return type of MediaWiki\Session\PHPSessionHandler::close() should either be compatible with SessionHandlerInterface::close(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/session/PHPSessionHandler.php on line 187

Deprecated: Return type of MediaWiki\Session\PHPSessionHandler::read($id) should either be compatible with SessionHandlerInterface::read(string $id): string|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/session/PHPSessionHandler.php on line 201

Deprecated: Return type of MediaWiki\Session\PHPSessionHandler::write($id, $dataStr) should either be compatible with SessionHandlerInterface::write(string $id, string $data): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/session/PHPSessionHandler.php on line 229

Deprecated: Return type of MediaWiki\Session\PHPSessionHandler::destroy($id) should either be compatible with SessionHandlerInterface::destroy(string $id): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/session/PHPSessionHandler.php on line 335

Deprecated: Return type of MediaWiki\Session\PHPSessionHandler::gc($maxlifetime) should either be compatible with SessionHandlerInterface::gc(int $max_lifetime): int|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/session/PHPSessionHandler.php on line 355

Deprecated: Creation of dynamic property LoadBalancer::$mWriteIndex is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/loadbalancer/LoadBalancer.php on line 95

Deprecated: Return type of ResultWrapper::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/db/DatabaseUtility.php on line 174

Deprecated: Return type of ResultWrapper::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/db/DatabaseUtility.php on line 192

Deprecated: Return type of ResultWrapper::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/db/DatabaseUtility.php on line 185

Deprecated: Return type of ResultWrapper::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/db/DatabaseUtility.php on line 202

Deprecated: Return type of ResultWrapper::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/db/DatabaseUtility.php on line 163

Deprecated: Creation of dynamic property LoadBalancer::$mWriteIndex is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/loadbalancer/LoadBalancer.php on line 95

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: Return type of MediaWiki\Session\Session::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/session/Session.php on line 555

Deprecated: Return type of MediaWiki\Session\Session::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/session/Session.php on line 560

Deprecated: Return type of MediaWiki\Session\Session::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/session/Session.php on line 570

Deprecated: Return type of MediaWiki\Session\Session::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/session/Session.php on line 565

Deprecated: Return type of MediaWiki\Session\Session::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/session/Session.php on line 580

Deprecated: Return type of MediaWiki\Session\Session::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/session/Session.php on line 575

Deprecated: Return type of MediaWiki\Session\Session::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/session/Session.php on line 589

Deprecated: Return type of & MediaWiki\Session\Session::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/session/Session.php on line 601

Deprecated: Return type of MediaWiki\Session\Session::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/session/Session.php on line 610

Deprecated: Return type of MediaWiki\Session\Session::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/session/Session.php on line 614

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: Creation of dynamic property Revision::$mUnpatrolled is deprecated in /var/www/principiadiscordia.com/cramulus/includes/Revision.php on line 708

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: Creation of dynamic property Revision::$mUnpatrolled is deprecated in /var/www/principiadiscordia.com/cramulus/includes/Revision.php on line 708

Deprecated: Creation of dynamic property WikitextContentHandler::$mModelName is deprecated in /var/www/principiadiscordia.com/cramulus/includes/content/ContentHandler.php on line 454

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: Creation of dynamic property Revision::$mUnpatrolled is deprecated in /var/www/principiadiscordia.com/cramulus/includes/Revision.php on line 708

Deprecated: Message implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /var/www/principiadiscordia.com/cramulus/includes/Message.php on line 159

Deprecated: RawMessage implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /var/www/principiadiscordia.com/cramulus/includes/Message.php on line 1232

Deprecated: Creation of dynamic property RequestContext::$recursion is deprecated in /var/www/principiadiscordia.com/cramulus/includes/context/RequestContext.php on line 353

Deprecated: Creation of dynamic property MessageCache::$localCache is deprecated in /var/www/principiadiscordia.com/cramulus/includes/cache/MessageCache.php on line 159

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: Creation of dynamic property Parser::$mPreprocessorClass is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Parser.php on line 280

Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 753

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: Creation of dynamic property WikitextContent::$mText is deprecated in /var/www/principiadiscordia.com/cramulus/includes/content/TextContent.php on line 56

Deprecated: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/languages/Language.php on line 2075

Deprecated: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/languages/Language.php on line 2075

Deprecated: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/languages/Language.php on line 2075

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 753

Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 753

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 753

Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 753

Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 753

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: Creation of dynamic property PoolWorkArticleView::$poolCounter is deprecated in /var/www/principiadiscordia.com/cramulus/includes/poolcounter/PoolCounterWork.php on line 39

Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 753

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property LocalRepo::$name is deprecated in /var/www/principiadiscordia.com/cramulus/includes/filerepo/FileRepo.php on line 151

Deprecated: Return type of FileBackendStoreShardListIterator::accept() should either be compatible with FilterIterator::accept(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/filebackend/FileBackendStore.php on line 1914

Deprecated: Return type of FileBackendStoreShardListIterator::rewind() should either be compatible with FilterIterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/filebackend/FileBackendStore.php on line 1929

Deprecated: Return type of FSFileBackendList::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/filebackend/FSFileBackend.php on line 890

Deprecated: Return type of FSFileBackendList::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/filebackend/FSFileBackend.php on line 898

Deprecated: Return type of FSFileBackendList::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/filebackend/FSFileBackend.php on line 882

Deprecated: Return type of FSFileBackendList::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/filebackend/FSFileBackend.php on line 926

Deprecated: Return type of FSFileBackendList::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/principiadiscordia.com/cramulus/includes/filebackend/FSFileBackend.php on line 912

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: Creation of dynamic property BufferingStatsdDataFactory::$prefix is deprecated in /var/www/principiadiscordia.com/cramulus/includes/libs/stats/BufferingStatsdDataFactory.php on line 40

Deprecated: Creation of dynamic property ThumbnailImage::$tempFSFileReferences is deprecated in /var/www/principiadiscordia.com/cramulus/includes/filebackend/TempFSFile.php on line 102

Deprecated: Creation of dynamic property ThumbnailImage::$tempFSFileReferences is deprecated in /var/www/principiadiscordia.com/cramulus/includes/filebackend/TempFSFile.php on line 102

Deprecated: Creation of dynamic property ThumbnailImage::$tempFSFileReferences is deprecated in /var/www/principiadiscordia.com/cramulus/includes/filebackend/TempFSFile.php on line 102

Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 753

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStackElement::$startPos is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 860

Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 753

Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 753

Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 753

Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 753

Warning: Trying to access array offset on null in /var/www/principiadiscordia.com/cramulus/includes/profiler/SectionProfiler.php on line 104

Warning: Trying to access array offset on null in /var/www/principiadiscordia.com/cramulus/includes/profiler/SectionProfiler.php on line 104

Warning: Trying to access array offset on null in /var/www/principiadiscordia.com/cramulus/includes/profiler/SectionProfiler.php on line 105

Warning: Trying to access array offset on null in /var/www/principiadiscordia.com/cramulus/includes/profiler/SectionProfiler.php on line 105

Warning: Trying to access array offset on null in /var/www/principiadiscordia.com/cramulus/includes/profiler/SectionProfiler.php on line 106

Warning: Trying to access array offset on null in /var/www/principiadiscordia.com/cramulus/includes/profiler/SectionProfiler.php on line 106

Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 753

Deprecated: header(): Passing null to parameter #3 ($response_code) of type int is deprecated in /var/www/principiadiscordia.com/cramulus/includes/WebResponse.php on line 42

Warning: Cannot modify header information - headers already sent by (output started at /var/www/principiadiscordia.com/cramulus/includes/db/DatabaseUtility.php:77) in /var/www/principiadiscordia.com/cramulus/includes/WebResponse.php on line 42

Deprecated: header(): Passing null to parameter #3 ($response_code) of type int is deprecated in /var/www/principiadiscordia.com/cramulus/includes/WebResponse.php on line 42

Warning: Cannot modify header information - headers already sent by (output started at /var/www/principiadiscordia.com/cramulus/includes/db/DatabaseUtility.php:77) in /var/www/principiadiscordia.com/cramulus/includes/WebResponse.php on line 42

Deprecated: header(): Passing null to parameter #3 ($response_code) of type int is deprecated in /var/www/principiadiscordia.com/cramulus/includes/WebResponse.php on line 42

Warning: Cannot modify header information - headers already sent by (output started at /var/www/principiadiscordia.com/cramulus/includes/db/DatabaseUtility.php:77) in /var/www/principiadiscordia.com/cramulus/includes/WebResponse.php on line 42

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: Creation of dynamic property DuskTemplate::$data is deprecated in /var/www/principiadiscordia.com/cramulus/includes/skins/QuickTemplate.php on line 35

Deprecated: Creation of dynamic property DuskTemplate::$translator is deprecated in /var/www/principiadiscordia.com/cramulus/includes/skins/QuickTemplate.php on line 36

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/skins/SkinTemplate.php on line 354

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 753

Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 753

Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 753

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742

Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 753
Scaling Guide - Cramulus

Scaling Guide


Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/principiadiscordia.com/cramulus/includes/parser/Preprocessor_DOM.php on line 753
From Cramulus

Revision as of 14:46, 23 April 2010 by Cramulus (talk | contribs) (Carrier Attacks: added link to nerology article on status effects)

Jump to: navigation, search

This guide is meant to help NERO staff members quickly scale and stat NPCs. You can find some general tips and scaling theory in the Advice section. This document also contains a quick guide for building NERO Characters of any level.


Advice

Scaling Body Points and Melee Defenses

From Nerology...

Scaling isn’t just statting monsters to a certain amount of power. Scaling is creating appropriate challenges for each character level. Elsewhere we’ll cover how to create dynamic challenges that players of all levels can participate in. This section talks about the math of scaling – rather than creating monsters which are too hard for one group and too easy for another, we’ll create middle-range monsters which challenge characters regardless of their level.

Here is one mechanic for scaling:

Most monsters should die in about 5-8 hits. But body points are tricky. If you just keep adding body onto a monster, it makes damage spells and low level characters exponentially less useful.

Take the average number of damage the people on the module / field are swinging – say 10s. Multiply this number by the difficulty of the encounter:

  • x3 for an easy fight = 30 body
  • x5 for a tough fight = 50 body

Then add a few “lesser parries” – melee defenses which may be used against normal weapon swings, but shouldn’t be called against times-per-day skills like slays and assassinates.

Lesser Parries are a MUCH BETTER way to scale melee monsters than adding body. Here’s the math which explains why:

A monster with 100 body…

  • dies in 5 hits if you’re swinging 20s
  • dies in 20 hits if you’re swinging 5s
  • takes two flame blasts and a magic missile to kill (19 levels of spells)

This means that if you swing 5s, you might as well not bother. You have to swing four times to equal one swing from the 20Magic guy! And if you’re a low or mid level caster, you probably shouldn’t bother with damage spells, they’ll barely dent the creature.

But a monster with 20 body and 3 “lesser parries”..

  • dies in 4 hits if you’re swinging 20s
  • dies in 7 hits if you’re swinging 5s
  • only takes one 4th level spell to kill

That’s a lot more fair fight for everybody involved!

A quick way of scaling up: add a bless spell and a magic armor — now the creature dies in 7 hits from the 20 guy and 9 hits from the 5s guy. And all it took was three levels of spells.

When the melee monsters have low body + a few lesser parries, everyone can participate and feel like they’re actually helping.


Scaling for Spells

By mid level, number of spells is not a good factor for scaling. If a caster with a 4 column fights a caster with a 12 column, it's still anybody's game - the first caster to land two consecutive spells before the opponent can cast a protective will win.

Keep celestial casters in mind when building monsters. Their class is most effective when the monsters have lower amounts of body and are vulnerable to a certain element. If your monsters seem to be getting constantly spelled down by take-outs, it is better to grant specific defenses such as return vs mystic force or return vs imprison than general purpose return magics or <effect> shields.

Use return magic instead of resist magic wherever possible. Because casters can actually run out of things they can do, it's very frustrating to have your limited resources consumed by spell resistance. Returns, like lesser parries (described above) increase the individual monster's difficulty without severely cramping the player's resources.

NPCs should only throw take-out spells when fighting mid or higher level groups. Death and Imprison spells should be very limited in use, generally only used by bosses or other elite monsters.

Reduced Damage: Monsters which take half damage from melee attacks are best targeted by spell casters.

Respawning

The rate at which opponents respawn impacts the difficulty of the encounter.

  • Player Triggered Respawn: (easiest) the opponents respawn when the players decide to "move forward". This is the easiest way to encounter opponents, as the party has as much time as it needs to organize and prepare for the next encounter.
  • Interval Respawn: (easy to medium) the opponents respawn as a group at certain intervals. Usually there is a bit of downtime between each wave, allowing players time to refit armor and resolve status effects. Monsters will be able to make effective use of teamwork, healing, and coordinated attacks, potentially increasing the difficulty of the encounter.
  • Popcorn Respawn: (medium to hard) opponents respawn instantly after they've died. Each NPC is usually given a time limit or finite number of lives. These types of encounters result in constant pressure on the party, making it challenging to heal the wounded or refit armor. Due to the staggered respawning, monsters will tend to be in smaller groups when they engage the playres.


Carrier Attacks

see also: Status Effects

Carrier attacks will only work if they pierce the target's armor. As such, monsters with carrier attacks do not need to deal as high melee damage as other monsters.

Monsters can be equipped with carrier attacks at three different levels of intensity:

  • Unlimited Use - A creature with unlimited use of a carrier attack may choose to call it on every weapon swing.
  • Critical Use - A creature with critical use of a carrier attack may call it against one opponent per battle, in the manner of a critical attack
  • Single Use - A creature with a single use carrier attack may choose to call the effect on one swing only.

Resolution: Because it takes spell power to resolve wounds from a monster with a carrier attack, this ability can drain player resources very quickly. As such, they should be used sparingly. After an encounter involving carrier attacks, players will need to resolve status effects, refit armor, and recast protectives. As such, carrier attacks are easier to resolve if the monsters attack in waves, (rather than a continuous trickle).

Lesser Carrier Attacks: Lesser carrier attacks can be resolved by a 4th level or lower spell, or will go away on their own. This includes disease, pin, fear, and bind.

Greater Carrier Attacks: Greater carrier attacks include take-out effects and effects which are resolved by 5th or higher level spells. This includes wither, web, paralyze, taint blood, and sleep.

Packet Attacks

Other than takedowns, there are plenty of things that NPCs can do with Packets. These might be minor effects like fear, pin, and disarm, or they could simply be elemental damage. The strength of packet delivered attacks is the fact that they cannot be stopped, and almost every point of damage will be delivered to a player (except for misses).

While these things are perfectly fine for use in controlled situations, modules with a large amount of resets for lesser NPCs with packet attacks can quickly go south, even if the rest of the module was scaled appropriately.

As a rule of thumb, lesser NPCs should be given the same amount of packet attacks as the average player level. The level of a packet attack is either the level of the spell effect or the damage divided by 10 (10 elemental <element> is level 1, etc). The lower the level of the PCs, the better it is to lean on effects rather than pure damage.

If you plan on having the NPCs continue to reset until a boss is killed, consider giving them a pool of packet attacks that they can access for the entire module, as well as a limit on how many they can throw per respawn. That way, bad NPCs won't suicide themselves after they throw their packets, so they can respawn and do it again.

Example: A group of low level adventurers (APL 10) stumble into a spider cave. They decide to engage the queen that's sleeping on a pile of treasure, and when they do, hundreds of spiders decend from the ceiling. Lesser spiders will continue to respawn until the queen is dead.

Since the APL is 10, each spider has a pool of 10 levels of packet attack they can access, but they are only allowed to throw a single packet per spawn. They can choose to use Physical Entangle your leg (level 2), Physical Entangle your body (level 5), or 10 physical acid (level 1). Once they've depleted their pool of attacks, they're stuck meleeing the group, possibly with a lesser carrier attack.

Scaling For a Low Level Group

For purposes of this document, low level is defined as anything below level 10. A low level party may have access to a very limited number of life spells, and cannot use cantrips.

In low level groups, PCs focused on melee damage will generally swing 8 damage or lower. Templars will usually swing between 3s and 5s. Characters will have a maximum of 25 body points, though most will have 10 or less.

Carrier attacks: A low level group has difficulty resolving carrier attacks. If carrier attacks are used, stick to lesser effects, and single use or critical use attacks.


Scaling For a Mid Level Group

For purposes of this document, mid level is defined as levels 11-25. A mid level party may have access to multiple life spells, and can spend resources to get more power via cantrips or formal magic.

In mid level groups, PCs focused on melee damage will generally swing 15 damage or lower. Templars will usually swing between 4s and 7s. Characters will have a maximum of 50 body points, though most will have 20-30.

Carrier attacks: A mid level group can handle a few creatures having unlimited use of lesser carrier attacks (such as pin, bind, fear & disease). Greater carrier attacks such as wither, web, paralyze, taint blood, and sleep may be deployed in single-use or as a critical attack.


Scaling for a High Level Group

For purposes of this document, high level is defined as levels 25+. A high level party has access to many ways to resolve status any status effect including death. Fighters will often swing 15s or 20s. A well positioned rouge will be capable of unleashing hundreds of points of damage in a few backstabs.

In high level groups, PCs focused on melee damage will generally swing 15-20 damage. Templars will usually swing between 5s and 10s. Characters could have 60 or 80 body, but most will have less than 30.

Carrier attacks: A high level group can handle unlimited use of lesser carrier attacks. Dangerous carrier attacks such as wither, web, paralyze, taint blood, and sleep may be used more commonly.


Scaling for "Transform Modules"

Everything is pretty much batshit

Transformer-fan.jpg


Scaling for Mixed Level Groups

Mixed level groups are the hardest to scale for, especially if there is a large level disparity. The goal is to make sure every player has something to do in the fight.


Dynamic Challenges

In a dynamic battle, there are multiple tasks or objectives. These are often simultaneous. Players performance towards these objectives affects the completion of other tasks. Here are some examples of dynamic challenges:

  • high and low level monsters are respawning from opposite sides of the encounter area
  • a puzzle must be solved while monsters attack. (some characters must focus on the puzzle while others focus on the battle)
  • the boss is only vulnerable while somebody is playing the drum of sundering, brandishing a light spell, or doing some other activity
  • the players must use one or more items which are delimited to only be used by characters in a certain level range
  • a group of players is outside, dealing with monsters trying to get into the building, while another group faces the challenges inside the building


Abilities

There are also a few abilities which lend themselves for groups of mixed level:

Damage Cap: Damage caps are a good tool for mixed level groups as they put fighters and templars of disparate levels on the same footing. If a monster has cap 5 and 25 body, you can be sure it will take 5 swings to kill it whether the players are swinging 5s or 20s.

Threshold / Immune to <damage type>: Monsters with a damage threshold, or monsters which are silver/magic to hit are best targeted by characters who can beat that threshold or immunity. These abilies are best used to create monsters which must be targeted by spell casters or higher level fighters. Whenever abilities like these are used, you must also include creatures who can be affected by the remaining characters. Avoid situations where certain characters have nothing to do in a given fight. For example, never stat every single monster on a module to be magic-to-hit.



Scaling for Large Groups

Large groups have a wide variety of resources at their disposal. The advice for scaling for mixed level groups also applies. Dynamic encounters may be slightly be more complex, but be sure to explain the encounter's objectives to everybody in advance.

When creating encounters for large groups, use a variety of different monster types. The majority of the monsters should be melee types, but also be sure to include ranged and rogue opponents. Large groups may have to contend with occasional boss-type monsters as well.

Boss Fights

A boss fight is a dramatic encounter, often the climax of an adventure or battle. As such, they should be memorable and exciting. This is the time to bust out the best props, costume, lighting, music or sound effects you have available.

Generally, it is better to use a group of bosses than an single tough opponent. This maximizes the number of players who can feel heroic for defeating a boss.

Bosses are generally are what players save their really powerful skills for, so boss types should have multiple resistances to take-out effects. They should have take-out or escape effects of their own which they use to avoid being surrounded or overwhelmed. Bosses are most effective when fighting in concert with a complimentary class such as a healer (for melee bosses) or a fighter (for packet slinging bosses).

Boss fights are great opportunities for dynamic encounters. Perhaps the boss can only be slain under certain conditions, or must be defeated multiple times. Perhaps he splits into several aspects which must be defeated in different places or by different groups.


Build Guide

Fighters

Prof Fighter

       BP	Body	Skills
        15	6	Weapon Master (WM)
	25	8	WM, Style Master (SM)
	35	10	WM, SM, crit x 3
	45	12	WM, SM, Prof x1
	55	14	WM, SM, Prof x2 (with 0 free build)
	65	16	WM, SM, Prof x2, crit x3
	75	18	WM, SM, Prof x3, crit x1
	85	20	WM, SM, Prof x4 (with 0 free build)
	95	22	WM, SM, Prof x4, crit x3
	105	24	WM, SM, Prof x5, crit x1
	115	26	WM, SM, Prof x6 (with 0 free build)
	125	28	WM, SM, Prof x6 crit x3
	135	30	WM, SM, Prof x7 crit x1
	145	32	WM, SM, Prof x8 (with 0 free build)
	155	34	WM, SM, Prof x8 crit x3
	165	36	WM, SM, Prof x9 crit x1
	175	38	WM, SM, Prof x10 (with 0 free build)
	185	40	WM, SM, Prof x10 crit x3
	195	42	WM, SM, Prof x11 crit x1
	205	44	WM, SM, Prof x12 (with 0 free build)


Slay Fighter

       BP	Body	Skills
        15	6	Weapon Master (WM)
	25	8	WM, Style Master (SM)
	35	10	WM, SM, crit x 3
	45	12	WM, SM, Prof x1
	55	14	WM, SM, Prof x2 (with 0 free build)
	65	16	WM, SM, Prof x2, Slay x1 (32 damage) (with 0 free build)
	75	18	WM, SM, Prof x2, Slay x1 (32 damage) crit x3
	85	20	WM, SM, Prof x3, Slay x1 (37 damage) crit x1
	95	22	WM, SM, Prof x4, Slay x1 (42 damage) (with 0 free build)
	105	24	WM, SM, Prof x4, Slay x2 (42 damage) (with 0 free build)
	115	26	WM, SM, Prof x4, Slay x2 (42 damage) crit x3
	125	28	WM, SM, Prof x5, Slay x2 (47 damage) crit x1
	135	30	WM, SM, Prof x6, Slay x2 (52 damage) (with 0 free build)
	145	32	WM, SM, Prof x6, Slay x3 (52 damage) (with 0 free build)
	155	34	WM, SM, Prof x6, Slay x3 (52 damage) crit x3
	165	36	WM, SM, Prof x7, Slay x3 (57 damage) crit x1
	175	38	WM, SM, Prof x8, Slay x3 (62 damage) (with 0 free build)
	185	40	WM, SM, Prof x8, Slay x4 (62 damage) (with 0 free build)
	195	42	WM, SM, Prof x8, Slay x4 (62 damage) crit x3
	205	44	WM, SM, Prof x9, Slay x4 (77 damage) crit x1


Rogues

Backstab / Prof Rogue

       BP	Body	Skills
        15	4	One Handed Edged, Florentine, Two Weapons (0 free build)
	25	5	Waylay, Read and Write, OHE, F, TW (this is the “starting package”)
	35	6	Starting Package (SP), Back Attack x3
	45	7	SP, Prof +1
	55	8	SP, Prof +1, Backstab +2
	65	9	SP, Prof +1, Backstab +2
	75	10	SP, Prof +2, Backstab +2
	85	11	SP, Prof +2, Backstab +2
	95	12	SP, Prof +2, Backstab +4
	105	13	SP, Prof +2, Backstab +4, Assasinate / Dodge x 1 (32 damage)
	115	14	SP, Prof +3, Backstab +4
	125	15	SP, Prof +3, Backstab +6, Assasinate / Dodge x 1 (37 damage)
	135	16	SP, Prof +3, Backstab +6
	145	17	SP, Prof +3, Backstab +6, Parry / Slay x 1 (37 slay)
	155	18	SP, Prof +4, Backstab +6
	165	19	SP, Prof +4, Backstab +8
	175	20	SP, Prof +4, Backstab +8, Assasinate / Dodge x 1 (42 damage)
	185	21	SP, Prof +5, Backstab +8
	195	22	SP, Prof +5, Backstab +8,  Assasinate / Dodge x 1 (42 damage)
	205	23	SP, Prof +5, Backstab +10


Assassinate / Dodge Rogue

       BP	Body	Skills
       15	4	One Handed Edged, Florentine, Two Weapons (0 free build)
	25	5	Waylay, Read and Write, OHE, F, TW (this is the “starting package”)
	35	6	Starting Package (SP), Back Attack x3
	45	7	Backstab +2
	55	8	Backstab +4 (with 0 free build)
	65	9	Backstab +4, Assassinate / Dodge x1 (32 damage) (with 0 free build)
	75	10	Backstab +4, Assassinate / Dodge x1 (32 damage) (with 10 free build)
	85	11	Backstab +6, Assassinate / Dodge x1 (37 damage) (with 5 free build)
	95	12	Backstab +8, Assassinate / Dodge x1 (42 damage) (with 0 free build)
	105	13	Backstab +8, Assassinate / Dodge x2 (42 damage) (with 0 free build)
	115	14	Backstab +8, Assassinate / Dodge x2 (42 damage) (with 10 free build)
	125	15	Backstab +10, Assassinate / Dodge x2 (42 damage) (with 5 free build)
	135	16	Backstab +12, Assassinate / Dodge x2 (42 damage) (with 0 free build)
	145	17	Backstab +12, Assassinate / Dodge x3 (42 damage) (with 0 free build)
	155	18	Backstab +12, Assassinate / Dodge x3 (42 damage) (with 10 free build)
	165	19	Backstab +14, Assassinate / Dodge x3 (42 damage) (with 5 free build)
	175	20	Backstab +16, Assassinate / Dodge x3 (42 damage) (with 0 free build)
	185	21	Backstab +16, Assassinate / Dodge x4 (42 damage) (with 0 free build)
	195	22	Backstab +16, Assassinate / Dodge x4 (42 damage) (with 10 free build)
	205	23	Backstab +18, Assassinate / Dodge x4 (42 damage) (with 5 free build)


Scholars

Single School Scholar

       BP	Body	Skills
        15	3	Starting Package 
                       (Read and Write, Read Magic or first aid and healing arts), 3,2,1
	25	4	Starting Package + 4,4,3,2,1
	35	4	Starting Package + 4,4,4,3,2,1
	45	5	Starting Package + 4,4,4,4,3,2 (2 free build)
	55	6	Starting Package + 4,4,4,4,4,3,2 (2 free build)
	65	6	Starting Package + 4,4,4,4,4,4,3,1 (1 free build)
	75	7	Starting Package + 4,4,4,4,4,4,3,3,1
	85	8	Starting Package + 4,4,4,4,4,4,3,3,1
	95	8	Starting Package + 4,4,4,4,4,4,4,3,3, 0 free build
	105	9	Starting Package + 4 column, 1 free build
	115	10	 
	125	10	 
	129	10	SP + 5 column
	135	11	 
	145	12	 
	155	12	SP + 6 column, -1 free build lol
	165	13	 
	175	14	SP + 7 column, -4 free build
	185	14	 
	195	15	 
	205	16	SP + 8 column, 1 free build


Templar

Basic Templar

       BP	Body	Skills
        15	4	SP: (1H edge, Read and Write, Read Magic or First Aid and Healing Arts, 1 F.B.)
	30	5	SP, +1 prof
	44	6	SP, +1 prof, 4,3,2,1
	75	10	SP, +3 prof
	52	7	SP, +1 prof, 4,3,2,1, (Shield and 1 F.B.) or (Florentine)
	80	10	SP, +1 prof, 4,4,4,4,3,2,1
	100	12	SP, +2 prof, 4,4,4,4,3,2,1
	115	14	SP, +2 prof, 4,4,4,4,3,2,1, Style Master
	162	18	SP, +3 prof, 4,4,4,4,4,4,3,2,1
	157	18	SP, +3 prof, 4,4,4,4,4,4,3,2,1, Style Master
	185	21	SP, +2 prof, Slay x1 (32 damage), 4-column
	195	22	SP, +3 prof, 4-column
	210	23	SP, +3 prof, 4-column, Style Master
	220	24	SP, +4 prof, 4-column


Common Skill Packages

 Class       Cost (BP)       Skill
Fighter        15	 	+1 weapon prof
Rogue          20	 	+1 weapon prof
Scholar        40	 	+1 weapon prof
Templar        25	 	+1 weapon prof  (first prof is 15, second is 20)
Fighter        75	 	+5 weapon prof
Rogue	       100	 	+5 weapon prof
Scholar        200	 	+5 weapon prof
Templar        110	 	First +5 weapon prof
Templar        125	 	Additional +5 weapon prof
Fighter        30	 	+2 Backstab
Rogue          15	 	+2 Backstab
Scholar        30	 	+2 Backstab
Templar        30	 	+2 Backstab
Fighter        80	 	+4 Backstab, Assassinate/Dodge x1 (32 Damage)
Rogue          40	 	+4 Backstab, Assassinate/Dodge x1 (32 Damage)
Scholar        80	 	+4 Backstab, Assassinate/Dodge x1 (32 Damage)
Templar        80	 	+4 Backstab, Assassinate/Dodge x1 (32 Damage)
Fighter        30	 	Read and Write, Herbal Lore, Alchemy x 3
Rogue          18	 	Read and Write, Herbal Lore, Alchemy x 3
Scholar        19	 	Read and Write, Herbal Lore, Alchemy x 3
Templar        23	 	Read and Write, Herbal Lore, Alchemy x 3
Fighter        300	 	4-column of earth or celestial (primary)
Rogue          200	 	4-column of earth or celestial (primary)
Scholar        25	 	1-column of earth or celestial (primary)
Scholar        100	 	4-column of earth or celestial (primary)
Scholar        50	 	1-column of earth or celestial (secondary)
Templar        30	 	1-column of earth or celestial (primary)
Templar        87	 	4,4,4,4,4,4,3,2,1 earth or celestial (primary)
Templar        120	 	4-column of earth or celestial (primary)
Personal tools

Deprecated: header(): Passing null to parameter #3 ($response_code) of type int is deprecated in /var/www/principiadiscordia.com/cramulus/includes/WebResponse.php on line 42

Warning: Cannot modify header information - headers already sent by (output started at /var/www/principiadiscordia.com/cramulus/includes/db/DatabaseUtility.php:77) in /var/www/principiadiscordia.com/cramulus/includes/WebResponse.php on line 42

Deprecated: header(): Passing null to parameter #3 ($response_code) of type int is deprecated in /var/www/principiadiscordia.com/cramulus/includes/WebResponse.php on line 42

Warning: Cannot modify header information - headers already sent by (output started at /var/www/principiadiscordia.com/cramulus/includes/db/DatabaseUtility.php:77) in /var/www/principiadiscordia.com/cramulus/includes/WebResponse.php on line 42

Deprecated: header(): Passing null to parameter #3 ($response_code) of type int is deprecated in /var/www/principiadiscordia.com/cramulus/includes/WebResponse.php on line 42

Warning: Cannot modify header information - headers already sent by (output started at /var/www/principiadiscordia.com/cramulus/includes/db/DatabaseUtility.php:77) in /var/www/principiadiscordia.com/cramulus/includes/WebResponse.php on line 42

Deprecated: header(): Passing null to parameter #3 ($response_code) of type int is deprecated in /var/www/principiadiscordia.com/cramulus/includes/WebResponse.php on line 42

Warning: Cannot modify header information - headers already sent by (output started at /var/www/principiadiscordia.com/cramulus/includes/db/DatabaseUtility.php:77) in /var/www/principiadiscordia.com/cramulus/includes/WebResponse.php on line 42

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/principiadiscordia.com/cramulus/includes/db/Database.php on line 1742