don-tnowe / godot-wyvernbox-inventory

Action RPG-focused inventory system for Godot 3 and 4
MIT License
105 stars 4 forks source link

How To Coloured Item Rarity Names? #21

Closed WithinAmnesia closed 1 year ago

WithinAmnesia commented 1 year ago

How to added arbitrary item rarity / quality to the item names like with Flare / Diablo 1 & 2 / World of Warcraft / Path of Exile Terraria etc?

Examples: https://github.com/flareteam/flare-game + https://flarerpg.org/ + https://youtu.be/OLrUYYulcss?t=42 + Example Item Rarities + https://www.deviantart.com/withinamnesia/art/Item-Quality-Table-918001789

Is there a simple tweak? I enjoy the name plate colour item rarity / quality. Yet I hope there is a feature for supporting arbitrary item rarity / quality to the item names; thank you for your time and keep up the good work. Also how can combat be tied to this system and is there an example or a combined 2D + 3D wyvern shield+inventory coming out hopefully? Something like this on github perhaps? https://www.youtube.com/watch?v=pBoXqW4RykE&list=PL3cGrGHvkwn0zoGLoGorwvGj6dHCjLaGd&index=1

don-tnowe commented 1 year ago

Yep, it's been a feature from the start. You're looking for &"back_color", add it with a Color-type value to extra_properties in the inspector; or through code, item_stack.extra_properties.back_color = Color(<red>, <green>, <blue>).

This dropdown when editing an ItemType shows more and lets you add quickly:

image

I plan on making an example game combining both addons, but I'd like to keep them isolated by design - not all games would need both. You could do stat_sheet.set_stat() after equipping items with some stats property, or add some property on ItemType that holds a StatModification (but if it's in extra_properties it might not save correctly if it's a built-in resource, worth checking, Godot has changed some things)

WithinAmnesia commented 1 year ago

Is any any hope of a github example with working saving and arbitrary name colours update? You are the most skilled to tinker with this and it seems like a minor adjustment. I hope the saving works but you are right it needs testing for sure. Perhaps a little working arbitrary name items with saving working example in the future maybe?

don-tnowe commented 1 year ago

I'm not sure I'm catching what you're saying here.

Could you please explain the proposed feature in more detail, perhaps with examples?

WithinAmnesia commented 1 year ago

Arbitrary name colours update example I picture something like a github version of what you already have that is expanded to have the changes you described so as to have the arbitrary item quality / rarity colour on the name letters and not just the name plate behind the letters. https://vanilla-twinhead.twinstar.cz/?item=647 To match this conventional item format found in most games like Diablo World of Warcraft and Path of Exile. Or how ever you word it to ask you to please try and make a version of this inventory godot addon that closely resembles what most people come to expect from these kinds of item colour quality / rarity system format. Please can you make a version that has the colour on the letters of the name? If you do it everyone can use it and you can probably do the best job of it too.

don-tnowe commented 1 year ago

Ah, that.

I coloured the nameplate instead of the name itself due to readability concerns - even on your screenshot it's close to hard-to-read territory, and a white name with a black border gives the most contrast on any color of background. And I was dang sure Path of Exile also had the name colorless! (welp, should've used reference)

I could make it a setting, yeah. Right now customization of prefabs is kinda DIY, so you just edit the scene or script. It's not user-friendly yet, but I'd be happy to know a better way to implement customization in a better way.

This'd be related to #14 .

don-tnowe commented 1 year ago

Here ya go, added this as a property.

WithinAmnesia commented 1 year ago

Awwwwwwe thank you! That's really good. Super awesome ya!

WithinAmnesia commented 1 year ago

How do you like make the names on items use the colour text? Like is there any examples or like I tried monkeying around with adding under back_color like "back_color_name_tint" 1,1,1,1, but matching the formats but I am not sure how to turn on the color text? What is an example? It looks like it works its just what must done done to use it lol? Monkey brain time.

don-tnowe commented 1 year ago

Check out addons/wyvernbox_prefabs/tooltip.tscn - it's a setting on the InventoryTooltip node, not an item extra_properties entry!

WithinAmnesia commented 1 year ago

image I think this is it? "## At [code]1.0[/code], the item's name will fully take the color from the [code]&"back_color"[/code] extra property." So set the selected 0.1 value in the screenshot to 1.0 instead of 0.1 for it to work I suppose?

WithinAmnesia commented 1 year ago

image It works great!