async def METHOD_NAME(self, ctx):
    from SNIClient import DeathState, snes_buffered_write, snes_flush_writes, snes_read
    snes_buffered_write(ctx, WRAM_START + 0x09C2, bytes([1, 0]))  # set current health to 1 (to prevent saving with 0 energy)
    snes_buffered_write(ctx, WRAM_START + 0x0A50, bytes([255])) # deal 255 of damage at next opportunity
    if not ctx.death_link_allow_survive:
        snes_buffered_write(ctx, WRAM_START + 0x09D6, bytes([0, 0]))  # set current reserve to 0
    await snes_flush_writes(ctx)
    await asyncio.sleep(1)
    gamemode = await snes_read(ctx, WRAM_START + 0x0998, 1)
    health = await snes_read(ctx, WRAM_START + 0x09C2, 2)
    if health is not None:
        health = health[0] | (health[1] << 8)
    if not gamemode or gamemode[0] in SM_DEATH_MODES or (
            ctx.death_link_allow_survive and health is not None and health > 0):
        ctx.death_state = DeathState.dead