Coder Social home page Coder Social logo

fo4anomaly's Introduction

Anomalies of the Commonwealth

youtu.be/OUqkYO_A_Ls

Infos

ESP name AnomaliesOfTheCommonwealth.esp
Dependency Fallout4.esm
Savegame supported(?)

Debugging

  1. Release file lock: fcf
    (You can save ESP in CK now)

  2. Reload ESP after saving in CK: hlp AnomaliesOfTheCommonwealth.esp

  3. Changed papyrus scripts: reloadscript

  4. coc aotcSidorovichBunker

What is an anomaly?

We are going to implement the Springboard anomaly. The model itself is a water droplet effect that is looped for eternity. When you approach it, a secondary alert sound plays, not the radiation but a high pitched beep. But this beep only sounds when the player has a pip-boy. When you approach it further, an image space effect plays for the player, making it more grainy and brighter. When you're too close, the anomaly has a wind-type explosion and sound. This effect decreases the player's healt by some percent. If you throw an unimportant thing in it, same explosion and it disappears. If a creature dies in the anomaly, it later explodes into gibs but those won't interact with the anomaly anymore. The anomaly is surrounded by leaves or dust particles.

TODOs

  1. Must-have before moving on:
    [PENDING] fix everything at its current state
    [SCRAPPED] create ash-pile after killing the player (easiest way to hide them)
    [DOESNT WORK] try move player: player.ApplyHavokImpulse()
    [DONE] try to explode player: player.Dismember()
    [DONE] try this for finding closest anomalies: .FindAllReferencesOfType(anomaly, radius)
    [DONE] add a blast pit under the anomaly
    [DOESNT WORK] change to 3rd person when killing the player
    [DOESNT WORK] switch to ragdoll when player is sucked in
    FXBitsDebrisLeaves01 for effect instead of the white thingy
  2. [DONE] move proximity sound script to player
    give the script an input array of all the anomalies
    calculate the closest one to the player
    this way only one beeping will be played
    (alternative ugly but faster):
    keep a global 'distance' variable that everyone reads and writes if the current anomaly scripts sees that their own distance is closer or equal,play sound, otherwise, don't play a sound problem: if you're very far from the anomaly, the distances won't compare effectively
  3. place anomalies in the commonwealth randomly
    we need a script that manages this behavior: create an empty quest
    find a way to safely place objects randomly on the ground: not too feasible
    or just place them by hand so it's gonna be extra compatible
  4. [WiP] make the anomalies react to other NPC-s
    instead of player, check for any creature that is too close to the anomalies
    ugly hack: make npcs avoid the anomaly so that we don't have to do the hard work
    quick test:
    placeatme abbot
    setrelationshiprank player 4
    setplayerteammate 1
  5. make the anomalies react to something that the player throws
    try this for throwing an object into the anomaly: OnGrab / OnRelease
  6. be surprised at first looking at an anomaly: .Say()
  7. Add Sidorovich to the weird looking cars and trees
    Optionally remove the rad scorpions
    Create the cellar of sidorovich
    Create sidorovich as a speaking actor, voice lines, missions, etc.

TODOs:

  • [SKIPPED] Use SubDoor01Left instead of the white submarine door? --> NO, because the wall plug is not suitable :(
  • [SKIPPED] SaugusSmokeMirageFX for gravity anomaly --> too slow, too big
  • [DONE] Sparks01SaugusFoundry --> for fire anomaly
  • [SKIPPED] npc.PushActorAway(npc, 0) for enabling ragdoll (or just force ragdoll phy)
  • [DONE] add flames to the anomaly: FlameThrowerProjectileSprayVaporizer01.nif
  • [DONE] FXSmokeStackSteam02Half for flame
  • [DONE] Clean-up scripts where we use PlaceAt but dont delete later
  • [PENDING] Add a flag for the anomalies so that NPCs try to avoid it instead of running into them
  • [PENDING] create vis and mesh precombines for all modified cells if neccessary
  • scatter the map with anomalies, create collections to make it easier to place batches
  • [DONE] fine-tune the trigger areas
  • [PENDING] test move to safe place to avoid trees

fo4anomaly's People

Contributors

jbebe avatar

Stargazers

Tóth Ádám avatar

Watchers

 avatar

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.