xaseracheron / damnums Goto Github PK
View Code? Open in Web Editor NEWDamNums: a damage numbers mod for GZDoom/QZDoom.
License: MIT License
DamNums: a damage numbers mod for GZDoom/QZDoom.
License: MIT License
This is technically out of scope, so it may become its own mod. Ideas bucket increases, though. :P
I recommend allowing a settable stat number which people can change either in menu or by console, clamped anywhere from 70 to 90 (or 91-99).
I can help on this if needed, should you decide to invest in this.
Different damagetypes == different colors. 'Nuff said.
Behavior is toggleable via user options, of course.
From Jimmy:
Hey Xaser, I figured I'd mention that GZDoom 3.7.1 throws up a small warning on startup when this mod is loaded, saying the following:
Welp. :P
I'm pretty sure this is caused by multiplying the spawn height by 4, which is no longer needed now that WorldThingDamaged happens before the monster height is reduced.
Although we're at v1.0.0 (near-/idgames addition), there are a few extra-wad things that could use some extra documentation:
via DabbingSquidward:
Small bug report:
If an enemy has more health than its base health (for example an Imp that normally has 60 HP but has 120 HP via UDMF), that enemy won't spawn DamNums until its current health drops below its base health. You can also observe this with the player character. Simply go into chasecam mode and step onto a damaging floor. If you have โฅ 100 HP, either through Health Bonuses, Soulsphere or a Megasphere, there won't be any numbers until your health drops below 100.
Seems that WorldThingSpawned hits before OPEN scripts (and, apparently, also UDMF Health properties) apply, thus the Keeper's curHealth
variable immediately goes out of date.
I should probably just generically implement this as "healing number support", with maybe an uber-special exception to not show healing numbers for the first tic of gameplay to cover the OPEN script case. Or at least just increase curHealth when it goes up, since that's just a simple conditional.
Just a note to self. May not technically be necessary but I'm considering it a "missed spot" just in case.
From this thread:
The damnum thinker destroys stuff when it receives an event. And unfortunately due to the setup this is precisely the next thinker to be iterated by the ThinkerIterator which as a result loses its link to the chain.
I cannot fix this, but the workaround should be that SpawnAndDestroy does not actually destroy the thinker but only flags it for destruction in its next Tick call.
Cool little mini-feature suggested by Jimmy. Super-easy to do too.
I'd hate to kill people's machines via "Kill Monsters" on Sunder. :P
I may or may not put this in the mod. I will certainly use it in the forum threads though. ;)
A cool feature suggestion: a toggle for a "no gravity" numbers mode, where instead of falling down, Borderlands-style, they float upward as they fade out.
I may refer to this as some phrase involving the word "Style", but I'm not sure what other word to use. Spawn style? Physics style? "Falling with Style"? :P
This was actually implicitly fixed by Cooke's PR; just creating this so it goes in the changelog.
All I have on the forum thread is a crappy video showing an early version of the mod. Need something a bit better -- likely with gifs! Kids love gifs these days.
Using Marisa Kirisame's HUD Message system and Gutawer's Gutamatics, it should be possible to draw the numbers directly to screen and keep the position of the numbers.
(Gutamatics has a whole system set up for basically translating from 3D world space to 2D screen coordinates.)
This would be extraordinarily advantageous, as the numbers will draw over everything else with ease. Furthermore, no changes would be needed to the number actors themselves except to make them invisible with the actor flag.
I'm willing to lend assistance if needed.
AddOptionMenu didn't exist when I put the earliest mod prototype together, and I just recently noticed its addition. Much better to use it, for universalness' sake. :P
Necessary endgame bookkeeping.
Enables the "old" mode where shotgun blasting someone will spawn a number for each puff rather than 1 number per tic, max.
Fonts are important. Here's the list of ones to add so far:
This goes in the "maybe" bucket. Need to define what exactly a "crit" means, since "theoretically maximum damage per shot" is a bit boring.
Example: MAP30: God Machine of Sunlust contains 35 voodoo dolls, which makes the player end up with 36 instances of DamNumTracker in his inventory. If he takes damage, the game will spawn 36 of the same number/s.
Worst case scenario: Enable shotgun spray and friendly fire in coop, let a fellow player hit you with the SSG. Boom, 720 DamNums.
Damnums currently errors out if a non-standard IWAD is encountered (e.g. Delaweare, Blade of Agony, Shadow of the Wool Ball) due to missing gamedefault
files. Need to add a default gamedefault (heh) as a catch-all for everything else.
I have a few in, but not all of them. I plan on supporting all of ZDoom's standard ones (close approximations, anyway) and a few custom ones, but certainly not the full FuzzballFox set. :P
This slipped my mind; makes way more sense this way.
D4D and (so I hear) Brutal Doom are affected.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.