A question about the "Shield Buffer" effect...

steverella0007steverella0007 Posts: 11
edited January 19 in General Modding
It's been a loooong time since I posted a question on these forums, but I am back again requesting some idea assistance.

About the "Shield Buffer" effect, I understand WHAT it does, but not HOW exactly it does it.

I wanted to make a skill that momentarily shield the player from damage and when it is hit, decrements a stat thereby decreasing the shield strength to zero, disengaging it. Also, when hit, a summoned pet is made near the player. It's a skill that conceptually modeled off Guild Wars 2's Mesmer profession.

The problem seems to be that when the shield is active, "hits" aren't recorded when absorbed... Or maybe there is a problem in my code, whether it's the skill, proc or triggerable.

My other thought was making a targetable, attached invisible unit with a spectral shield with perfect block and a destructible shield, that has a trigger "on block," but I figured the former would be simpler.

Illusionary Counter Skill:
[SKILL]
	<STRING>NAME:ILLUSIONARY_COUNTER
	<TRANSLATE>DISPLAYNAME:Wand Skill: Illusionary Counter
	<TRANSLATE>BASE_DESCRIPTION:You tear into all enemies directly in front of you, slashing 3 times. Eviscerate attacks gain half of normal |c00ff9933Charge|u.
	<TRANSLATE>REQUIREMENT_DESCRIPTION:Requires an equipped greatsword.
	<STRING>SKILL_ICON:skillicon_defensemagic
	<STRING>SKILL_ICON_INACTIVE:skillicon_defensemagic_gray
	<STRING>ACTIVATION_TYPE:NORMAL
	<STRING>TARGET_ALIGNMENT:EVIL
	<STRING>ANIMATION:Special_Ice_Wave
	<FLOAT>RANGE:1.5
	<STRING>MANA_COST_GRAPH:MANACOST_NORMAL
	<FLOAT>MANA_GRAPH_SCALE:1.2
	<INTEGER>COOLDOWNMS:6000
	<FLOAT>FINDTARGETANGLE:60
	<FLOAT>TURNRATEOVERRIDE:-1
	<BOOL>CAN_BE_SILENCED:0
	<INTEGER>LEVEL_REQUIRED:0
	<BOOL>ALLOWS_TURNING:0
	<BOOL>CAN_ATTACK_FALLBACK:1
	<INTEGER>MAX_INVEST_LEVEL:15
	<BOOL>CAN_LEFT_MAP:true
	<INTEGER64>UNIQUE_GUID:6133996685337724054
	[REQUIREMENT_RIGHT]
		<STRING>UNITTYPE:WAND
	[/REQUIREMENT_RIGHT]
	[LEVEL1]
		[EVENT_TRIGGER]
			<BOOL>APPLYEFFECTS:1
			<BOOL>CAN_CLONE:0
			[EFFECTS]
				<STRING>TARGET:SELF
				[EFFECT]
					<STRING>NAME:BLOCK SUBSITUTE
					<STRING>ACTIVATION:DYNAMIC
					<STRING>DURATION:3
					<STRING>TYPE:SHIELD BUFFER
					<STRING>DAMAGE_TYPE:ALL
					<STRING>STATMODIFYNAME:ILLUSIONARY_RIPOSTE_COUNTER
					<STRING>STATMODIFYPERCENT:100
					<BOOL>USEOWNERLEVEL:1
					<STRING>UNITTHEME:engineershield
					<FLOAT>MIN:2500
					<FLOAT>MAX:2500
				[/EFFECT]
				[EFFECT]
					<STRING>NAME:ILLUSIONARY_RIPOSTE_TRIGGER_01
					<STRING>ACTIVATION:DYNAMIC
					<STRING>DURATION:3
					<STRING>TYPE:ADD TRIGGERABLE
					<FLOAT>CHANCE:100
				[/EFFECT]
			[/EFFECTS]
		[/EVENT_TRIGGER]
	[/LEVEL1]
	[STATWATCHER]
		<STRING>STAT:ILLUSIONARY_RIPOSTE_COUNTER
		<STRING>PRIMARY_TARGET_TYPE:SELF
		<STRING>SECONDARY_TARGET_TYPE:VALUE
		<STRING>WATCH_TYPE:GREATER THAN
		<FLOAT>SECONDARY_VALUE:0
	[/STATWATCHER]
[/SKILL]

The Triggerable:
[TRIGGERABLEACTION]
	<STRING>NAME:ILLUSIONARY_RIPOSTE_TRIGGER_01
	<STRING>GAMEEVENTTYPE:CHARACTER
	<STRING>EVENTCREATOR:SELF
	<STRING>SUBTYPE:GOTHIT
	<INTEGER>LEVEL:1
	<FLOAT>FLOATCONDITION:0
	<INTEGER>COOLDOWN:0
	<BOOL>FILTERSELF:1
	[TRIGGERSKILL]
		<STRING>SKILL:ILLUSIONARY_COUNTER_PROC
	[/TRIGGERSKILL]
[/TRIGGERABLEACTION]

The Hidden Proc:
[SKILL]
	<STRING>NAME:ILLUSIONARY_COUNTER_PROC
	<STRING>SKILL_ICON:skillicon_defensemagic
	<STRING>ACTIVATION_TYPE:PROC
	<STRING>TARGET_TYPE:SELF
	<FLOAT>FINDTARGETANGLE:60
	<FLOAT>TURNRATEOVERRIDE:-1
	<BOOL>CAN_BE_SILENCED:0
	<INTEGER>LEVEL_REQUIRED:0
	<BOOL>ALLOWS_TURNING:0
	<BOOL>CAN_ATTACK_FALLBACK:1
	<INTEGER>MAX_INVEST_LEVEL:15
	<BOOL>CAN_LEFT_MAP:true
	<INTEGER64>UNIQUE_GUID:-2756878644791888858
	[REQUIREMENT_RIGHT]
		<STRING>UNITTYPE:WAND
	[/REQUIREMENT_RIGHT]
	[LEVEL1]
		[EVENT_START]
			<STRING>FILE:media/skills/mesmer/active_skills/ether bolt/wand clone summon.layout
			<BOOL>ATTACHES:1
			[EFFECTS]
				<STRING>TARGET:SELF
				[EFFECT]
					<STRING>NAME:ILLUSIONARY_RIPOSTE_COUNTER
					<STRING>ACTIVATION:DYNAMIC
					<STRING>DURATION:INSTANT
					<STRING>TYPE:ADD STAT
					<FLOAT>MIN:-1
					<FLOAT>MAX:-1
					<FLOAT>CHANCE:100
				[/EFFECT]
				[EFFECT]
					<STRING>NAME:CLONE_COUNT
					<STRING>ACTIVATION:DYNAMIC
					<STRING>DURATION:INSTANT
					<STRING>TYPE:ADD STAT
					<FLOAT>MIN:1
					<FLOAT>MAX:1
					<FLOAT>CHANCE:100
				[/EFFECT]
			[/EFFECTS]
		[/EVENT_START]
	[/LEVEL1]
[/SKILL]

Comments

  • I just learned that you can't display shields on an "invisible monster" unit, because it seems that there are no lefthand animation to show they are even holding shields or weapons.
  • PhanjamPhanjam Posts: 3,297 ✭✭✭
    I wanted to make a skill that momentarily shield the player from damage and when it is hit, decrements a stat thereby decreasing the shield strength to zero, disengaging it. Also, when hit, a summoned pet is made near the player. It's a skill that conceptually modeled off Guild Wars 2's Mesmer profession.

    The problem seems to be that when the shield is active, "hits" aren't recorded when absorbed... Or maybe there is a problem in my code, whether it's the skill, proc or triggerable.

    Hi Steverella. It might be simpler to just use a skills combo, rather than a STATWATCHER. The first skill would apply the shield buff AFFIX on yourself AND give you the second skill. That second skill could trigger ONSTRUCK to take away the shield buff AFFIX and create the summon.
    Torchmodders
    Torchlight 1 Class Pack (TL1CP) Mod for TL2: Steam | RGF
  • Use the "Cast Skill on Struck" effect? I'll give it a whirl, but is it different than that of the "GOTHIT" triggerable?
  • PhanjamPhanjam Posts: 3,297 ✭✭✭
    Use the "Cast Skill on Struck" effect? I'll give it a whirl, but is it different than that of the "GOTHIT" triggerable?

    Hmmm, I looked up how the Destroyer's Frost Shield skill casts a proc (Frost Shock) when the Destro is struck while the shield is up. Casting the shield on yourself gives you the shield AFFIX as well as another AFFIX which makes you "CAST SKILL ON STRUCK".

    Code of the main skill looks like...
    [LEVEL1]
    ....[EVENT_START]
    ........<STRING>FILE:media/skills/destroyer/TITAN-FROSTSHIELD/frostshield.layout just gives you the shield particles
    ....[/EVENT_START]
    ....[EVENT_TRIGGER]
    ........[AFFIXES]
    ............<INTEGER>AFFIXLEVEL:1
    ............<STRING>TARGET:SELF
    ............<FLOAT>DURATION:30
    ............<STRING>AFFIX:DESTRO_FROSTSHIELD_ARMOR_GYT_1 gives you the armor buff
    ........[/AFFIXES]
    ....[/EVENT_TRIGGER]
    ....[EVENT_TRIGGER]
    ........<BOOL>STATSHIDDEN:true
    ........[AFFIXES]
    ............<INTEGER>AFFIXLEVEL:1
    ............<STRING>TARGET:SELF
    ............<FLOAT>DURATION:30
    ............<STRING>AFFIX:DESTRO_FROSTSHIELD_PROC_GYT this affix gives you the CAST SKILL ON STRUCK skill - see next spoiler box
    ........[/AFFIXES]
    ....[/EVENT_TRIGGER]
    [/LEVEL1]

    Code of the affix giving you the proc skill...
    [AFFIX]
    ....<STRING>NAME:DESTRO_FROSTSHIELD_PROC_GYT
    ....<INTEGER>RANK:0
    ....<INTEGER>MIN_SPAWN_RANGE:0
    ....<INTEGER>MAX_SPAWN_RANGE:999
    ....<FLOAT>DURATION:0
    ....<INTEGER>WEIGHT:0
    ....<INTEGER>SLOTS_OCCUPY:0
    ....[EFFECT]
    ........<STRING>NAME:Frost Shock will be the <STRING>NAME: of your proc skill
    ........<STRING>ACTIVATION:PASSIVE
    ........<STRING>DURATION:ALWAYS but overruled by the 30sec duration declared in the main skill
    ........<STRING>TYPE:CAST SKILL ON STRUCK here you go
    ........<STRING>STATMODIFYNAME:EFFECT LEVEL
    ........<STRING>STATMODIFYPERCENT:20
    ........<STRING>UNITTHEME:FrostShield1
    ........<BOOL>EXCLUSIVE:true
    ........<BOOL>MODIFIERISBONUS:true
    ........<FLOAT>MIN:12.5
    ........<FLOAT>MAX:12.5
    ....[/EFFECT]
    [/AFFIX]

    You may not need all the STATMODIFY stuff if you're just using a single level proc skill.
    Torchmodders
    Torchlight 1 Class Pack (TL1CP) Mod for TL2: Steam | RGF
Sign In or Register to comment.