InfoRepeats firstEquip animation each time you draw your weapon because it's just cool :) Made by request.
Tracks different game events to skip the animation when it should not be played (after interactions, climbing, enemy takedowns etc.)
Animation can be interrupted at any time with aiming.
Allows to trigger additional weapon inspection animations (see details below).
Adds new configurable custom hotkey to trigger first equip, idle break and safe action animations
Adds new configurable custom hotkey to switch between ready and lowered weapon positions
Short animations demo here:
https://imgur.com/a/wR3xBHc
Supported animationsfirstEquipUsually, you can see this animation when V equips any weapon for a first time.
How to triggerPress the related hotkey when your weapon sheathed to equip it with firstEquip animation. Also you will see it while equipping your weapon with a certain probability defined by FirstEquipConfig (50% by default). And finally, you can enable animation cooldown option which replaces probability based check with "play once per defined period of time" logic. Uses the main mod hotkey (F2 by default).
IdleBreakUsually, you can see this animation with a certain probability when V stands still with weapon unsheathed, it looks like short weapon inspection.
How to triggerPress the related hotkey when your weapon unsheathed to run IdleBreak animation, also you will see it when V stands still with weapon unsheathed with a certain probability defined by IdleBreakConfig. Animation check runs each period, default values mean that IdleBreak check runs each 5 seconds to play the animation with 10% probability. Uses the main mod hotkey (F2 by default).
SafeActionUsually you can see this animation when you try to fire a weapon in any safe area where weapon usage is blocked, it looks like weapon chamber inspect for some revolvers, pistols and riffles or another short inspection for other weapons.
How to triggerHold the relaeted hotkey when your weapon unsheathed to run SafeAction animation. V will hold equipped weapon in "inspected" state while you holding the hotkey. Uses the main mod hotkey (F2 by default).
Lower your weaponUsually you can see this animation in safe areas or when you are targeting some quest or important NPCs
How to triggerPress the related hotkey when your weapon unsheathed to toggle between lowered and ready weapon positions. Uses the additional mod hotkey (F3 by default).
How to installDownload all required dependencies and unpack it into the game folder
Download and unpack
Always First Equip archive into the game folder
(Optional) Configure the mod with the mod settings menu
Required redscript version: 0.3.0+
How to uninstallDelete Cyberpunk 2077\r6\scripts\alwaysFirstEquip.reds file
Delete Cyberpunk 2077\r6\input\AlwaysFirstEquip.xml file
Delete Cyberpunk 2077\archive\pc\mod\AlwaysFirstEquip.archive and Cyberpunk 2077\archive\pc\mod\AlwaysFirstEquip.archive.xl files
TranslationIf you want to translate the mod settings menu to your own language, then download
Translation sources archive, open first-equip.json with any text editor (I would recommend Notepad++) and translate only lines with "femaleVariant" key (sample
screenshot, text which you should change marked with yellow). After that check the code for your language
here at the table below and send translated file back to me.
Currently supported languages: English
Russian
French (credits to Unseen Unit)
German (credits to vorgash)
Simplified Chinese (credits to Alk4idin)
Traditional Chinese (credits to hansdofer)
Japanese (credits to aile1111)
Spanish (credits to XHisparemiX)
Polish (credits to george173)
Brazilian Portuguese (credits to ProtonWave)
Czech (credits to TheWolfeus)
Thai (credits to L A T I N)
Turkish (credits to JDMlLegioNl)
Creditsjekky for the redscript compiler
RayNOS for the mod idea
psiberx for base hotkey listeners idea, archivexl and all the stuff
CP77 modding discord
My modsAlways First EquipCustom Map MarkersEnhanced CraftFaster Iguana HatchGame Time TweaksHide Read ShardsHolster By HotkeyHUD PainterHUDitorImmersive Timeskip
Improved Minimap Zoom
Limited Fast TravelLimited HUD
Mark To SellMetro Pocket GuideMizutani Shion Targa MZTMuted MarkersNamed SavesNo Camera Auto CenteringNo Intro VideosNo Scanner Time DilationQuickhack HotkeysReal Vendor NamesReduced LootRevised BackpackSleevesSmarter ScrapperStand Still PleaseStash FiltersStash and Backpack SearchToggle Quest TagsVehicle Summon TweaksVirtual AtelierVirtual Car DealerWannabe EdgerunnerYet Another UI RecolorFor redscript mod developers
// Replacements
@replaceMethod(LocomotionEventsTransition)
public func OnEnter(stateContext: ref<StateContext>, scriptInterface: ref<StateGameScriptInterface>) -> Void
@replaceMethod(CarriedObjectEvents)
protected func OnEnter(stateContext: ref<StateContext>, scriptInterface: ref<StateGameScriptInterface>) -> Void
@replaceMethod(InteractiveDevice)
protected cb func OnInteractionUsed(evt: ref<InteractionChoiceEvent>) -> Bool
@replaceMethod(gamestateMachineComponent)
protected cb func OnStartTakedownEvent(startTakedownEvent: ref<StartTakedownEvent>) -> Bool
@replaceMethod(FirstEquipSystem)
public final const func HasPlayedFirstEquip(weaponID: TweakDBID) -> Bool
@replaceMethod(EquipmentBaseTransition)
protected final const func HandleWeaponEquip(scriptInterface: ref<StateGameScriptInterface>, stateContext: ref<StateContext>, stateMachineInstanceData: StateMachineInstanceData, item: ItemID) -> Void
@replaceMethod(ReadyEvents)
protected final func OnTick(timeDelta: Float, stateContext: ref<StateContext>, scriptInterface: ref<StateGameScriptInterface>) -> Void
// Added methods
@addMethod(ReadyEvents)
protected func OnDetach(const stateContext: ref<StateContext>, const scriptInterface: ref<StateGameScriptInterface>) -> Void