About the DPS/Heal checks that somebody mentioned on 2nd page.
It's not that "easy" to do as you said there. In fact, it would require the following part of the game to me emulated as well:
Skill usage & Damage calc. Includes buff checking, item & set checking, inventory managing,
Movement locks cooldown based.
Skill cooldown managing.
It's not easy but not impossible either. I really do like the idea itself tho.
Displacement mapping. Forget it. I'm not good when it comes to anything near visuals.
Spellcast interruption/PROPERY parry/proper blocking
Let's start with the easiest. Proper blocking could be made possible without any issues at all. No worries here. However, it wouldn't interrupt a spell being casted.
Proper parrying could technically also work, there would be an issue with the ingame displayed shit though. I can't just go and add "PARRIED" in there just like block and crit. It's not that easy, however it's possible to give a "buff" that has visuals saying "PARRIED" on top of the char. Buff goes away after one sec. So this would also work out more or less.
Spellcast interruption.
Now this shit gets interesting. Why? Cause silkroad works like this:
Mr. A used skill S on Mr B.
- Skill S used. Client tells server.
- Skill is starting - Server tells client all info: DMG, Crit, Block ...
- Skill is being casted.
- Skill is executed. - Damage & rest is displayed.
So what does this mean? The gameserver decides about all the random values before the skill has even been finished/is being casted.
Solution: Give certain skills the chance to interrupt spellcasts by actually giving them a 50ms STUN effect. That way the opponent simply stops the skill. However, this would be really boring cause basically ANY skill could be stopped as well as movement and so on. It also delays the gameplay by about 300ms. So it wouldn't really be a proper solution.
Solution #2: Break spellcasts into two skills. #1 Fake. #2 Real. This means, when the client executes the skill. Just let the gameserver handle it normally. If there is no "interrupt" skill coming from the opponent. Send the REAL skill (without casting time and DMG ONLY) to the gameserver. So all effects, dmg and so on remain the same.
The part with "if there is no interrupt skill coming from the opponent" isn't near to as easy as it sounds. But the good thing is that we can handle it completely separately.
Bot2Win Issue.
Its part of the game for waaay too long. Can be solved by newer party-oriented gameplay, but it'll stay there. However, I don't think we have had issues with botting on Elamidas. We solved it pretty nicely by giving good shit at the jobcave only and let active players kill them since honor buffs are kill based.