- Joined
- May 13, 2023
- Messages
- 111
-
Untitled Trigger 001
-

Events
-

Conditions
-

Actions
-


Ability - Set Ability: (Unit: (Triggering unit)'s Ability with Ability Code: (Ability being cast))'s Real Level Field: Duration - Normal ('adur') of Level: 0 to 10.00
-


Ability - Set Ability: (Unit: (Triggering unit)'s Ability with Ability Code: (Ability being cast))'s Real Level Field: Duration - Hero ('ahdu') of Level: 0 to 10.00
-
-
JASS:
function Trig_Status_Resistance_Actions takes nothing returns nothing
local unit caster = GetTriggerUnit()
local unit target = GetSpellTargetUnit()
local integer abil = GetSpellAbilityId()
local real reduction1
local real reduction2
// only check enemy spells
if IsUnitEnemy(target, GetOwningPlayer(caster)) and UnitHasBuffBJ(target, 'B006') then
//reduces duration by 50%
set reduction1 = BlzGetAbilityRealLevelField(BlzGetUnitAbility(caster, abil), ABILITY_RLF_DURATION_NORMAL, GetUnitAbilityLevelSwapped(abil, caster) - 1 ) * 0.50
set reduction2 = BlzGetAbilityRealLevelField(BlzGetUnitAbility(caster, abil), ABILITY_RLF_DURATION_HERO, GetUnitAbilityLevelSwapped(abil, caster) - 1 ) * 0.50
call BlzSetAbilityRealLevelFieldBJ(BlzGetUnitAbility(caster, abil), ABILITY_RLF_DURATION_HERO, (GetUnitAbilityLevelSwapped(abil, caster) - 1 ), reduction2)
call BlzSetAbilityRealLevelFieldBJ(BlzGetUnitAbility(caster, abil), ABILITY_RLF_DURATION_NORMAL, (GetUnitAbilityLevelSwapped(abil, caster) - 1 ), reduction1)
endif
set caster = null
set target = null
endfunction
//===========================================================================
function InitTrig_Status_Resistance takes nothing returns nothing
set gg_trg_Status_Resistance = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Status_Resistance, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddAction( gg_trg_Status_Resistance, function Trig_Status_Resistance_Actions )
endfunction
Last edited:






