Hello everyone! I am one of the volunteer developers on this wiki and I just want to write a quick wiki update post for posterity and documentation on what I have been working on the past month regarding Void Relics. These changes affect all relic pages as well as the main Void Relic article and are now live at the time this blog post is published. If you have any questions or concerns, I can be reached through my message wall or on the wiki's Discord channel. Happy farming!
- Last updated: Mon, 15 May 2023 22:24:57 +0000 (UTC) by User:Cephalon Scientia
Changelogs[]
Here are some backend changes to how we store, render, and display relic data around these parts:
- Added a new Template:RelicPage that combines all the below archived templates using the Lua scripting language, seen in Module:Void/page. All relic pages now use this template to display their contents.
- A new
PrimeData
subtable is part of Module:Void/data that uses item and part names to get the relics that they are dropped from; think of it as the 'inverse' of the original relic data table. DucatValue
and Vaulted
status of Prime parts are also stored in this subtable.
- Original table is stored in
RelicData
with a slightly different schema. More notably, all table entries are mapped to a key name that is the full relic name and Introduced
and Vaulted
keys added for release/vaulted versions.
- Because we now store update versions in the database, we can add the appropriate update category for relic pages using Module:Version.
- Moved all table builder functions (used in Void Relic/ByRelic, Void Relic/ByRarity, Void Relic/ByRewards, and Void Relic/ByRewards/SimpleTable) from Module:VoidByReward to Module:Void and refactored them to be compatible with the new
PrimeData
subtable.
- Updated styling of wikitables so that they are readable in the new (and soon to be standard) FandomDesktop skin's dark theme and on mobile. On desktop, table widths scale based on screen size.
- Added Lua-doc style documentation to all functions in the module and submodules, rendered using the documentation generator Module:Docbunto.
Sample Renders[]
Note that the frontend script that the relic refinement buttons ("Intact", "Flawless", etc.) rely on (MediaWiki:RelicTable.js) will only work for the first relic drop table. We do not expect these tables to appear more than once on a page in the main wiki.
New Vaulted Relic[]
This
Void Relic is no longer obtainable from the
Drop Tables. However, vaulted relics can still be opened if they are in player inventories. Players can still
trade for it, however.
The
Lith A1 Relic contains the following
Prime components and blueprints:
Old Vaulted Relic[]
The
Lith A1 Void Relic is no longer obtainable from the drop tables.
The
Lith A1 Relic contains the following
Prime components and blueprints:
New Unvaulted Relic[]
The
Lith A4 Relic contains the following
Prime components and blueprints:
Component
|
Ducat Value
|
Rarity (Chance)
|
Forma Blueprint
|
0 Ducats 0
|
Common(25.33%)
|
Burston Prime Receiver
|
15 Ducats 15
|
Corinth Prime Blueprint
|
15 Ducats 15
|
|
Baza Prime Barrel
|
45 Ducats 45
|
Uncommon(11%)
|
Ivara Prime Systems
|
45 Ducats 45
|
|
Astilla Prime Barrel
|
100 Ducats 100
|
Rare (2%)
|
|
Intact Exceptional Flawless Radiant
Mission
|
Tier
|
Rotations
|
Chances
|
Capture
|
Void T1
|
A
|
11.11%
|
Defection
|
Tier 1
|
B, C
|
10.84%, 11.06%
|
Defense
|
Dark Sector
|
A
|
6.9%
|
Defense
|
Derelict
|
A
|
11.11%
|
Defense
|
Tier 1
|
A
|
9.09%
|
Defense
|
Void T1
|
A, B, C
|
11.11%, 8.6%, 5.88%
|
Disruption
|
Mars
|
A, B
|
14.29%, 14.29%
|
Empyrean
|
Earth
|
A
|
3%
|
Empyrean
|
EarthCaches
|
A
|
5.99%
|
Empyrean
|
Venus
|
A
|
2.44%
|
Empyrean
|
VenusCaches
|
A
|
4.35%
|
Empyrean
|
VenusDefense
|
B
|
5.88%
|
Empyrean
|
VenusOrphix
|
B
|
4.55%
|
Excavation
|
Tier 1
|
B, C
|
7.69%, 11.06%
|
Exterminate
|
Void T1
|
A
|
11.11%
|
Interception
|
Tier 1
|
A
|
7.69%
|
Mobile Defense
|
Void T2
|
A
|
5.88%
|
Onslaught
|
Easy
|
A
|
9.17%
|
Onslaught
|
Hard
|
A
|
9.48%
|
Rush
|
Archwing
|
C
|
9.68%
|
Sabotage
|
Void Tier 2
|
A
|
5.88%
|
Survival
|
Dark Sector 1
|
B, C
|
7.69%, 11.06%
|
Survival
|
Derelict
|
A
|
11.11%
|
Survival
|
Tier 1
|
B, C
|
7.69%, 11.06%
|
Survival
|
Void T2
|
A
|
8.6%
|
Void Storm
|
Tier1A
|
A
|
5%
|
Void Storm
|
Tier1B
|
A
|
5%
|
|
Old Unvaulted Relic[]
The
Lith A4 Relic contains the following
Prime components and blueprints:
Component |
Ducat Value |
Rarity (Chance)
|
Forma Blueprint
|
– Ducats –
|
Common(25.33%)
|
Burston Prime Receiver
|
– Ducats 15
|
Corinth Prime Blueprint
|
15 Ducats 15
|
Baza Prime Barrel
|
45 Ducats 45
|
Uncommon(11%)
|
Ivara Prime Systems
|
45 Ducats 45
|
Astilla Prime Barrel
|
100 Ducats 100
|
Rare (2%)
|
|
Intact Exceptional Flawless Radiant
Mission
|
Tier
|
Rotations
|
Chances
|
Capture
|
Void T1
|
A
|
11.11%
|
Defection
|
Tier 1
|
B, C
|
10.84%, 11.06%
|
Defense
|
Dark Sector
|
A
|
6.9%
|
Defense
|
Derelict
|
A
|
11.11%
|
Defense
|
Tier 1
|
A
|
9.09%
|
Defense
|
Void T1
|
A, B, C
|
11.11%, 8.6%, 5.88%
|
Disruption
|
Mars
|
A, B
|
14.29%, 14.29%
|
Empyrean
|
Earth
|
A
|
3%
|
Empyrean
|
EarthCaches
|
A
|
5.99%
|
Empyrean
|
Venus
|
A
|
2.44%
|
Empyrean
|
VenusCaches
|
A
|
4.35%
|
Empyrean
|
VenusDefense
|
B
|
5.88%
|
Empyrean
|
VenusOrphix
|
B
|
4.55%
|
Excavation
|
Tier 1
|
B, C
|
7.69%, 11.06%
|
Exterminate
|
Void T1
|
A
|
11.11%
|
Interception
|
Tier 1
|
A
|
7.69%
|
Mobile Defense
|
Void T2
|
A
|
5.88%
|
Onslaught
|
Easy
|
A
|
9.17%
|
Onslaught
|
Hard
|
A
|
9.48%
|
Rush
|
Archwing
|
C
|
9.68%
|
Sabotage
|
Void Tier 2
|
A
|
5.88%
|
Survival
|
Dark Sector 1
|
B, C
|
7.69%, 11.06%
|
Survival
|
Derelict
|
A
|
11.11%
|
Survival
|
Tier 1
|
B, C
|
7.69%, 11.06%
|
Survival
|
Void T2
|
A
|
8.6%
|
Void Storm
|
Tier1A
|
A
|
5%
|
Void Storm
|
Tier1B
|
A
|
5%
|
|
New Baro-Exclusive Relic[]
This
Void Relic is exclusive to the
Void Trader's offerings and may not be available for purchase at this time. Players can still
trade for it, however.
The
Neo O1 Relic contains the following
Prime components and blueprints:
Old Baro-Exclusive Relic[]
The
Neo O1 Relic contains the following
Prime components and blueprints:
Additional Notes[]
For Editors[]
- Whenever a new Prime Access or Prime Unvaulting is released (typically quarterly, every 3 months or so), a new relic's drop table can be added in Module:Void/data under the
RelicData
key. The schema for how new data should be formatted has been slightly changed and is well documented on that page. In short:
- Item and part names no longer need to be in
CAPITALCASE
, use Title Case
instead like the rest of the data entries
Introduced
and Vaulted
keys that store the version in which the relic was first released and last vaulted respectively (no need to manually go to the relic page and edit the template argument)
- Updating missions where a relic can drop from has not been changed. They are still updated in Module:DropTables/data.
- Instead of editing template pages to update wikitext, editors have now go to Module:Void/page and edit the strings values that make up wikitext. This should be obvious to those unfamiliar with Lua, as they are identifiable by wikitext syntax (e.g.
<infobox>
tags, template transclusion syntax, etc.). The documentation in the code should help editors navigate to the appropriate section to edit wikitext. Things one may edit:
- Infobox formatting
- Message box contents
- Relic drop table formatting
- Formatting for mission table in which relic may drop from has to be edited in Module:DropTables, not in Module:Void/page
- Ducat value data does not need to be inputted by editors of the database. These can be calculated based on the item's drop rarity. Exceptions can be added to the top of Module:Void/data in the
DUCAT_EXCEPTIONS
table.
For Developers[]
- The relic data in Module:Void/data can be exported and saved onto your computer in a Lua table format. Go to Module:Void and navigate to the "Download" row in the infobox.
- There are still may
TODOs
as of 21:17, 30 June 2021 (UTC), so feel free to update the codebase if necessary. Though make your edits first in Module:Void/dev or on a separate user page before deploying the code to the main modules.
- If you want to fork this codebase and data to be used on a wiki in a different language, you can look into https://warframe.huijiwiki.com/wiki for how to approach this problem. In short:
- This sister wiki uses a user-contributed JSON dictionary that maps English localization to Simplified Chinese: https://warframe.huijiwiki.com/wiki/UserDict
- For example, "Axi" is mapped to "后纪" so "Axi A1" is "后纪 A1".
- The JSON is converted to a Lua table format in 模块:UserDict using
mw.text.jsonDecode()
and for-loops.
- The Lua table is loaded in 模块:Translate which is the module in which text is translated from one locale to another. The functions
p.toChineseCI(src)
and p.toChineseCat(src)
are used for single word and category name conversions respectively (both case insensitive).
- Finally, the translation module is used in 模块:Void, the Chinese wiki's fork of this wiki's codebase. Note that 模块:Void/data is not modified at all and still uses English localization.
For Readers[]
- Mobile users should have a better experience viewing the contents of individual relic pages. I had made some styling changes to ensure the text is readable in the wikitables.
- For those using dark theme on the new (and soon to be standard) FandomDesktop skin, the wikitables should now be readable since they use the
wikitable
CSS class instead of emodtable
.
- Dark mode changes the
emodtable
table background to gray, text color to white, and links to light blue, lowering text contrast for readability and visibility.
Technical Motivation[]
There are multiple reasons for changing up how we render relic infoboxes and tables in the backend:
- If we were to update the relic database Module:Void/data to store the versions in which relics are introduced and vaulted in, then it is redundant to have users use the relic infobox and table templates since we can then generate a relic's page content based on Module:Void/data.
- Before, Luafying the relic infobox and table templates was not possible because
release-date
and vault-date
values were on each individual relic page. Moving all of those version values into a single database was what made this project possible.
- By Luafying the templates, we can read data directly from Module:Void/data without using the
{{#invoke:}}
parser function which slightly helps with performance and memory usage.
- The number of parser functions used in templates makes it hard to read from an editor's standpoint. Luafying the templates allows breaking up particular sections of wikitext into Lua functions for maintainability. Otherwise, the alternative is to make multiple template pages/subpages and transclude them in a singular template.
- Luafied versions of the templates are relatively more readable since the nested parser functions are gone.
- It is odd to use parser functions as a pseudo-database in Template:RelicTable/Check for storing irregular ducat values of prime parts. It is better to use a Lua table for that sort of thing.
Template:RelicInfobox[]
- Sample usage of old template
{{RelicInfobox
| name = Lith A1
| release-date = Specters of the Rail
| vault-date = 19.0.7
| vaulted = t
}}
- Original template wikitext
<onlyinclude>{{#vardefine:name|{{#ifeq:{{{name|}}}||{{PAGENAME}}|{{{name|}}}}}}}<!--
-->{{#ifeq: {{{baro|}}}|||{{ambox
| image = Voidtraderplaceholderthumb.png
| link = Baro Ki'Teer
| quote = Maybe next time.
| type = The '''{{#var:name}}''' [[Void Relic]] is not available for purchase from the [[Baro Ki'Teer|Void Trader]] at this time.[[Category:Baro_Ki'Teer_Offering]]
}} }}<!--
-->{{#ifeq: {{{vault-date|}}}|||{{ambox
| image = AladVPortrait_d.png
| link = Alad V
| quote = Market forces dictate that you need to evolve or die.
| type = The '''{{#var:name}}''' [[Void Relic]] is no longer obtainable from the drop tables.
}} }}
<infobox>
<title source="name">
<default><span><b>{{#var:name}}</b></span></default>
</title>
<image source="image">
<default>{{#switch: {{lc:{{#sub:{{#var:name}}|0|{{#pos:{{#var:name}}|}}}}}}
|lith = VoidProjectionsIronD.png
|meso = VoidProjectionsBronzeD.png
|neo = VoidProjectionsSilverD.png
|axi = VoidProjectionsGoldD.png
|requiem = RequiemR0.png
|#default = Panel.png
}}</default>
</image>
<data source="notes"><format><div style="text-align:center;">{{{notes|}}}</div></format></data>
<group>
<header>General</header>
<data source="release-date"><label>Release date</label><default>{{#ifeq: {{{release-date|}}}||–|{{{release-date|}}}}}</default></data>
<data source="vault-date"><label>Vault date</label><default>{{#ifeq: {{{vault-date|}}}||–|{{{vault-date|}}}}}</default></data>
<data source="baro">
<default>
{{#ifeq: {{{vault-date|}}}||<div style="text-align:center;">{{text|green|Available}}</div>|<div style="text-align:center;">{{text|red|Vaulted}}</div><includeonly>{{#ifeq:{{{no-cat|}}}||[[Category:Vaulted]]|}}</includeonly>}}
</default>
<format>
<div style="text-align:center;">[[Baro Ki'Teer|{{text|blue|Baro Ki'Teer Exclusive}}]]</div><includeonly>{{#ifeq:{{{no-cat|}}}||[[Category:Removed]]|}}</includeonly>
</format></data>
</group>
</infobox>
<includeonly>[[fr:{{#var:name}}]][[es:{{#var:name}}]]{{#ifeq:{{{no-cat|}}}||[[Category:{{#sub:{{#var:name}}|0|{{#pos:{{#var:name}}|}}}}]][[Category:Relic]][[Category:{{#sub:{{{release-date|}}}|2|{{#pos:{{{release-date|}}}|#}}}}]]|}}</includeonly>
{{RelicTable|name={{#var:name}}|vaulted={{#ifeq:{{{vault-date|}}}||{{#ifeq:{{{baro|}}}|||t}}|t}}}}
</onlyinclude>
- Luafied version in Module:Void/page
local infobox = [=[
%s
<infobox>
<title source="name"><default><span><b>%s</b></span></default></title>
<image source="image"><default>%s</default></image>
<group>
<header>General</header>
<data source="release-date">
<label>Introduced</label><default>%s</default>
</data>
<data source="vault-date">
<label>Latest vaulting</label><default>%s</default>
</data>
<data source="baro"><default>%s</default></data>
</group>
</infobox>
%s
]=]
infobox = string.format(infobox,
getMessageBox(relic),
relicName,
IMAGE_MAP[relic['Tier']],
Version._getVersionLink(relic['Introduced']),
relic['Vaulted'] ~= nil and Version._getVersionLink(relic['Vaulted']) or '',
getRelicStatus(relic),
getRelicCategories(relic)
)
Template:RelicTable[]
- Original template wikitext
<onlyinclude>{{#vardefine:Name|{{#ifeq: {{{name|}}}||{{PAGENAME}}|{{{name|}}}}}}}<!--
-->{{#vardefine:cDucat1| {{RelicTable/Check|{{#var:Name}}|Common|1|{{{cDucat1|15}}}}} }}<!--
-->{{#vardefine:cDucat2| {{RelicTable/Check|{{#var:Name}}|Common|2|{{{cDucat2|15}}}}} }}<!--
-->{{#vardefine:cDucat3| {{RelicTable/Check|{{#var:Name}}|Common|3|{{{cDucat3|15}}}}} }}<!--
-->{{#vardefine:uDucat1| {{RelicTable/Check|{{#var:Name}}|Uncommon|1|{{{uDucat1|45}}}}} }}<!--
-->{{#vardefine:uDucat2| {{RelicTable/Check|{{#var:Name}}|Uncommon|2|{{{uDucat2|45}}}}} }}<!--
-->{{#vardefine:rDucat1| {{RelicTable/Check|{{#var:Name}}|Rare|1|{{{rDucat1|100}}}}} }}<!--
-->The '''{{#var:Name}}''' [[Relic]] contains the following [[Prime]] components and blueprints:
{| class="emodtable" id="72656C6963table" <!-- ID is used by [[MediaWiki:RelicTable.js]] to change drop chance elements -->
|-
!style="width:240px;"| Component !!style="width:50px;"| Ducat Value !!style="width:100px;"| Rarity (Chance)
|-
|style="padding:0 5px 0 0; height: 32px;"| {{#invoke:Void|getRelicDrop|{{#var:Name}}|Common|1}}
| {{dc|{{#var:cDucat1}}}}
|rowspan="3" style="padding:0;"| <div style="margin: 0; padding: 0; height:32px;"></div><span id="relic-common-percentage">Common<br />(25.33%)</span>
<div style="margin: 35px 0 0 0; background-color:#2d2d2d; padding: 0; height:5px;">
{| id="relic-common-bar" style="border-collapse:collapse; width:76%;"
|style="background-color:#61d4d4; height:5px; margin:0; padding:0; border: 0px;"|
|}</div>
|-
|style="padding:0 5px 0 0; height: 32px;"| {{#invoke:Void|getRelicDrop|{{#var:Name}}|Common|2}}
| {{dc|{{#var:cDucat2}}}}
|-
|style="padding:0 5px 0 0; height: 32px;"| {{#invoke:Void|getRelicDrop|{{#var:Name}}|Common|3}}
| {{dc|{{#var:cDucat3}}}}
|-
|style="padding:0 5px 0 0; height: 32px;"| {{#invoke:Void|getRelicDrop|{{#var:Name}}|Uncommon|1}}
| {{dc|{{#var:uDucat1}}}}
|rowspan="2" style="padding:0;"| <div style="margin: 0; padding: 0; height:14px;"></div><span id="relic-uncommon-percentage">Uncommon<br />(11%)</span>
<div style="margin: 14px 0 0 0; background-color:#2d2d2d; padding: 0; height:5px;">
{| id="relic-uncommon-bar" style="border-collapse:collapse; width:22%;"
|style="background-color:#61d4d4; height:5px; margin:0; padding:0; border: 0px;"|
|}</div>
|-
|style="padding:0 5px 0 0; height: 32px;"| {{#invoke:Void|getRelicDrop|{{#var:Name}}|Uncommon|2}}
| {{dc|{{#var:uDucat2}}}}
|-
|rowspan="2" style="padding:0 5px 0 0; height: 32px;"| {{#invoke:Void|getRelicDrop|{{#var:Name}}|Rare|1}}
|rowspan="2" | {{dc|{{#var:rDucat1}}}}
| <span id="relic-rare-percentage">Rare (2%)</span>
|-
|style="background-color:#2d2d2d; padding: 0; height:5px;"|
{| id="relic-rare-bar" style="border-collapse:collapse; width:2%;"
|style="background-color:#61d4d4; height:5px; margin:0; padding:0; border: 0px;"|
|}
|-
|colspan="3"|{{#ifeq: {{{vaulted|}}}||<div class="mw-collapsible" style="width:100%;text-align:right;" data-expandtext="Drop Locations" data-collapsetext="Drop Locations"> <span class="button" id="relic-intact-button">Intact</span> <span class="button" id="relic-exceptional-button">Exceptional</span> <span class="button" id="relic-flawless-button">Flawless</span> <span class="button" id="relic-radiant-button">Radiant</span>
<div class="mw-collapsible-content" style="margin:-10px 0 0 0; padding:0;">{{#invoke:DropTables|getRelicByLocation|{{#var:Name}}}}
</div></div>|<span class="button" id="relic-intact-button">Intact</span> <span class="button" id="relic-exceptional-button">Exceptional</span> <span class="button" id="relic-flawless-button">Flawless</span> <span class="button" id="relic-radiant-button">Radiant</span>}}
|}</onlyinclude>
- Luafied version in Module:Void/page
local resultTable = string.format([=[
The '''%s''' [[Relic]] contains the following [[Prime]] components and blueprints:
{| class="wikitable" id="%s" style="width:55%%; text-align: center;"
|-
!style="width:60%%;"| Component
!style="width:20%%;"| Ducat Value
!style="width:20%%;"| Rarity (Chance)
|-
|style="padding:0 5px 0 0; height: 32px;"| %s
| {{dc|%d}}
|rowspan="3"| <span id="relic-common-percentage">Common<br />(25.33%%)</span>
|-
|style="padding:0 5px 0 0; height: 32px;"| %s
| {{dc|%d}}
|-
|rowspan="2" style="padding:0 5px 0 0; height: 32px;"| %s
|rowspan="2"| {{dc|%d}}
|-
|style="background-color:#2d2d2d; padding: 0; height:5px;"|
{| id="relic-common-bar" style="border-collapse:collapse; width:76%%;"
|style="background-color:#61d4d4; height:5px; margin:0; padding:0; border: 0px;"|
|}
|-
|style="padding:0 5px 0 0; height: 32px;"| %s
| {{dc|%d}}
|rowspan="2"| <span id="relic-uncommon-percentage">Uncommon<br />(11%%)</span>
|-
|rowspan="2" style="padding:0 5px 0 0; height: 32px;"| %s
|rowspan="2"| {{dc|%d}}
|-
|style="background-color:#2d2d2d; padding: 0; height:5px;"|
{| id="relic-uncommon-bar" style="border-collapse:collapse; width:22%%;"
|style="background-color:#61d4d4; height:5px; margin:0; padding:0; border: 0px;"|
|}
|-
|rowspan="2" style="padding:0 5px 0 0; height: 32px;"| %s
|rowspan="2" | {{dc|%d}}
| <span id="relic-rare-percentage">Rare (2%%)</span>
|-
|style="background-color:#2d2d2d; padding: 0; height:5px;"|
{| id="relic-rare-bar" style="border-collapse:collapse; width:2%%;"
|style="background-color:#61d4d4; height:5px; margin:0; padding:0; border: 0px;"|
|}
|-
|colspan="3"| %s
|}]=],
relicName,
RELIC_TABLE_ID,
-- drops in order of 3 common, 2 uncommon, and 1 rare
relicDrops['ImageLinks'][1], -- first drop image and link
relicDrops['DucatValues'][1], -- first drop ducat value
relicDrops['ImageLinks'][2],
relicDrops['DucatValues'][2],
relicDrops['ImageLinks'][3],
relicDrops['DucatValues'][3],
relicDrops['ImageLinks'][4],
relicDrops['DucatValues'][4],
relicDrops['ImageLinks'][5],
relicDrops['DucatValues'][5],
relicDrops['ImageLinks'][6],
relicDrops['DucatValues'][6],
missionData
)
Template:RelicTable/Check[]
- Original template wikitext
{{#switch: {{#invoke:Void|getRelicDrop|{{{1|}}}|{{{2|}}}|{{{3|}}}}}
| [[File:BratonPrime.png|x38px|link=Braton Prime]] [[Braton Prime|Braton Prime Stock]] = 15
| [[File:SomaPrime.png|x38px|link=Soma Prime]] [[Soma Prime|Soma Prime Blueprint]] = 15
<!---->
| [[File:AkstilettoPrime.png|x38px|link=Akstiletto Prime]] [[Akstiletto Prime|Akstiletto Prime Barrel]] = 25
| [[File:BratonPrime.png|x38px|link=Braton Prime]] [[Braton Prime|Braton Prime Blueprint]] = 25
| [[File:FangPrime.png|x38px|link=Fang Prime]] [[Fang Prime|Fang Prime Handle]] = 25
| [[File:LexPrime.png|x38px|link=Lex Prime]] [[Lex Prime|Lex Prime Blueprint]] = 25
| [[File:NikanaPrime.png|x38px|link=Nikana Prime]] [[Nikana Prime|Nikana Prime Blueprint]] = 25
| [[File:ParisPrime.png|x38px|link=Paris Prime]] [[Paris Prime|Paris Prime Upper Limb]] = 25
| [[File:TrinityPrime.png|x38px|link=Trinity/Prime]] [[Trinity Prime|Trinity Prime Neuroptics]] = 25
| [[File:VaubanPrime.png|x38px|link=Vauban/Prime]] [[Vauban Prime|Vauban Prime Chassis]] = 25
| [[File:VoltPrime.png|x38px|link=Volt/Prime]] [[Volt Prime|Volt Prime Blueprint]] = 25
<!---->
| [[File:AkstilettoPrime.png|x38px|link=Akstiletto Prime]] [[Akstiletto Prime|Akstiletto Prime Receiver]] = 45
| [[File:BratonPrime.png|x38px|link=Braton Prime]] [[Braton Prime|Braton Prime Receiver]] = 45
| [[File:RubicoPrime.png|x38px|link=Rubico Prime]] [[Rubico Prime|Rubico Prime Stock]] = 45
| [[File:SarynPrime.png|x38px|link=Saryn/Prime]] [[Saryn Prime|Saryn Prime Neuroptics]] = 45
<!---->
| [[File:AnkyrosPrime.png|x38px|link=Ankyros Prime]] [[Ankyros Prime|Ankyros Prime Blade]] = 65
| [[File:AshPrime.png|x38px|link=Ash/Prime]] [[Ash Prime|Ash Prime Systems]] = 65
| [[File:BansheePrime.png|x38px|link=Banshee/Prime]] [[Banshee Prime|Banshee Prime Systems]] = 65
| [[File:CarrierPrime.png|x38px|link=Carrier Prime]] [[Carrier Prime|Carrier Prime Cerebrum]] = 65
| [[File:DakraPrime.png|x38px|link=Dakra Prime]] [[Dakra Prime|Dakra Prime Blade]] = 65
| [[File:FragorPrime.png|x38px|link=Fragor Prime]] [[Fragor Prime|Fragor Prime Blueprint]] = 65
| [[File:FragorPrime.png|x38px|link=Fragor Prime]] [[Fragor Prime|Fragor Prime Handle]] = 65
| [[File:KavasaPrimeCollar.png|x38px|link=Kavasa Prime Collar]] [[Kavasa Prime|Kavasa Prime Buckle]] = 65
| [[File:NekrosPrime342.png|x38px|link=Nekros/Prime]] [[Nekros Prime|Nekros Prime Blueprint]] = 65
| [[File:NikanaPrime.png|x38px|link=Nikana Prime]] [[Nikana Prime|Nikana Prime Blade]] = 65
| [[File:NyxPrime.png|x38px|link=Nyx/Prime]] [[Nyx Prime|Nyx Prime Chassis]] = 65
| [[File:OberonPrime2.png|x38px|link=Oberon/Prime]] [[Oberon Prime|Oberon Prime Systems]] = 65
| [[File:ArchwingSuitPrime.png|x38px|link=Odonata/Prime]] [[Odonata Prime|Odonata Prime Wings]] = 65
| [[File:DERhinoPrime.png|x38px|link=Rhino/Prime]] [[Rhino Prime|Rhino Prime Chassis]] = 65
| [[File:SarynPrime.png|x38px|link=Saryn/Prime]] [[Saryn Prime|Saryn Prime Blueprint]] = 65
| [[File:SpiraPrime.png|x38px|link=Spira Prime]] [[Spira Prime|Spira Prime Blade]] = 65
| [[File:ValkyrPrime.png|x38px|link=Valkyr/Prime]] [[Valkyr Prime|Valkyr Prime Systems]] = 65
| [[File:VaubanPrime.png|x38px|link=Vauban/Prime]] [[Vauban Prime|Vauban Prime Blueprint]] = 65
| [[File:VectisPrime.png|x38px|link=Vectis Prime]] [[Vectis Prime|Vectis Prime Stock]] = 65
| [[File:VoltPrime.png|x38px|link=Volt/Prime]] [[Volt Prime|Volt Prime Neuroptics]] = 65
<!---->
| [[File:Forma2.png|x38px|link=Forma]] [[Forma|Forma Blueprint]] = –
<!---->
| #default = {{{4|}}}
}}
- Luafied version in Module:Void/data
local DUCAT_EXCEPTIONS = {
Forma = { Blueprint = 0 },
Akstiletto = { Receiver = 45 },
Braton = { Stock = 15, Receiver = 45 },
Rubico = { Stock = 45 },
Saryn = { ['Neuroptics Blueprint'] = 45 },
Soma = { Blueprint = 15 },
}
- Note that the rest of the ducat values can be calculated based on the item's different rarity drops. Rare parts are worth 100 ducats. Uncommon parts are worth 45 ducats. Common parts are worth 15 ducats. If an item part is a common and rare drop in different relics, it is worth 65 ducats. If an item part is a common and uncommon drop in different relics, it is worth 25 ducats.
Additional Media[]
Additional images of pages on different themes/skins for convenience and posterity. These are taken on 1920x1080 resolution at 100% zoom.
- FandomDesktop Light Theme
- FandomDesktop Dark Theme
- Oasis
Old Blog Posts[]
Here are some old blog posts regarding similar topics back when Prime parts dropped from the Void: