Actions

Template

BuildingRefinerDisplayV2: Difference between revisions

From Dune Awakening DB

mNo edit summary
mNo edit summary
 
(48 intermediate revisions by the same user not shown)
Line 1: Line 1:
<div class="responsive-container">
<templatestyles src="Template:BuildingPage/styles.css" />
{{#vardefine:BuildingName|{{{Name|{{PAGENAME}}}}}}}
{{#get_external_data:source=externaldb|from=data_buildings|data=ID=id,BuildingType=building_type,Name=name,Description=description,PowerCost=power_cost,GeneratesPower=generates_power,StorageSlots=storage_slots,StorageCapacity=storage_capacity,SchematicRequirement=schematic_requirement,JourneyRequirement=journey_requirement,Health=health,PlacedWith=placed_with,AdditionalNotes=additional_notes,RecipeToBuild=recipe_to_build,ImageFile=image_file,IconFile=icon_file,Category1=category_1,Category2=category_2,Category3=category_3,Gallery1=gallery_1,Gallery2=gallery_2,Gallery3=gallery_3,Gallery4=gallery_4,YoutubeVideoLink=youtube_video_link|cache=yes|where=name='{{PAGENAME}}'|limit=1}}
 
{{#for_external_table:|{{#vardefine:Name|{{{Name}}}}}{{#vardefine:BuildingType|{{{BuildingType}}}}}{{#vardefine:Description|{{{Description}}}}}{{#vardefine:PowerCost|{{{PowerCost}}}}}{{#vardefine:GeneratesPower|{{{GeneratesPower}}}}}{{#vardefine:StorageSlots|{{{StorageSlots}}}}}{{#vardefine:StorageCapacity|{{{StorageCapacity}}}}}{{#vardefine:SchematicRequirement|{{{SchematicRequirement}}}}}{{#vardefine:JourneyRequirement|{{{JourneyRequirement}}}}}{{#vardefine:Health|{{{Health}}}}}{{#vardefine:PlacedWith|{{{PlacedWith}}}}}{{#vardefine:AdditionalNotes|{{{AdditionalNotes}}}}}{{#vardefine:RecipeToBuild|{{{RecipeToBuild}}}}}{{#vardefine:ImageFile|{{{ImageFile}}}}}{{#vardefine:IconFile|{{{IconFile}}}}}{{#vardefine:Category3|{{{Category3}}}}}{{#vardefine:Category2|{{{Category2}}}}}{{#vardefine:Category1|{{{Category1}}}}}{{#vardefine:YoutubeVideoLink|{{{YoutubeVideoLink}}}}} }}
{{#get_external_data: source=externaldb
<!-- Main container with reduced gaps for better wiki fit -->
|from=data_buildings
{{#if:{{{AdditionalNotes|}}}
|where=name='{{#var:BuildingName}}'
| {{#vardefine:AdditionalNotes|{{{AdditionalNotes}}}}}
|data=id=id,building_type=building_type,name=name,description=description,
| <!-- fallback already set inside external data loop -->
        power_cost=power_cost,generates_power=generates_power,storage_slots=storage_slots,
        storage_capacity=storage_capacity,schematic_requirement=schematic_requirement,
        journey_requirement=journey_requirement,health=health,placed_with=placed_with,
        additional_notes=additional_notes,recipe_to_build=recipe_to_build,
        image_file=image_file,icon_file=icon_file,
        category_1=category_1,category_2=category_2,category_3=category_3,
        youtube_video_link=youtube_video_link
}}
}}
<div class="dune-breadcrumb-nav">
  <span id="menuRadialTrigger" class="menu-button-wrapper" style="cursor:pointer;">[[File:MenuButton.png|100px|link=|alt=Menu]]</span><span class="dune-breadcrumb-separator">/</span>[[{{#var:Category1}}|{{#var:Category1}}]]<span class="dune-breadcrumb-separator">/</span>[[{{#var:Category2}}|{{#var:Category2}}]]<span class="dune-breadcrumb-separator">/</span>[[{{#var:Category3}}|{{#var:Category3}}]]<span class="dune-breadcrumb-separator">/</span><span>{{PAGENAME}}</span></div>


<div class="responsive-col col1">
<div class="responsive-container">
<div class="skin-pivot">
  <!-- Left Column -->
<div class="dune-card">
  <div class="responsive-col col1">
<div class="dune-card-decoration"></div>
    <div class="skin-pivot">
<div class="dune-card-inner">
      <div class="dune-card">
<div class="dune-card-label">SCHEMATIC – BUILDABLE</div>
        <div class="dune-card-decoration"></div>
<div class="dune-card-title"><span class="icon">&#x1F6C8;</span> {{#external_value:name}}</div>
        <div class="dune-card-inner">
<div class="dune-card-image">[[File:{{#external_value:image_file}}|200px|alt={{#external_value:name}}|style:max-width:100%;max-height:150px;object-fit:contain;border:2px solid #e2d3ae;border-radius:4px;padding:2px;background-color:#262626;]]</div>
          <div class="dune-card-label">SCHEMATIC – BUILDABLE</div>
<div class="dune-card-description">{{#external_value:description}}</div>
          <div class="dune-card-title"><span class="icon">&#x1F6C8;</span> Building Information</div>
<div class="dune-card-locked">
          <div style="padding:3px;"></div>
<div class="dune-card-locked-label"><span class="dune-card-locked-icon">&#128274;</span>Locked Behind</div>
         
<div class="dune-card-locked-value">{{#external_value:journey_requirement}}</div>
          <!-- Image Section -->
</div>
          <div class="dune-card-image" style="text-align: center;">
<div class="dune-card-infobox">
            <div class="has-border">{{#if:{{#var:ImageFile}}
<table class="infobox-dune">
                | [[File:{{#var:ImageFile}}|200px|alt={{#var:Name}}]]
<tr><th><span class="icon">&#127941;</span> Type</th><td>{{#external_value:building_type}}</td></tr>
                | [[File:Placeholder.png|200px|alt=No image available]]}}
<tr><th><span class="icon">&#9881;</span> Primary Source</th><td>Crafting</td></tr>
            </div>
<tr><th><span class="icon">&#9829;</span> Health</th><td>{{#external_value:health}}</td></tr>
          </div>
<tr><th><span class="icon">&#9889;</span> Power Cost</th><td>{{#external_value:power_cost}}</td></tr>
          <div style="padding:3px;"></div>
<tr><th><span class="icon">&#128230;</span> Inventory Slots</th><td>{{#external_value:storage_slots}}</td></tr>
         
<tr><th><span class="icon">&#128451;</span> Volume Capacity</th><td>{{#external_value:storage_capacity}}</td></tr>
          <!-- Description -->
<tr><th><span class="icon">&#9883;</span> Components</th><td>
          <div class="dune-card-description">{{#invoke:DataTableParserV2|iconize|{{#var:Description}}}}</div>
{{#get_external_data: source=externaldb
         
|from=data_resources
          <!-- Locked Behind -->
|where=name IN ({{#external_value:recipe_to_build}})
          <div class="dune-card-locked">
|data=name=ComponentName,icon_file=ComponentIconFile}}
            <div class="dune-card-locked-label"><span class="dune-card-locked-icon">&#128274;</span>Locked Behind</div>
{{#for_external_table:|[[File:{{#external_value:ComponentIconFile}}|20px]] [[{{#external_value:ComponentName}}]]<br>}}
            <div class="dune-card-locked-value">{{#var:JourneyRequirement}}</div>
</td></tr>
          </div>
<tr><th><span class="icon">&#128296;</span> Placed With</th><td>{{#external_value:placed_with}}</td></tr>
</table>
</div>
</div>
</div>
</div>
</div>


<div class="responsive-col col2">
          <!-- Table -->
<!-- Refining Recipes Card -->
          <div class="dune-table-wrapper">
<div class="skin-pivot" style="margin-bottom:20px;">
            <table class="infobox-dune-two-column">
  <div class="dune-card">
              <tr><th><span class="icon">[[File:BuildingTypeIcon.png]]</span> Building Type</th><td>{{#var:BuildingType}}</td></tr>
    <div class="dune-card-decoration"></div>
              <tr><th><span class="icon">[[File:BuildingHealthIcon.png]]</span> Health</th><td>{{#var:Health}}</td></tr>
    <div class="dune-card-inner">
              <tr><th><span class="icon">[[File:BuildingPowerIcon.png]]</span> Power Cost</th><td>{{#var:PowerCost}}</td></tr>
      <div class="dune-card-label">CRAFTING</div>
              <tr><th><span class="icon">[[File:BuildingInventoryIcon.png]]</span> Inventory Slots</th><td>{{#var:StorageSlots}}</td></tr>
      <div class="dune-card-title"><span class="icon">&#9883;</span> Refining Recipes</div>
              <tr><th><span class="icon">[[File:BuildingCapacityIcon.png]]</span> Capacity</th><td>{{#var:StorageCapacity}}</td></tr>
      <div class="dune-card-description">Below is a list of possible outputs, required inputs, and the time to refine. Times or power usage might vary based on external modifiers (e.g., upgrades).
              <tr><th><span class="icon">[[File:BuildingRecipeIcon.png]]</span> Recipe</th><td>{{#invoke:DataTableParserV2|iconize|{{#var:RecipeToBuild}}}}</td></tr>
              <tr><th><span class="icon">[[File:BuildingPlacedWithIcon.png]]</span> Placed With</th><td>{{#invoke:DataTableParserV2|iconize|{{#var:PlacedWith}}}}</td></tr>
            </table>
          </div>
        </div>
       </div>
       </div>
    <div class="dune-card-infobox-left">
  <table class="infobox-dune">
    {{#get_external_data: source=externaldb
    |from=data_refining_recipes
    |where=refiner_needed='{{#var:BuildingName}}'
    |data=output_item=OutputItem,ingredients=Ingredients,time=Time,recipe_qty=RecipeQty
    }}
    <tr>
      <th style="text-align:left;">Output</th>
      <th style="text-align:left;">Ingredients</th>
      <th style="text-align:left;">Craft Time</th>
    </tr>
    {{#for_external_table:|
    {{!}}-
    {{!}} {{#get_external_data: source=externaldb |from=data_resources |where=name='{{#external_value:OutputItem}}' |data=icon_file=IconFile}}[[File:{{#external_value:IconFile}}|20px]] [[{{#external_value:OutputItem}}]] {{#if: {{#external_value:RecipeQty}} | × {{#external_value:RecipeQty}} | }}
    {{!}} {{#get_external_data: source=externaldb |from=data_resources |where=name IN ({{#external_value:Ingredients}}) |data=name=IngName,icon_file=IngIconFile}}
    {{#for_external_table:|[[File:{{#external_value:IngIconFile}}|20px]] [[{{#external_value:IngName}}]]<br>}}
    {{!}} {{#external_value:Time}}
    }}
  </table>
</div>
     </div>
     </div>
   </div>
   </div>
</div>


<div class="skin-pivot" style="margin-bottom:20px;">
  <!-- Middle Column -->
  <div class="dune-card">
  <div class="responsive-col col2">
    <div class="dune-card-decoration"></div>
    <!-- Refining Recipes Card -->
    <div class="dune-card-inner">
    <div class="skin-pivot">
      <div class="dune-card-label">Additional Information</div>
      <div class="dune-card">
      <div class="dune-card-title"><span class="icon">&#8801;</span> Notes</div>
        <div class="dune-card-decoration"></div>
      <div class="dune-card-description">{{#external_value:additional_notes}}</div>
        <div class="dune-card-inner">
          <div class="dune-card-label">CRAFTING</div>
          <div class="dune-card-title"><span class="icon">&#9883;</span> Refining Recipes</div>
          <div style="padding:3px;"></div>
          <div class="dune-card-description">Below is a list of possible outputs, required inputs, and the time to refine.</div>
         
          <!-- Refining Recipes -->
          <div class="dune-card-infobox-left">
            {{#get_external_data:
              source=externaldb
              |from=data_refining_recipes
              |data=Output=name,Time=time_to_smelt,Recipe=recipe_to_smelt,Refiner=refiner_needed
              |cache=yes
              |where=refiner_needed='{{PAGENAME}}'
            }}
            <div class="dune-table-wrapper" style="overflow-x: auto;">
              <table class="infobox-dune-standard-table">
                <tr class="tr-dark">
                  <th style="text-align:left; width:30%;">Output</th>
                  <th style="text-align:left; width:50%;">Recipe</th>
                  <th style="text-align:left; width:20%;">Craft Time</th>
                </tr>
                {{#for_external_table:|
                  <tr>
                    <td style="text-align:left;">{{#invoke:DataTableParserV2|iconize|1={{{Output}}}}}</td>
                    <td style="text-align:left;">{{#invoke:DataTableParserV2|formatRecipeList|1={{{Recipe}}}}}</td>
                    <td style="text-align:left;">{{{Time}}}</td>
                  </tr>
                }}
              </table>
            </div>
          </div>
         
          <div style="clear:both; padding:10px;"></div>
         
          <!-- Other Refiners content integrated here -->
          <div class="dune-card-title"><span class="icon">&#x1F3D7;</span> Other {{#var:Category3}}</div>
          <div style="padding:3px;"></div>
          <div class="dune-card-description">Explore similar building types to expand your base capabilities.</div>
          <div class="dune-table-wrapper">
            {{#get_external_data:
              source=externaldb
              |from=data_buildings
              |data=Name=name,BuildingType=building_type,Category3=category_3
              |cache=yes
              |where=category_3='{{#var:Category3}}'
            }}
            <table class="infobox-dune-standard-table">
              <tr class="tr-dark">
                <th style="text-align:left;">Name</th>
                <th style="text-align:left;">Tier</th>
                <th style="text-align:left;">Description</th>
              </tr>
              {{#for_external_table:|
                <tr>
                  <td style="text-align:left;">{{{Name}}}</td>
                  <td style="text-align:left;">{{{BuildingType}}}</td>
                  <td style="text-align:left;">{{{Category3}}}</td>
                </tr>
              }}
            </table>
          </div>
        </div>
      </div>
     </div>
     </div>
   </div>
   </div>
</div>
</div>


<div class="responsive-col col3">
  <!-- Right Column -->
<div class="skin-pivot" style="margin-bottom:20px;">
  <div class="responsive-col col3">
  <div class="dune-card">
    <!-- Building Guide Video Card with Notes integrated -->
    <div class="dune-card-decoration"></div>
    <div class="skin-pivot">
    <div class="dune-card-inner">
      <div class="dune-card">
      <div class="dune-card-label">VIDEO TUTORIALS</div>
        <div class="dune-card-decoration"></div>
      <div class="dune-card-title"><span class="icon">&#9654;</span> {{{VideoTitle|Building Guide}}}</div>
        <div class="dune-card-inner">
      <div class="dune-card-video" style="border:2px solid #e2d3ae;border-radius:4px;padding:2px;background-color:#262626;">
          <div class="dune-card-label">VIDEO TUTORIALS</div>
    {{#if: {{#external_value:youtube_video_link}} |
          <div class="dune-card-title"><span class="icon">&#9654;</span> Building Guide</div>
    <youtube dimensions="480x360" alignment="center">{{#replace: {{#external_value:youtube_video_link}} | .*v=([a-zA-Z0-9_-]+).* | $1 }}</youtube>
          <div style="padding:3px;"></div>
    | Coming Soon }}
          <div class="dune-card-video" style="border:2px solid #e2d3ae;border-radius:4px;padding:2px;background-color:#262626;">  
</div>
            {{#if:{{{YoutubeEmbed|}}}
  </div>
              | {{{YoutubeEmbed}}}
</div>
              | <youtube>r8lxVDqoHLQ</youtube>}}
 
          </div>
<div class="skin-pivot">
         
  <div class="dune-card">
          <div style="clear:both; padding:10px;"></div>
    <div class="dune-card-decoration"></div>
         
    <div class="dune-card-inner">
          <!-- Notes content integrated here -->
      <div class="dune-card-label">RELATED BUILDINGS</div>
          <div class="dune-card-title"><span class="icon">&#8801;</span> Notes</div>
      <div class="dune-card-title"><span class="icon">&#x1F3D7;</span> Other {{#external_value:category_3}}</div>
          <div style="padding:3px;"></div>
      <div class="dune-card-description">{{{RelatedBuildingsDescription|Explore similar building types to expand your base capabilities.}}}</div>
          <div class="dune-card-description">{{#invoke:DataTableParserV2|iconize|{{#var:AdditionalNotes}}}}</div>
      <div class="dune-card-infobox">
         </div>
        {{#get_external_data: source=externaldb
        |from=data_buildings
        |where=category_3='{{#external_value:category_3}}'
        |data=name=RelatedName,building_type=RelatedType,description=RelatedDescription,icon_file=RelatedIconFile
        }}
        <table class="infobox-dune" style="width:100%">
        <tr>
          <th style="text-align:left;">Name</th>
          <th style="text-align:left;">Type</th>
          <th style="text-align:left;">Description</th>
         </tr>
        {{#for_external_table:|
        {{#if: {{#ifeq: {{#external_value:RelatedName}} | {{#var:BuildingName}} | | 1 }} |
        {{!}}-
        {{!}} [[File:{{#external_value:RelatedIconFile}}|20px]] [[{{#external_value:RelatedName}}]]
        {{!}} {{#external_value:RelatedType}}
        {{!}} {{#external_value:RelatedDescription}}
        |}}
        }}
        </table>
       </div>
       </div>
     </div>
     </div>
   </div>
   </div>
</div>
</div>
<div style="clear:both;"></div>
</div>
</div>

Latest revision as of 01:05, 23 May 2025


Menu/[[{{{Category1}}}|{{{Category1}}}]]/[[{{{Category2}}}|{{{Category2}}}]]/[[{{{Category3}}}|{{{Category3}}}]]/BuildingRefinerDisplayV2
SCHEMATIC – BUILDABLE
🛈 Building Information
[[File:{{{ImageFile}}}|200px|alt={{{Name}}}]]
{{{Description}}}
🔒Locked Behind
{{{JourneyRequirement}}}
Building Type{{{BuildingType}}}
Health{{{Health}}}
Power Cost{{{PowerCost}}}
Inventory Slots{{{StorageSlots}}}
Capacity{{{StorageCapacity}}}
Recipe{{{RecipeToBuild}}}
Placed With{{{PlacedWith}}}
CRAFTING
Refining Recipes
Below is a list of possible outputs, required inputs, and the time to refine.
           The query SELECT  name,time_to_smelt,recipe_to_smelt,refiner_needed  FROM `data_refining_recipes`    WHERE refiner_needed='BuildingRefinerDisplayV2'   is invalid (Error 1146: Table 'dunedbco_ddb.data_refining_recipes' doesn't exist

Function: EDConnectorRdbms::fetch Query: SELECT name,time_to_smelt,recipe_to_smelt,refiner_needed FROM `data_refining_recipes` WHERE refiner_needed='BuildingRefinerDisplayV2' ).

Output Recipe Craft Time
🏗 Other {{{Category3}}}
Explore similar building types to expand your base capabilities.
Name Tier Description
VIDEO TUTORIALS
Building Guide
Notes
{{{AdditionalNotes}}}