{{ $name }}
@php // NPC 3D model: shared models keyed by raw.nDataSortNumber3D, per game // (TS1=001_N, TS2=002_N in D04_GSOBJECT\002). Pre-built offline (pixels only). $model3dId = $raw['nDataSortNumber3D'] ?? null; $modelImg = null; $turnUrl = null; if ($model3dId !== null && $model3dId !== '' && is_numeric($model3dId)) { $gameSlug = str_contains((string) ($game ?? ''), '2') ? 'ts2' : 'ts1'; $mid = (int) $model3dId; $imgRel = 'images/models/npc/' . $gameSlug . '/' . $mid . '.png'; if (is_file(public_path($imgRel))) $modelImg = asset($imgRel); $turnRel = 'images/models/npc/' . $gameSlug . '/turntable/' . $mid . '.webp'; if (is_file(public_path($turnRel))) $turnUrl = asset($turnRel); } @endphp @include('wiki.partials.model_viewer', ['turnUrl' => $turnUrl, 'modelImg' => $modelImg, 'name' => $name]){{ __('Base Details') }}
@foreach($baseRows as $row)
{{ $row['label'] }}
{{ $row['value'] }}
@endforeach
{{ __('Speech') }}
@foreach($speechLines as $line)
{{ $line }}
@endforeach
{{ __('Skills Taught') }}
@if(count($npcSkills))
@foreach($npcSkills as $skill)
@endforeach
@else
{{ $skill['faction'] }}
{{ __('None') }}
{{ __('NPC Shop') }}
@if(count($shopPages))
@foreach($shopPages as $page)
@endforeach
@else
{{ $page['title'] }}
@foreach($page['items'] as $item)
@endforeach
{{ $item['silver'] ?? '—' }}
{{ $item['cp'] ?? '—' }}
{{ __('None') }}