GithubHelp home page GithubHelp logo

prophetlamb / wannabeedgerunnerrecovery Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 2.0 18.25 MB

Cyberpunk2077: Extends Wannabe Edgerunner to recover humanity over tme

License: MIT License

Red 100.00%
cyberpunk2077 mod redscript

wannabeedgerunnerrecovery's Introduction

Logo

Wannabe Edgerunner - Humanity Recovery

Find me on NexusMods. Help with localization effort is much appreciated

Extends the Wannabe Edgerunner mod, to recover humanity over time.

Best used with:

Features

Over time, humanity penalties inflicted due to murder slowly regenerates.

  • Recover humanity throughout the day. Equipped cyberware reduces the recovery-rate proportionally to the number of slots filled. So that no humanity is recovered, when a certain threshold is reached. Below that threshold humanity degenerates.
  • Knocking-out an opponent instead of killing them rewards humanity.
  • Donating to a homeless person recovers humanity.
  • Petting Nibbels recovers humanity. [WIP]
Note
To save resources, the recovery is only applied once every minute.

Over time

Donate

Implementation details

Edgerunner lore states, that "laying off chrome" prevents Cyberpychosis. In the context of CP2077, this system interprets "laying off chrome" as emptying Cyberwear slots.

This mod provides a immersive and highly configurable experience of the regeneration.

Settings

Recovery over time

The current regen or degen can be seen in the Cyberdeck/Ripperdoc screen.

Degen Regen

Humanity recovery is calculated as a linear interpolation in two parts.

  • If the Cyberware load is higher than the threshold, degens humanity proportional to the load over the threshold. Interpolates $$l \in [k,1] \rightarrow [0,-r]$$ where $l$ is the load, $k$ is the threshold (settings), and $r$ is the recovery rate (settings)

  • If the Cyberware load is lower than the threshold, regens humanity proportional to the load under the threshold Interpolates $$l \in [0,k] \rightarrow [0,r]$$ where $l$ is the load, $k$ is the threshold (settings), and $r$ is the recovery rate (settings)

This is illustrated in the diagram below.

     thres
0 ---|------------- 1 load
|    /\
|   /    \
|  /        \
| /            \
|/                \
1 rate   -rate

Disabling adaptive recovery always uses the maximum recovery rate, positive or negative.

Recovery on knockout

Humanity is recovered inversely proportional to the penalty incurred for the kill.

The amount of humanity recovered is given by the following equation. $$d / c ^ e$$ where $d$ is the dividend (settings), $c$ is the kill cost, and $e$ the exponent (settings).

A dividend of zero turns off recovery on knockout.

TODO

  • Fix bug where regeneration occurs on the game start screen, after load, before session start. [rn, circumvented by delay]
  • Prevent humanity regeneration during combat.
  • Add on screens when restoring humanity (like exp gained notifications)
  • Gain humanity when donating to the homeless
  • Gain humanity upon certain quest completions (romance etc)
  • Gain humanity when petting cats!
  • Add visual feedback when Cyberware load exceeds the threshold. (Tint humaniy bar red)
  • Add ru-ru local. Thanks to @Locked15 !
  • Add cz-cz local
  • Add it-it local
  • Add jp-jp local
  • Add pl-pl local
  • Add pt-br local
  • Add zh-cn local. Thanks to @FelixGMo !
  • Add zh-tw local
  • Add es-es local

How to build

  • Open .cpmodproj in WolvenKin
  • MouseR on raw, then MouseL on "Convert from JSON"
  • "Pack as REDmod" or "Install as REDmod" in toolbar

wannabeedgerunnerrecovery's People

Contributors

felixgmo avatar locked15 avatar prophetlamb avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

locked15 felixgmo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.