UPDATE - redesign - new nav bar, new organization, new main pages, new art page, study page (no content yet), games page with STTMT, update to me; new diary entry

This commit is contained in:
chimchooree
2023-05-08 19:33:11 -05:00
parent 6d997f3f62
commit 7625ac8936
119 changed files with 1190 additions and 851 deletions
+7 -592
View File
@@ -2,606 +2,21 @@
% rebase('frame.tpl')
<div class="content-grid">
<h1>blessfrey milestones </h1>
<p>This is a list of everything I need to add before the Blessfrey is complete, version by version. I can add more in subsequent updates, but I have to draw the line somewhere. The list is broken into versions. </p>
<p>This is a list of everything I need to add before each project is complete, version by version. I can add more in subsequent updates, but I have to draw the line somewhere. The list is broken into versions. </p>
<br>
<p>Focus and finish the game! <br></p>
<br><hr><br>
<h2>legend </h2>
<p><span class=mundane>nothing at all</span>, <span class=common>designed</span>, <span class=unusual>basic implementation</span>, <span class=rare>intentionally designed, documented, but with known issues</span>, <span class=unique>playtested and polished...or at least as done as it will ever be</span> </p>
<p>Focus and finish! <br></p>
<br><hr><br>
<h2><span class=unique>0.0 - ship literally anything at all</span> </h2>
<h2><span class=mundane>projects</span> </h2>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unique>feature: export, embed</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unique>make <em>a</em> project</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unique>export it</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unique>embed it on my website</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unique>have someone else play it on their computer</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane><a href="/planetblue-milestones">Planet Blue</a></span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane><a href="/lemonland-milestones">Lemonland</a></span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane><a href="/blessfrey-milestones">Blessfrey</a></span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane><a href="/lazywiki-milestones">Lazy Wiki</a></span> </li>
</ul>
<br><hr><br>
<h2><b><span class=mundane>0.1 - skillbar + classes </span></b> </h2>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>feature: working skill system, multiclass system </li>
</ul>
<br>
<h3><span class=mundane>basics </span> </h3>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>quit button</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>all text is in a spreadsheet. at least 2 working languages and a way to switch between them. </span> </li>
</ul>
<br>
<h3><span class=mundane>characters </span> </h3>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>entities have base id, ref id </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>characters can calculate their AR</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>characters can have a special skill active on them like Stun Immunity or Natural Resistance. This can make the character have altered armor against damage types. Plants are more susceptible to fire and slashing. Etc. </span> </li>
</ul>
<br>
<h3><span class=mundane>life + spirit </span> </h3>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>characters can calculate their maximum life </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>characters can calculate their maximum spirit.</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>character has life</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>character has spirit </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>characters start with pips of spirit regen</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>a pip of spirit regen generates spirit periodically </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>spirit can drop below 0 </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>The UI will read 0 until spirit is recovered. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>if character is at less than full life, is not attacking, not taking damage from attacks, not using offensive skills, not being targeted by offensive skills, and has not lost life for 5 seconds or has a degen effect, their life will begin to regen slowly at a rate that increases by 1 every 2 seconds until it reaches +7 pips of life regen. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>a character cannot reduce their max life below 1 </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=common>changes to max life can not reduce current life below 1</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>a pip of life generates life periodically</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>although active pips have a ceiling, the character tracks the all pips applied to him. </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>The UI will show all pips applied to character. They will still be there to counteract degen as it's applied. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skills can increase max life</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>life is lost by damage, life degen, sacrifice, life stealing, life draining, life decrease due to a decrease in maximum life, the loss of all life due to an instant death effect, direct life loss from other sources (such as Infuse life, Spoil Victor, Shelter)</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>life is gained by life regeneration, life stealing, life draining, and the heal keyword. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>only the heal keyword is modified by healing modifiers and triggers </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL: Stubborn Cold - For 10 seconds, target gains 33% less benefit from healing. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL: Grapefruit - For 45 seconds, medicine heals for 50% more. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL: Life Giver - For 30 seconds, every time target is healed, healer takes 10 damage. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>heal is still shown even if character is at max life, etc - blue numbers over head </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>party healing provides healing, life gain, or life regen to all party members </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>life draining keyword - belongs to vampiric weapon. Steal 1...5 life each time you hit.</span> </li>
</ul>
<br>
<h3><span class=mundane>equipment + weapons </span> </h3>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>character has equipment</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>character has weapons</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>equipment reduces armor-respecting damage</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>a set of armor increases spirit regen. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>a set of armor increases spirit. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=common>there are different equipment slots</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=common>there is a main hand and an off-hand slot</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>main hand reflects the handedness of the character. Night is left-handeded. The player can choose her handedness. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>armor can be modified by keywords</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>Attacks will hit a randomly selected piece of gear. Other pieces do not matter, only the struck piece. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>Pieces of gear have varying chances of being struck </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL: Guaranteed headshot. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL: If attack hits the target's legs, cause target to trip. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Track headshots</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>some damage ignores armor. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>bonus damage ignores armor. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>AR enhancing skills do not stack beyond +25 AR. (A single skill can still exist, though, that "Blessing. +40 armor for 5 seconds. When nonstacking, only the skill with the highest bonus will apply. )</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>weapons have slots for mods</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>gear has slots for mods</span> </li>
</ul>
<br>
<h3><span class=mundane>job/gig </span> </h3>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>character has job / gig</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>player can change gig </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=common>player can change job (just for this version) </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>jobs and gigs have attributes </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>only jobs have perks </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>associated skills of the gig's perk will still be shown in the skill list </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>perks bestow a constant effect on the character </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>you can gain attribute points</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>you can spend attribute points and pump up attributes</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>skills' values scale with their associated attributes </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>attributes can only be increased to a value between 1 and 16 by spending points. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>attributes can be modified beyond 1-16 with runes, keywords, etc</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>changing gig refunds all attribute points spent in former gig attributes </span> </li>
</ul>
<br>
<h3><span class=mundane>skills </span> </h3>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skillbar slots can be empty </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=common>skill loop </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=common>attack skill loop </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>skills consume an spirit cost </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>track skills currently applied to character </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>track keywords currently applied to character </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>track status effects currently applied to character </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skills cannot be used again until the cooldown duration ends. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>interrupted skills, skills disrupted by Trip have to wait for the cooldown duration. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>failed skills recharge immediately. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>cooldown can be modified </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>stackable cooldown modifiers are maxxed at 50% reduced cooldown. A single nonstacking skill can still be whatever it wants to be (5 seconds. All skills cooldown 80% more quickly.)</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skills can be instantly recharged </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL: Attack skill. recharge all other skills if attack hits. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL: Attack skill. Instantly recharges if target is above 50% life. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL: For 30s, cooldown for attack skills is reduced by 33%. Skill ends if your life drops below 50%. (Does not affect its own cooldown. This does not affect interrupted skills, as they didn't activate.)</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skills can be elite </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>only one elite skill can be equipped on the skillbar. All but the rightmost will be removed. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>If elite skills are sideloaded onto the bar, more than one elite can be on the bar. The bar will be appropriately policed when changing zones. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skills can be acquired. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skills can be captured from dead characters </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>There are 35 core skills for each job that define the job. There are 25-30 additional skills that define the setting. There's also rez sig, available to everyone. 5 core skills per job are elite. 10 per job per setting are elite. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>BF should shoot for 6 jobs, 210 core skills, 150 setting skills, and of those, 90 should be elite. There should also be a number of special, boss-only, monster-only skills, plus some festival skills or mission-only temporary skills. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>duplicate skills cannot be equipped onto the skillbar. All but the rightmost copy will be kept. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Echos let you duplicate skills temporarily, captures let you sideload a dupe on the bar, thievery skills also, etc. After zoning, only the rightmost dupe will be kept. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>environment effect is a type of skill that is triggered rather than activated. It cannot be learned or used. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>environment effect continuously is applied to new characters entering area </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skills can be canceled </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skills can be canceled during their activation time</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skills can be canceled by pressing a movement key </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skills can be canceled by pressing a cancel key </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>canceled skills do not activate </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>canceled skills still exact their initial costs </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>canceled skills do not need to recharge </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>canceled skills do not cause aftercast delay </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skills can affect multiple targets </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skills can fail if not targeting a human </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skill can be self-targeting, regardless of target </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skills can affect everything within an area </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skills can affect everything of a certain type </span> </li>
<li>skill autoequip from save✗ </li>
<li>skill equip new skill/empty slot/rearrange skillbar✗ </li>
<li>skill use by click/keyboard/AI selection✗ </li>
<li>skill range✗ </li>
<li>skill move into range✗ </li>
<li>skill activation✓ </li>
<li>skill cooldown✗ </li>
<li>skill cost/insuffient funds✗ </li>
<li>skill interrupt✗ </li>
<li>skill removal✗ </li>
<li>room/equipment skill✗ </li>
<li>Blessing. When character is moving, heal for 5 life every 1 second.✗ </li>
<li>Remove all blessings and poisons. Heal for 10 life for each blessing removed. Gain 10 spirit for each poison removed.✗ </li>
<li>Poison. If target is Blessed, Reduce Max Health by 25% (20 seconds). If poison ends early, target takes 50 damage.✗ </li>
<li>Blessing. Increase effectiveness of Disciple skills.✗ </li>
<li>Miracle. Remove 1 blessing. Disable skill on source's bar (5 seconds).✗ </li>
</ul>
<br>
<h3><span class=mundane>keywords </span> </h3>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>duration is specified in seconds</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>values (like duration) can be fixed or vary with a skill's attribute</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>values (like duration) can be modified by other factors like marks or blessings</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>values (like duration) that vary are shown 0...12...15 (value at attribute set to zero...set to 12...set to 15</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>duration modifiers are always measured in percentages. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>knocked down character cannot activate skills with an activation time or aftercast delay</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>knocked down character cannot switch weapons or equipment</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>knocked down character's currently activating skill that has a activate skills with an activation time or aftercast delay will be interrupted</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>attack keyword deals damage to target</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>damage keyword </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>all damage has a damage type </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>the subskill projectiles, etc use cannot be interrupted </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>damage types: Holy Damage, Fire Damage, Cold Damage, Physical Damage -> Blunt, Piercing, Slashing </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>armor-ignoring damage is not impacted by the target's AR or level. Any damage can be armor-ignoring; it's not tied to a specific damage type. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>armor-ignoring damage is dealt without consideration to the user's level.</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>armor-ignoring damage does not benefit from base or bonus armor penetration </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>armor-ignoring damage is affected by damage modifiers which affect all damage. Protective Spirit, Shielding Hands, Frenzy. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>armor-ignoring damage comes from typeless damage, specific skills, shadow damage, most Holy damage but not that from weapons, bonus damage from attack skills, and damage from skills that explicitly ignore armor. Mesmer, Necros, and Monks often deal armor-ignoring dmaage. Sins deal most of their damage through bonus damage. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Skills that inflict direct life loss, life stealing, and life degen ignore armor, but obey damage reduction rules (e.g, from character level differences) </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>the Damage Monitor displays the source of damage a player has received in the last moments. x2 Vicious Attack. x66 Quick Shot, Cruel Spear. If the player dies, it will remain frozen until rez. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>modify damage order: Life steal/Life loss | base weapon damage | linear elemental damage buffs | group (flurry, dual shot, triple shot) | armor, armor penetration, character level, other modifiers that affect damage calulation | attack skill damage and linear nonelemental damage buffs | group (primal rage, frenzy, frenzied defense) | Xinrae's Weapon | Defy Pain | Shield Inscriptions | Dark Escape | Reverse Hex | Shelter | Protective Bond | Group (in order of a0plication - Life Barrier, Life Bond, Protective Spirit, Lightbringer) | They're on Fire | Group (Mantra of Flame, Frost, Lightning, Earth) | Mark of Protection | Union | Group (Stoneflesh Aurua, Shile dof Absoprtion, Shielding Hands) | Group (Reversal of Fortune, Life Sheath). But Life Steal/Life Loss can be modified by specific protective skills, like (Convert next incoming life steal to life). </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>event order: FIFO </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>conditional keywords - 'if X, then Y' </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>track whether attack connects </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>status effect: bleeding - applies slight life degen for a long period </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>life degen - takes target's life over time</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>life drain - takes target's life over time and increases user's life over time </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>spirit degen - takes target's spirit over time</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>spirit drain - takes target's spirit over time and increases user's spirit over time </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Bleeding: -3 life degeneration </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Bleeding is a status effect </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Blind is a status effect </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Blind gives a 90% chance to miss melee and missile attacks. Projectiles also have a greater chance to stray. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Burning is a status effect </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Burning gives -7 life degen </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>damage from burning life degen deals fire damage </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>cracked armor is a status effect </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>cracked armor gives -20 armor (minimum 60) </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>cracked armor takes effect before the armor cap </span> </li>
</ul>
<br>
<h3><span class=mundane>attack </span> </h3>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=common>attack loop </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>can attack </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>attack damage is based on equipment </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>attack speed is based on equipment </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>attack speed can be modified by X% </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL: Attack skill. (spirit cost 5. activation time 1s.) Deal +30 attacks. (This skill doesn't use default weapon speed.) </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>can auto-attack </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>attack skills have the same speed and damage as an auto-attack unless otherwise stated</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>attack skills with a specified activation time are affected by any effect that alters attack speeds
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>attack skills deal bonus damage in addition to the attack damage when specified (deal +15 damage) </span> </li> </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>bonus damage ignores armor rating </span> </li> </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>bonus damage is the same damage type as the base damage </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Pet Attacks are not attack skills </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL: Attack twice. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>attack can miss</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>The chance to miss stacks multiplicatively rather than additively. 50% + 50% = 75%. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>projectile attacks can miss even if Blind, etc is applied after the attack </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL: For 5 seconds, target has 66% chance to miss attacks. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL: For 10 seconds, you cannot miss target. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>attacks can be interrupted</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skills can be disabled. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>disabled skills cannot be used. They may be put on cooldown (either with additional seconds tacked onto normal cooldown or a custom length that ignores the cooldown duration). They may also be disabled until a when condition is met. Or they may be disabled permanently. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>you can disable skills on your party's skillbar, so that the AI will not use them. You can still manually use them while they are disabled. The AI will consider them again for usage when the player removes the disable. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>disabled skills are not affected by keywords that affect cooldown time. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skills already on cooldown (let's say 19 more seconds) do not have their cooldown reduced by a disable (let's say - disable all skills for 5 seconds) </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skills already on cooldown (let's say 3 more seconds) have their cooldown increased by a disable (let's say - disable all skills for 5 seconds) </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Additional recharge time and disabling duration are unaffected by skills that reduce recharge time. For instance, casting Meteor Shower (60s recharge time) after Glyph of Sacrifice (+30s recharge time) while under Serpent's Quickness (33% recharge time reduction) will lead to a 2/3*60s+30s=70s recharge time instead of 2/3*(60s+30s)=60s recharge time.</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>weapon skills will be disabled if the correct weapon is not equipped. A sword skill will be disabled if a pistol is equipped. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL: (20s cooldown) Do something. Skill is disabled for 45 seconds. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL: For 60 seconds, all skills recharge 50% more quickly. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL: Your next skill gives you 180% of its spirit cost. That skill is disabled for +10 seconds. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL: Heal for 100. Disables your other Healing Attribute skills. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skills with an activation time can be interrupted</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>interrupted targets halt the activation bar and change its color, activating skill ends without instarecharge, queued skills will be unqueued. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL: You cannot be interrupted. Each time you would have been interrupted, you lose 5 spirit or skill ends. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL: If target is using a skill, that skill is interrupted and target takes 100 damage. (Damage is not dependant on interruption.)</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL: Interrupt target. If a skill was interrupted, inflict Burning. (Burning is dependant on interruption)</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL. Attack. Interrupt target's action. If action was a miracle, that miracle is disabled for +20 seconds. (If the miracle is not interrupted, the target's miracle will skill become disabled.) </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL. Mark target. Next time target attacks, the attack is interrupted and foe suffers 70 damage. (Interruption cannot be prevented.) </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL. Interrupt action. If action was a skill, that skill is disabled for 10 seconds, and this skill is replaced by that skill. (If interruption is prevented, skill is not disabled nor copied.) </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skills can be easily interruptible</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>easily interruptible skills will be interrupted by any successful incoming attack during its activation</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL. Heal for 85. Easily interrupted. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skill can be blocked</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>blocked skills deal no damage</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>stackable blocking skills are multiplicative. Two 50% chance to block skills = 75% chance to block. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>blocking can be bypassed or disallowed. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL: Next time target blocks, he takes 100 damage. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL: You have a 75% chance to block. Lose 5 spirit for each attack blocked or skill ends. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL: Deal +50 damage. This attack is unblockable. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skill can fail</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skill fails when insufficient funds</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skill fails when rule requirements are not met </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL: Attack for +50 damage. Skill fails if you are not blessed. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>SKILL: Attack for +50 damage. 50% chance of failure if this skill's associated perk is 4 or less. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skill fails when target died during activation</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>some skills actually target the target's location, so they will not fail if the target dies. Fire Storm, etc.</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skill fails when target became invalid during activation. A target can become invalid if you are using a resurrection skill on a dead character that becomes alive before you finish activating. Also, a target may complete an "untargetability" skill like SF or VoS while your skill is activating. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skill fails when the skill becomes disabled. (Blackout was used on you during activating your skill.)</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>when skill fails, activation stops, and skill recharges. Skill cost is not refunded, and failed attacks still counts as an attack. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>press cancel to cancel skill during activation duration</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skills have an activation time </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>activation time begins as soon as a character selects the skill </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>activated skills are executed </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>activation time is halted and skill fails if it is interrupted or canceled </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>After the activation time of a skill with a stated activation time, there will be an aftercast delay of 3/4s before the skill user can act again </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>attack skills with unstated activation time will use the first half of the character's next attack interval. The remaining half will be the time it takes the character to return to the neutral state. For Body Blow, it takes half of 1.33 seconds for axe-wielders and half of 1.75 seconds for hammer-wielders. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Skills with an explicit activation time - halfway through the interval, a melee attack will connect with its target and a ranged attack will launch its projectile. The remaining half will be used to return to a neutral state. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Attack skills bypass the return-to-neutral delay from the previous attack.
</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Pet attacks function as shouts. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Effects and Skills like Migraine that affect the activation time of any skill will not affect the activation time of attack skills. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Attack skills are affected by IAS effects.</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Spells and Signets use the stated activation time. Spell casting time can be modified by half casting time weapon upgrades, Fast Casting, and skills or effects that explicitly reduce it (e.g. Healer's Boon). Signets are also affected by Fast Casting and a different set of skills or effects. In addition, all signets and nearly all spells suffer from aftercast delay. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Flash enchantment spells have no activation time or aftercast delay but cannot be activated while activating other skills or while tripped </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Shouts can be activated immediately, outside the queue, in the middle of other actions, or while tripped </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Character cannot be tripped while tripped </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Pet attacks can be activated immediately, outside the queue, in the middle of other actions, or while tripped </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Stances can be activated immediately, outside the queue, in the middle of other actions, or while tripped </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Some skills have no specified activation time but suffer aftercast delay. Others cannot be activated in mid-action even though they have no aftercast delay. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Ranger skills with activation times have aftercast delay to prevent damage compression/spikes </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>A skill with an explicit activation time can be used to bypass the second half of a previous attack interval (after that attack has hit). Use Executioner's Strike after Eviscerate at normal speed will land 1.33 after Eviscerate, while Agonizing Chop would have landed 1/2 second after Eviscerate. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>spirit loss - target loses spirit </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>attacks have a chance to be critical </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>when - when X, do Y </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>when - the next 3 times X happens, do Y </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>when - when X, if Y, do Z </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skills have classifications. Skill, Poison, Blessing, etc. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>keywords have a duration or other exit condition </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>when - after X seconds, do Y </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>modify critical hit rate - skill guarantees next attack crits, perk guarantees every other attack is a crit </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>modify miss rate (default is 0%, but some skills make missing possible) </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>projectiles </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>projectiles travel to target then bestow the effect they carry </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>projectiles can be obstructed </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>projectiles are obstructed when the target is behind an impenetrable barrier at time of fire </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>projectiles can stray </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>projectiles stray when the target is moving toward an obstructed location </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>projectiles can be dodged </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>projectiles are dodged when the target kites, causing the projectile to land in the place where the target would have been </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>projectiles can be obstructed </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>shouts have no activation time</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>shouts can be used during the activation time of another skill or when tripped. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>multiple shouts can be active at the same time</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Unlike most skills, if target is not within range, the character will not try to get closer to use the skill. The skill will not activate and warn you that target is out of range.</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>'skill' is the most basic skill type. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Attack skill -> Pet Attacks, Melee Attacks, Ranged Attacks </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Melee Attack -> Axe Attack, Dagger Attack, etc </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Ranged Attack -> Bow attack, spear attack, etc </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Blessing </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Chant </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Condition </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Disguise </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Echo </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Elite </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Environment Effect </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Form </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Glyph </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Party Bonus </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Preparation </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Ritual -> Binding Ritual, Nature Ritual, Ebon Vanguard Ritual </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Shout </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Signet </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Spell -> Enchantment spell, hex spell, item spell, ward spell, weapon spell, well spell</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Enchantment spell -> Flash Enchantment spell </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Stance </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Title </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Trap </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>the skill queue tracks skills you attempt to activate before completing your current action. queued skills have a rippling effect on their icon in your skill bar. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>only one skill can be queued. Attempting another will drop the first from the queue. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>queued skills begin activating as soon as activation completed for the first skill or after any aftercast delay ends. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>aftercast delay is 3/4s. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>if you try to use a skill on an out-of-range target, the skill will queue and you will pathfind towards the target. the skill will begin activating as soon as you are within range. (shouts fail if target is out of range) </span> </li>
</ul>
<br>
<h3><span class=mundane>stacks </span> </h3>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>effects stack by adding totals from all sources (equipment, skills, environment, etc) unless the effect is capped, the source of the contribution has a cap to its contribution, or a more complex formula is involved. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>armor bonuses stack, but some are labeled "non-stacking" </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>The strongest nonstacking bonus takes precedence, but all penalties will be applied. Sup and Major will not both apply their boost, even if they still exact -35 and -75 life penalties. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>headgear attribute bonus always stacks </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>AR and damage reduction equipment mods do not stack. They only apply locally to the part of the body protected by the piece of equipment. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>life and spirit bonuses on armor stack, but runes of vigor do not. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>runes and inscriptions that provide condition reduction stack with each other. Runes that provide the same condition reduction do not stack. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>life and spirit bonuses on weapons stack </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>weapon mods that provide condition reduction stack with each other </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>weapon mods that affect casting and recharge times stack but are capped. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skill effects typically do not stack. The most recent or most powerful application takes precedence. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>The beneficial effects of hex spells on different targets stack. Life Siphon on two foes will provide twice as much life regen. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>the beneficial effects of hex spells on the same target stack. AP provides each spellcaster the spirit gain and skill recharge when the foe dies. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>characters can only be affected by one stance </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>characters can only be affected by one preparation </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>characters can only be affected by one party bonus </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>characters can only be affected by one glyph </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>characters can only be affected by one weapon spell </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>characters can only be affected by one form </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>pets can only be affected by one pet attack buff </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>characters can only hold one bundle (activating a new bundle skill will cause the old one to be dropped and trigger drop effect)</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>(for the above, activating a new one of the same type will override any existing ones </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>a new binding ritual or nature ritual of an existing ally type will kill the existing ally spirit. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>random chances stack multiplicatively and are capped at 100%. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>In most cases, a cap can be exceeded by a single source. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane> Effects that increase/decrease attack speed actually decrease/increase the time taken to attack, resulting in a significantly greater change than stated in skill descriptions. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Attack Speed: +33% to -50% </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Movement Speed: +34% to -50% </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Block or Miss: 100% to 0% | stacks multiplicatively</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Healing: +???% to -40% </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Life/Spirit Regen: +10 to -10 | apply to single effects not just multiple sources </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Recharge Time: ??? to -50% | single skill effect can bypass this limit; item mods cannot stack beyond this limit </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Activation Time: +150% to -25% | Fast Casting does not count toward this cap </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Armor Rating: +25 to 60 AR | The positive cap is only applied to bonus armor. Core and special armor are uncapped. Negative bonus armor can only reduce your armor to 60, or to your core armor rating, if that is below 60. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Attribute: 20 to 0 | These caps apply to single effects not just multiple sources. 21 can be reached using weapons with a chance of boosting an attribute. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Damage multipliers: ? to ? </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Projectile travel speed: +100% to -50% </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Maximum life: ? to 1 | The minimum cap also applies to single effects. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Condition duration: ? to 0s | the cap only applies to the remaining duration. Conditions can be re-applied indefinitely. A zero-second duration condition will trigger Fragility once instead of twice. (skill causes damage upon infliction and recovery of a new condition) </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Combat experience: 350% to ???% </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>The maximum number of maintained enchantments is limited only by your spirit regen. You can never have less than -10 regen. Any maintained enchantments in excess of that cap will be lost. Monks can maintain 14 enchantments. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>character cannot have duplicate status effects applied. The old will not trigger completion or removal events ('when burning ends, do X' -- in this case, you must wait for the character to stop burning, no matter where the last second of burning originated from). The new counts as an additional application (in case there is like 'when bleeding is applied on you three separate times'). If values are different, the rules will be defined by a case-by-case basis for which overwrites the other. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>stances end before being reapplied </span> </li>
</ul>
<br>
<br><hr><br>
<h2><span class=mundane>0.2 - later</span> </h2>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>weapon, equipment, etc, can increase max life</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>characters are in parties</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>characters belong to factions </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>characters can be passive</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>characters can be fleshy</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>character can be a summon</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>character can be a boss</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>feature: ???</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>knock down causes target to fall</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>knocked down character cannot move</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>All skills with an area of effect greater than the target itself will apply to all targets within a circle of the mentioned proximity of the skill </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Bleeding visual effect - something cool like Hades's death animation </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Blind visual effect - hazy black over head </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Burning visual effect - engulfed in flame </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>adjacent on user affects directly around the user </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>adjacent on target affects directly around target </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>line = cause a long, linear effect on the ground like Lightning Javelin. (Send out a lightning javelin that strikes for 40 damage if it hits. It strikes all foes between you and your target. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Adjacent is 166 gwinches, roughly 1/6 the size of the aggro bubble, larger than melee/touch range but smaller than nearby (about 2/3) </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Adjacent to target is the standard area of effect for melee attacks, touch skills, and scythe radius. Skills that target others and say 'adjacent' usually use this range. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>nearby = 252 gwinches, roughly 1/4 the size of the aggro bubble or 1.5x adjacent. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Spirit range affects an area of 2512 gwinches unless otherwise stated (slightly less than 2.5x the aggro bubble and slightly more than half of party range. This is about the size of the compass center to halfway between the end of the aggro bubble and the compass's end. This is the minimum distance at which any two spirits with the same name created by the same party can exist. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Party area: 5020 gwinches, only for skills that affect hte whole pary. It is 12% larger than the compass. Party members outside of this range turn gray on the party window. The is the maximum range enchantments can be maintained. Cautery Signet and Mystic Healing have an unlimited range. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>adjacent melee touch - 144 gwinches - 0% of danger zone - spells, melee weapons, other skills - touch skills are 86.746987951% closer than adjacent range</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>adjacent 11% - self-targeting skills</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>nearby - 16% - near the target</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>in the area - 22% - wards, wells, AoE spells - largest range for offensive spells</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>half-range - 60% - half-ranged skills</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>earshot - 100% - shouts, chants</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>projectile (short) - 100% - 1004 gwinches - shortbow, spear - affected by relative height</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>spell - 1248 gwinches - 120% - spells, staves, wands, most skills - includes projectile spells. Staffs, Wands, and projectile spells are not affected by height. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>projectile (standard) - 1273 gwinches - 120% - hornbows, recurve bows - affected by relative height</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>projectile (long) - 1498 gwinches - 135% - flatbow, longbow, ranger bow attacks, paragon and assassin skills - affected by relative height</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>spirit - 1498 gwinches - 135% - active spirits - affected by relative height</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>spirit - 2512 gwinches - 250% - passive spirits, siege turtle attack, kournan siege </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>soul - 2508gwinches - 250-300% - soul reaping </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>spirit (passive) - 270% - passive spirits - affected by relative height</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>party, compass - 5020 gwinches - slightly larger than compass - visual range for characters, bundles, objects. outisde, they fade from sight and cannot be selected </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>party - 378% - party spells, maintained enchantments - maintained enchantments are dropped outside of the range</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Number of skills with AoE Size ... Point blank 0 | Adjacent to target 0 | Adjacent 190 | Nearby 161 | In the Area 88 | Line: 4 | Half-range: 0 | Earshot: 124 | Spirit range: 49 | Party area: 27 </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>untargeted shouts affect every applicable target within earshot</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>line of sight is the line between something and its target </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>targeted shouts have spell range by default</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>If the target is out of range when activating a skill, your character will path toward the target (rather than the closest location where the target would be in range), stopping to activate it shortly after entering range. Manually moving in range will give better results when trying to pull enemies and avoid over-aggro or aggroing before using your first skill</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>characters can have patrol routes</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>The Danger Zone is more commonly known as the "aggro bubble", the white translucent circle around your character on the radar. It determines when NPCs become aware of, and subsequently hostile to, their foes. Exceptions to subsequent hostility include most characters with level 1-2 in starting areas, like Juvenile Bladed Termites in Normal mode. </span> </li>
</ul>
<br><hr><br>
<h2><span class=mundane>complete features list</span> </h2>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Activator </span></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>AI - states, transitions, patrols, flocking, idle, aggro, passive</span></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Ambience audio </span></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>AR </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Attack loop </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Attack audio </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Attack animation, visual effects </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Attack Skill </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Attribute </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Barks - contextual, story-based, character relationship-based </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>BGM </span></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Characters </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Character Animations - walk up, walk down, walk right, pick up, weapon swing, skill use, death, chatting, idle</span></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Character Hitbox </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Config </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Containers - guaranteed, random </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Controls - remappable </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Damage - Armor-ignoring, Armor penetration, reduction, absorption, calculation </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Death </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Dialogue System - Branching, Variables, Conditions </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Disposition System - likes, dislikes, gifts, friendship, dating </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>DMV </span></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Drop Table </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Environment Skills </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Environment Weapons </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Equipment </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Equipment Animations (Change character appearance) </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Events - Holidays, Quests </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Event Handlers </span></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Experience - level </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Factions - disposition, aggression </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Footsteps audio </span></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Gear - slots, mods </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Gig - change</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Idle Animations - sit on couches, dance, lay on grass, etc </span></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Inspect Menu </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Interact - Ally, Container, Foe </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Inventory - sort, rearrange, split, drop </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Item - pickup, drop, use </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Job </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>KnowledgeBase </span></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Life - Max, Regen </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>MessageBus </span></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Main Story </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Minigame - Chanting, Clapping, Fishing, Rhyming, Rhythm </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Obstructions - Impermeable Walls, Permeable Walls, Opaque Walls, Transparent Walls, Destructible Walls, Summonable Walls </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Pathfinding, Following </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Pause Button, Speed up or Slow down game time </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Perk </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Projectiles </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Rarity </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Resurrection </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Serialization - Save, Load, BU save files </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Scripting - characters act out cutscene, daily routine </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Skill - acquisition, using, out-of-range, cancel, interrupt, miss </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Skill - AI prioritization </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Skill & Keyword audio </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Skill & Keyword animation, visual effects </span></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Skill Library - sort by job, classifications, alphabetical, order obtained, freq of usse </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Skillbar - dragon drop, enforce deckbuilding rules, no editting during missions </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Spawnpoint - Player, other things </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Spirit - Max, Regen </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Stores - Buy, Sell, Custom Quantity, Promotions </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Targeting - AI Prioritization </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Team - leader, flag movement, party formation, aggression, access their equipment </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>UI - Hide it optionally </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>UI - start screen, controls, language, graphics settings, credits </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>UI - CanvasLayers </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>UI - character introduction, boss introduction </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>UI - cursors, fonts </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>UI - dialogue box, rich text, emoticons, options, name, portraits </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>UI - forms, questionnaires, homework sheets, bingo cards </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>UI - highlight, names, hover vs targeted </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>UI - inspect menu </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>UI - lifebar, spiritbar, skillbar </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>UI - main menu </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>UI - smartphone - change background, change theme, phone charm, phone case </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>UI - smartphone apps - inventory, audio, skill library, dialogue log, quest journal, codex, messaging, app store, settings, screenshot gallery, oekaki, real web browser, equipment paper doll </span></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>UI - target lifebar, spiritbar, </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>UI - volume sliders, mute buttons </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Voiceacting - make game playable voiceless and without downloading all the GB of audio</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Weapons </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Zone - travel between zones, safe vs combat, </span> </li>
</ul>
<br><hr><br>
<h2><span class=mundane>testing, promotion</span> </h2>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Booths - computers, keyboards, mouses, decorations, fliers, promo items </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Festivals/Contests - local cons, Godot Con, Indie Games Expo, Game Awards, PAX, GDC </span></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Funding - Kickstarts, Indie Go Go. Can cover publishing, legal fees, plus stretch goals like translations, more platforms, professional editors, hiring cool illustrators and music artists, Trigger to redo my animations </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Merch - that company that sells limited run Switch games, OMO-Cat </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Playtesting - colorblind, French keyboard, touchscreen, voice commands, XBOX controller, onscreen keyboard, alternative accessibility inputs, Steam Deck, different res, different specs, different OSs </span></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Press - youtube, twitch, bloggers, noclip, national news outlets. obv Godot showcase. </span></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Social Media - Interact with people on forums, Twitter, Discord, platforms </span></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Store Page - Tagline, paragraph writeup, long writeup, screenshots, GIFs, gameplay trailer, small thumbnail cover art, boxart-like vertical cover art, banner art </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Platform - achievements, cloud saves, Steam Overlay, manual, soundtrack, artbook, novel, 4koma, wallpapers, LINE emoticons, 3D paper </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Application - desktop icon </span> </li>
</ul>
<br><hr><br>
<h2><span class=mundane>post-release or never</span> </h2>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Add your own music into the music folder </span></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Play as a boy </span></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Translate into other languages </span></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Festivals/Contests - local cons, Godot Con, Indie Games Expo, Game Awards, PAX, GDC </span></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Booths - computers, keyboards, mouses, decorations, fliers, promo items </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Funding - Kickstarts, Indie Go Go. Can cover publishing, legal fees, plus stretch goals like translations, more platforms, professional editors, hiring cool illustrators and music artists, Trigger to redo my animations </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Merch - that company that sells limited run Switch games, OMO-Cat </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Store Page - Tagline, paragraph writeup, long writeup, screenshots, GIFs, gameplay trailer, small thumbnail cover art, boxart-like vertical cover art, banner art </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Platform - achievements, cloud saves, Steam Overlay, manual, soundtrack, artbook, novel, 4koma, wallpapers, LINE emoticons, 3D paper </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Application - desktop icon </span> </li>
</ul>
<br><hr><br>
</div>
<!--
-->