User:Jgottula

TODO

 * Update/adjust/add quick links for wiki changes since last I was active here (around release 2.2)
 * Update/modify/adapt/rename custom CSS and JS for newer, shittier Fandom (yay)

External

 * Google
 * /r/DeadCells
 * CastleDB Info (GitHub)
 * Patch Notes

Quick Links

 * Fatal Falls get with the times dude
 * Update 2.2 get with the times dude
 * Biomes Map || Biomes
 * BSC
 * Enemies || Elites | Starred
 * Bosses || Concierge | Conjunctivius | Mama Tick || Time Keeper | Giant | Scarecrow || HOTK || Collector
 * Gear || Level/Quality/Power | Colorless/Legendary | Value/Recycling | Affixes
 * Weapons || Melee | Ranged | Shields
 * Skills || Deployables | Grenades | Powers
 * Amulets
 * Mutations || Brutality | Tactics | Survival | Colorless
 * Scaling || Cooldown | Health | Damage | Other
 * Blueprints | Upgrades


 * Mechanics | Status Effects | Curse | Malaise
 * Stats
 * Timed and Perfect Doors
 * Pickups | Objects
 * Outfits
 * Challenge Rift
 * Shops
 * Hunter's Grenade | Blueprint Extractor
 * Custom Mode
 * Lore
 * Daily Run || Mechanics | Points
 * Achievements
 * Patch Notes | Alpha Branch remove?
 * Dead Cells Wiki:Community portal
 * Dead Cells Wiki:Admin noticeboard
 * Special:WikiPoints/monthly
 * Special:CargoTables
 * Special:RecentChanges
 * Special:Watchlist
 * Special:Version
 * Category:Wiki maintenance
 * fdcommunity:Help:CSS_and_JS_pages
 * MediaWiki:Common.css
 * MediaWiki:Common.js
 * MediaWiki:Fandomdesktop.css
 * MediaWiki:Fandomdesktop.js

My User Pages

 * User:Jgottula/Biomes Map update/modify/remove as appropriate
 * User:Jgottula/common.css update/migrate for newer/shittier Fandom shit >:[
 * User:Jgottula/common.js update/migrate for newer/shittier Fandom shit >:[
 * User:Jgottula/fandomdesktop.css update/migrate for newer/shittier Fandom shit >:[
 * User:Jgottula/fandomdesktop.js update/migrate for newer/shittier Fandom shit >:[
 * User:Jgottula/fandommobile.css create?
 * User:Jgottula/fandommobile.js create?

In Progress

 * Talk:Curse: Testing additional possible exceptions to curse OHK mechanic (mostly force field stuff)

Wiki Bugs
TODO: check if these things are at all un-fucked in the latest Fandom/UCP or whatever (highly doubt it... also, hey overlords, when the fuck are you going to release the goddamn source code for UCP, huh? cowards...)
 * Images displayed at original resolution are given width resize URLs and are therefore processed (1:1 rescaled) by the MW backend. (Even for PNGs, there's a noticeable color difference between the original file and the "rescaled" version.)
 * User:Jgottula/Example
 * Discord Link
 * Lossy WebP bullshit in thumbnail generation (see same Discord link, discussion shortly prior to the linked part)

Desired Features

 * Creation of a real, existent bytecode opcode reference document
 * Invention of a relatively-sane "assembly language" format for Haxe/HL bytecode (contrast vs the compiler dump, which is more of a listing / LST file really)
 * Disassembly from bytecode to asm source (with commented annotations for indexed references to things; or, potentially, asm syntax that allows referencing stuff by name, not just by index)
 * Reassembly from asm source back into bytecode (critical for non-trivial mod possibilities)
 * If Possible: Use debug info embedded in the bytecode to emit asm source into effectively the same directory/file structure as they came from (!)
 * Maybe: Binary Ninja plugin adding decompile-to-pseudocode functionality for the Haxe/HL bytecode format

Modding Concepts

 * Basic patch mods: stuff that can be applied to the original bytecode blob with a hex editor, essentially
 * More advanced mods: disassemble, edit asm source, then reassemble (the reassembly step ensures that indexes/references/offsets/etc are fixed up)
 * Exposed modding API
 * Create an "installer" whose job is to:
 * Make a backup of the EXE or bytecode file
 * Patch the bytecode to add new "hooks" in various locations of interest (exposed via new methods/etc that extend the existing mod script system)
 * Apply those patches in-place to the bytecode file or EXE resource blob (as appropriate)
 * Regular old standard Steam Workshop game mods can now include "extended" stuff in script files that take advantage of the novel hooks

Specific Mod Ideas

 * Sound: hack in support for non-braindead OpenAL reacquire-audio-device-after-disconnection capability
 * Input: add just-ignore-the-fucking-mouse-cursor-entirely option
 * Reasonable in-game "cheat codes" (obviously disabling achievements), primarily aimed at making it easier/faster to test game mechanics etc
 * Instantly warp to level exit(s); or spawn an exit door to desired next-level
 * Add/remove: gold / souls
 * Add/remove: scroll stats (B/T/S)
 * Set health level / flask charges
 * Set curse level / malaise level
 * Add/remove speedboost / invisibility / invulnerability
 * Spawn item with particular level, affix, etc
 * Alter existing item: change level, add/remove affix, etc
 * Suspend/resume enemy/boss movement and actions
 * Maybe: text overlay for enemies/bosses showing HP level, damage multiplier, AI state, etc?
 * Maybe: console UI for applying these various modifications and/or showing debug stuff?
 * Some kind of API allowing the creation of arbitrary new items/weapons to work in conjunction with associated additions to the CDB (yikes)

RE Investigations

 * What is the precise algorithm used to determine colors offered by dual scrolls, and when does it run?
 * Why does "all items are colorless" not affect starting items and other specially dropped items (e.g. HOTK Symmetrical Lance)?
 * Why does changing BSC level not re-adjust the level of held starting items (Custom Mode starting loadout / hidden base weapons)?
 * How exactly does the "value equalization" stuff for with dual/triple item altars work? (see patch notes for 1.5.6)
 * Try to figure out what "projectiles" actually means (e.g. the amulet affix)
 * Determine which mutations have internal cooldown periods
 * Investigate item tags; in particular, wtf is UnlockInPublicEvent?!
 * Suggestions from R30hedron:
 * Figure out legendary alter spawning logic
 * Maybe: Make a tool that uses the game's RNG logic to rapidly determine level seeds that satisfy some particular predicate
 * Example: Want seed that satisfies predicate: >=1 Legendary Altar with Lightspeed in first or possibly second biome
 * Verify some of our assumptions about how level seed progression logic works
 * Known: Level seed begins in inclusive range of decimal 000000-999999
 * Asserted: Level seed is incremented by 1 at each level transition
 * Asserted: When level generation fails and must retry, level seed is incremented an additional time (presumably once per retry)
 * TODO: find other shit in one of my various DC bugs lists buried in /mnt/tmp somewhere