It doesn't make sense to me that his dmg would get weaker, he'd actually get much stronger if he was toxic. It would make more sense for his defenses and resistances to get weaker. Cuz now the goal might be, I want to become "toxic", even if it's just for a minute, so I can get that extra dmg boost, and then before I die I'll use my White Honey. So it becomes a Buff/Debuff type of gameplay mechanic. That would be cool.
Currently, becoming toxic simply has no benefits and only side-effects, but when you level up Geralt and reach super high Total toxicity, it becomes much harder to go Toxic, and you have lots of perks that make it even harder to become or stay Toxic. So giving High-Toxicity a kind of buff to make it your goal to reach Toxicity would be a much cooler idea I think. So it will truly dmg your health and make your defenses weaker, but you gain more attack power, crits, for example, etc. while in this 1 minute state. Think of it like Geralt's Super-charged Ability mode, that technically never existed before.
I joins Zow idea. Toxicity in the gameplay design, is meant to limit the usage of potions and decoction that make Geralt very strong. If we abuse them, not only we're Super Witcher, but it also increase its weakness.
By the way, did you also change the xml files from the New Game Plus?
I agree with Zowbaid; it would be great if becoming toxic were a last-resort alternative that made you very powerful but carried the risk of costing you your life if not managed well. For instance, I play with mods that limit the amount of weight I can carry because I’ve restored weight to all objects. As a result, I can’t always carry all alchemical items with me, nor can I always have all the ingredients to craft any alchemy I want. Often, I find myself using more than one decoction as a last resort. Having the mechanic described by Zowbaid would be fantastic for me!
I might just end up making this mod, inspired by internator69. You seem to want to make toxicity more of a complete debuff with harsh side effects. If that's your intended design then that's totally fine too. I just hope you're OK if I make a mod that does what I described instead. Would you be OK with that?
Ok, upon testing, it seems that the ToxicityEffect ability in that xml actually only affects general toxicity, not overdosed toxicity. That means even if you just drink a simple potion, you will get all the effects you have there. I don't see a way to make it only trigger when Overdosed as there is no Overdosed ability in the effects.xml. I wonder if it's possible to create and Overdosed ability state for this. Lewis, what do you think?
I'm not sure what's the "overdosed" you mention. I only know the drain vitatily when having too much toxicity is trigger when Toxicity is greater than the Threshold.
"I'm not sure what's the "overdosed" you mention. I only know the drain vitatily when having too much toxicity is trigger when Toxicity is greater than the Threshold."
Yes, that's the overdose I mean.
So does this mean it would be possible to make the Toxicity effects only apply when you go over the threshhold (Overdose)?
That's what the mod does actually. It add those effect when you reach the threshold limit. You can add more nerf or more buff in the XML. Then Geralt will got those toxicity buffs if being "overdosed".
No it doesn't. That's what I mean. The ability for ToxicityEffect triggers even if you have just 1% toxicity. It's not for going over the Threshold limit. So those new effects he adds, takes effect immediately when you have just 1% toxicity from any potion/decoction or whatever. I was hoping that they only triggered when you went over the threshold limit of like 80% that you have in the game, but that's now how it's working. That's what I meant. Is there a code or something that effects it so that these effects only trigger when you go over the threshold limit?
Oh I see now. We need to add "if(toxicity >= threshold)" to the function that calculate the specific effect. And in that case, we shouldn't touch the XML files. It must be scripted.
11 comments
Currently, becoming toxic simply has no benefits and only side-effects, but when you level up Geralt and reach super high Total toxicity, it becomes much harder to go Toxic, and you have lots of perks that make it even harder to become or stay Toxic. So giving High-Toxicity a kind of buff to make it your goal to reach Toxicity would be a much cooler idea I think. So it will truly dmg your health and make your defenses weaker, but you gain more attack power, crits, for example, etc. while in this 1 minute state. Think of it like Geralt's Super-charged Ability mode, that technically never existed before.
Man that would be cool.
Toxicity in the gameplay design, is meant to limit the usage of potions and decoction that make Geralt very strong. If we abuse them, not only we're Super Witcher, but it also increase its weakness.
By the way, did you also change the xml files from the New Game Plus?
I only know the drain vitatily when having too much toxicity is trigger when Toxicity is greater than the Threshold.
Partial code from toxicity.ws:
toxicity = GetWitcherPlayer().GetStat(BCS_Toxicity, false) / GetWitcherPlayer().GetStatMax(BCS_Toxicity);
threshold = GetWitcherPlayer().GetToxicityDamageThreshold();
if(toxicity >= threshold)
{
currentStateName = thePlayer.GetCurrentStateName();
if(currentStateName != 'Meditation' && currentStateName != 'MeditationWaiting')
{
theGame.GetDefinitionsManager().GetAbilityAttributeValue(abilityName, dmgTypeName, min, max);
if(DamageHitsVitality(dmgTypeName))
maxStat = target.GetStatMax(BCS_Vitality);
else
maxStat = target.GetStatMax(BCS_Essence);
dmgValue = GetAttributeRandomizedValue(min, max);
dmg = MaxF(0, deltaTime * ( dmgValue.valueAdditive + (dmgValue.valueMultiplicative * (maxStat + dmgValue.valueBase) ) ));
if(dmg > 0)
effectManager.CacheDamage(dmgTypeName,dmg,NULL,this,deltaTime,true,CPS_Undefined,false);
else
LogAssert(false, "W3Effect_Toxicity: should deal damage but deals 0 damage!");
}
if(thePlayer.CanUseSkill(S_Alchemy_s20) && !target.HasBuff(EET_IgnorePain))
target.AddEffectDefault(EET_IgnorePain, target, 'IgnorePain');
}
else
{
target.RemoveBuff(EET_IgnorePain);
}
drainVal = deltaTime * (effectValue.valueAdditive + (effectValue.valueMultiplicative * (effectValue.valueBase + target.GetStatMax(BCS_Toxicity)) ) );
I only know the drain vitatily when having too much toxicity is trigger when Toxicity is greater than the Threshold."
Yes, that's the overdose I mean.
So does this mean it would be possible to make the Toxicity effects only apply when you go over the threshhold (Overdose)?
You can add more nerf or more buff in the XML. Then Geralt will got those toxicity buffs if being "overdosed".
And in that case, we shouldn't touch the XML files. It must be scripted.