Hello!
I'm sorry if this isn't the correct place to post this. I'm trying to create a simple mod that changes the radius of Yarden based on sign intensity.
I'm trying to find what changes I should do to make it so. I was looking around in the game scripts.
I found the Yarden effect in gameplay\effects\effects\skill\yrdenHealthDrain.ws but this code only about the constant health drain Yarden does with some of the upgrades.
I also found in gameplay\items\spells\yrdenEntity.ws a function called GetSignStats():
It seems that the variable baseModeRange is of interest to me, and that owner.GetActor().GetTotalSignSpellPower(skillEnum); queries for the current spell power, so I could add:
However, I'm not sure in what units sign intensity and range are measured. Also, It seems that baseModeRange is afloat but I'm not sure what type the intensity is. For example here:
trapDurationAtt is SAbilityAttributeValue
I'd really like some help figuring this out, thanks.
I'm sorry if this isn't the correct place to post this. I'm trying to create a simple mod that changes the radius of Yarden based on sign intensity.
I'm trying to find what changes I should do to make it so. I was looking around in the game scripts.
I found the Yarden effect in gameplay\effects\effects\skill\yrdenHealthDrain.ws but this code only about the constant health drain Yarden does with some of the upgrades.
I also found in gameplay\items\spells\yrdenEntity.ws a function called GetSignStats():
C++:
protected function GetSignStats()
{
var chargesAtt, trapDurationAtt : SAbilityAttributeValue;
super.GetSignStats();
chargesAtt = owner.GetSkillAttributeValue(skillEnum, 'charge_count', false, true);
trapDurationAtt = owner.GetSkillAttributeValue(skillEnum, 'trap_duration', false, true);
baseModeRange = CalculateAttributeValue( owner.GetSkillAttributeValue(skillEnum, 'range', false, true) );
trapDurationAtt += owner.GetActor().GetTotalSignSpellPower(skillEnum);
trapDurationAtt.valueMultiplicative -= 1;
charges = (int)CalculateAttributeValue(chargesAtt);
trapDuration = CalculateAttributeValue(trapDurationAtt);
}
It seems that the variable baseModeRange is of interest to me, and that owner.GetActor().GetTotalSignSpellPower(skillEnum); queries for the current spell power, so I could add:
C++:
protected function GetSignStats()
{
var rangeBonus float;
rangeBonus = owner.GetActor().GetTotalSignSpellPower(skillEnum)
baseModeRange += rangeBonus
}
However, I'm not sure in what units sign intensity and range are measured. Also, It seems that baseModeRange is afloat but I'm not sure what type the intensity is. For example here:
Code:
trapDurationAtt += owner.GetActor().GetTotalSignSpellPower(skillEnum);
I'd really like some help figuring this out, thanks.