![]() |
#1 |
Prophet
Join Date: Dec 2009
Posts: 9,022
![]() |
Make all artifacts "special" artifacts
There's a number of places in the code that complain about how "special" artifacts (light sources and jewelry, basically) are a big hack and how their generation process should be unified with the normal artifact generation process. I think this is a good idea, though not in the way the comments presumably intended. I say all artifacts should use the special artifact generation process.
To clarify: currently, normal equipment artifacts are generated if the game makes an equipment item, it passes (in order) the good, great, and artifact checks, there is an artifact still to be generated of the appropriate item type, and it passes an appropriate rarity check for the artifact chosen. More or less, anyway; I'm working from memory here. Conversely, for special artifacts the game just decides to try making a special artifact, then runs the appropriate rarity tests for each one, and if one passes, then bam, special artifact generated. There's a few warts with artifact generation that the "special" generator obviates. The most obvious is that artifact rarity is tied to base item rarity, so every time the base item rarity gets changed, artifact rarities have to be adjusted to suit. It's also basically impossible to make, say, an artifact Scythe of Slicing native to dlvl 10, whose only special properties are that it aggravates and slays orcs. And it's a bit weird that the level on which a random item lying on the floor is most likely to be Ringil is 20, since that's the native depth of the longsword. Someone suggested this offhandedly in a recent thread, I forget who, and IMO it's an excellent idea. Looking at make_artifact_special (the function called to make a special artifact, natch), as far as I can tell the only thing that'd need to be changed is that instead of trying each artifact in order, it should try to make a single random artifact. Thoughts? |
![]() |
![]() |
![]() |
#2 | |
Angband Devteam member
|
Quote:
I agree completely that artifacts should have only one generation process rather than two - but I had assumed that the opposite approach would be better: make jewelry and lights use the "standard" artifact process (ticket #1014). Having read your post, I am inclined to think that this suggestion may be both simpler and better. I'll be interested to hear what others think. |
|
![]() |
![]() |
![]() |
#3 |
Sangband 1.x Maintainer
Join Date: Apr 2007
Posts: 523
![]() |
I've mentioned it in a few different threads, for more or less the same reasons as you state. I see no compelling need for artifacts to be stapled onto a base object, with all its rarity, depth, etc. issues.
Thanks for putting together a thread and a few additional words to this. (I mentioned it most recently in the thread that was complaining about too many shoes). Also thanks for looking through the make_artifact_special code. I haven't checked to see if is as easy as I think it should be.
__________________
a chunk of Bronze {These look tastier than they are. !E} 3 blank Parchments (Vellum) {No french novels please.} |
![]() |
![]() |
![]() |
#4 | |
Prophet
Join Date: Apr 2007
Location: Climbing up from hole I just dug.
Posts: 4,096
![]() |
Quote:
roll for item Roll "is it good" Roll "is it excellent" Roll "could it be artifact" Based on results above For artifact: roll which one. Else roll for base item. Combine rarities to see if item was created. Obviously the actual code will be quite a bit more complex, but to me that looks like something that isn't very hard to make. |
|
![]() |
![]() |
![]() |
#5 | |
Ironband/Quickband Maintainer
Join Date: Nov 2007
Posts: 1,010
![]() |
Quote:
But yes, fine to detach the art's depth and rarity from the base object's depth and rarity... A.
__________________
Ironband - http://angband.oook.cz/ironband/ |
|
![]() |
![]() |
![]() |
#6 | |
Prophet
Join Date: May 2008
Location: Indiana, USA
Posts: 2,939
Donated: $8
![]() |
Quote:
The biggest problem I can see is having to re-adjust the rarities (maybe), since base object creation will no longer figure into it. Aside from that, generating artifacts as "special" seems much cleaner, at least to me. An unrelated question about rabdarts... Are a randarts weapon/armour powers locked to a particular item type? What I mean is, can randart Ringil be generated as a war hammer or a great axe or a shovel?
__________________
www.mediafire.com/buzzkill - Get your 32x32 tiles here. UT32 now compatible Ironband and Quickband 9/6/2012. My banding life on Buzzkill's ladder. |
|
![]() |
![]() |
![]() |
#7 |
Prophet
Join Date: Apr 2007
Location: Climbing up from hole I just dug.
Posts: 4,096
![]() |
I think current code could create Artifact bowl of petunias based on Ringil if we had flowerpots as base item.
|
![]() |
![]() |
![]() |
#8 |
Prophet
Join Date: Dec 2009
Posts: 9,022
![]() |
Timo's right. You can generally recognize a randart based on Bladeturner, Ringil, etc. because they'll be much more powerful than most. Randart rarity does take the base item rarity into account, though, so the converted Ringil should be just as rare as the real Ringil is in normal games.
And yeah, rarities would need to be rebalanced. But that needs to happen anyway, since currently many powerful artifacts are far too common (c.f. Feanor). |
![]() |
![]() |
![]() |
#9 | |
Angband Devteam member
|
Quote:
Anecdotal evidence from dumps shows that Feanor and The One are noticeably more common since 3.1.x, but IMO this is not relative to other artifacts - I think the attack on TMJ launched in 3.1.0 had a side effect of making artifacts more common per se (along with, even more noticeably, ego items). Separately, there have been a series of changes to both base item rarities and artifact rarities. There was the change to alloc_prob (a percentage instead of a "one in X" chance), there were some changes to individual standart rarities, and some new/changed base items. The old mechanism of calculating randart rarity by (old art rarity * old base item rarity / new base item rarity) *hasn't* changed, but obviously the other changes have affected randart generation. @buzzkill: ironically the full answer to your question is that any standart can choose any base item for a randart *except* lights and jewelry. Lights, rings and amulets can only have their properties randomised, not their base items. Adopting the suggestion in this thread would unlock this. |
|
![]() |
![]() |
![]() |
#10 | |
Ironband/Quickband Maintainer
Join Date: Nov 2007
Posts: 1,010
![]() |
Quote:
A.
__________________
Ironband - http://angband.oook.cz/ironband/ |
|
![]() |
![]() |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
T-Engine4 / ToME4 beta16 "World Wide Tome" unleashed! | DarkGod | ToME | 1 | December 24, 2010 23:29 |
"Great" drops replaced by "good" drops in vaults: bug or feature? | PowerWyrm | Vanilla | 14 | February 27, 2010 16:54 |
Feature request: make "summon unique" do nothing when there are no uniques | bron | Vanilla | 11 | December 22, 2009 17:25 |
"repeat" Command just little bit "smarter" | ClaytonAguiar | Vanilla | 8 | June 17, 2009 15:01 |
Question about "special" feelings | Neuro | Vanilla | 9 | June 23, 2008 22:37 |