PDA

View Full Version : Saber Damage adjusting with code, please!


NITEMARE
06-01-2002, 07:24 PM
what we need now is a little tut on how to adjust the damage system on sabers. id needs balance badly. the best way would be a simple mod which just adds some cvars simmilar to those
"saberDmgVelocityScale" so we admins can adjust damage settings done by the various stances and specials on our own while people are playing. that would make any patch mistake be forgiven! im not a coder, but as a player and concerned admin i have to look for optimization options.

NITEMARE
06-02-2002, 10:05 AM
ok i suppose its to early to bother you guys with such a request. but i hope that we can work on this together. since i am no coder but a grafix dude im having troubles figuring out what exactly everything does and how it actually works. but i found the code chunk with the damage settings in the w_saber.c and played around with it. now its much easier to kill with normal strikes and somehow its impossible to turn in any direction after a backstabb, which is good and does not make enough damage to be worth the risk. i wouldnt bann the backstabb for good but just change it so its mor like a tactical move when someone recovers after a special and is helpless for some seconds...

-----------------------------------------------------------------------
dmg = SABER_HITDAMAGE;

if (self->client->ps.fd.saberAnimLevel == 3) // red stance?
{
//new damage-ramping system
if (!saberInSpecial && !inBackAttack)
{
dmg = G_GetAttackDamage(self, 2, 120, 0.5f); // changed 120 to 80, however, the backspins are less damaging now
}
else if (saberInSpecial &&
(self->client->ps.saberMove == LS_A_JUMP_T__B_))
{
dmg = G_GetAttackDamage(self, 2, 180, 0.65f);
}
else if (inBackAttack)
{
dmg = G_GetAttackDamage(self, 2, 30, 0.5f); // changed it form 30 to 65 and it worked! }
else
{
dmg = 100; // i think this is the prepatch value but it doesnt have any effect now
}
}
else if (self->client->ps.fd.saberAnimLevel == 2) // yellow stance?
{
if (saberInSpecial &&
(self->client->ps.saberMove == LS_A_FLIP_STAB || self->client->ps.saberMove == LS_A_FLIP_SLASH))
{ //a well-timed hit with this can do a full 85
dmg = G_GetAttackDamage(self, 2, 80, 0.5f);
}
else if (inBackAttack)
{
dmg = G_GetAttackDamage(self, 2, 25, 0.5f); // changed 20 to 40
}
else
{
dmg = 60; // prepatch value
}
}
else if (self->client->ps.fd.saberAnimLevel == 1) // blue stance?
{
if (saberInSpecial &&
(self->client->ps.saberMove == LS_A_LUNGE))
{
dmg = G_GetAttackDamage(self, 2, SABER_HITDAMAGE-5, 0.3f);
}
else if (inBackAttack)
{
dmg = G_GetAttackDamage(self, 2, 30, 0.5f); // changed to 25
}
else
{
dmg = SABER_HITDAMAGE;
}
}

attackStr = self->client->ps.fd.saberAnimLevel;
---------------------------------------------------------------

sadly i get an error. i ran a test duel game on several maps with a bot. even when i compile the original unmodified files i get the error. so it doesnt have to do with my modifications.

-------------------------------------------
NITEMARE hit the kill limit..
Desann fell to his death
==== ShutdownGame ====
VM_Restart()
Loading vm file vm/jk2mpgame.qvm.
********************
ERROR: programStack corrupted in compiled code
********************
----- Server Shutdown -----
recursive error after: programStack corrupted in compiled code
-------------------------------------------

BoBo_Fett
06-02-2002, 10:20 AM
You'll get this error if the qvm's are not inside a PK3:

==== ShutdownGame ====
VM_Restart()
Loading vm file vm/jk2mpgame.qvm.
********************
ERROR: programStack corrupted in compiled code
********************
----- Server Shutdown -----
recursive error after: programStack corrupted in compiled code
-------------------------------------------