public function addDerangement(RulebookDerangement $derangement, $description = null)
 {
     $derangementRecord = CharacterDerangement::character($this->character_id)->version($this->version)->where('derangement_id', $derangement->id)->where('bought_off', false)->first();
     if (!$derangementRecord) {
         $derangementRecord = $this->createNewRecord("CharacterDerangement");
         $derangementRecord->derangement_id = $derangement->id;
         if ($description && strlen($description) > 0) {
             $derangementRecord->description = $description;
         }
         if ($this->editingAsStoryteller() || !$this->isNewCharacter()) {
             $derangementRecord->lost_points += 2;
         }
         $derangementRecord->save();
     }
     $this->touchedRecords["CharacterDerangement"][] = $derangementRecord->id;
 }
Exemple #2
0
 public function derangements($version = -1, $ignoreBoughtOff = false)
 {
     if ($version == -1) {
         $version = $this->activeVersion();
     }
     if ($ignoreBoughtOff) {
         return CharacterDerangement::character($this->id)->version($version);
     }
     return CharacterDerangement::character($this->id)->where('bought_off', false)->version($version);
 }