Pero si no tiene bono, la condicion de nostack no aplica. Tengo que revisarlo.Ese bug es porque no se aplica bien el script de antiapilamiento en el conjuro de Clariaudiencia/Clarividencia. Pasa lo mismo en algunos otros que dan bonos a varios.
// Smite contra muertos vivientes para el Soldado de la luz
void DoSmite(object oPC, object oTarget, int nType)
{
effect eSmite; //effect OnHit
int nDamage;
int nDamageType;
int nAttack;
object oWeapon = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC);
string sHit;
string sMiss;
string sFailedTarget;
string sFailedSmiter;
int nTargetInvalid = !GetIsObjectValid(oTarget);
int nSmiterInvalid = !GetIsObjectValid(oPC);
if(nType == SMITE_TYPE_UNDEAD)
{
eSmite = EffectVisualEffect(VFX_COM_HIT_DIVINE);
nAttack = GetAbilityModifier(ABILITY_CHARISMA, oPC);
nDamage = GetLevelByClass(CLASS_TYPE_SOLDADO, oPC);
nDamageType = DAMAGE_TYPE_POSITIVE;
sFailedTarget = "Castigo fallido: No es un muerto viviente";
sFailedSmiter = "Castigo fallido: No eres bueno";
sHit = "Castigar muertos vivientes ha golpeado";
sMiss = "Castigar muertos vivientes ha fallado";
if(MyPRCGetRacialType(oTarget) != RACIAL_TYPE_UNDEAD)
nTargetInvalid = TRUE;
if(GetAlignmentGoodEvil(OBJECT_SELF) != ALIGNMENT_GOOD)
nSmiterInvalid = TRUE;
}
//check target is valid
//and show message if not
if(nTargetInvalid)
FloatingTextStringOnCreature(sFailedTarget, oPC);
//check smiter is valid
//and show message if not
else if(nSmiterInvalid)
FloatingTextStringOnCreature(sFailedSmiter, oPC);
//check for ranged weapon
//ranged smite was never finished
//if it was, here would be the place to put it!
else if (GetWeaponRanged(oWeapon) && !GetHasFeat(FEAT_RANGED_SMITE, oPC))
FloatingTextStringOnCreature("Castigo fallido: No puedes usar armas de rango", oPC);
//passed checks, do the actual smite
else
{
//whew, now we can do the actual smite through the combat engine
PerformAttackRound(oTarget, oPC, eSmite, 0.0, nAttack, nDamage, nDamageType, FALSE, sHit, sMiss);
// Target is valid and we know it's an enemy and we're in combat
DelayCommand(0.25, AssignCommand(oPC, ActionAttack(oTarget)));
}
}
Buenas tardes,
Dejo por aqui el listado de errores que hemos encontrado Wallack y yo con el Soldado de la luz.
- Espada sagrada funciona dependiendo del arma, en el caso de una bielemental que tengo solamente da un +2 como si no estuviese aplicando el bono de vengadora para paladin, sin embargo en armas básicas o que el sistema entiende como básicas da los efectos completos. Creemos que es a causa de la tirada de UOM al no ser paladin.
- Los pergaminos de conjuros que tiene la clase algunos da fallo de conjuro de repente mientras que otros funcionan sin problema, no debería dar fallo dado que son spells divinos.
- No es posible cojer la dote de inscribir pergaminos con el soldado (desconozco si esto sigue pero creo que estaba pendiente)
- El castigar al mal del soldado si aplica el modificador de carisma al ataque, sin embargo no aplica los niveles de clase de Soldado de la luz al daño que aplica. En la captura soy nivel 9 de Soldado, al calcular el daño jamas debería dar 7 (el enemigo tampoco tenía resistencias de ningún tipo).
![]()
![]()
![]()
Desde el PRC he cogido uno de los códigos modificándolo levemente, por manual el Soldado tiene castigar muertos vivientes, si ayuda en este tema aqui lo teneis.
// Smite contra muertos vivientes para el Soldado de la luz
Código:// Smite contra muertos vivientes para el Soldado de la luz void DoSmite(object oPC, object oTarget, int nType) { effect eSmite; //effect OnHit int nDamage; int nDamageType; int nAttack; object oWeapon = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC); string sHit; string sMiss; string sFailedTarget; string sFailedSmiter; int nTargetInvalid = !GetIsObjectValid(oTarget); int nSmiterInvalid = !GetIsObjectValid(oPC); if(nType == SMITE_TYPE_UNDEAD) { eSmite = EffectVisualEffect(VFX_COM_HIT_DIVINE); nAttack = GetAbilityModifier(ABILITY_CHARISMA, oPC); nDamage = GetLevelByClass(CLASS_TYPE_SOLDADO, oPC); nDamageType = DAMAGE_TYPE_POSITIVE; sFailedTarget = "Castigo fallido: No es un muerto viviente"; sFailedSmiter = "Castigo fallido: No eres bueno"; sHit = "Castigar muertos vivientes ha golpeado"; sMiss = "Castigar muertos vivientes ha fallado"; if(MyPRCGetRacialType(oTarget) != RACIAL_TYPE_UNDEAD) nTargetInvalid = TRUE; if(GetAlignmentGoodEvil(OBJECT_SELF) != ALIGNMENT_GOOD) nSmiterInvalid = TRUE; } //check target is valid //and show message if not if(nTargetInvalid) FloatingTextStringOnCreature(sFailedTarget, oPC); //check smiter is valid //and show message if not else if(nSmiterInvalid) FloatingTextStringOnCreature(sFailedSmiter, oPC); //check for ranged weapon //ranged smite was never finished //if it was, here would be the place to put it! else if (GetWeaponRanged(oWeapon) && !GetHasFeat(FEAT_RANGED_SMITE, oPC)) FloatingTextStringOnCreature("Castigo fallido: No puedes usar armas de rango", oPC); //passed checks, do the actual smite else { //whew, now we can do the actual smite through the combat engine PerformAttackRound(oTarget, oPC, eSmite, 0.0, nAttack, nDamage, nDamageType, FALSE, sHit, sMiss); // Target is valid and we know it's an enemy and we're in combat DelayCommand(0.25, AssignCommand(oPC, ActionAttack(oTarget))); } }
- El seguidor del soldado se bugea al desconvocarlo y no te permite hacerlo reaparecer hasta que el servidor se reinicia, es raro pues pasa como la pericia, no se si fuera un problema con el tiempo de reaparicion con este o alguna variable.
- En la tabla del conjuro del soldado faltan diferentes conjuros que estan implementados por motor pero que la clase no tiene:
I esfera: Detectar el mal, Escudo de fe.III esfera: Circulo contra el mal, Plegaria, Quitar Enfermedad.IV esfera: Restablecimiento
- La explosión de energía negativa figura que hace 8d6 de daño total y que una CD 18 de reflejos reduce el daño a la mitad, sin embargo comprobandolo no parece ser así (Esto como Soldado 8- Guerrero 5. En teoria por manual es 1d6 por nivel de clase y la CD sería 10 + Nivel de clase de Soldado para reducir el daño a la mitad, no se si sera así pero si me adjuntais el codigo podría revisarlo, si no la descripción de la dote esta mal.
- Del mismo modo consume 1 intento de expulsar y no 2 como debería (desconozco si esto es bug o modificacion del sv)
- Con el Ursinal de nivel 8 del Soldado ocurre algo raro, este parece tener una ficha de guerrero con espadon, sin embargo la espada astral creo recordar que es una espada bastarda, desconozco si puede retocarse desde la criatura o modificando el script.
![]()
![]()
Cualquier cosa si hace falta echar una mano ya sea con esto o con otra cosa estoy disponible.¡Un saludo!






Tipo de problema: Sistema de Clases (No está en el listado, pero lo incorporo)
Problema: Dote "Impacto Aguzado", de la Clase "Espadachín", no aplica bono inteligencia al daño.
Testigo: DM_Hell
Descripción:
Nota: No he visto que esté indicado este error anteriormente.
- Se hacen pruebas de ataque, nunca supera el valor de daño (con/sin fuerza añadido).
- Se prueba también con Inteligencia superior a Fuerza, con el mismo efecto.
Buenas tardes.Las condiciones de la dote se cumplían?
Impacto aguzado (Ex): a nivel 3, un espadachín se vuelve capaz de colocar sus sutiles ataques donde más daño inflijan. Aplica su bonificador de Inteligencia (si tiene) a las tiradas de daño con cualquier arma ligera, así como con cualquier otra arma que pueda usarse con Sutileza con las armas, como un estoque. El espadachín no puede usar esta aptitud cuando lleva armadura pesada o intermedia.
Es para armas de sutileza no de fuerza y sobre armas ligeras.
Buenas tardes.
Se realizaron ataques con DM Hell presente:
No llevaban armadura pesada o intermedia.
- El personaje de prueba tenía bono +3 Fuerza y +2 Inteligencia. Sin que se viera el bono +2 de Inteligencia aplicado, pero sí el +3 de Fuerza (este salía en ficha), en el daño de los ataques.
- Se hizo otro personaje de prueba con +0 Fuerza y +3 Inteligencia. Sin que se viera el bono +3 aplicado en el daño de los ataques.
Se probó con ambos, con un estoque y posteriormente con un daga.
Sí, tenían la dote entre las que llevaban ambos personajes de prueba.
Espero haber resuelto las dudas, si no, me dicen qué más puedo aportar.
El estoque y la daga son armas de sutileza como dato.Solo funciona con armas de sutileza no de fuerza. Debes ir a destreza. Puedes probarlo de nuevo si gustan con las condiciones mencionadas
Yo lo tengo claro, estaba aclarando el tipo de armas para la prueba, pero gracias por el dato.El estoque y la daga son armas de sutileza como dato.