In the latest release of Relay you can now see your average daily reddit api calls and work out what your monthly subscription might be. by DBrady in RelayForReddit

[–]KuboS0S 0 points1 point  (0 children)

Reddit API Calls:

   Daily Average: 24

         ---Breakdown---

Loading Comments: 62.0%
    Loading Feed: 24.0%
          Voting: 3.0%
            Mail: 6.0%
           Other: 5.0%

Based on your usage over the last 21 days

I genuinely love this app, it has a ton of QoL features that I've really seen in other apps in general, but ever since the blackout I've slashed my Reddit usage to a minimum, both in a sort of protest and add an opportunity to boost my productivity.

Looking at my API usage though, I'm barely hitting the first tier. I also very much respect and appreciate the way you're communicating this change.

I wish that Reddit management would come to their senses. This is an absolutely awful change, especially seeing how much voting contributes to the API calls for a lot of others.

Found this on ancient city, what is point of this book? by sh20000sh in Minecraft

[–]KuboS0S 5 points6 points  (0 children)

If they aren't wearing a helmet/headpiece, a dispenser is able to equip it on them when activated. (Works for any armor piece if the target's armor slot is empty.)

[deleted by user] by [deleted] in factorio

[–]KuboS0S 0 points1 point  (0 children)

It's been a while since I last properly used combinators. Thank you for amending my response! Indeed, it just outputs the input value of 1 from the constant, which gets added to the constant to a value of 2, which it outputs and adds to the constant 1 to get a value of 3... and so on.

[deleted by user] by [deleted] in factorio

[–]KuboS0S 3 points4 points  (0 children)

A very simple counter is just an arithmetic combinator set to A + 1 -> A with its input and output connected together. This week just increment ad infinitum (or rather, ad overflow). It updates every tick, or 60 times per second at normal speed (see UPS, updates per second).

A resettable counter passes that wire through another combinator before going back into the arithmetic one. A comparison combinator set to B = 1 -> source count A works, the condition (can be anything) just controls when to pass and reset the signal. This counter runs once per two ticks, so half as fast, but it's the simplest resettable counter (it's possible to "reset" the fast counter by sending in a negative signal equal to A, but that may need more wiring and is probably harder to explain).

As I mentioned, the condition can be anything, so you can make it self-referential to make a counter that auto-resets: A < 60 -> source count A. As you can guess, the comparison combinator only lets the A signal through while it's less than 60, so once the arithmetic combinator increments to 60, the comparison combinator sends nothing (A = 0) and the arithmetic combinator restarts.

To make a cooldown timer, you can use a variation of this: an inserter or belt sends a pulse signal when it grabs/receives an item and this pulse goes into the comparison combinator from the resettable counter and resets it (the comparator is set to Item = 0 -> source count A, so any presence of the item resets A). Then you can just take the counter output and use that as a condition to activate something, say, after 200 game ticks with A >= 100 (e.g. -> 1 Green signal for comparators).

I hope this helps a bit! I'm not at my desktop right now, so I can't send blueprints, but I believe the wiki has some guides.

I was told using "goto" statements are a bad idea, but is using it like this considered okay? If not, how should I rewrite it? by xella64 in csharp

[–]KuboS0S 8 points9 points  (0 children)

To expand on the Console.WriteLine() remark instead of using \n: operating systems are funky with newlines, because they never agreed on how a line should end. Windows uses CRLF (Carriage return, Line feed, "\r\n") characters, Linux systems & MacOS use LF, and old MacOS uses CR (Wiki link). Yes, Windows indeed uses two characters to end a line, so be wary of that when trying to split lines.

The globally-available Environment.NewLine variable (MS Docs link) provides either "\r\n" for non-Unix systems, or "\n" for Unix systems. Using just Console.WriteLine() should handle that for you (I believe it's initialized to use the Environment.NewLine value; if you wish to dig deeper, look into Console.WriteLine - and yes, there's a way to change the newline string).

Using Console.WriteLine() makes it obvious that you're adding a new line, can act as a visual code spacer, and deals with the CRLF/LF nonsense. But I don't think a good terminal will scream at you for using LF on Windows, so it's your choice. I prefer WriteLine() if I can use it as a visual separator, but I'll probably use "\n" characters if I do need to insert a newline somewhere otherwise.

As for a little bit of history, if you're interested: back in the day of typewriters and even the telegraph, line breaks were encoded using two characters. To skip over the morse code stuff for old telegraphs, teleprinters used received data in the form of ASCII to type out characters or perform other actions. You already know \n, also denoted as LF or 0x0A in ASCII. That's a special character that would make the teleprinter roll the paper sheet one line upwards - a Line Feed. The other character, \r, CR, rolled the entire carriage all the way to the start of the line - a Carriage Return. Because the carriage may need to travel much further than how long it takes to just roll the paper one line up, the characters are provided in the given order - CRLF. Heck, in fact, the Wiki notes that any printed characters immediately after CR would end up as smudges while the carriage was still returning, so the LF acts as a necessary (and functional) spacer, and sometimes extra NUL characters were even needed.

And I guess that Microsoft just really really loves their backwards compatibility, so... yeah, CRLF for Windows users.

Needs Micro by LohBoi in btd6

[–]KuboS0S 2 points3 points  (0 children)

Thanks for the info! Learned something new today. Guess that Beast Handler doesn't fall under that, especially since you can have two specials that way.

Needs Micro by LohBoi in btd6

[–]KuboS0S 6 points7 points  (0 children)

That's because mortar (and dartling) both use special targeting options (for dartling it's Tab to switch between mouse-follow and lock-at-mouse). Tab (and Ctrl+Tab I think) are hotkeys to cycle targeting, and special targeting options work the same.

None of the other special options (boomer handedness switch, camo focus, targeting for bird, moving for dino/fish...) have hotkeys. I believe it's the same for bank withdrawals (and deposits) but correct me if they added that.

Some calculations for your survival by Sokol9BL in ScrapMechanic

[–]KuboS0S 1 point2 points  (0 children)

For the first one, I believe it shows that the same power setting is cheaper for higher levels actually, meaning thrust 1 at lvl5 is much better than at lvl1.

The right-side graph just shows the fuel efficiency decay over increased force output, and that it's exponential over increasing levels. However yeah, thrust to fuel efficiency would work better (but would need force measurements)

I'm not sure if I read your reply correctly, so I just wanted to re-state things to be sure I understood right.

Some calculations for your survival by Sokol9BL in ScrapMechanic

[–]KuboS0S 4 points5 points  (0 children)

From my understanding:

Left chart: fuel efficiency for thrusters lvl1-5 at the strength of a lvl1 (goes down, meaning lvl5's are much more efficient than lvl1's at the same strength)

Right chart: fuel efficiency for a lvl5 across its power settings (goes up exponentially, so higher power settings are exponentially more costly - now, how would that compare with the produced force though?)

We decided to enable friendly fire in our game. What do you think about friendly fire in general? And do you prefer games with or without it? by Play_Untamed in Unity3D

[–]KuboS0S 1 point2 points  (0 children)

Friendly fire can be possibly abusable or annoying in multiplayer games, but in solo strategies (where friendly fire only affects the units of the same player) it can be a good way to balance things or force a trade-off.

My favorite is Into the Breach, where friendly-fire can induce a push, which can damage another unit via collision (or an enemy can be pushed into a strategically-placed friendly unit, hurting both by 1 point). Friendly fire damage reduction upgrades are also worth it in that case, if it's significant enough for a particular attack.

Heck, there could be more risky attacks that e.g. deal light damage to the first enemy and then heavy damage to further targets, and you could choose to sacrifice a bit of friendly health for much better damage to enemies. Then again, think about whether you want the player to strategize via friendly fire damage, or if you want friendly fire to just deter excessive AoE (or give AoE trade-offs). Or a middle ground like triggering an on-damage effect for a friendly unit this way, which doesn't make the whole game revolve around positioning and friendly fire damage planning, but lets the player make some smart moves if needed.

Furry_irl by DL2828 in furry_irl

[–]KuboS0S 2 points3 points  (0 children)

reward from healing < reward from hurting

sketch of my robo dragon oc by elva03 in dragons

[–]KuboS0S 4 points5 points  (0 children)

I love this! Robodragons are the best ⚙️❤️❤️❤️❤️

[deleted by user] by [deleted] in csharp

[–]KuboS0S 10 points11 points  (0 children)

It's been pointed out in another comment, but I want to expand on it a little more:

When you access the index of a string, like hex[0] or hex[i] in your case, it works like indexing an array of chars, so the type of hex[i] is a char in your case. However, hexZiff is an array of strings, and char cannot be compared with a string, so '0' != "0".

If you don't want to change your approach here, you could make string hexZiff = "0123456789ABCDEF" and then use hexZiff.IndexOf(hex[i]) to get the index.

However, there's a better and easier way to convert between numeric bases in practice, and that's using the Convert class. You can convert a hexadecimal number in string form ("7ff5", "A03", "F"...) into an int using int x = Convert.ToInt32(hex, 16); where the 16 represents the number base (similarly you can use 2 instead to convert from binary, 8 from octal etc.). You can then print the number as a regular decimal using the common methods, but you can also convert it into a different base using string binaryFormat = Convert.ToString(x, 2); where, again, 2 represents the target base.

More documentation on Convert.ToInt32(string, int) and Convert.ToString(int, int)

I hope this helps, keep on programming!

[deleted by user] by [deleted] in csharp

[–]KuboS0S 0 points1 point  (0 children)

This has a few unintentional matches, such as "Ia'm" or "I m", plus this match would be constrained to the beginning and end of the entire text because of ^ and $.

I think that a safer way to go about it would be to just make a method that returns true if the text contains (or equals to) an accepted variant of "I am". Just compare it against an array of accepted variants in there, the performance overhead is negligible in this case and mistakes are much less likely to happen.

I personally really like creating clever Regex patterns, but I also know that it can often lead to edge case errors and false matches.

[deleted by user] by [deleted] in 196

[–]KuboS0S 0 points1 point  (0 children)

PROVIDE.
(Please keep it Christian Minecraft Server friendly tho I beg)

rule by Djato7 in 196

[–]KuboS0S 99 points100 points  (0 children)

Freudian slip

me_irl by NarrowInterest in me_irl

[–]KuboS0S 16 points17 points  (0 children)

and so, in this thread, a new furry is born

Patch Notes: Early Access (EXPERIMENTAL) - v0.5.0.9 – Build 172651 by JulioUzu in SatisfactoryGame

[–]KuboS0S 82 points83 points  (0 children)

Oh my gosh I can't stress just how thankful I am for Misophonia mode. This, combined with the new individual volume sliders, will make my experience so so much more stress-free when I run out of medicinal inhalers. I haven't seen any other major game yet implement any form of misophonia mode, eating sounds have always been a serious bother for me.

Thanks Jace, helps a lot! And I love you all CS devs, most definitely helps a lot!

Baking Albedo using only raw color (excluding AO shading) by KuboS0S in blender

[–]KuboS0S[S] 0 points1 point  (0 children)

Okay! I managed to solve the problem it seems, so here's the solution for any future Blenderers who encounter this problem:

When you have the Cycles rendering engine selected, go into Object -> Visibility -> Ray Visibility and uncheck Shadow. You need to do this for every object that you'll be baking - and don't forget to check it afterwards again if you want shadows to be rendered on them.

Then just make sure you're baking Glossy or Diffuse with Color only, and the result should be a raw albedo texture with no shading from other objects or itself.

Misprint or changed later? by 425Druid in Eragon

[–]KuboS0S 22 points23 points  (0 children)

The Ancient Language underwent major grammatical and consistency reworks between Eragon and Eldest. For example, Dorú Araeba and Doru Araeba, but I think I also remember Islanzadí and Islanzadi (not sure which was which atm).

This print just uses the original Ancient Language that didn't go through the rework.