Larian Banner
Previous Thread
Next Thread
Print Thread
Worsening Status Effects #650655
26/10/18 03:55 AM
26/10/18 03:55 AM
Joined: Oct 2018
Posts: 8
HunterXero Offline OP
stranger
HunterXero  Offline OP
stranger

Joined: Oct 2018
Posts: 8
Hey guys, I'm still pretty new with the Divinity Engine 2 and Ive come in a bit of a stump in my small project.

For reference I'm making a variation of the Sawtooth Knife ability, but I'm trying to get it to apply a Stronger version of Bleeding if the target is already bleeding.
I've made a chain of skill properties like this: Bleeding; if Bleeding: Bleeding2; If Bleeding2: Bleeding3.
This however didn't work as the game reads it in order and automatically afflicts the target with Bleeding3.

Ive tried reversing the chain to this: If Bleeding2: Bleeding3; If Bleeding1: Bleeding2; Bleeding.
This however also didn't work since no matter what status the target had before, Bleeding would be the last to apply and replaces the stronger variations.

Had anyone tried doing a CC or Status Chain like this? Any insight would be helpful...
Is there a like I can use in Skill Properties like this: If(HasNoStatus:Bleeding3, Bleeding2): Bleeding,100,3?
Or perhaps is there a way to get the game to choose the stronger Stack of status so that it is not replaced by a weaker one?

EDIT: Nevermind, Silly me. I just found the Stack Priority Column under the status Editor. Ignore me :P

Last edited by HunterXero; 26/10/18 04:14 AM. Reason: Answered my own question
Re: Worsening Status Effects [Re: HunterXero] #650656
26/10/18 08:33 AM
26/10/18 08:33 AM
Joined: Nov 2017
Posts: 129
L
LarIlya Offline
member
LarIlya  Offline
member
L

Joined: Nov 2017
Posts: 129
The systemic way to treat this is usually to make it work the way Warm + Warm = Burning works:

Make the skill set just 'Bleeding', then have a game script with something like
Code
EVENT CharacterSetBleeding
VARS
	CHARACTER:_Character
	LIST<STATUS>:_RemoveList
	STATUS:_Result
ON 
	FetchCharacterApplyStatusData(_Character, BLEEDING)
ACTIONS
	Set(_Result,BLEEDING)
	ListClear(_RemoveList)
	IF "c1"
		CharacterHasStatus(_Character, WARM)
	THEN	
		ListAdd(_RemoveList,BLEEDING)
		Set(_Result,BLEEDING2)		
	RETURN(_RemoveList,_Result,null)

Re: Worsening Status Effects [Re: HunterXero] #650662
26/10/18 07:10 PM
26/10/18 07:10 PM
Joined: May 2017
Posts: 349
LaughingLeader Offline
enthusiast
LaughingLeader  Offline
enthusiast

Joined: May 2017
Posts: 349
I have an example of an incremental status done with a gameScript here: MyMod_Statuses.gameScript. It utilizes the same event/function that LarIlya mentioned - FetchCharacterApplyStatusData, though it increments up to a 5th version, and uses what I call a "proxy status" to apply the actual status, which in this case, is MYMOD_PAIN_APPLY. Your skill would apply MYMOD_PAIN_APPLY, and the script would handle applying the actual status, or incrementing it to a higher version if PAIN 1-4 is already active on the target.


Moderated by  Larian_Koala, Larian_KVN 

Powered by UBB.threads™ PHP Forum Software 7.6.2