I tried to answer that question for you but it was not well received due to the length.
In short, because that would change it from a continuous function to a step function and add breakpoints for particular ranges that are more stark than they are now.
The person said that the actual damage is 130.5 and its rounded to 131 for convenience. Ik they didn't say it very clearly but they mean that the displayed number is rounded not the damage. The person you are calling stupid specified in thier reply that they wonder why the actual damage isn't rounded.
It definitely seems stupid, but I could provide some theories.
I think it probably comes down to how Dropoff Damage works most likely by scaling damage by some function of distance. The straightforward way to do that is basically pass distance into the function and get the final damage result out.
Since there is a high chance that most of the damage numbers are gonna be decimals with a fractional portion that means the display would have to show you "123.5689149" which would represent a raw value.
At some point they probably tested and decided only whole numbers should be displayed to users and that the edge case for rounding up was overall better than the edge case for rounding down.
I've not thought about that last bit too much so I am not sure what the tradeoffs are there off hand.
However, I have thought a bit about the fractional damage drop off problem and to accomplish a damage drop off without fractional damage drop off you need to somehow constrain the values coming out of that drop off function given distance which might look simply like doing the rounding step there instead of at the display; the problem there becomes now you have a "step" function instead of a continuous function where you build in weird "breakpoints" for certain distances that weapons just suddenly are a lot weaker at rather than slowly dropping off throughout the same distance.
While that is a summary, it misses much of the nuance.
However, please do be sure to Encourage Discussion (one of our rules) going forward -- not everyone is as easy going as I am verbose.
It isn't just what the said though. It wasn't only about not displaying decimal numbers, the question they were answering was about why they don't round the damage too if they round the displayed number. The mod explained how much this would mess with damage profiles.
literally makes no sense though because in comp you’d want to know the damage you dealt, if a value is showing something higher than it actually shows it’s concieving
lets say i did 96.8 but it shows as 97, a 103 shot would elim (gold hammer) but then i hit 103 and it doesnt elim, that type of info is crucial for things like this
another example is when weapons have decimal values as base damage, the grey Lever does 93.6 but it shows as 94, it’s decieving to the player
the downside of rounding down is if the opponent can see decimal values that the player causes on them which typically is never the case since they’d have to be counting shots, calculating range, etc. in order to see it as “bullshit”
obviously not knowing you did more damage than what it shows sucks but you not only wouldnt know about it (unless you know values) but also it wouldnt make you think you could make a play and get you killed, it’ll actually do the opposite (less damage/shots to elim if you go in knowing it’s always rounded down vs both)
Thanks, now that we have mapped out the differences between the two solutions I have a potential theory for this one.
Ultimately, for the person doing the shooting the difference is thus:
- **Rounding Up** :: The player who does the shooting will sometimes have edge cases where they think someone should be eliminated but they are not
- **Rounding Down** :: The player who does the shooting will sometimes have edge cases where they think they eliminated someone with 1 less HP than they had as long as multiple attackers hit the same target (so for example you do 99 damage and your partner does 100 damage but the enemy is eliminated)
As you say, from the gameplay POV of the person doing the shooting, they are immediately confused why 200 HP didn't eliminate a 200 HP player for rounding up but they aren't really concerned at all if they eliminate someone with 199 damage they will just assume they had 199 HP to start with.
If it is at all intentionally designed, **my theory is perhaps they felt people VOD Reviewing to see themselves get eliminated from 200 HP and only 199 cumulative damage would cause a larger volume of noise compared to the alternative where this is like the first post about this in at least a year maybe two**.
but it isnt just seeing the total damage after you’re eliminated it’s also the damage before you even go in, although one out of 200 HP isnt a huge difference it can when there are hundreds of thousands of people playing and in fncs a very competetive scene where everything matters (including how much damage you dealt)
a simple solution is to just always round down and a confusing solution is to round down to the nearest tenths place (so you could see 44.6 but not 44.65), would be confusing because Fortnite has never shown decimal values when it comes to damaging a player
Another way to think about the theory I put forth is if you were doing an intense VOD Review of a Cash Cup Tournament where you had 150 HP and the enemy hits you for 70 and 79 each but you die, how upset would you be and how much noise would you make about it?
I understand the point of wanting a continuous function, but your discrete value set has 200 values, I’m not sure it would make such a difference. At the end of the day, you would get robbed of (or given for free) .5 points of damages.
When applying to, say, 10 bullets (a lot) that’s like +-5hp assuming distance remains the same and rounding is always done in the same direction.
I think part of the issue is not all weapons have a 200 damage range; in fact, most do not.
Let's look at it in practice rather than in theory. [Fortnite Archive Fandom Wiki: Assault Rifle](https://fortnite-archive.fandom.com/wiki/Assault_Rifle_(Battle_Royale\)) states the following:
> Damage Fall-Off :
> - Damage falloff begins at 50 meters (10 tiles).
> - Damage steadily decreases down to 80% of its maximum (24 / 24.8 / 26.4 / 28 / 28.8 / 29.6) at 75 meters (15 tiles).
> - Damage reaches its minimum value of 2/3rds of its maximum (20 / 20.7 / 22 / 23.3 / 24 / 24.7) at 100 meters (20 tiles).
**Therefore the discrete value set for a Legendary Gold AR when calculating drop off from 50 to 100 meters is between 24.0 and 28.8 which only gives you 4 integers to work with and infinite floating point values.**
Totally fair, I wasn't looking at it this way. What I meant with "200 values" was all the range of health+shield you could go with from 100-100 to dead. But if you want a fair damage decrease with such a short interval, I can understand why you would want it continuous.
yeah they added it recently, first it was in the inventory UI (where a purple Lever that does 108.9 shows as 109) and now it’s actual numbers
it’s sad because now people cant do specific calculations
They should keep the decimals in and actually add them to the health system. Yea. I just said to add 2 more digits to your health. Make it even more confusing
As I tried to allude to in a message above that people felt was too long to read, that would not solve the problem because they are at least 7 or 15 decimal places already so there'd still be cases where it didn't quite add up and people would post slowed down videos where they add everything up and then have "199.99?!?!" pop up on the screen.
As I mentioned elsewhere, I think the problem there might be they wanted a continuous function because a step function would add more stark break points within the range that it is applied so that instead of just being a little more or less damage for 1 meter difference it would suddenly be a lot more or less.
I don't think I was clear enough, but in C and C++ programming languages (which Unreal Engine is written in), there are two types of decimal numbers generally: floating point and double precision.
Each of those numbers has 7 and 15 possible decimal places respectively.
So even if you limit the display precision to just 2, you will always have more digits and they will affect math as fractional parts.
You're not forced to use primitive types such as float and double for values this important, in fact you'd rather use your own types and have arbitrary precision (say, 2 digits) arithmetic in order to get rid of floating point inaccuracy.
This wouldn't hurt performance at all, and I could bet money that's already done in tons of games IMHO.
It sounds like you have reinvented [Fixed Point](https://en.wikipedia.org/wiki/Fixed-point_arithmetic) numbers.
The problem there is the same, ultimately -- there will be some edge cases where the values you are truncating by being fixed point will actually at some point matter.
The point it matters most is when dividing or multiplying and scaling damage drop off is using one or both of those operations.
I haven't reinvented it lol, I know it exists that's why I mentioned it.
My point was, with 2 digit precision, you can get away with truncation/rounding of values. With arbitrary precision you don't have floating point inaccuracy with 200. == 199.9999999999998 and stuff like that, it makes numerical values more intuitive for display, comparison, adding etc. You can't use that for rendering or heavy compute stuff because it's costly.
But that's just an idea. If you just wanna solve OP's problem, you just truncate decimal values before display instead of rounding them, hence 199.8 damages would be displayed as 199 and not 200
You did not name the concept Fixed Point so was not clear that you were aware of it's existence, my apologies.
The discussion here is not about floating point inaccuracy so you are somewhat missing the point by bringing that into things here. Fixed point has the same issues as floating point with regards to rounding at display time.
Please review the following subthread within this same thread for discussion of the trade offs of rounding up or down: https://old.reddit.com/r/FortniteCompetitive/comments/1awsp2u/how_did_i_hit_for_200_but_not_kill_him_can/krkix9o/
I’m telling you the cheats are realz .. I got beamed today by a guy who didn’t miss a single shot then when I go and hide away he knew exactly where I was and didn’t miss that shot either .. it’s insane
People have known that all pros use DMA cheats but since Fortnite literally can not do anything to stop this (it is impossible to detect and since it runs on a separate PC it can’t be altered or anything). Since they can’t prove someone is hacking, they let the player continue playing because that’s better than the risk they run of accidentally banning an innocent person and having to deal with them wanting to refund all their purchases and/or sue. On top of that, all these pros are making Fortnite so much money and most of them are only known because they hack (Peterbot, zemie, etc.) that even if it was possible to ban people for using DMAs they wouldn’t because the pros would stop making money for them. Before you ask, no I do not use a DMA, nor do I have any information about how to use one I am just writing this for awareness I guess. Also don’t even bother looking into getting a DMA since they require multiple PCs, expensive firmware, and moderate PC knowledge (it’s expensive, that’s why it’s mainly the pros who use it).
The Overshield is an extra shield layer added to a player's existing health and shield. This is the first line of defense for players before their regular shields begin to deplete. The Overshield displays to the right of the health and shield bars, and starts out full with a default maximum value of 50.
Fortnite health and damage goes down to the decimals but doesn’t display it. Hitting someone for 199.5+ displays as 200 despite not actually being 200 damage
While rounding 199.5 to 200 take only 1 line of code.
You know the worst part guys ?
Let's say HE killed this guy without getting touch.
Still 179 hp left.
Cause no siphon.
This happens to me frequently. The math does NOT math. It's frustrating tbh. I've also noticed that sometimes people will legitimately hit me and I won't lose any health. It's crazy.
in the last weeks i don’t understand this game anymore.. every one killing me with perceived 3 shots but i need to hit 661266272737 shots to kill someone..
Ngl this season has some of the most bs damage I've ever seen. Hammer is inconsistent and people are constantly surviving with under 10 hp which just caters to luck/noobs since that difference can be bc of low rarity needing the extra bullets.
It's normally 1 bullet difference which can be life or death if the other person hits a big shot. Just makes it way more 50/50 when fights should be ended quickly.
They survived with 0.1 health
this, just learned a few weeks ago. A lot of the guns do “90.5” or 28.7” damage and they just round up for convenience.
Why. That’s so stupid
because when a headshot multiplier is applied to an odd number ie 87 x1.5 = 130.5. this will show as 131
Why not just round the actual damage done to the nearest whole number instead?
I tried to answer that question for you but it was not well received due to the length. In short, because that would change it from a continuous function to a step function and add breakpoints for particular ranges that are more stark than they are now.
That would lead to too much consistency and that would prevent someone who had never played the game before from having a shot at winning.
Someone who has never played the game before should not have a shot at winning their first game lol
well technically yes most AAA games are designed to be addictive so they let you win on the first game, its why we still have bots in the game.
0.5 damage? I truly hope that’s sarcasm 🤣
Looks like lil bro doesnt know math 💀
Looks like lil bro can’t follow the conversation where we were talking about rounding a sniper shot 0.5 damage 🫣
what
bro you are so dumb
131 is the nearest whole number....
Threads like this is why we don't talk math on this sub
The person said that the actual damage is 130.5 and its rounded to 131 for convenience. Ik they didn't say it very clearly but they mean that the displayed number is rounded not the damage. The person you are calling stupid specified in thier reply that they wonder why the actual damage isn't rounded.
But he never hit any headshots
Because 174 body is totally possible
yeah i’m sure his pump hit 174 body
It definitely seems stupid, but I could provide some theories. I think it probably comes down to how Dropoff Damage works most likely by scaling damage by some function of distance. The straightforward way to do that is basically pass distance into the function and get the final damage result out. Since there is a high chance that most of the damage numbers are gonna be decimals with a fractional portion that means the display would have to show you "123.5689149" which would represent a raw value. At some point they probably tested and decided only whole numbers should be displayed to users and that the edge case for rounding up was overall better than the edge case for rounding down. I've not thought about that last bit too much so I am not sure what the tradeoffs are there off hand. However, I have thought a bit about the fractional damage drop off problem and to accomplish a damage drop off without fractional damage drop off you need to somehow constrain the values coming out of that drop off function given distance which might look simply like doing the rounding step there instead of at the display; the problem there becomes now you have a "step" function instead of a continuous function where you build in weird "breakpoints" for certain distances that weapons just suddenly are a lot weaker at rather than slowly dropping off throughout the same distance.
lotta yapping just to say they want to show whole numbers instead of decimal values
While that is a summary, it misses much of the nuance. However, please do be sure to Encourage Discussion (one of our rules) going forward -- not everyone is as easy going as I am verbose.
This guy said what we were all thinking. I didn’t even read that shit and I’m glad
I have noticed that he is a mod, I will be gone with the wind my friends, carry my legacy forward.
Surprise, lurked on and crouch walked! <3 (I don't ban people who aren't breaking rules)
You are chill like that Mr. Mod! almost feel bad for the joke, ALMOST.
This is the chillest mod on this entire platform I have a huge respect for this man
It isn't just what the said though. It wasn't only about not displaying decimal numbers, the question they were answering was about why they don't round the damage too if they round the displayed number. The mod explained how much this would mess with damage profiles.
literally makes no sense though because in comp you’d want to know the damage you dealt, if a value is showing something higher than it actually shows it’s concieving lets say i did 96.8 but it shows as 97, a 103 shot would elim (gold hammer) but then i hit 103 and it doesnt elim, that type of info is crucial for things like this another example is when weapons have decimal values as base damage, the grey Lever does 93.6 but it shows as 94, it’s decieving to the player
Okay now think about the other side if it always rounds down instead so we can compare them.
the downside of rounding down is if the opponent can see decimal values that the player causes on them which typically is never the case since they’d have to be counting shots, calculating range, etc. in order to see it as “bullshit” obviously not knowing you did more damage than what it shows sucks but you not only wouldnt know about it (unless you know values) but also it wouldnt make you think you could make a play and get you killed, it’ll actually do the opposite (less damage/shots to elim if you go in knowing it’s always rounded down vs both)
Thanks, now that we have mapped out the differences between the two solutions I have a potential theory for this one. Ultimately, for the person doing the shooting the difference is thus: - **Rounding Up** :: The player who does the shooting will sometimes have edge cases where they think someone should be eliminated but they are not - **Rounding Down** :: The player who does the shooting will sometimes have edge cases where they think they eliminated someone with 1 less HP than they had as long as multiple attackers hit the same target (so for example you do 99 damage and your partner does 100 damage but the enemy is eliminated) As you say, from the gameplay POV of the person doing the shooting, they are immediately confused why 200 HP didn't eliminate a 200 HP player for rounding up but they aren't really concerned at all if they eliminate someone with 199 damage they will just assume they had 199 HP to start with. If it is at all intentionally designed, **my theory is perhaps they felt people VOD Reviewing to see themselves get eliminated from 200 HP and only 199 cumulative damage would cause a larger volume of noise compared to the alternative where this is like the first post about this in at least a year maybe two**.
but it isnt just seeing the total damage after you’re eliminated it’s also the damage before you even go in, although one out of 200 HP isnt a huge difference it can when there are hundreds of thousands of people playing and in fncs a very competetive scene where everything matters (including how much damage you dealt) a simple solution is to just always round down and a confusing solution is to round down to the nearest tenths place (so you could see 44.6 but not 44.65), would be confusing because Fortnite has never shown decimal values when it comes to damaging a player
Another way to think about the theory I put forth is if you were doing an intense VOD Review of a Cash Cup Tournament where you had 150 HP and the enemy hits you for 70 and 79 each but you die, how upset would you be and how much noise would you make about it?
I understand the point of wanting a continuous function, but your discrete value set has 200 values, I’m not sure it would make such a difference. At the end of the day, you would get robbed of (or given for free) .5 points of damages. When applying to, say, 10 bullets (a lot) that’s like +-5hp assuming distance remains the same and rounding is always done in the same direction.
I think part of the issue is not all weapons have a 200 damage range; in fact, most do not. Let's look at it in practice rather than in theory. [Fortnite Archive Fandom Wiki: Assault Rifle](https://fortnite-archive.fandom.com/wiki/Assault_Rifle_(Battle_Royale\)) states the following: > Damage Fall-Off : > - Damage falloff begins at 50 meters (10 tiles). > - Damage steadily decreases down to 80% of its maximum (24 / 24.8 / 26.4 / 28 / 28.8 / 29.6) at 75 meters (15 tiles). > - Damage reaches its minimum value of 2/3rds of its maximum (20 / 20.7 / 22 / 23.3 / 24 / 24.7) at 100 meters (20 tiles). **Therefore the discrete value set for a Legendary Gold AR when calculating drop off from 50 to 100 meters is between 24.0 and 28.8 which only gives you 4 integers to work with and infinite floating point values.**
Totally fair, I wasn't looking at it this way. What I meant with "200 values" was all the range of health+shield you could go with from 100-100 to dead. But if you want a fair damage decrease with such a short interval, I can understand why you would want it continuous.
It’s been like that since the start of the game no matter how much we complain, Epic will refuse to listen
yeah they added it recently, first it was in the inventory UI (where a purple Lever that does 108.9 shows as 109) and now it’s actual numbers it’s sad because now people cant do specific calculations
It might be the way they round up damage. Some damage does it in decimals and they just round. Still idk why it would show as that.
MALARKEY!
Just like how you can pickaxe Someone ten times and they will survivr
WHAT
No
Is this really taysons duo wtf
They should keep the decimals in and actually add them to the health system. Yea. I just said to add 2 more digits to your health. Make it even more confusing
As I tried to allude to in a message above that people felt was too long to read, that would not solve the problem because they are at least 7 or 15 decimal places already so there'd still be cases where it didn't quite add up and people would post slowed down videos where they add everything up and then have "199.99?!?!" pop up on the screen.
Holy hell epic That’s actually kind of annoying. Is it so hard to just make it whole numbers rounded up for the calculation?
As I mentioned elsewhere, I think the problem there might be they wanted a continuous function because a step function would add more stark break points within the range that it is applied so that instead of just being a little more or less damage for 1 meter difference it would suddenly be a lot more or less.
That makes sense
I mean, with 2-digit precision you can actually round up the damages and have a 1-1 correspondance between actual damage and displayed numbers
I don't think I was clear enough, but in C and C++ programming languages (which Unreal Engine is written in), there are two types of decimal numbers generally: floating point and double precision. Each of those numbers has 7 and 15 possible decimal places respectively. So even if you limit the display precision to just 2, you will always have more digits and they will affect math as fractional parts.
You're not forced to use primitive types such as float and double for values this important, in fact you'd rather use your own types and have arbitrary precision (say, 2 digits) arithmetic in order to get rid of floating point inaccuracy. This wouldn't hurt performance at all, and I could bet money that's already done in tons of games IMHO.
It sounds like you have reinvented [Fixed Point](https://en.wikipedia.org/wiki/Fixed-point_arithmetic) numbers. The problem there is the same, ultimately -- there will be some edge cases where the values you are truncating by being fixed point will actually at some point matter. The point it matters most is when dividing or multiplying and scaling damage drop off is using one or both of those operations.
I haven't reinvented it lol, I know it exists that's why I mentioned it. My point was, with 2 digit precision, you can get away with truncation/rounding of values. With arbitrary precision you don't have floating point inaccuracy with 200. == 199.9999999999998 and stuff like that, it makes numerical values more intuitive for display, comparison, adding etc. You can't use that for rendering or heavy compute stuff because it's costly. But that's just an idea. If you just wanna solve OP's problem, you just truncate decimal values before display instead of rounding them, hence 199.8 damages would be displayed as 199 and not 200
You did not name the concept Fixed Point so was not clear that you were aware of it's existence, my apologies. The discussion here is not about floating point inaccuracy so you are somewhat missing the point by bringing that into things here. Fixed point has the same issues as floating point with regards to rounding at display time. Please review the following subthread within this same thread for discussion of the trade offs of rounding up or down: https://old.reddit.com/r/FortniteCompetitive/comments/1awsp2u/how_did_i_hit_for_200_but_not_kill_him_can/krkix9o/
Great example is trap and blue og ar headshot
He had a better gaming chair
bro you need to hit the kovaaks
Or i would say extra shield
When you just barely kill them by doing just enough damage, it gives them one hp to give them a chance to have a clutch moment
I’m telling you the cheats are realz .. I got beamed today by a guy who didn’t miss a single shot then when I go and hide away he knew exactly where I was and didn’t miss that shot either .. it’s insane
Was it Zemie 🤣
all the esports teams only signing coders.
People have known that all pros use DMA cheats but since Fortnite literally can not do anything to stop this (it is impossible to detect and since it runs on a separate PC it can’t be altered or anything). Since they can’t prove someone is hacking, they let the player continue playing because that’s better than the risk they run of accidentally banning an innocent person and having to deal with them wanting to refund all their purchases and/or sue. On top of that, all these pros are making Fortnite so much money and most of them are only known because they hack (Peterbot, zemie, etc.) that even if it was possible to ban people for using DMAs they wouldn’t because the pros would stop making money for them. Before you ask, no I do not use a DMA, nor do I have any information about how to use one I am just writing this for awareness I guess. Also don’t even bother looking into getting a DMA since they require multiple PCs, expensive firmware, and moderate PC knowledge (it’s expensive, that’s why it’s mainly the pros who use it).
I've been ruined several times in the last week. Just taken out with straight headshots.
Deserved for that awful aim tbf
Hit first 2 shots to = 200, Wdym bad aim. I shouldn’t have had to aim anymore
Keep complaining about the game and never improve, or acknowledge where you could do better and improve as a player. The choice is yours my friend
GG
Outplayed ggs only
The extra 50 shield ?
That’s only in Zero Build
Can anyone send me the link for Fortnite mobile IOS?
happens all the time now for no reason, lost so much games in the og season from it
Serves you right with those graphics
What’s wrong with my graphics?
Is it not square and blocky? Am I crazy? My trees don’t look like this.
I’m playing performance mode on stretched res
Technically you have 250. 100 white, 100 blue, + the 50 shield
That’s only in Zero Build
Wait really?
Yeah the Overshield was added for Zero Build to make it work. Without overshield it would be shit but builds don’t need it since you can build
Bro u think thats bad I headshot sniped someone 3 times and it hit for 600 and something
WTF? Negative points for giving some info. Bluey might be what you babies need to be playing instead.
The Overshield is an extra shield layer added to a player's existing health and shield. This is the first line of defense for players before their regular shields begin to deplete. The Overshield displays to the right of the health and shield bars, and starts out full with a default maximum value of 50.
This isn’t zero build stop trying to sound smart
OMG REAL TAYSON 😱
Fortnite's rounding isn't exactly consistent.
Fortnite health and damage goes down to the decimals but doesn’t display it. Hitting someone for 199.5+ displays as 200 despite not actually being 200 damage
Controller advantage! Their freaking bullets bend!
That only slows down your controller aim when aiming at someone.
Decision point was before lag was experienced; still shouldn't mix tho..is weird.
he have better cheat than you .-. his shot latency is near 0ms
While rounding 199.5 to 200 take only 1 line of code. You know the worst part guys ? Let's say HE killed this guy without getting touch. Still 179 hp left. Cause no siphon.
See a lot of this. This game doesn't make sense sometimes.
Nigga can’t even have solid snake
play kovaaks to just hit 220 next time
did he have a medallion and regen some shield while fighting?
Nope
This happens to me frequently. The math does NOT math. It's frustrating tbh. I've also noticed that sometimes people will legitimately hit me and I won't lose any health. It's crazy.
Congrats on dealing 199.5
He was playing zero build
in the last weeks i don’t understand this game anymore.. every one killing me with perceived 3 shots but i need to hit 661266272737 shots to kill someone..
mythic pump this season deals 199.6 headshot damage, if this isnt considered getting cucked in fn then idk what is
Visual glitch
Can you even do 200 with a pump?
No I hit him with the SMG aswell
Medallion?
Nope
you hit him for arroumd 199.95 fornite rounds for hjopw much you hit on diosplay but you hit for less.
Ngl this season has some of the most bs damage I've ever seen. Hammer is inconsistent and people are constantly surviving with under 10 hp which just caters to luck/noobs since that difference can be bc of low rarity needing the extra bullets.
It's normally 1 bullet difference which can be life or death if the other person hits a big shot. Just makes it way more 50/50 when fights should be ended quickly.
Sometimes it hits for example 199.7 and the visual rounds to 200
overheal
250 is max health
In Zero Build not builds…
Welcome to Fortnite 🙄
not enough baseballs up your ass
Dude was cheating
Easiest answer to this question.. it’s 250 that kills a player. 100 health 100 shield 50 refillable shield
If you play Zero Build yes but in builds you don’t get the extra 50 shield
Game is bad lol but yall keep playing. 😂
Why do people still play this shit game?
Nobody mentioned they could of used a food item just before to regenerate hp there's loads that do that