Type: NPC Brain
Level: not in gallery
Pages: 9
Description: Found in the Enemy – Bandit Rogue Assembly. This enemy throws daggers after emoting. This brain contains multibrains that are not included in the brain gallery and are therefore inaccessible. I will not be writing out this kode. Contains the same page structure as the Fighter brain.
page 1 @Wander
- WHEN [once]
- …WHEN DO [textvar:name][equals][text:Bandit Rogue]
- …WHEN DO [team][equals][team 2]
- …WHEN DO [call page] [page:@Init]
- …
- WHEN [boolvar:alerted] DO [switch page][page:@Pursue]
Detect enemy - WHEN [detect][enemies][nearest object]
- …WHEN [it][attackable][and][it][visible] DO [boolvar:alerted][equals][true]
- …/…WHEN DO [objvar:target][equals][it]
- WHEN [else][see][enemies][nearest object][or][see][player][neutrals][nearest object] DO [boolvar:alerted][equals][true]
- …WHEN DO [objvar:target][equals][it]
- …WHEN DO [else][health][changed]
- …/….WHEN DO [objvar:target][equals][it]
- …/…WHEN DO [boolvar:alerted][equals][true]
Alerted to an enemy - WHEN DO [boolvar:alerted]
- …WHEN [for each of][detect][allies]
- …/…WHEN DO [it][objvar:target][equals][objvar:target]
- …/…WHEN DO [it][boolvar:alerted][equals][true]
- …WHEN DO [switch page][page:@Pursue]
Wander when not engaged - WHEN [countdown timer][numvar:wander time][loop][trigger on start]
- …WHEN [distance to][vectorvar:Spawn position][greater than][Max Wander distance] DO [vectorvar:Wander Direction][equals][vectorvar:Spawn position][minus][position]
- …/…WHEN [else][distance to][allies][nearest object][less than][numvar:Spread DIstance]
- …/…./….WHEN DO [objvar:Near object][equals][allies][nearest object]
- …/…./…/…WHEN DO [vectorvar:Wander Direction][equals][position][minus][objvar:Near object][position]
- …/…/….WHEN [else] DO [vectorvar:Wander direction][equals][random vector]
- WHEN DO [move][in direction][vectorvar:Wander Direction][at speed][numvar Wander Move Speed]
page 2 @Pursue
- WHEN [once]
- …WHEN DO [numvar:repel ally distance][equals][2.5][plus][random number][0.25][to][-0.25]
- …WHEN DO [numvar:combat range][equals][8]
- WHEN DO [call page][@Targeting]
- WHEN [numvar: Target distance][less than][combat range] DO [switch page][page:@Orbit]
- WHEN [countdown timer][1][and][(][numvar:target distance][greater than][numvar: combat range][)]
- …WHEN DO [ground acceleration][equals][5]
- …WHEN DO [numvar:walk or run][equals][1.75]
- …WHEN [else]
- …/…WHEN DO [ground acceleration][equals][3.5]
- …/…WHEN DO [numvar:walk or run][equals][0.75]
- WHEN DO [move][toward][objvartarget][at speed][numvar:walk or run]
- WHEN [detect][allies]
- …WHEN [distance to][it][less than][numvar:repel ally distance]
- …/….WHEN DO [move][away from][it][with strafing][at speed][0.75]
page 3 @Orbit
- WHEN [page entered] DO [boolvar:moving left][equals][random number][less than][0.5]
- WHEN [once] DO
- …WHEN DO [numvar:enemy repel range][equals][1.5]
- …WHEN DO [numvar:target out of range][equals][7]
- WHEN DO [call page][page:@Targeting]
- WHEN [numvar:target distance][greater than or equal to][numvar:target out of range]
- …WHEN DO [switch page][page@Pursue]
- WHEN [numvar:target distance][less than][numvar:combat range]
- …WHEN DO [switch page][page@Signaling]
- WHEN [numvar:target distance][less than or equal to][numvar:enemy repel range] DO [switch page][@Back off]
- WHEN [numvar:target distance][greater than ][numvar:combat range] DO [move][toward][objvar:target]
- WHEN [countdown timer][random number][3][to][5][loop] DO [toggle][boolvar:moving left]
- WHEN [boolvar:moving left] DO [vectorvar:Strafing Direction][equals][left]
- …WHEN [else] DO [vectorvar:Strafing Direction][equals][right]
- .
- …WHEN DO [vectorvar:toward player][equals][(][objvar:target][center][minus][center][)][normal]
- …WHEN DO [numvar:Move Speed][equals][(][numvar:Target out of range][minus][(][distance to][target][)][)][divided by][numvar:Target out of range][minus][numvar:combat range]
- …WHEN DO [vectorvar:Final Move][equals][vectorvar:Strafing Direction][plus][(][vectorvar:toward player][minus][vectorvar:Strafing Direction][)][multiplied][numvar:Move Speed]
- …WHEN DO [move][in direction][vectorvar:Final Move][at speed][0.5][with strafing]
- .
- WHEN [countdown timer][0.15][loop][trigger on start]
- …WHEN [detect][allies]
- …/…WHEN [distance to][it][less than][numvar: repel ally distance]
- …/…/…WHEN DO [move][away from][it][with strafing][at speed][ 0.75]
page 4 @Close In
- WHEN [once] DO [numvar:attack range][equals][7]
- WHEN DO [call page][page:@Targeting]
- WHEN [numvar:target distance][less than or equal to][numvar:attack range]
- ….WHEN [countdown timer][1.5] DO [switch page][page:@Attack]
- …WHEN [else] Do [move][toward][target]
- WHEN [countdown timer][3] DO [switch page][page:@Orbit]
page 5 @Back Off
- WHEN DO [call page][page:@Targeting]
- WHEN DO [move][away from][objvar:target][at speed][0.5][with strafing]
- WHEN [numvar:target distance][greater than or equal to][numvar:combat range] DO [switch page][page:@Orbit]
- WHEN [countdown timer][1.5]
- …WHEN DO [dodge][distance][5][with strafing][invulnerable]
page 6 @Attack
- WHEN [once]
- …WHEN DO [#accuracy][equals][1][minus][#accuracy multiplier][multiplied by][1]
- …WHEN [#accuracy][less than][0] DO [#accuracy][equals][0]
- …WHEN DO [#damage][equals][(][1][plus][#damage multiplier][)][multiplied by]
- …WHEN DO [#attack speed][equals][5][multiplied by][#attack speed multiplier]
- WHEN [countdown timer][3]
- …WHEN DO [#aggression][equals][0]
- …WHEN DO [boolvar:attacked recently][equals][true]
- ….WHEN DO [switch page][page:@Orbit]
- WHEN DO [vectorvar:shoot near target][equals][objvar:target][center]
- WHEN DO [turn][toward][objvar:target]
- WHEN [shooting]
- …WHEN [duration timer][1][in frames] DO [objvar:telegraph signal][equals][create][missing prop: Attack Telegraph Signal][at position][above]
- WHEN [page entered] DO [emote][mad]
- WHEN DO [highlight][yellow][strength][0.5]
- WHEN [countdown timer][1.5][hold time][1.5]
- …WHEN DO [shoot][IWP:knife][at][vectorvar:shoot near target][plus][random vecto][circle][radius][#accuracy][at speed][25][launch frequency][#attack speed][with damage][0][without hit reaction]
page 7 @Signaling
- WHEN DO [boolvar:highest aggression][equals][true]
- WHEN [for each of][objvar:target][enemies][objects closer than][10][from][objvar:target]
- …WHEN [it][#aggression][greater than][me][#aggression]
- …/…WHEN DO [boolvar:highest aggression][equals][false]
- WHEN [boolvar:highest aggression]
- …WHEN DO [switch page][page:@close in]
page 8 @Targeting
- WHEN [objvar:target][is dead] DO [emote][Agree]
- WHEN [countdown timer][loop][trigger on start]
- …WHEN [enemies][nearest object][or][player][neutrals][nearest object]
- …/…WHEN [it][attackable][and][it][visible] DO [objvar:target][equals][it]
- …
- WHEN [countdown timer][0.3][loop][trigger on start] DO [#target distance][equals][distance to][objvar:target]
- WHEN DO [turn][toward][objvar:target]
- WHEN DO [#aggression][increment by][#aggression amount]
- WHEN [health][changed] DO [#aggression][increment by][#aggression amount]
page 9 @ Init
- WHEN [once]
- …WHEN DO [add brain][Temporary Health]
- …WHEN DO [add brain][Enemy Objectives][to slot][@Enemy Objectives Brain][to channel][Enemy Objectives Channel]
- …WHEN DO [add brain][Enemy Lights Brain][to slot][@Lights Brain][to channel][@Lights Channel]
- …WHEN DO [vectorvar:Spawn Position][equals][position]
- WHEN [once]
- …WHEN DO [health][equals][max health]
- …WHEN DO [objvar:my weapon][equals][create][Knife]
- …WHEN DO [equip][objvar:my weapon]
- …WHEN DO [#aggression amount][equals][50]
- …WHEN DO [#aggression][equals][random number][50][to][140][as integer]
- …WHEN DO [boolvar:can attack][equals][true]
- …WHEN DO [#attack cooldown][equals][1.25][plus][random number][0][to][3]
- …WHEN DO [#base speed][equals][1]
- …WHEN DO [#target distance][equals][0]
- …WHEN DO [boolvar:alerted][equals][false]
- WHEN [once]
- ..WHEN DO [numvar: Wander Distance][equals][2.5]
- …WHEN DO [numvar:Wander Move Speed][equals][0.4]
- …WHEN DO [numvar:Wander Turn Speed][equals][8]
- …WHEN DO [#Wander Timer][equals][3][plus][random number][-1][to][1]
- WHEN [once] DO [ground acceleration speed][equals][10]
- WHEN [once] DO [ground turn speed][equals][#Wander Turn Speed]
- WHEN [once]
- …WHEN DO [numvar:min health bonus][equals][negative][0.25]
- …WHEN DO [numvar:max health][equals][1]
- …
- …WHEN DO [numvar:min accuracy bonus][equals][negative][0.25]
- …WHEN DO [numvar:max accuracy bonus][equals][0.5]
- …
- …WHEN DO [numvar:min damage bonus][equals][negative][0.5]
- …WHEN DO [numvar:max damage bonus][equals][0.75]
- …
- …WHEN DO [numvar:min attack speed bonus][equals][negative][0.25]
- …WHEN DO [max attack speed bonus][equals][0.5]
- WHEN [once]
- …WHEN DO [numvar: health multiplier][equals][clamp][global][numvar:Difficulty][max][numvar:max health bonus][min][numvar:min health bonus]
- …WHEN DO [numvar: accuracy multiplier][equals][clamp][global][numvar:Difficulty][max][numvar:max accuracy bonus][min][numvar:min accuracy bonus]
- [numvar: damage multiplier][equals][clamp][global][numvar:Difficulty][max][numvar:max damage bonus][min][numvar:min damage bonus]
- [numvar: attack speed multiplier][equals][clamp][global][numvar:Difficulty][max][numvar:max attack speed bonus][min][numvar:min attack speed bonus]
- WHEN [once]
- …WHEN DO [max health][equals][max health][plus][max health][multiplied by][numvar:health ultiplier]
- …WHEN DO [health][equals][max health]
- …WHEN DO [equals][plus][multiplied by][#damage multiplier]