Resistance types

Got something on your mind about the project? This is the correct place for that.


Forum rules

This forum is for feature requests, content changes additions, anything not a Bug in the software.
Please report all bugs on the Support Forums

Post Reply
thusmark
Peon
Peon
Posts: 46
Joined: 19 Oct 2013, 07:40

Resistance types

Post by thusmark »

First of all, thanks to the developers for holding the meeting yesterday.

This idea was originally suggested by Hello=) in the meeting, I'm just expanding it a bit.

I know nil about scripting or anything technical. So I know nothing about the feasibility of this idea. It's just a suggestion.

The idea suggested was that resistance types be applied ingame to mobs. Not just Def and M. Def, but defences against different types of weapons. Skeletons would be more resistant to the bow than to the slingshot, etc. Like in games like Wesnoth. This can also allow creation of mobs for a particular class. You need drops? Fight the monsters compatible for your class which give those items. Critical hits would have lesser power against mobs which have resistances to those types of weapons (or more power too). In pokemon (is jeered at by everybody), a fire type move might critical a water type pokemon, but the damage is just a little above normal.

In PvP, banshees are said to pawn all. Mostly because of the criticals. But if armour was given these types of resistances too, the criticals also would become weaker, allowing warriors to gain some advantage at least. Of course, armour should then also have some disadvantages such as, maybe, increasing attack and walk delay, etc. And, for the archers, some spell could be created which converts arrows into, say, fire arrows, which would gain a bonus against certain types of armours. (As it is, elemental types are going to be introduced into this game.) But using those arrows could increase their attack delay. So what, just use concentration potions?
viewtopic.php?f=4&t=17820
If this ever goes through, it might be managable.

This would also mean that different situations call for different types of outfits. No outfit would really be considered the best. Damage done by a Fire Skull could be particularly bad against a steel clad warrior, etc. Not going to try to speak about details.

Not feasible? Feasible but a bad idea? Feasible and a good idea, but too much of a pain to implement?
User avatar
o11c
Grand Knight
Grand Knight
Posts: 2262
Joined: 20 Feb 2011, 21:09
Location: ^ ^

Re: Resistance types

Post by o11c »

Technically, all mobs already have different resistances.

What we don't have is different kinds of attacks, with the sole exception of magic.
Former programmer for the TMWA server.
thusmark
Peon
Peon
Posts: 46
Joined: 19 Oct 2013, 07:40

Re: Resistance types

Post by thusmark »

o11c wrote: Technically, all mobs already have different resistances.

What we don't have is different kinds of attacks, with the sole exception of magic.
Sorry, that's what I meant. In Wesnoth (sorry, I don't really play many games), weapons are classified into certain types and units have specific resistances (and vulnerabilities) to these classes. That's what I mean. Maybe topic should have been named 'Attack types' instead? :oops:
User avatar
o11c
Grand Knight
Grand Knight
Posts: 2262
Joined: 20 Feb 2011, 21:09
Location: ^ ^

Re: Resistance types

Post by o11c »

Yeah, I'm familiar with Wesnoth.

Topic name is bikeshedding, but sure.

What we really need is:
  • a table of how each attack element should hit each defence element at a given level.
  • a table of how much elemental damage each weapon should do.
Note that a higher defense element level typically means *more* vulnerability to the opposing element. However, currently I think the level is not used at all.

Elements are currently stored as (level*10 + element number), this will be hard to change, but it's a bad idea to have more than 10 elements in the near future anyway.

The current element names are:

Code: Select all

neutral = 0
water   = 1
earth   = 2
fire    = 3
wind    = 4
poison  = 5
_holy   = 6
dark    = 7
_spirit = 8
undead  = 9
Former programmer for the TMWA server.
User avatar
Hello=)
TMW Classic
TMW Classic
Posts: 658
Joined: 11 Jun 2009, 12:46

Re: Resistance types

Post by Hello=) »

I think it would be logical to have "damage type" of weapon used reduced by resistance (to this kind of damage of creature). Plus or minus some items specifics. I fail to understand why there is need for level-based tables. Are those things supposed to depend on levels somehow, rather than on stats or equipped items properties?
User avatar
straelyn
Novice
Novice
Posts: 117
Joined: 04 Jan 2013, 20:56

Re: Resistance types

Post by straelyn »

you could always use opposing elements:

_holy/undead
_spirit/dark
water/fire
earth/wind

then make poison a special case, maybe a combination of dark+earth (opposed by wind+spirit)

just an idea :alt-0:
end of line.
thusmark
Peon
Peon
Posts: 46
Joined: 19 Oct 2013, 07:40

Re: Resistance types

Post by thusmark »

o11c wrote: elemental damage each weapon should do.
For weapons like the Setzer (and all armour), will there be a way to change the element from neutral to some other type or will we have to use other weapons (armour) to get elemental bonuses?

Will critical hits be affected by elemental defences?
t3st3r wrote: I fail to understand why there is need for level-based tables.
Quite necessary, imo. For example, Grass Snakes should be more poisonous than Snakes. Maybe the elemental level of weapons can be upgraded to higher levels (or have weapons of higher levels players strive for).
... Don't know how Grass Snakes'll be less effective against higher opposing elements than Snakes though.
straelyn wrote: _holy/undead
_spirit/dark
water/fire
earth/wind
A matrix would be preffered, I guess ...
Rawng
Peon
Peon
Posts: 30
Joined: 27 Nov 2013, 17:01

Re: Resistance types

Post by Rawng »

o11c wrote:What we really need is:
  • a table of how each attack element should hit each defence element at a given level.
  • a table of how much elemental damage each weapon should do.
How about something like this? Elemental damage is a flat bonus or malus to the final attack damage of an attack depending on whether or not the defense element resists the attack element or is weak to it. Take the difference between the attacking elemental level and defending elemental level and use it as an input for a function that outputs a workable percent over the range of possible values (-98 to 98.) Multiply the output by the attacks final damage. If the defending element is not weak to the attacking element, not bonus or malus is applied. This assumes that a higher defense element is changed to imply more resistance.

Here's an example.

Image

Here I used a final attack value of 100 and the function

Code: Select all

0.12 + 0.000612245 * X
which specifies a minimum percent of ~0.06 and a maximum of ~0.18, with ~0.12 occurring when the defending and attacking elemental levels are equal (difference 0.)

Obviously this exact function isn't terribly desirable as the bonus/malus for low level characters with low damage will be small and for high level characters it would be quite large.


This leaves other considerations however, such as how is the elemental level of a given item set, and what the weakness relationship between the elements is.

Regarding the relationships, I would suggest a system where elements are weak/strong against other elements in a circular manner. For example,

Code: Select all

water > fire > earth > wind > water
I would also suggest dropping a few elements in order to make the system easier to reason about and remove ambiguity. Take the 4 elements that seem to stand apart from the others: holy, dark, spirit, and undead. I cannot really think of a circular resistance system involving these elements. Dropping dark, for example, would allow the somewhat understandable

Code: Select all

holy > undead > spirit > holy
system to exist.

Poison can be left as a special case to affect only "living" entities, what ever that means. In my opinion it would be simpler to just remove it, or not treat it as an element.


Regarding how elemental levels are set, I would like to see a system where elemental enchantments which gradually wear out are applied to items by a special npc or as a skill in one of the hopefully upcoming professions. If this were the case it would have to be decided how to calculate the elemental level of the enchantment.

Some methods that occur to me are:
  • elemental level is always equal to the level of the character using the item.
  • elemental level is fixed at a given level via the cost of the enchantment (npc only.)
  • enchanting items costs reagents much like spells. The amount and quality of items used in enchantment determines the level.
User avatar
o11c
Grand Knight
Grand Knight
Posts: 2262
Joined: 20 Feb 2011, 21:09
Location: ^ ^

Re: Resistance types

Post by o11c »

Currently element level is limited to 4 I think. I think that fixing that will rely on itemdb parser rewrite (not yet planned; may need to wait for the final step of config rewrite)
Former programmer for the TMWA server.
Post Reply