VerseIsland
Feed Learn Leaderboard Guides Reference Explore Search Docs Verse Library
Sign in
Feed Learn 📖 Codex Leaderboard Guides Reference Explore Search Docs Verse Library
Verse Library › Devices
Browse Verse Library

Library

Devices 634
  • Devices174
  • Triggers & Logic117
  • UI & HUD39
  • Audio38
  • Items & Inventory30
  • Events27
  • Scoring & Objectives24
  • Spawning19
  • Classes & Interfaces18
  • Game Modes16
  • Props & Meshes13
  • Variables & Mutability12
  • Player Management11
  • Modules & Structure10
  • Round Flow8
  • Tutorials8
  • Getting Started7
  • Functions6
  • Teams & Classes6
  • Animation5
  • NPCs & AI5
  • VFX & Particles5
  • Arrays & Maps4
  • Cameras4
  • Concurrency4
  • Debugging4
  • Cinematics2
  • Control Flow2
  • Other2
  • Persistence2
  • Reference2
  • Scene Graph2
  • Structs & Enums2
  • Building1
  • Physics1
  • Publishing & Islands1
  • Syntax & Types1
  • Vehicles1
  • Weapons1
Verse Language 258
  • Control Flow35
  • Arrays & Maps25
  • Functions24
  • Classes & Interfaces22
  • Variables & Mutability22
  • Concurrency21
  • Syntax & Types19
  • Modules & Structure12
  • Debugging9
  • Devices8
  • Events7
  • Player Management6
  • Structs & Enums6
  • Triggers & Logic6
  • Game Modes4
  • Reference4
  • Scene Graph4
  • Spawning4
  • UI & HUD4
  • VFX & Particles4
  • Failure & Options3
  • Getting Started3
  • Round Flow3
  • Animation1
  • Best Practices1
  • Templates1
Materials/VFX 154
  • Triggers & Logic25
  • UI & HUD18
  • Devices17
  • VFX & Particles17
  • Game Modes8
  • Props & Meshes8
  • Items & Inventory7
  • Scoring & Objectives7
  • Arrays & Maps5
  • Functions4
  • Animation3
  • Cinematics3
  • Classes & Interfaces3
  • Control Flow3
  • Events3
  • Modules & Structure3
  • Reference3
  • Round Flow3
  • Spawning3
  • Getting Started2
  • Scene Graph2
  • Syntax & Types2
  • Variables & Mutability2
  • Persistence1
  • Player Management1
  • Structs & Enums1
General 153
  • Devices22
  • Events20
  • Triggers & Logic20
  • Classes & Interfaces10
  • Variables & Mutability8
  • Round Flow6
  • Scoring & Objectives6
  • UI & HUD6
  • Functions5
  • Player Management5
  • Game Modes4
  • Getting Started4
  • Props & Meshes4
  • Control Flow3
  • Syntax & Types3
  • VFX & Particles3
  • Arrays & Maps2
  • Best Practices2
  • NPCs & AI2
  • Other2
  • Physics2
  • Scene Graph2
  • Spawning2
  • Structs & Enums2
  • Tutorials2
  • Building1
  • Cameras1
  • Cinematics1
  • Failure & Options1
  • Items & Inventory1
  • Teams & Classes1
Building & Props 131
  • Variables & Mutability15
  • Triggers & Logic14
  • Props & Meshes12
  • Classes & Interfaces10
  • Devices10
  • UI & HUD9
  • Events7
  • Teams & Classes7
  • Building5
  • Functions5
  • VFX & Particles5
  • Animation4
  • Structs & Enums4
  • Control Flow3
  • Game Modes3
  • Items & Inventory3
  • Round Flow3
  • Scene Graph3
  • Arrays & Maps2
  • Concurrency2
  • Reference2
  • Modules & Structure1
  • Other1
  • Tutorials1
Player 131
  • Player Management21
  • Teams & Classes16
  • Classes & Interfaces12
  • Devices11
  • Events8
  • Game Modes7
  • Persistence7
  • Triggers & Logic6
  • Arrays & Maps5
  • Functions5
  • Items & Inventory4
  • Round Flow4
  • Getting Started3
  • Modules & Structure3
  • Concurrency2
  • Control Flow2
  • Debugging2
  • Props & Meshes2
  • Scoring & Objectives2
  • Spawning2
  • Structs & Enums2
  • Physics1
  • Reference1
  • UI & HUD1
  • Variables & Mutability1
  • Weapons1
NPCs & AI 76
  • NPCs & AI34
  • Spawning7
  • Animation6
  • Variables & Mutability5
  • Classes & Interfaces3
  • Debugging3
  • Game Modes3
  • UI & HUD3
  • Audio2
  • Concurrency2
  • Props & Meshes2
  • Devices1
  • Functions1
  • Getting Started1
  • Reference1
  • Triggers & Logic1
  • VFX & Particles1
Spawning 73
  • Spawning32
  • Events7
  • Concurrency6
  • Vehicles5
  • Props & Meshes4
  • Player Management3
  • Scene Graph3
  • Devices2
  • Items & Inventory2
  • Teams & Classes2
  • Control Flow1
  • Game Modes1
  • Publishing & Islands1
  • Reference1
  • Round Flow1
  • Scoring & Objectives1
  • UI & HUD1
Cinematics 71
  • Cameras18
  • Cinematics15
  • Devices11
  • Audio5
  • Animation4
  • Game Modes4
  • Triggers & Logic4
  • Functions2
  • UI & HUD2
  • Classes & Interfaces1
  • Concurrency1
  • Control Flow1
  • Items & Inventory1
  • Modules & Structure1
  • Scene Graph1
UI 57
  • UI & HUD35
  • Devices5
  • Scoring & Objectives4
  • Classes & Interfaces3
  • Round Flow2
  • Scene Graph2
  • Arrays & Maps1
  • Building1
  • Structs & Enums1
  • Templates1
  • Triggers & Logic1
  • Variables & Mutability1
Scene Graph 41
  • Scene Graph10
  • Items & Inventory8
  • Classes & Interfaces3
  • Events3
  • Props & Meshes3
  • Reference2
  • Syntax & Types2
  • Arrays & Maps1
  • Building1
  • Control Flow1
  • Debugging1
  • Modules & Structure1
  • Player Management1
  • Structs & Enums1
  • Triggers & Logic1
  • UI & HUD1
  • VFX & Particles1
Tutorials 38
  • Game Modes5
  • Triggers & Logic5
  • Classes & Interfaces4
  • Devices3
  • Events3
  • Props & Meshes3
  • Building2
  • Items & Inventory2
  • Scoring & Objectives2
  • Animation1
  • Arrays & Maps1
  • Cameras1
  • Concurrency1
  • Physics1
  • Player Management1
  • Round Flow1
  • Structs & Enums1
  • Templates1
Vehicles 38
  • Spawning11
  • Devices7
  • Vehicles7
  • Props & Meshes4
  • Game Modes2
  • Items & Inventory2
  • Failure & Options1
  • Reference1
  • Teams & Classes1
  • Triggers & Logic1
  • Tutorials1
Weapons 30
  • Devices6
  • Game Modes6
  • Weapons4
  • Items & Inventory3
  • Scoring & Objectives3
  • Spawning2
  • Teams & Classes2
  • Best Practices1
  • Classes & Interfaces1
  • Functions1
  • Triggers & Logic1
Items 28
  • Items & Inventory23
  • Devices2
  • Triggers & Logic2
  • Spawning1
Animation 19
  • Animation9
  • Variables & Mutability4
  • Building1
  • Devices1
  • Props & Meshes1
  • Reference1
  • Scene Graph1
  • Syntax & Types1
Assets 19
  • Modules & Structure5
  • Arrays & Maps2
  • Functions2
  • Reference2
  • Scene Graph2
  • Best Practices1
  • Devices1
  • Events1
  • Failure & Options1
  • Physics1
  • Variables & Mutability1
Release Notes 17
  • Classes & Interfaces5
  • Modules & Structure3
  • Concurrency2
  • Control Flow2
  • Variables & Mutability2
  • Debugging1
  • Devices1
  • Items & Inventory1
Input & Controls 16
  • Functions3
  • Control Flow2
  • Syntax & Types2
  • UI & HUD2
  • Arrays & Maps1
  • Cinematics1
  • Debugging1
  • Devices1
  • Events1
  • Items & Inventory1
  • Tutorials1
Publishing 8
  • Control Flow5
  • Arrays & Maps1
  • Devices1
  • Syntax & Types1
Audio 7
  • Audio5
  • Devices1
  • UI & HUD1
Landscape 7
  • Other4
  • VFX & Particles2
  • Scene Graph1
Persistence 7
  • Persistence2
  • Structs & Enums2
  • Items & Inventory1
  • Publishing & Islands1
  • Variables & Mutability1
Physics 5
  • Syntax & Types2
  • Classes & Interfaces1
  • Devices1
  • Reference1
Creator Economy 3
  • Modules & Structure1
  • Other1
  • Publishing & Islands1
Discovery 3
  • Devices1
  • NPCs & AI1
  • Structs & Enums1
Editor & Project 3
  • Best Practices1
  • Other1
  • Props & Meshes1

Customizable Siphon Device

using { /Fortnite.com/Characters }
using { /Fortnite.com/Devices }
using { /Fortnite.com/Game }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Simulation }

#░█████╗░░█████╗░░██████╗███╗░░░███╗██╗░█████╗░░██████╗██╗░░██╗░█████╗░██╗░░░░░██╗░░░░░#
#██╔══██╗██╔══██╗██╔════╝████╗░████║██║██╔══██╗██╔════╝██║░██╔╝██╔══██╗██║░░░░░██║░░░░░#
#██║░░╚═╝██║░░██║╚█████╗░██╔████╔██║██║██║░░╚═╝╚█████╗░█████═╝░██║░░██║██║░░░░░██║░░░░░#
#██║░░██╗██║░░██║░╚═══██╗██║╚██╔╝██║██║██║░░██╗░╚═══██╗██╔═██╗░██║░░██║██║░░░░░██║░░░░░#
#╚█████╔╝╚█████╔╝██████╔╝██║░╚═╝░██║██║╚█████╔╝██████╔╝██║░╚██╗╚█████╔╝███████╗███████╗#
#░╚════╝░░╚════╝░╚═════╝░╚═╝░░░░░╚═╝╚═╝░╚════╝░╚═════╝░╚═╝░░╚═╝░╚════╝░╚══════╝╚══════╝#

# TOOL TIPS
ActivatingTriggerTip<localizes>:message=
    "Trigger activates Siphon"
StatToModifyTip<localizes>:message=
    "Heal types effected by Siphon"
SiphonEffectTip<localizes>:message=
    "Flat: Instant Change. Steady: Change Overtime. SetTo: Instantly Sets Health."
SiphonAmountTip<localizes>:message=
    "How much health/shield granted in total"
SiphonDurationTip<localizes>:message=
    "How long Siphon takes to finish (only applies to Steady)"
TickRateTip<localizes>:message=
    "How many ticks per second (only applies to Steady)"
# SIPHON STAT TYPE
siphon_stat_type := enum:
    Health
    Shield
    Both
# SIPHON EFFECT TYPE
siphon_effect_type := enum:
    FlatIncrease
    SteadyIncrease
    FlatDecrease
    SteadyDecrease
    SetTo
Siphon := class(creative_device):
# EDITABLES / VARIABLES
    @editable:
        ToolTip := ActivatingTriggerTip    
    ActivatingTrigger : trigger_device = trigger_device{}
    @editable:
        ToolTip := StatToModifyTip    
    StatToModify : siphon_stat_type = siphon_stat_type.Health
    @editable:
        ToolTip := SiphonEffectTip
    SiphonEffect : siphon_effect_type = siphon_effect_type.SteadyIncrease
    @editable:
        ToolTip := SiphonAmountTip
    var SiphonAmount : float = 75.0
    @editable:
        ToolTip := SiphonDurationTip    
    var SiphonDuration : float = 7.5
    @editable:
        ToolTip := TickRateTip
    var TickRate : float = 2.0
    var AmountPerTick : float = 0.0
    var SteadyTickRate : float = 0.0
# ON BEGIN
    OnBegin<override>()<suspends>:void=
        set AmountPerTick = SiphonAmount/(TickRate*SiphonDuration) 
        set SteadyTickRate = 1.0/TickRate
        ActivatingTrigger.TriggeredEvent.Subscribe(ActivateSiphon)
        DebugSiphon()
# ACTIVATE SIPHON FUNCTION
    ActivateSiphon(Agent : ?agent):void=
        if (EliminatorCharacter := Agent?.GetFortCharacter[]):
            spawn{ApplySiphonEffect(EliminatorCharacter)}
# APPLY SIPHON EFFECTS
    ApplySiphonEffect(FC : fort_character)<suspends>:void=
        var TotalTicks : float = SiphonDuration * TickRate
        # FLAT INCREASE
            if (SiphonEffect = siphon_effect_type.FlatIncrease):
                if (StatToModify = siphon_stat_type.Health): # HEALTH
                    FC.IncreaseHealth(SiphonAmount)
                if (StatToModify = siphon_stat_type.Shield): # SHIELD
                    FC.IncreaseShield(SiphonAmount)
                if (StatToModify = siphon_stat_type.Both): # BOTH
                    FC.IncreaseAsOne(SiphonAmount)
        # STEADY INCREASE
            if (SiphonEffect = siphon_effect_type.SteadyIncrease):
                if (StatToModify = siphon_stat_type.Health): # HEALTH
                    loop:
                        if (TotalTicks <= 0.0):
                            set TotalTicks = SiphonDuration * TickRate
                            break
                        FC.IncreaseHealth(AmountPerTick)
                        Sleep(SteadyTickRate)
                        set TotalTicks -= 1.0
                if (StatToModify = siphon_stat_type.Shield): # SHIELD
                    loop:
                        if (TotalTicks <= 0.0):
                            set TotalTicks = SiphonDuration * TickRate
                            break
                        FC.IncreaseShield(AmountPerTick)
                        Sleep(SteadyTickRate)
                        set TotalTicks -= 1.0
                if(StatToModify = siphon_stat_type.Both): # BOTH
                    loop:
                        if (TotalTicks <= 0.0):
                            set TotalTicks = SiphonDuration * TickRate
                            break
                        FC.IncreaseAsOne(AmountPerTick)
                        Sleep(SteadyTickRate)
                        set TotalTicks -= 1.0
        # FLAT DECREASE
            if (SiphonEffect = siphon_effect_type.FlatDecrease):
                if (StatToModify = siphon_stat_type.Health): # HEALTH
                    FC.DecreaseHealth(SiphonAmount)
                if (StatToModify = siphon_stat_type.Shield): # SHIELD
                    FC.DecreaseShield(SiphonAmount)
                if (StatToModify = siphon_stat_type.Both): # BOTH
                    FC.DecreaseAsOne(SiphonAmount)
        # STEADY DECREASE
            if (SiphonEffect = siphon_effect_type.SteadyDecrease):
                if (StatToModify = siphon_stat_type.Health): # HEALTH
                    loop:
                        if (TotalTicks <= 0.0):
                            set TotalTicks = SiphonDuration * TickRate
                            break
                        FC.DecreaseHealth(AmountPerTick)
                        Sleep(SteadyTickRate)
                        set TotalTicks -= 1.0
                if (StatToModify = siphon_stat_type.Shield): # SHIELD
                    loop:
                        if (TotalTicks <= 0.0):
                            set TotalTicks = SiphonDuration * TickRate
                            break
                        FC.DecreaseShield(AmountPerTick)
                        Sleep(SteadyTickRate)
                        set TotalTicks -= 1.0
                if (StatToModify = siphon_stat_type.Both): # BOTH
                    loop:
                        if (TotalTicks <= 0.0):
                            set TotalTicks = SiphonDuration * TickRate
                            break
                        FC.DecreaseAsOne(AmountPerTick)
                        Sleep(SteadyTickRate)
                        set TotalTicks -= 1.0
        # SET TO
            if (SiphonEffect = siphon_effect_type.SetTo):
                if (StatToModify = siphon_stat_type.Health or StatToModify = siphon_stat_type.Both): # HEALTH / BOTH
                    FC.SetHealth(SiphonAmount)
                if (StatToModify = siphon_stat_type.Shield or StatToModify = siphon_stat_type.Both): # SHIELD / BOTH
                    FC.SetShield(SiphonAmount)
# HEALTH (VALUES)
    (Char:fort_character).IncreaseHealth(Amount:float):void=
        Char.SetHealth(Char.GetHealth()+Amount)
    (Char:fort_character).DecreaseHealth(Amount:float):void=
        Char.SetHealth(Char.GetHealth()-Amount)
        if(Char.GetHealth()<=Amount):
            Char.Damage(Char.GetShield()+2.0)
# SHIELD (VALUES)
    (Char:fort_character).IncreaseShield(Amount:float):void=
        Char.SetShield(Char.GetShield()+Amount)
    (Char:fort_character).DecreaseShield(Amount:float):void=
        Char.SetShield(Char.GetShield()-Amount)
# HEALTH & SHIELD (VALUES)
    (Char:fort_character).IncreaseBoth(Amount:float):void=
        Char.SetHealth(Char.GetHealth()+Amount)
        Char.SetShield(Char.GetShield()+Amount)
    (Char:fort_character).DecreaseBoth(Amount:float):void=
        Char.SetHealth(Char.GetHealth()-Amount)
        Char.SetShield(Char.GetShield()-Amount)
        if(Char.GetHealth()<=Amount):
            Char.Damage(Char.GetShield()+2.0)
# HEALTH -> SHIELD (VALUES)
    (Char:fort_character).IncreaseAsOne(Amount:float):void=
        OverflowAmount := Char.GetHealth()+Amount-100.0
        if(OverflowAmount > 0.0):
            Char.SetHealth(100.0)
            Char.SetShield(Char.GetShield()+OverflowAmount)
        else:
            Char.SetHealth(Char.GetHealth()+Amount)
# SHIELD -> HEALTH (VALUES)
    (Char:fort_character).DecreaseAsOne(Amount:float):void=
        UnderflowAmount := Char.GetShield()-Amount
        if(UnderflowAmount < 0.0):
            Char.SetShield(0.0)
            Char.SetHealth(Char.GetHealth()+UnderflowAmount)
            if(Char.GetHealth()+Char.GetShield()<=Amount):
                Char.Damage(Char.GetShield()+Char.GetHealth()+2.0)
        else:
            Char.SetShield(UnderflowAmount)
# DEBUG
    DebugSiphon():void=
        Print("Total of {SiphonAmount} Health and/or Shield")
        if(SiphonEffect = siphon_effect_type.SteadyIncrease or SiphonEffect = siphon_effect_type.SteadyDecrease):
            Print("Every {SteadyTickRate} seconds, there is {AmountPerTick} Siphon applied. Total of {SiphonDuration} seconds.")

Comments

    Sign in to vote, comment, or suggest an edit. Sign in
    📄
    Source
    Epic Games Community

    Created by a member of the Epic Games community. Rights remain with the original author, under Epic's community content terms. Terms ↗

    View original Sources & licensing
    Request removal
    Last updated Jun 23, 2026
    Verse code
    Compiles · verified Jun 24, 2026
    Sign in to download .verse

    Copy-paste the code above is always free.

    Keep exploring
    More in Devices · 1 of 60
    Next
    fortnite fully customizable ui button verse device

    Related

    Open in graph →

    Related topics

    • Fortnite Custom Afk Device
    • Fortnite Custom Fiend Device Beginner Friendly
    • Fortnite Simple Custom Streaming
    • Fortnite Animation Controller Device
    • Fortnite Top Down View Support Device
    VerseIsland · an archipelago of Verse & UEFN knowledge
    🗺️ Island atlas Learn Guides History About & Press Sources & Licensing Privacy Policy Terms Status

    Not affiliated with Epic Games. Fortnite, UEFN, Unreal Engine, and Verse are trademarks of Epic Games, Inc. Content is attributed to its source — see Sources & Licensing.

    🦜

    Scout · your island guide

    The Isle of Verse