Cyberpunk 2077

File information

Last updated

Original upload

Created by

Demon9ne

Uploaded by

Demon9ne

Virus scan

Safe to use

Tags for this mod

About this mod

Know who or what you're looting.

Requirements
Permissions and credits
Changelogs
Donations
Looting QoL modifies the title in the looting UI, depending on who or what you're looting.

- Containers: The name of the container is shown instead of "CONTENTS", above the items.
- Items: The title is absent. Because, as it turns out, the "CONTENTS" of an item are indeed the item.
- Defeated enemies: Their affiliation and name are displayed--and they are marked deceased, if dead.
- Scanned defeated enemies: Their actual name is displayed--and they are marked deceased, if dead.
- If for some reason something is unnamed, "LOOT" will be displayed as a title.
- If you are a mod author, you can use redscript to give containers or NPCs custom names, dynamically. See below.

Changelog
- v1.0: Initial release
- v1.1: Added custom naming functionality for mod authors (see below)
- v1.2: Added Codeware as a mod dependency
- v1.3: Minor stability improvements
- v1.4: Improved death detection logic when marking enemies deceased

Mod Conflicts
- This mod may conflict with anything that modifies the looting UI.

Requirements
- ArchiveXL
- Redscript
- Codeware

Mod Dev Info
Spoiler:  
Show
To give containers or NPCs custom names, simply add and use the following redscript.

// Conditional Import:

@if(ModuleExists("LootingQoL"))
import LootingQoL.*

// To change an NPC faction name (which appears before the display name, followed by a space):

@if(!ModuleExists("LootingQoL"))
public static func SetCustomFactionName(gameObject: ref<GameObject>, s: String) { return; }

@if(ModuleExists("LootingQoL"))
public static func SetCustomFactionName(gameObject: ref<GameObject>, s: String) { gameObject.m_customFactionName = s; }

// To change an NPC or container display name:

@if(!ModuleExists("LootingQoL"))
public static func SetCustomDisplayName(gameObject: ref<GameObject>, s: String) { return; }

@if(ModuleExists("LootingQoL"))
public static func SetCustomDisplayName(gameObject: ref<GameObject>, s: String) { gameObject.m_customDisplayName = s; }

// To make an NPC faction name override the name given after scanning:

@if(!ModuleExists("LootingQoL"))
public static func SetCustomFactionNameOverridesScanner(gameObject: ref<GameObject>, b: Bool) { return; }

@if(ModuleExists("LootingQoL"))
public static func SetCustomFactionNameOverridesScanner(gameObject: ref<GameObject>, b: Bool) { gameObject.m_customFactionNameOverridesScanner = b; }

// To make an NPC display name override the name given after scanning:

@if(!ModuleExists("LootingQoL"))
public static func SetCustomDisplayNameOverridesScanner(gameObject: ref<GameObject>, b: Bool) { return; }

@if(ModuleExists("LootingQoL"))
public static func SetCustomDisplayNameOverridesScanner(gameObject: ref<GameObject>, b: Bool) { gameObject.m_customDisplayNameOverridesScanner = b; }

// To make an NPC faction name appear only after they were scanned:

@if(!ModuleExists("LootingQoL"))
public static func SetCustomFactionNameOnlyIfScanned(gameObject: ref<GameObject>, b: Bool) { return; }

@if(ModuleExists("LootingQoL"))
public static func SetCustomFactionNameOnlyIfScanned(gameObject: ref<GameObject>, b: Bool) { gameObject.m_customFactionNameOnlyIfScanned = b; }

// To make an NPC display name appear only after they were scanned:

@if(!ModuleExists("LootingQoL"))
public static func SetCustomDisplayNameOnlyIfScanned(gameObject: ref<GameObject>, b: Bool) { return; }

@if(ModuleExists("LootingQoL"))
public static func SetCustomDisplayNameOnlyIfScanned(gameObject: ref<GameObject>, b: Bool) { gameObject.m_customDisplayNameOnlyIfScanned = b; }

// Lastly, to simply check whether or not Looting QoL is installed, add this boolean to your ScriptableSystem:

@if(!ModuleExists("LootingQoL"))
public static const let bLootingQoL: Bool = false;

@if(ModuleExists("LootingQoL"))
public static const let bLootingQoL: Bool = true;

My Cyberpunk Mods
- Armed Apartments
- Atone - Reset Your Street Cred
- Cop Killer
- Endgame Rewards Expanded
- Gamepad Button Hold Indicator Fix
- Gorilla Grapple
- In Cold Blood - NPC Execution Fix
- Judy Flirts on Dates
- Looting QoL
- Mute Bolt Perk Weapon Charge Sfx
- Mute Deadeye Perk Headshot Sfx
- Mute Focus Perk Chime Sfx
- Mute Overclock Perk Activation Sfx
- Plan C
- Retrothrusters QoL
- Slaught-O-Matic Platinum
- Slaught-O-Matic QoL
- Streetwalker Minidress - Archive XL