コード例 #1
0
 public function buildRulebook($owner = -1)
 {
     //Build rulebook or retrieve it from the cache.
     $out = Cache::remember('rulebook', 24 * 60, function () {
         $baseRulebook = [];
         $baseRulebook['sects'] = $this->expandSects(RulebookSect::get());
         $baseRulebook['clans'] = $this->expandClans(RulebookClan::get());
         $baseRulebook['rituals'] = $this->sortByGroups(RulebookRitual::whereNull('owner')->get(), "rituals");
         $baseRulebook['backgrounds'] = $this->sortByGroups(RulebookBackground::orderBy('name')->get(), "backgrounds");
         $baseRulebook['disciplines'] = $this->expandDisciplines(RulebookDiscipline::orderBy('name')->get());
         $baseRulebook['natures'] = RulebookNature::get();
         $baseRulebook['abilities'] = $this->sortByGroups(RulebookAbility::where('owner', null)->orderBy('name')->get(), "abilities");
         $baseRulebook["paths"] = $this->expandPaths(RulebookPath::get());
         $baseRulebook["derangements"] = RulebookDerangement::get();
         $baseRulebook['merits'] = $this->sortByGroups(RulebookMerit::orderBy("cost")->get(), "merits");
         $baseRulebook['flaws'] = $this->sortByGroups(RulebookFlaw::orderBy("cost")->get(), "flaws");
         return $baseRulebook;
     });
     if ($owner != -1) {
         $out['custom_abilities'] = RulebookAbility::where('owner', $owner)->get();
         $out['elder_powers'] = RulebookElderPower::where('owner_id', $owner)->get();
         $out['combo_disciplines'] = RulebookComboDiscipline::where('owner_id', $owner)->get();
         $out['custom_rituals'] = RulebookRitual::where('owner', $owner)->get();
     }
     return Response::json($out);
 }
コード例 #2
0
ファイル: stats.blade.php プロジェクト: AcceptableIce/Larp3
function getDataSet($val)
{
    $all_backgrounds = RulebookBackground::all()->lists('name');
    $all_abilities = RulebookAbility::where('isCustom', false)->get()->lists('name');
    $extractor = null;
    $labelSet = [];
    switch ($val) {
        case "Generation":
            $labelSet = ["8th", "9th", "10th", "11th", "12th", "13th", "14th", "15th"];
            $extractor = function ($character) {
                if ($character->hasFlaw("Fourteenth Generation")) {
                    return 15;
                } elseif ($character->hasFlaw("Fifteenth Generation")) {
                    return 14;
                } else {
                    return 13 - $character->getBackgroundDots("Generation");
                }
            };
            break;
        case "Courage":
            $labelSet = [1, 2, 3, 4, 5];
            $extractor = function ($character) {
                return @$character->path()->first()->virtue4;
            };
            break;
        case "Morality":
            $labelSet = [1, 2, 3, 4, 5];
            $extractor = function ($character) {
                return @$character->path()->first()->virtue3;
            };
            break;
        case "Self-Control/Instinct":
            $labelSet = [1, 2, 3, 4, 5];
            $extractor = function ($character) {
                return @$character->path()->first()->virtue2;
            };
            break;
        case "Conscience/Conviction":
            $labelSet = [1, 2, 3, 4, 5];
            $extractor = function ($character) {
                return @$character->path()->first()->virtue1;
            };
            break;
        case "Physical Traits":
            $labelSet = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];
            $extractor = function ($character) {
                return $character->attributes()->first()->physicals;
            };
            break;
        case "Mental Traits":
            $labelSet = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];
            $extractor = function ($character) {
                return $character->attributes()->first()->mentals;
            };
            break;
        case "Social Traits":
            $labelSet = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];
            $extractor = function ($character) {
                return $character->attributes()->first()->socials;
            };
            break;
        case "Current Experience":
            $labelSet = [];
            for ($i = 0; $i <= 100; $i++) {
                $labelSet[] = $i;
            }
            $extractor = function ($character) {
                return $character->cachedExperience();
            };
            break;
        case "Total Experience":
            $labelSet = [];
            for ($i = 0; $i <= 100; $i++) {
                $labelSet[] = $i;
            }
            $extractor = function ($character) {
                return $character->experience;
            };
            break;
        case "Experience Spent":
            $labelSet = [];
            for ($i = 0; $i <= 100; $i++) {
                $labelSet[] = $i;
            }
            $extractor = function ($character) {
                return $character->getExperienceCost($character->activeVersion());
            };
            break;
        case "Total Influence":
            $labelSet = [];
            for ($i = 0; $i <= 14 * 5; $i++) {
                $labelSet[] = $i;
            }
            $extractor = function ($character) {
                $influences = ["Bureaucracy", "Church", "Finance", "Health", "High Society", "Industry", "Media", "Neighborhood", "Occult", "Police", "Politics", "Transportation", "Underworld", "University"];
                $total = 0;
                foreach ($influences as $i) {
                    $total += $character->getBackgroundDots($i);
                }
                return $total;
            };
            break;
        default:
            if (in_array($val, $all_backgrounds)) {
                $labelSet = [0, 1, 2, 3, 4, 5];
                $extractor = function ($character) use($val) {
                    return $character->getBackgroundDots($val);
                };
            } else {
                if (in_array($val, $all_abilities)) {
                    $labelSet = [0, 1, 2, 3, 4, 5];
                    $extractor = function ($character) use($val) {
                        return $character->getAbilityDots($val);
                    };
                }
            }
            break;
    }
    return ["labels" => $labelSet, "extractor" => $extractor];
    /*$dataSet = [];
    		foreach(Character::activeCharacters()->get() as $c) {
    			$charData = call_user_func($extractor, $c);
    			$dataSet[] = ["name" => $c->name, "value" => $charData];
    		}
    		return ["labels" => $labelSet, "data" => $dataSet];*/
}