PDA

View Full Version : custom class changes


fooliset
10-23-2012, 02:43 AM
Greetings,

I am wondering if it is possible to add new abilities to classes that occur passively, like procs or through other passive action. Examples:

Rogue cannot backstab from behind 3 times, on the third time, do a frenzied attack that does 8 regular attacks in a row.

Shadow Knights passively proc lifetap on attacks for 2*level hitpoints.

Warriors gain 10 attack power every 10 seconds they are in combat.

Shaman's gain Spirit Rage proc that increases cast speed by some percentage.

Clerics attacks can proc a group heal.

I have some C++ experience, but I am confused if things like this need to exist in the client or if its possible to utilize other things (spells, etc) to make things like this happen? If its possible could someone point me to the code where a change like this might be possible?

Thanks,

- F

KLS
10-23-2012, 05:52 AM
Most of those passive effects are possible(the attack power one is possible but it wont show up correctly in the player screen).

We don't really have any systems setup to really do this sort of stuff though so it would all require quite a bit of direct code writing.

fooliset
10-23-2012, 05:32 PM
Thanks for the response.

I'm still learning my way around the code. Are things like this best done by creating a new spell/disc tomb and allowing the regular proc related code to handle the rest?

I realize some of the things I mentioned as examples could not be done this way as there is no spell effect that have "situational awareness", although there are some procs that occur when a player is hit that might be interesting.

fooliset
10-24-2012, 01:13 PM
I put call to CastSpell() in attack.cpp that checks the Players class, does a random check, then if within some range it casts the spell I want. I think if I research custom spells I can probably get the majority of what I would like to play with.

I was able to make the spell cast instantly and without taking mana, but the cast animation stops melee combat for a few moments. I seem to think on Live this was not the case, but I cannot recall anymore. Maybe one of the parameters on CastSpell() controls this? I left the ones I didn't understand on their default value.

Part of what I was hoping to do was to be able to look at a Players Deity and give them a random buff, like Rallos Zek might give Grim Aura 3% of the attacks, Valor 2% of the time, and Avatar 1% of the time. Likewise do something similar with their class. Eventually, I would like to replace them with custom spells.

-f