Item rarity in leveled lists

Post » Fri May 27, 2011 11:05 am

Hi, one thing I could never figure out in morrowind's or oblivion's construction set is a simply way to set rarity in leveled lists. For example, imagine you want to create a leveled list where you have an iron sword dropped (being chosen) 70% of the time, a steel sword 29% of the time, and a particular magic sword the remaining 1%. How do you do this simply? The only way I know how to is to create a leveled list with 100 entries, 70 of them being the iron sword, 29 of them the steel, and 1 entry being the magic sword.

This seems like a crude method, and its very annoying making that leveled list yourself since I have to drag 100 objects into the leveled list window.

Surely there is a simpler way?

Thanks.
User avatar
Matthew Aaron Evans
 
Posts: 3361
Joined: Wed Jul 25, 2007 2:59 am

Post » Fri May 27, 2011 9:05 pm

The only way I know how to is to create a leveled list with 100 entries, 70 of them being the iron sword, 29 of them the steel, and 1 entry being the magic sword.
Thanks.

If you ABSOLUTELY MUST have that exact 1% rarity for that weapon, then yes, ^that^ is the only way to do it. If you aren't so hung up on the specifics, you could instead make use of sub lists within a single list. For instance

List A (main list)
Iron Sword
LeveledList B
Iron Sword
Iron Sword
Iron Sword
LeveledList B
Iron Sword
Iron Sword
LeveledList B
Iron Sword

List B (sub list)
Steel Sword
Steel Sword
Leveledlist C
Steel Sword
Steel Sword

List C (sub-sub list)
Steel Sword
Steel Sword
Steel Sword
Magic Sword

Meaning that there's a 3/10 of an item appearing from list B (0.3). Of the items in list B, there's a 1/5 chance for an item from list C appearing (0.06). Of list C, there's a 1/4 chance of the magic sword appearing (0.015) or if made a 1/6 chance (0.01).

The actual rarity doesn't matter as it would be still incredibly low (between .25% and 3% depending on how your actual lists are setup and processed). Leveled lists themselves are just not that consistent. Even if you did a list with 9 iron and 1 steel, and ran it a few thousand times, you wouldn't get that steel item a consistent 10% of the time, but instead would probably have it appearing somewhere between 6% and 13% of the time. It may also take 20-30 passes through the list before a steel item would even appear. Meaning that in order to find a weapon with a true 1% chance, you might actually have to kill between 200 and 500 spawns for that 1% item to have a 100% chance of appearing somewhere (it's one of those mechanics that MMOs play off heavily). Such extreme values just don't work too well when it is applied to Oblivion. For the most part, anything below 5% is rare enough that it may never appear during normal play.

Of course, depending on what you are wanting to do and how absolutely necessary it is to have a 1% chance, your best bet would probably be to script it using the OBSE function http://cs.elderscrolls.com/constwiki/index.php/Rand but that may not be particularly practical depending on usage, and still likely won't trigger a true 1/100 chance.
User avatar
GLOW...
 
Posts: 3472
Joined: Thu Aug 03, 2006 10:40 am

Post » Fri May 27, 2011 2:31 pm

*snip*

An easier method would be to create 3 weapon leveled lists and a master list like this:

List 1

Iron Sword with Chance None set to 30

List 2

Steel Sword with Chance None set to 71

List 3

Magic Sword with Chance None set to 99

Master List

List 1
List 2
List 3
User avatar
sophie
 
Posts: 3482
Joined: Fri Apr 20, 2007 7:31 pm

Post » Fri May 27, 2011 5:57 pm

That's pretty clever, but when I try to put a leveled list into another leveled list, it just 'defaults' to the aaaaObesisanceToken. I don't know how else to say it. I have a leveled list, I put those three leveled lists inside it, and whenever I make another action in the CS it turns into the token object. I thought you could put leveled item lists within other leveled item lists.
User avatar
Wayne Cole
 
Posts: 3369
Joined: Sat May 26, 2007 5:22 am

Post » Fri May 27, 2011 7:51 pm

An easier method would be to create 3 weapon leveled lists and a master list like this:

List 1

Iron Sword with Chance None set to 30

List 2

Steel Sword with Chance None set to 71

List 3

Magic Sword with Chance None set to 99

Master List

List 1
List 2
List 3

The problem with that is that you have a fairly high chance of having absolutely no item created as the master list doesn't keep doing passes until an item is created, it only performs one pass. It also creates an even lower chance for the item in list 3 to be used as Chance None has about the same reliability as GetrandomPercent when trying for a specific value.

That's pretty clever, but when I try to put a leveled list into another leveled list, it just 'defaults' to the aaaaObesisanceToken. I don't know how else to say it.

You need to create and define each leveled list initially before you can place it within another list. With my method, start with list C, save it, make a new list and then work on up.
User avatar
WTW
 
Posts: 3313
Joined: Wed May 30, 2007 7:48 pm


Return to IV - Oblivion