| 05-21-2005, 12:25 PM | #1 |
I'm looking for a way to be able to decrease how much damage a creature does to a hero if the hero is, for example, 5 levels higher than the creature. Just about every good RPG on the market out there has this sort of setup working. WoW, EQ2... once the hero's 5-10 levels higher than the mob, it pretty much can't hit him anymore. I can buff a hero in one of my RPGs to max level, cover him in mobs half that level, and they will still beat the snot out of him. That's just wrong, and that's what I want to fix. By the way, the solution I'm looking for has to work in a multiplayer environment where all the heroes in the game aren't necessarily of the same level. So while a certain mob's damage may be reduced against the one player, it won't necessarily be reduced against the others. Any help with this would be so greatly appreciated. |
| 05-21-2005, 02:01 PM | #2 |
There is no way to make low level creatures have less chance to hit him than high level monsters. But you can make high level heroes have less chance to be hit by abusing evasion. You can also abuse Hardened Skin to block damage. But you can't make it act different towards different levels of monsters |
| 05-21-2005, 02:07 PM | #3 |
Well, you can't do it simply, but you could make a whole triggered system that dinamcially reduces unit's attacks using spells or passive abilities depending on the level difference between the attacked and attacking unit on every attack. Or, you could just use hardened skin to get a similar effect. |
| 05-21-2005, 03:29 PM | #4 |
You could have a group of, say, three dummy casters hidden somewhere. Each would have a different 'curse' (or 'cripple') spell: One reducing hit chance (or damage) by 35%, one by 65% and one by 95%. Whenever an enemy attacks a hero, check its level. If it's, say, three to five levels lower, make a dummy unit cast the 35% spell at it. If it's between six and ten levels lower, throw the 65% spell at it. If it's more than 10 levels below the hero, have it be hit by the 95% spell. |
| 05-21-2005, 04:04 PM | #5 |
Thanks for your suggestions guys. Abilities like evasion, I'm already using. The only problem is that they treat everyone the same way. I could give a high-level hero 50% evasion, but it would work equally well against high-level creatures as it would the low-level ones. The only way I can think of is by setting each unit's actual attack damage to 0, and then having a million "unit is attacked" triggers sort it out on the fly. Unfortunately this sort of setup would probably really tax the engine, especially during the big fights where there'd be multiple heroes fighting multiple mobs. I might do a test and see. I hate the thought of having to live with this the way it is though... |
| 05-22-2005, 10:49 PM | #6 |
Now that I think of Check that map called stackable orbs to know how to detect damage, using that engine you should be able to simulate attack rating or to block damage depending on levels. Huh? I think I got a new demo map project |
| 05-23-2005, 12:00 AM | #7 |
Use the ability Hardened Skin. I'm assuming that the higher the cheeps are the more damage they do. So give the ability Hardened Skin whatever levels and set the Ignored damage to whatever. Each time the hero gains a level just use triggers to change the level of the Hardened Skin. Also if you don't want the player to see the ability put the ability into a spell book then use triggers to disable the spell book. The spell book the Hardened Skin ability should still be working. Its a passive skill i think. |
| 05-23-2005, 09:46 PM | #8 | |
Quote:
|
| 05-23-2005, 10:57 PM | #9 |
Thanks for your continued suggestions guys. Mogmiester is pretty much spot on in that I needed something that I could scale based on if, and how much, a mob was lower level than the hero. I'm happy to say that I actually got a decent version of what I wanted up and running. As he said, it pretty much necessitated having to trigger an RPG engine, which is what I've done. Every unit in the game will do 1-1 damage; that is, one dice, one side. With that done I have triggers in there for when units are attacked, and based on the attacking unit's level relative to the attacked unit I use the "unit - damage target" action to specify how much actually lands. This way I don't use it just to scale mob damage down if they're lower in level; I also have them hit for no less than 80% of their max if they are higher in level. And I'm doing it for spells that do damage aswell as melee attacks. I'm also handling the armour side of things with triggers too. Based on a unit's class, level, and any armour pieces he's carrying, I determine an armour rating that is then subtracted from that damage. It all comes together really well, it's just a phenomenal amount of work to setup to a mod that already has near 200 units running around. The only downside I can see to this is that every unit in the game is only ever going to appear to do 1-1 damage. I can so live with that though :) |
| 05-24-2005, 05:07 PM | #10 |
Please tell me you are detecting the attacks' hits instead of just A unit is attacked. Since if you used A unit is attacked it would be incredibly easy to abuse it doing thousands of damage by just ordering and ordering the unit to attack the other unit |
| 05-24-2005, 11:19 PM | #11 |
Wouldn't you need an attack button to be able to do that though? I've already disabled the attack UI for my heroes. The only way to attack is to right click the mob, which doesn't appear to execute that trigger until the hero actually swings. If range is also a factor, melee attack range for my heroes is set at 100, and the casting of hostile spells on the mob does not execute the trigger. |
| 05-25-2005, 07:29 AM | #12 |
You can always spam the stop order whenever the hero tries to attack. Using the "unit is attacked" event is just a baaad way to do these things. What about ranged units, they do damage before they even fire... |
| 05-25-2005, 12:30 PM | #13 | |
Quote:
|
| 05-25-2005, 04:37 PM | #14 |
Well, yes, obviously, they have to follow through the order to do damage normaly. I was reffering to the trigger system you use. If you use the "unit is attacked" event to trigger the damage the unit will do, that damage will be dealt when the unit begins to attack, not when the attack hits. This looks bad, and also, players can take advantage of this to spam triggered damage without their units actually finishing an attack. |
| 05-25-2005, 11:33 PM | #15 |
Rest assured that I can live with the damage landing momentarily before the hero finishes his attack. I'm interested in playability, not cosmetics. If I were interested in that I wouldn't be willing to live with it displaying every unit doing just 1-1 damage. By the time any hero can get close enough to start an attack, a mob is going to be on him anyway, so it's not something I can see as being particularly open to exploitation either. |
