Download Media Create Donate Forums

2010/06/21

Analyzing Loot

Choosing a loot system is probably the trickiest part; implementation is a close second. Loot affects most subsystems of OSARE: maps, camera position, renderables, mouse state, tooltips, enemies, inventory, events/containers, etc.

Here's what I plan to do with loot drops.

  • Assign items a new variable: level
  • Item level will determine the item's sell price and drop chance.
  • Item level will also determine automatic loot tables

Item Level

First, let's talk about level. Weapons and armor will be our starting point for determining level.

  • Regular daggers, wands, slingshots, and leather armor will be level 2
  • Shortswords, rods, shortbows, bucklers will be level 4
  • Longswords, staffs, longbows, steel armor will be level 6
  • Greatswords, greatstaffs, greatbows, shields will be level 8

I'll use basic judgment to assign the rest of loot.

  • Food is level 1
  • Potions are level 3
  • Gems are level 9
  • Artifacts are base level 5

Item modifiers change the level of items. This is calculated outside of the game for now and applied directly to the items.txt file

  • -1 damage = -1 level
  • +1 damage = +3 levels
  • -0.5 absorb = - 1 level
  • +0.5 absorb = +3 levels
  • +1-3 hp/mp/accuracy/avoidance = +1 level
  • +4-6 hp/mp/accuracy/avoidance = +2 levels
  • +7-9 hp/mp/accuracy/avoidance = +3 levels
  • +1 crit/regen/speed = +1 level
  • +2 crit/regen/speed = +2 level
  • +3 crit/regen/speed = +3 level

Drop Chance

Now I can automatically generate loot tables for creatures, containers, and vendors. Loot will be on a basic bell curve. When loot DOES drop, what level is it?

  • [Editor's Note: final implementation is +/- 3 levels]
  • 1% chance: -5 level
  • 2% chance: -4 level
  • 5% chance: -3 level
  • 10% chance: -2 level
  • 20% chance: -1 level
  • 24% chance: same level as creature/container/vendor
  • 20% chance: +1 level
  • 10% chance: +2 level
  • 5% chance: +3 level
  • 2% chance: +4 level
  • 1% chance: +5 level

Note I can tag some monsters as "no loot" types (e.g. antlions, wyverns). Instead of dropping loot, you should find loot around their layers (in nests, rubble, dead adventurers, etc). Also I can tag some loot as "quest" types, so they don't appear in random tables.