at long last, a proper enchantment system

In keeping with my efforts to take prior hacked-together, code-ugly mechanics and revamp or replace them with proper, flexible, extensible systems (such as the scroll->spell magic system transition), I took the time yesterday to replace the existing mechanics for item magical enchantments/resistances, and replace it. I also went through and did something that I’ve been wanting to do for awhile, which was to make it so items stashed in a shop are invisible to everyone except the person who stashed them.

The New Enchantment System

Previously, items were given exactly one magical enchantment (or resistance, in the case of armor). For an enchantment, the amount of enchantment damage granted by the item was fixed by the type of damage it was. Striking was 4 points of damage, Ice and Fire were 6, Lightning 8, Poison 10. Resistances were more flexible, as armor could give resistance to a particular type of magic in 10% increments. It was also implemented in a very ugly fashion behind-the-scenes, overloading item fields that were used for other things in different item types. It was horrible to work with. So, I’ve replaced it with a system whereby any item can have up to 4 enchantments, each with a different type and amount. Similarly, any item can have up to 4 resistances as well.

Presently, resistances aren’t implemented, because I haven’t decided how I want them to work. I don’t like the idea of having your resistances tied to your armor, because then you’re presented with bad decisions about which armor you want to keep and which armor you want to ditch, sometimes trading off valuable resistances because you need the AC of the new item more. I’d like to transition things in the direction of having resistances granted by spells/scrolls. To do this, I think I would have to expand the number of spell slots available to players (which has a corresponding increase in the number of hotkeys you need, which is a bad thing), but it may be the best way.

Invisible Stashes

It’s always galled me, the number of items you see lying around in shops, most of which are stashed and you can’t touch anyways. It’s a lot of visual noise, and makes trying to find something worthwhile to buy in a shop much harder. So I finally got up the motivation to fix, it. Now, all those stashed items are invisible, both in the game world, and when you’re standing on them. So, if you see something in a shop, it’s either for sale, or something you stashed there.

Thoughts for the Future

I haven’t yet implemented the spells I spoke of yesterday, but a new idea has occurred to me, and I’m not sure if it’s a good idea or not (feedback would be nice): Presently all the feedback you get as a player in combat is a blur of messages across the top of the screen that you can’t really read anyways, and health meters for yourself and your target. The thought that I’ve had would be to have a “ticker” of sorts across the top of the screen during combat that would give a very compressed timeline of combat. My concern is that only hardcore players (of which twilight has few) would be able to understand or appreciate it:

You:       m 21I6 18I6 m
Enemy:      7    m    9 s21F

That’s more or less what it would look like, and it would scroll across the top of the screen as time passed. An m in a particular time slot would indicate that you attacked and missed. A number would indicate a hit, and the amount of damage done. Any elemental damage would be signified by the initial of the element (I for Ice, F for fire, etc), followed by the amount of elemental damage done. Spells would be represented by s, followed by the amount of damage done by the spell, and its element.

This would allow players to derive a whole lot more information about what’s happening during combat than is presently possible, and to better equip themselves for combat (knowing what sort of elemental damage/spells a particular monster type uses allows you to prepare appropriate resistances).

3 Responses to “at long last, a proper enchantment system”

  1. Darren Grey Says:

    The ticker sounds interesting, but could be a little less confusing with lengthier statements. “Miss” is only a short word, after all. Instead of I/F etc you could use colours on the damage statements – most would be logical enough I’m sure. What would you do for multiple enemies?

  2. twilightmmorl Says:

    Most of what I hear from people is that they need everything spelled out in very explicit terms in order to understand, so if I did make it colorized, people would bitch about not knowing what the colors meant. I suppose I can look into making it an option in your player file…
    When multiple enemies attack in a particular time slot, both of their attacks appear in the Enemy: ticker.
    You can actually see it in action right now. Log in and hit the tilde (`) key, then go fight something, and you’ll see what it looks like. It’s really visually spammy during combat, but it might be useful enough to tolerate.

Leave a comment