User talk:Harakoni

Jump to navigation Jump to search

About this board

Not editable

Policy of "singular nouns" in Article titles?

6
Albedo (talkcontribs)

I've seen several articles here that use plural nouns as their title, and while by itself such an article name may cause no confusion, when linking it becomes a different issue. (And some other confusion may arise, situationally.) The worst culprit may be the pila, which is plural (Latin) for the Roman "pilum", which is the weapon (an iron-age throwing spear) - but there are others. In DF, there was a policy along the lines of "All Titles are Singular unless the article is discussing all varieties in a group (exceptions are when in-game terms are plural)" - so, "Revolver" or "Grenade" or "Greenhouse", but (possibly!) "Weapons" (a comparative guide) or "Crops" or "Farming Tips". Might be helpful here? (And I'd like to change Pila to Pilum, but at this point it's almost as if it's a different, fantasy weapon - the dreaded Rimworld Pila!) \o/ Albedo (talk) 10:40, 13 January 2022 (UTC)

Harakoni (talkcontribs)

Pila is called "pila" primarily because that is the name of the item in game. Name in game > All other factors. That is what people will look for, and that is whats correct for this circumstance even if it'd be wrong in the real world. This is why its the biosculpter pod and not biosculptor or biosculpture pod for example, and why Template: Sic exists. Secondly, just like frag grenades, and like the description says "This weapon represents a bundle of pila". It is plural "in-universe" even if its treated as a single item mechanically

As for general rules, the DFwiki example is mostly followed. Psycasts, weapons, titles are what they are because they're discussing classes of things with many things in them. There are likely things that break that rule though, some might have reason to (e.g. pila, frag grenades etc), some might not. If you have specific example you'd like addressed, let me know.

Albedo (talkcontribs)

Yeah, I had realized that even as I posted that comment (the dreaded RW pila). It's just jarring to my ears, one plural in a sea of singular weapons, but... it's not my game! ;D Albedo (talk) 13:13, 18 January 2022 (UTC)

Albedo (talkcontribs)

We "discussed" pila/pilum, which is RimWorld-specific. But the general use of singular/plural with more common terms is useful when editing. It's a pain to have to refer to "throwing a [frag grenades|frag grenade]...", as opposed to "... a [frag grenade]]..." - that's why the Wiki code was set up that way, to easily pluralize the singular article name. Yes, they're ~plural~ in-game, but I think that's more a nod to the "unlimited ammo" concept; it's still one item, not a discussion of a class of items. (But if you disagree, be sure to revert "EMP grenade" too.)Albedo (talk) 22:49, 20 January 2022 (UTC)

Harakoni (talkcontribs)

They're all RimWorld specific. The building in game isn't singular "sandbag" its "sandbags", its not 1x Marble Block its 1x Marble Blocks. Meanwhile if you want to be able to link directly to frag grenade, just make a redirect. It'll also catch searches

Albedo (talkcontribs)

As a general policy, sure - but... meh, it still bothers me. (And isn't that asking for a double-redirect down the road?) Sandbag/s - yeah, I can see that one, that is appropriate in the plural, no one uses "a sandbag" as a defensive position.Albedo (talk) 23:04, 20 January 2022 (UTC)

ItsNotReallyEditing (talkcontribs)

Some of the jargon commonly used by YouTubers might be hard for new players to understand, i.e. "pawn", "hediff"

A jargon page explaining each term would be useful for them.

Harakoni (talkcontribs)

Hmmmm, well certain things will be covered by searches already ( pawn, DPS, raid points) but some clever use of redirects to a glossary page with terms that don't need their own page might work.

I'm dubious about linking to it on other pages without explicit context just so people don't get confused.

Aazard (talkcontribs)

Please continue to clean up my postings, excellent progress on my end in "terror/supression" testing of slavery, and various in game systems/items

Majority of apparel/armor testing is complete. In middle of full weapon "oddity" testing.

Located an odd mod "Sharp Stick", effectively a sharp wood/beer as melee weapon, but sharp and wood only (so modifiers), but supports "quality levels" (as "normal", 3 modes: 1x as 1 sec cool down, 1.6 sharp/6% AP, 2x are 1 sec cool down 2.7 blunt/4.5% AP)

Do you know of a similar "stock" sharp weapon, that would suit slaves with "Noble: Piercer" ("slave safe" like wood), thank you

Is there a dev command to remove a mood buff/debuff

4
Ripmorld (talkcontribs)

I need a pawn to forget the death of his son

Harakoni (talkcontribs)

Not with dev mode. Though depending on exactly what you need to do, you could remove the relationship before the son dies with dev mode, give him good thoughts to counter the penalty from the death with dev mode, or install the Character Editor mod which would allow you to remove the debuff directly.

Ripmorld (talkcontribs)

Ok , thank you . Character editor is it called .

Harakoni (talkcontribs)

How to trigger heart attack with Dev tool

3
Ripmorld (talkcontribs)

I want to test the effect of installing a bionic heart with heartattacks , but I can't seem to find any way in dev tool to trigger this. Maybe I can force heart attack by force feeding the pawn wake-up, but she might just die of drug overdose instead

Harakoni (talkcontribs)

The only way I know for sure works quickly and reliably would be to give them the hediff via "Apply Hediff", however that will work even if it wouldn't work normally. You could give someone a heart attack in their leg and it would apply. So likely no good for your purpose.

You could try "Force Birthday" (NOT "Make1 Year Older" as that doesn't apply ailments), but you're just rolling the dice on which age related ailments you get so that still requires patience. Still faster than feeding them wake up tho.

Other than that nothing comes to mind. You could investigate the other options like the HediffGiver but idk for sure what they do. Haven't had time or cause to test what every dev tool does.

Ripmorld (talkcontribs)

Thanks, I will see if that works

Ickputzdirwech (talkcontribs)

I noticed that all leather amounts are of. Could you add a property for them like Property:Meat Yield? They are calculated by pretty much the same formula:

40*bodysize, with the following post-process curve:

(0,0) (5,14) (40,40) (100000,100000)

The following creatures have a different base value though:

Chicken = 0; Duck = 0; Goose = 36; Megascarab = 0; Spelopede = 0; Megaspider = 0; Human = 75

Ickputzdirwech (talkcontribs)

oh, I just noticed Property:Leather Yield already exists. In the infoboxes the values are wrong however. I think I have to remove the old definitions.

Harakoni (talkcontribs)

I can set it up so that it automatically interpolates the value from the body size, and then you can manually override that with the template. Do you happen to know a few of the correct leather amounts for the animals you've removed so I can test it?

Cheldra (talkcontribs)

Here's all of them (automatically scraped & calculated):

Megasloth: 160, Thrumbo: 160, Elephant: 160, Rhinoceros: 120, Cow: 96, Muffalo: 96, Bison: 96, Horse: 96, Grizzly bear: 86, Polar bear: 86, Dromedary: 84, Elk: 84, Yak: 84, Boomalope: 80, Pig: 68, Donkey: 56, Warg: 56, Deer: 48, Alpaca: 40, Ostrich: 40, Caribou: 40, Ibex: 40, Cougar: 40, Panther: 40, Wild boar: 36, Timber wolf: 36, Arctic wolf: 36, Husky: 36, Goat: 33, Sheep: 33, Capybara: 33, Labrador retriever: 33, Gazelle: 31, Turkey: 28, Emu: 28, Cassowary: 28, Lynx: 28, Fennec fox: 27, Red fox: 27, Arctic fox: 27, Goose: 26, Tortoise: 25, Alphabeaver: 24, Raccoon: 22, Iguana: 22, Chinchilla: 21, Monkey: 21, Cat: 20, Yorkshire terrier: 20, Cobra: 18, Hare: 16, Snowhare: 16, Squirrel: 16, Rat: 16, Boomrat: 16, Guinea pig: 16, Chicken: 0, Duck: 0

Also, in case it's helpful, here's an adaption of the interpolator I used on Template:Animals/Row for the baby meat yield, as it has the same post-processing curve as leather yield:

{{#vardefine:pre_curve_leather_yield
 | {{#switch: {{{name|}}}
   | Goose = {{#expr:36*{{{bodysize|}}}}}
   | Chicken | Duck | Spelopede | Megaspider = 0
   | #default = {{#expr:40*{{{bodysize|}}}}}
  }}
}}

{{#vardefine:leather_yield
 | {{#ifexpr: {{#var:pre_curve_leather_yield}} > 40
   | {{#var:pre_curve_leather_yield}}
   | {{#ifexpr: {{#var:pre_curve_leather_yield}} > 5
     | {{#expr: (40-14)/(40-5)*{{#var:pre_curve_leather_yield}} + (40 - (40-14)/(40-5)*40)}}
     | {{#expr: 14/5*{{#var:pre_curve_leather_yield}}}}
    }}
  }}
}}
Harakoni (talkcontribs)

Thanks Cheldra, but I'm confused because many of those values are the same as what was removed as outdated. Who is wrong here?

Harakoni (talkcontribs)

Oh and thank you for the code snippet, that is very much appreciated.

Cheldra (talkcontribs)

I think all of the leather below 40 were incorrect until a few weeks ago, but then I fixed a few of them such as Squirrel as I spotted the mistakes. It looks like I missed a few though, since Gazelle's was still incorrect at 26, wheras the interpolation (and the in-game reported value that I just double-checked) is 31, so it was correct to have been removed.

All the leather yield values above 40, such as Deer, are unaffected by the post-processing curve, and so were already correct and did not need to be removed.

Ickputzdirwech (talkcontribs)

Sorry got interrupted. Yes, the values above 40 were mostly correct. I removed them anyway because otherwise they wouldn't get updated in case the body size gets changed. So not the value itself was necessarily outdated but rather the way it was defined. If you don't mind I will continue remove it for all animals.

Anyway, as Cheldra noted the values for animals with leather yield below 40 are still wrong. I had a quick look at Template:Infobox main and it looks like meat yield is also not calculated properly.

Harakoni (talkcontribs)

Ah that's fine then, that was basically my plan - have it automatically calculate for most animals and then have leather yield be available to override the calc for things like Goose. Just the edit summary that was tripping me up. Please go ahead, and let me know if you have any troubles. I do ask that you double check any changes you make to infobox main, just because its used everywhere but I reckon you've got a handle on it.

Thanks to you both.

Ickputzdirwech (talkcontribs)

I'll be extra careful :)

Cheldra (talkcontribs)

I've added in the leather interpolator to Template:Infobox main, and I'm pretty sure it didn't break anything :)

I'll do the same for meat yield now.

edit: done meat yield too, I think both should be calculated correctly now! (though exceptions like geese still have to be set manually)

Cheldra (talkcontribs)

I don't suppose you know why certain #show values act as hyperlinks? E.g. on Labrador retriever, {{#show:Labrador retriever|?Average Offspring Per Birth}} displays as 1.937.

Harakoni (talkcontribs)

Its because the property's type either is defined as a page (so its trying to link to the page 1.937, which obviously doesn't exist) or it has no type defined (incl. if the page for the property isn't even created), in which case it defaults to page.

In can be fixed by adding [[has type::number]] to the property page in question. In your case Property:Average Offspring Per Birth. For other things it might be has type::text, or page or email or date or URL etc. In 99.9% of cases though its going to be text, number, or page.

I'll add the relevant types to the property pages now, but this way you'll know if it ever comes up again.

I'm also going to delete Template:Dog comparison table. That cool?

Cheldra (talkcontribs)

Thank you! That's all perfect :)

Harakoni (talkcontribs)

Happy to help. If there's nothing else would you mind marking this as resolved? This talk page is getting crowded and it helps to keep track. Feel free to make another topic if you need to

ItsNotReallyEditing (talkcontribs)

Looks like Jakek created another alt. He is asking me to compete in editing.

Harakoni (talkcontribs)

Dealt with. I could have overlooked him using alts if he didn't do the exact same things that got him banned last time. Ty for bringing it to my attention.

ItsNotReallyEditing (talkcontribs)

Sorry to bother you, but I was looking through the recent changes log to see if there was something I could edit, when I saw the user Regularity create an interesting pastebin in their user page containing some mod recommendations with some slightly NSFW language (sections 1007a and 1008). Does the wiki have any rules?

Harakoni (talkcontribs)

Regularity is using it to replace the mod list pages that the wiki has tried and failed to maintain in the past. Users do have fairly free rein in their user spaces, though obviously common sense applies. We can't host totally inappropriate language/content etc. because ultimately this is Ludeon's wiki.

Mentioning RJW as an existing mod is fine afaic, being explicit about whats in it might not be depending on how detailed it gets. I'd prefer if it drew less explicit attention to the more controversial aspects of the mod, but its also probably not worth stepping in with the mod-hammer as it currently stands. If you want, feel free to politely address it with them on their talk page.

Harakoni (talkcontribs)

Actually I did make it slightly less explicit, just to avoid getting the wiki in trouble. If they have an issue with it, we can talk about it, but I'd rather not risk it.

Leathers are missing Property:Kind

6
Ickputzdirwech (talkcontribs)

And another one :)

All leathers are missing the Property:Kind. I need to access that for my template mentioned below. I am willing to add it to all pages but I am not entirely sure how. Do I need to add "| category = leathery" to the infobox main? I am uncertain because there is also Property:Category. Also I don't really understand the difference to Property:Type and Property:Type2, since Bluefur for example has "Type | Textile – Leather" in the infobox but type is not defined anywhere.

There is a similar issue with wood. It has Property:Kind defined but the check for "woody" fails. I am guessing this is because it has also "Weapon" as a Property:Kind. Adding a special check for it is no problem but I wondered if there is a more permanent solution.

Harakoni (talkcontribs)

Hmm all of that is things I've "inherited" - I've done my best to improve the infrastructure but a lot of its built on what existed prior.

Kind in particular is annoying - its only really used for weapons and stuff types despite nominally being applicable to everything. Which is frustrating because one of the few overlaps that do exist is in weapons and stuff - Wood. How would you feel instead about my giving materials a specific Property just for the Stuff Category rather than continuing the use of Kind? Like would just be Property: Stuff Category or something similar.

As for Type is partially representation of how items are sorted in game, but as that system has been updated and changed is now only a rough approximation for it. Mostly its now just a way to link similar things into user accessible categories. Ideally it'd be reformed but its very low on the list.

Ickputzdirwech (talkcontribs)

A special property sounds certainly like the best solution. If you set it up I can add it to all material pages (or is it done automatically?).

Thanks for the explanation. I am using Type to check whether an item is sellable and which crafting skill is required and to determine the sell price multiplier. Very tedious, since I couldn't find another property to simplify this.

Harakoni (talkcontribs)

Ok so Property: Stuff Category should be set and everything properly tagged. Let me know if theres any mistakes.


Also wrt Crafting skill I've been tossing up to just having it on every page even when theres no minimum skill. It would require no extra infrastructure. The only issue is that its misleading in some cases. Theres what making it gives XP too, the stats that actually control its crafting speed etc. The infobox is getting too long as it is.

Ickputzdirwech (talkcontribs)

Wow, that was quick! I immediately used it yesterday and it made a lot of things way simpler. Didn't have time to thank you immediately unfortunately.

I don't really understand what you mean with "Theres what making it gives XP too, the stats that actually control its crafting speed etc". Why would it be misleading? I agree that the infobox shouldn't be arbitrarily long.

Harakoni (talkcontribs)

Wrt. skill, for example making Components requires Crafting 8, and gives you crafting XP. But having crafting 10 doesn't make you any better at making components. You're not faster because it uses General Labor Speed (iirc) and you're not better because components have no quality.

Now picture something that has no minimum skill but is also quality-less and also depends on a non-skill derived stat. Yes, crafting that thing might give you Crafting XP but thats its only connection to the Crafting skill. Will it be confusing to a new player? Will they think they should put their best crafter on it because it uses the crafting skill? And thats just one example. But now I'm just monologuing/ranting. Future/idiot/newb proofing is hard. This isn't your problem.

Extension for Template:Ingredient List

6
Ickputzdirwech (talkcontribs)

Hi Harakoni, I spent some time creating the templates Template:Trading Value Table and Template:Trading Value Table Row]]. You can see it in action here: User:Ickputzdirwech/Steel. I've never done something like this before, so it was quite some work to build it from the ground up, but I am now fairly satisfied with the result. I started because I wanted to know which items I should craft and sell to traders (hence the name of the template) but I quickly realized that I created an extended version for Template:Ingredient List. Now I would be happy to get some feedback. What do you think? Is it suitable for the normal pages? Are there any ways to improve it? Also it takes about 30 seconds to load a page that refers to the template. How can I improve it? Or is it just because it is in the user name space?

Harakoni (talkcontribs)

First: the delay is due to the number of template calls and expressions you're performing. You can improve it - for example, right now you're running every single stuffable item through your create row test. 126 items is going to take up a fair amount of processor time even if its only running through that small section. Ideally you'd limit your initial ask to only things with the relevant tag. For example, if it were attempting to find things that use wood as their stuff {{#ask: [[Stuff Tags::~*Woody*]] }} would return only things with Woody somewhere in the stuff tags, and you'd thus not have to sort through every stuffable item - you'd only get ones with the woody in the first place.

You can also define variables instead of repeating use of Template:Q or just pull them straight from the ask instead like you already do with ?Name and ?Type but I'm not sure how much of a difference that'd make. I'd have to go through your specific code structure.

As it is, its definitely useful but I personally would have put on a dedicated page for trade good production where 1) you only have to explain the specific limitations in the calculation once 2) where you can make direct comparisons with other materials and their profitability 3) where the processing time impact is the lowest 4) you can cut out the unsellables and trim down the table size/processing time without a care. But we could totally put it in a collapsible and replace ingredients list, especially if we can improve the time issue. It does pretty much the same job.

Ickputzdirwech (talkcontribs)

I was looking for something like {{#ask: [[Stuff Tags::~*Woody*]] }} for ages. Thanks a lot! I will definitely use it. I also tried to reduce the Template:Q calls already but I will try to minimize them even further. I also noticed that it sometimes loads way faster. Could it be that it caches a lot of stuff and only evaluates the whole thing if the page or template got edited?

The issue with creating an extra page for the tables is that the template has to be on a page with PAGENAME or SUBPAGENAME of the material. Reason being, I need the name of the material in Template:Trading Value Table Row and I couldn't find a way to pass it through the #ask function, so I just access SUBPAGENAME instead. If you know how this is possible I would be very grateful.

You are of course right that the table is not that self explanatory right now. I will try to make it more comprehensible and then we can decide where to put it.

Harakoni (talkcontribs)

Haha should have added nowiki tags on that I think. But if get what you meant. Glad I could help

Also remember that the page is given the vars you define, not the templates. If you vardefine name as wood, and then call a template that looks for a var called name it will find it, even if it's not in the template itself.

I'm other words you can define a var in trading value table and call it in trading table row so long as when the templates are assembled the definition comes first. I.e. definite it before the ask

Harakoni (talkcontribs)

Also I suggest having an override for the page name now that you know you can pass it through the templates without having to check the subpagename again.

Not only does it allow you to put different versions of the table on the same page, you can put an example in your template doc and it makes testing a lot easier.

Just something like {{#vardefine:name | {{{ 1 | {{PAGENAME}}}}} }}

Ickputzdirwech (talkcontribs)

Oups, added the nowiki tags. :D

The simplest solution didn't came to mind. Always nice to learn something new. This allowed me to simplify the code quite a bit and it's now possible to put the table on any page you want. Thanks again for all the advice!