User:Jgottula

External

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

Quick Links

 * Fatal Falls
 * Update 2.2
 * 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
 * Dead Cells Wiki:Community portal
 * Dead Cells Wiki:Admin noticeboard
 * Special:WikiPoints/monthly
 * Special:CargoTables
 * Special:RecentChanges
 * Special:Watchlist
 * Special:Version
 * Category:Wiki maintenance

My User Pages

 * User:Jgottula/Biomes Map
 * User:Jgottula/common.css
 * User:Jgottula/common.js
 * User:Jgottula/hydradark.css
 * User:Jgottula/hydradark.js

In Progress

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

Wiki Bugs

 * 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

 * How does the dual-scroll algorithm work?
 * Why/how is the "Me, Jealous?" achievement horribly broken?
 * 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?!
 * TODO: find other shit in one of my various DC bugs lists buried in /mnt/tmp somewhere