ModDota / BugTracker

Listing bugs for Dota 2 Custom Games
9 stars 1 forks source link

Add Game.SetLightInfoEntity(sName, fDuration, fScale) #127

Open Arhowk opened 7 years ago

Arhowk commented 7 years ago

Summary: Light infos are currently baked into specific regions with transition radiuses, but there are alot of scenarios which they would be great to have dynamically, such as

1) Death screen- (the origination of this request)- I wanted to desaturate the entire map whenever your hero died 2) Dynamic nighttimes- I had an idea of a boss event coming and turning the entire world in a darker blue color warp texture 3) Ultimate effects- Things like turning the entire world shining when Omniknight uses his aghanim's ultimate, darkening on black hole, etc. Little touches that make the game a lot more epic and immersive to play.

Specific Implementation Type- Panorama Function API- Game.SetLightInfoEntity(sName, fDuration) -sName: the name of the light info entity assigned in Hammer -fDuration: the time it takes for the light info to fully switch from the old light info (whatever it was to the specified light info -fScale: the scale of the light entity to go into (e.g. a scale value of 0.5 would make the end result 1/2 of the old light info and 1/2 of this specified light info)

Notes- There is a small "bug" in the game where if you have no specified light info, it will default to the last one you were technically rendering. One of the hacks I played with was having like 50 light infos in the corner of the map and quickly viewing the camera on one of those to assign the light info and coming back, but that had issues like stuttering for a frame as it played the transition, the transition happening instantly, and no ability to control the intensity of the lightinfo. This function would resolve all of those issues and is slightly inspired based on this bug.