You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

291 lines
12 KiB
Plaintext

<p>Entities need IDs for serving translations (even English is pulled in through the TranslationServer) and judging comparisons. </p>
<h2>structure </h2>
<h3>translation key </h3>
<p>Translation IDs are 6-or-8-character strings. I like to use letters and follow a pattern, so random words can bubble up through the babble. </p>
<p>TL keys are 6 characters (favoring letters), and "de" is prefixed for their description. The first 2 letters indicate the category, while the last 4 indicate the individual. The last four are kind of freeform, usually the first 2 letters of each word of the English display name. If it's only one word, then it's its first 4 letters. If it's too short, "a" is suffixed for padding. If that pattern would recreate an existing code, I smudge which significant name characters are taken. If "a" is already used, I use "b," "c," all the way to 9. </p>
<p>ID category prefixes: </p>
<ul>
<li>ac - container </li>
<li>ap - smartphone app </li>
<li>as - app store </li>
<li>at - perk/attribute </li>
<li>ch - character </li>
<li>ev - event/cutscene </li>
<li>fa - faction </li>
<li>hi - highlight </li>
<li>ho - hotkey/control </li>
2 years ago
<li>hu - HUD - target, health, etc </li>
<li>ic - item category </li>
<li>in - inspect </li>
<li>ir - rarity </li>
<li>it - item </li>
<li>jo - job </li>
<li>ke - keyword </li>
<li>me - messenging app </li>
<li>mn - main menu </li>
<li>mu - music app </li>
<li>pe - perk </li>
<li>ph - phone </li>
<li>pi - pictures </li>
<li>sk - skill </li>
<li>sl - skill library </li>
<li>te - term (plain, normal technical words) </li>
<li>ti - time </li>
<li>wo - unsorted words, includes game title </li>
</ul>
2 years ago
<h3>base ID </h3>
<p>Base IDs apply to a few other things, but it's virtually only for entities. They identify a specific type of entity, not a particular instance of that entity. They are 6-character hexadecimal strings (favoring numbers). I like that they correspond to color hex codes, so I can find out everyone's secret color. Generally, a category's earliest and most representative entities are the purest in hue. </p>
<p>The first three digits represent categorization, while the last increment by one for each member within that group. Commons start at 000 and increment numerically, while elites and bosses start at aaa and increment alphabetically. </p>
<ul>
<li>0 - default </li>
<li>1 - skill
<ul>
<li>0 - common
<ul>
<li>0 - roleplay </li>
<li>1 - linguist </li>
</ul>
</li>
<li>1 - armsman
<ul>
<li>0 - fitness </li>
<li>1 - power </li>
<li>2 - artistry </li>
<li>3 - tactics </li>
</ul>
</li>
<li>2 - disciple
<ul>
<li>0 - santification </li>
<li>1 - power over nature </li>
<li>2 - spiritual healing </li>
<li>3 - divine protection </li>
</ul>
</li>
<li>3 - tamer
<ul>
<li>0 - mimicry </li>
<li>1 - husbandry </li>
<li>2 - empathy </li>
<li>3 - survival </li>
</ul>
</li>
<li>4 - brawler
<ul>
<li>0 - critical eye </li>
<li>1 - dirty fighting </li>
<li>2 - improvisation </li>
<li>3 - street smarts </li>
</ul>
</li>
<li>5 - chemist
<ul>
<li>0 - cognate sciences </li>
<li>1 - pharmacology </li>
<li>2 - toxicology </li>
<li>3 - materials engineering </li>
</ul>
</li>
<li>6 - hacker
<ul>
<li>0 - social engineering </li>
<li>1 - surveillance </li>
<li>2 - robotics </li>
<li>3 - gadgetry </li>
</ul>
</li>
<li>7 - Mercur
<ul>
<li>0 - supernal </li>
2 years ago
<li>1 - subskill </li>
<li>2 - environment </li>
<li>3 - unlearnable </li>
<li>4 - job perk </li>
</ul>
</li>
<li>a - tycoon
<ul>
<li>0 - perpetuity/diversified portfolio </li>
<li>1 - negotiation </li>
<li>2 - deceptive marketing </li>
<li>3 - invisible hand </li>
</ul>
</li>
<li>b - traffic control
<ul>
<li>0 - extraplanar refuge </li>
<li>1 - footwork </li>
<li>2 - alteration/landscaping </li>
<li>3 - networking </li>
</ul>
</li>
</ul></li>
<li>2 - character (next digits indicate job and whether it offers a service)
<ul>
<li>0 - dungeon girls </li>
<li>1 - boss
<ul>
<li>the second digit is its species then the other stuff </li>
</ul>
</li>
<li>2 - human </li>
<li>3 - Canaanite </li>
<li>4 - beast
<ul>
<li>0 - mammal
<ul>
<li>0 - unsorted </li>
<li>1 - rodent/bat/eulipotyphian </li>
<li>2 - cat </li>
<li>3 - dog </li>
<li>4 - bear </li>
<li>5 - ungulate </li>
</ul>
</li>
<li>1 - bird </li>
<li>2 - reptile </li>
<li>3 - amphibian </li>
2 years ago
<li>4 - fish </li>
<li>5 - bug </li>
</ul>
</li>
<li>5 - slime </li>
<li>6 - construct </li>
<li>7 - Mercurians
<ul>
<li>0 - avatar </li>
<li>1 - projectile </li>
</ul>
</li>
<li>8 - machine </li>
</ul>
</li>
<li>3 - item
<ul>
<li>0 - currency </li>
<li>1 - quest item </li>
<li>2 - equipment
<ul>
<li>0 - weapon </li>
<li>1 - gear </li>
</ul>
</li>
<li>3 - consumable
<ul>
<li>0 - food/medicine </li>
<li>1 - item generator </li>
</ul>
</li>
<li>4 - flyer/book </li>
<li>5 - container </li>
<li>6 - upgrade/constant code/automatic effect </li>
<li>7 - key </li>
<li>8 - trinket </li>
</ul>
</li>
<li>4 - location (followed by 0 - safe zone, 1 - combat zone)
<ul>
<li>0 - nowhere
<ul>
<li>0 - test </li>
<li>1 - bingo demo </li>
</ul>
</li>
<li>1 - subdivision </li>
<li>2 - school </li>
<li>3 - commercial district </li>
<li>4 - woods </li>
<li>5 - parking </li>
<li>6 - underground </li>
<li>7 - buffer </li>
<li>8 - dumping ground </li>
<li>9 - factory </li>
<li>a - moonlight caverns </li>
<li>b - gypsum stone gardens </li>
<li>c - serpent city </li>
<li>d - firewall </li>
</ul>
</li>
<li>5 - app
<ul>
<li>0 - stock </li>
<li>1 - optional </li>
</ul>
</li>
<li>6 - activator
<ul>
<li>0 - chest </li>
<li>1 - button/switch </li>
<li>2 - sign/lectern </li>
</ul>
</li>
<li>7 - job
<ul>
<li>0aaaa - idle </li>
<li>1aaaa - armsman </li>
<li>2aaaa - disciple </li>
<li>3aaaa - tamer </li>
<li>4aaaa - brawler </li>
<li>5aaaa - chemist </li>
<li>6aaaa - hacker </li>
<li>7aaaa - mailman </li>
<li>a0000 - tycoon </li>
<li>b0000 - traffic control </li>
</ul>
</li>
<li>8 - perk/attribute
<ul>
<li>matches the skill section's job & attribute values </li>
</ul>
</li>
<li>9 - keyword
<ul>
<li>0 - primitive
<ul>
<li>1 - damage</li>
<li>2 - spiritual damage</li>
</ul>
</li>
<li>1 - status effect
<ul>
<li>1 - burning (intense but brief life degen)</li>
<li>2 - bleeding (weak but lengthy life degen)</li>
<li>3 - shocked/stunned/paralyzed/stiff (can't move, use skills with an activation time, or change equipment. Very brief.)</li>
<li>4 - foggy/distracted/doubtful (miracle activation doubled and easily interrupted)
<li>5 - pain/injury/throes/agony (reduced max life)
<li>6 - blind/blurry (miss melee and projectile attacks)
<li>7 - sleepy (reduced regen for spirit and life)
<li>8 - confused (scrambles skillbar, adjusts movement vector)
<li>9 - weakness/feeble - reduced attributes, attack power
<li>10 - doubt - can't perform miracles
<li>11 - heavy/crippled/slow/slug - move and attack more slowly
<li>12 - pacified - can't attack
<li>13 - sick - (can't regen health)
</ul>
</li>
<li>2 - unsorted </li>
</ul>
</li>
</ul>
2 years ago
<h3>ref ID </h3>
<p>Every entity with the base.gd script has a ref ID that is an integer between 0 and ∞. It identifies a specific instance of an entity. </p>
<h2>structure </h2>
<h3>translation key </h3>
<p>Every entity has an exported String name_key variable, and its desc_key can be derived from it by prefixing it with "de." </p>
<p>Every entity also has the <code>get_display_name</code> and <code>write_name</code> methods (same thing), plus <code>write_desc</code>. Use these to get the name and desc. </p>
<h3>base ID </h3>
<p>Every entity has an exported Color base_id variable. It also has a reference to the player_base_id and perk base ids. </p>
<p>Get the base_id with <code>get_base_id()</code> (as Color) and <code>get_base_id_in_hex()</code> (in a String). </p>
<p>To determine if the entity is the player, call <code>get_is_player()</code>. To determine if the entity is a perk, call <code>get_is_perk()</code>.
<h3>ref ID</h3>
<p>The MessageBus assigns them sequentially as integers starting at 0 during the <span class="code">_ready</span> stage of each entity. The earlier the ref ID, the older the entity. </p>