Skip to content

Instantly share code, notes, and snippets.

@NJ-006
Last active October 26, 2024 06:19
Show Gist options
  • Select an option

  • Save NJ-006/4bfc79e9b70ffeab6ac7b4fdce51107e to your computer and use it in GitHub Desktop.

Select an option

Save NJ-006/4bfc79e9b70ffeab6ac7b4fdce51107e to your computer and use it in GitHub Desktop.
---mobdefinition_Destructor---
Prefab :: colossus
Range Behavior :: [[Close Ranged]]
Abilities :: [[Hunter Phase Six Spiral]] [[Hunter Phase Six Middle Explosion]] [[Hunter Phase Six Room Limiter]] [[Hunter Phase Six Micro]] [[Hunter Phase Six Attack Two Throw]] [[Hunter Phase Six Attack One Explosion]] [[Hunter Phase Six Attack One Line]] [[Hunter Phase Six Attack One Shotgun]] [[Hunter Phase Six Mines]]
Bounding Box :: 0 2.73 2.5 3.0
Speed :: 800
Type :: Boss
Loot :: [[Colossus]]
---ability_Hunter Phase Six Mines---
Bullet Definition :: [[hunterpsixmines]]
Max Range :: 0.0
---bulletdef_hunterpsixmines---
sprite CirclePool 1
potency 0
fire 0 relative 0
aoeexplosion
radius 1
timedFill 20
damageEvery 20
wait 21
vanish
wait 20
sprite Basic 1.5
potency 175
radial bullets:1 speed:0 angle:0 directionType:absolute
radius 0.6
wait 350
---ability_Hunter Phase Six Spiral---
Bullet Definition :: [[hunterpsixspiral]]
Max Range :: 100.0
---bulletdef_hunterpsixspiral---
sprite Basic
potency 125
repeat bullets:3 speed:3 angle:0 angleChange:120 directionType:absolute
wait 1000
wait 5
repeat bullets:3 speed:3 angle:15 angleChange:120 directionType:absolute
wait 1000
wait 5
repeat bullets:3 speed:3 angle:30 angleChange:120 directionType:absolute
wait 1000
wait 5
repeat bullets:3 speed:3 angle:45 angleChange:120 directionType:absolute
wait 1000
wait 5
repeat bullets:3 speed:3 angle:60 angleChange:120 directionType:absolute
wait 1000
wait 5
repeat bullets:3 speed:3 angle:75 angleChange:120 directionType:absolute
wait 1000
wait 5
repeat bullets:3 speed:3 angle:90 angleChange:120 directionType:absolute
wait 1000
wait 5
repeat bullets:3 speed:3 angle:105 angleChange:120 directionType:absolute
wait 1000
---ability_Hunter Phase Six Middle Explosion---
Bullet Definition :: [[hunterpsixmidbomb]]
Max Range :: 100.0
---bulletdef_hunterpsixmidbomb---
sprite CirclePool 5
potency 200
radial bullets:1 speed:0 angle:0 directionType:absolute
radius 5
wait 210
---ability_Hunter Phase Six Room Limiter---
Bullet Definition :: [[hunterpsixroomlimiter]]
Max Range :: 100.0
---bulletdef_hunterpsixroomlimiter---
sprite CirclePool 3
potency 200
radial bullets:1 speed:0 angle:0 directionType:absolute
radius 3
wait 210
---ability_Hunter Phase Six Attack Two Throw---
Bullet Definition :: [[hunterpsixatt]]
VFX Charging :: trigger:RangeAttack*
Max Range :: 100.0
---bulletdef_hunterpsixatt---
sprite OrangePool 0.5
repeat bullets:4 speed:6 angle:0 angleChange:90 directionType:relative
radius 0
timedFill 30
wait 30
fire hunterpsixspecial
vanish
---bulletdef_hunterpsixspecial---
sprite Basic 0.2
potency 90
radial bullets:12 speed:1 directionType:absolute angle:0
radius 0.03
wait 1000
sprite Basic 1.5
---ability_Hunter Phase Six Micro---
Bullet Definition :: [[hunterpsixmicro]]
Max Range :: 100.0
VFX Cast :: trigger:Buff*
---bulletdef_hunterpsixmicro---
sprite Basic 0.2
color 3
potency 90
radial bullets:36 speed:1 angle:0 directionType:absolute
radius 0.03
wait 10000
wait 3
color 1
repeat bullets:4 speed:3 angle:0 angleChange:90 directionType:absolute
radius 0.03
wait 5000
wait 3
repeat bullets:4 speed:3 angle:15 angleChange:90 directionType:absolute
radius 0.03
wait 5000
wait 3
repeat bullets:4 speed:3 angle:30 angleChange:90 directionType:absolute
radius 0.03
wait 5000
wait 3
repeat bullets:4 speed:3 angle:45 angleChange:90 directionType:absolute
radius 0.03
wait 5000
wait 3
repeat bullets:4 speed:3 angle:60 angleChange:90 directionType:absolute
radius 0.03
wait 5000
wait 3
repeat bullets:4 speed:3 angle:75 angleChange:90 directionType:absolute
radius 0.03
wait 5000
wait 3
repeat bullets:4 speed:3 angle:90 angleChange:90 directionType:absolute
radius 0.03
wait 5000
wait 3
repeat bullets:4 speed:3 angle:75 angleChange:90 directionType:absolute
radius 0.03
wait 5000
wait 3
color 3
radial bullets:36 speed:1 angle:20 directionType:absolute
radius 0.03
wait 10000
color 1
repeat bullets:4 speed:3 angle:60 angleChange:90 directionType:absolute
radius 0.03
wait 5000
wait 3
repeat bullets:4 speed:3 angle:45 angleChange:90 directionType:absolute
radius 0.03
wait 5000
wait 3
repeat bullets:4 speed:3 angle:30 angleChange:90 directionType:absolute
radius 0.03
wait 5000
wait 3
repeat bullets:4 speed:3 angle:15 angleChange:90 directionType:absolute
radius 0.03
wait 5000
---ability_Hunter Phase Six Attack One Shotgun---
Bullet Definition :: [[hunterpsixaos]]
VFX Charging :: trigger:RangeAttack*
Max Range :: 0.0
---bulletdef_hunterpsixaos---
potency 100
color 3
radial speed:4 bullets:16 angle:0 directionType:relative
wait 1000
wait 10
radial speed:4 bullets:12 angle:15 directionType:relative
wait 1000
---ability_Hunter Phase Six Attack One Line---
Bullet Definition :: [[hunterpsixaol]]
VFX Charging :: trigger:RangeAttack*
Max Range :: 100.0
---bulletdef_hunterpsixaol---
sprite OrangePool 0.5
potency 0
fire 0 relative 0
aoeexplosion
radius 0.5
timedFill 10
damageEvery 10
wait 10
wait 1
vanish
wait 10
potency 100
sprite Custom_7
line bullets:6 speed:7 delay:1 directionType:relative
wait 1000
---ability_Hunter Phase Six Attack One Explosion---
Bullet Definition :: [[hunterpsixaoe]]
Max Range :: 100.0
---bulletdef_hunterpsixaoe---
sprite CirclePool 2
potency 200
fire 0 relative 0
aoeexplosion
radius 1.9
timedFill 20
damageEvery 20
wait 20
vfx ColossusExplosion 5
wait 1
vanish
---script_colossus_Monster---
hp6hi := func() {
scriptVars["hp6spiral"]=1.0
}
hp6greetings := func() {
scriptVars["hp6midbomb"]=1.0
}
hp6hola := func() {
scriptVars["hp6atk2micro"]=0.0
}
hp6salut := func() {
scriptVars["hp6throw"]=0.0
}
hp6bonjour := func() {
scriptVars["hp6firstattackbomb"]=0.0
}
hp6hello := func() {
scriptVars["hp6first"]=0.0
}
hp6salutations := func() {
scriptVars["hp6mines"]=0.0
}
tp6hi := func() {
scriptVars["hp6timer"]=0.0
}
//attack 1
if is_undefined(scriptVars["hp6timer"]) {
tp6hi()
}
scriptVars["hp6timer"]+=delta
log(scriptVars["hp6timer"])
if scriptVars["hp6timer"] < 8 {
changeAttackBehaviour(myEntityId, "Stationary")
setPosition(myEntityId, positionInCurrentRoom(myEntityId, [16.0,18.0,0.0]))
}
if scriptVars["hp6timer"] > 8.0 && scriptVars["hp6timer"] < 48.0 {
if !isDead && targetEntityId !=0 {
changeAttackBehaviour(myEntityId, "Close Ranged")
if is_undefined(scriptVars["hp6mines"]){
hp6salutations()
}
scriptVars["hp6mines"] += delta
if scriptVars["hp6mines"] >= 1.5 {
useAbilityAtPosition(myEntityId, "Hunter Phase Six Mines", [0.0,0.0,0.0], positionInCurrentRoom(myEntityId, [16.0,16.0,0.0]))
scriptVars["hp6mines"] = 0
}
if is_undefined(scriptVars["hp6spiral"]){
hp6hi()
}
scriptVars["hp6spiral"]+=delta
if scriptVars["hp6spiral"]>2.3 {
useAbilityAtPosition(myEntityId, "Hunter Phase Six Spiral", positionInCurrentRoom(myEntityId, [16.0,16.0,0.0]))
scriptVars["hp6spiral"]=0.0
}
if is_undefined(scriptVars["hp6midbomb"]){
hp6greetings()
}
scriptVars["hp6midbomb"]+=delta
if scriptVars["hp6midbomb"]>1 {
useAbilityAtPosition(myEntityId, "Hunter Phase Six Middle Explosion", positionInCurrentRoom(myEntityId, [16.0,16.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [28.0,28.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [28.0,4.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [4.0,4.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [28.0,16.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [4.0,16.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [16.0,4.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [16.0,28.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [4.0,28.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [28.0,10.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [10.0,4.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [4.0,10.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [10.0,28.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [4.0,22.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [22.0,4.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [22.0,28.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [28.0,22.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [6.0,6.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [26.0,26.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [26.0,6.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [6.0,26.0,0.0]))
scriptVars["hp6midbomb"]=0
}
if is_undefined(scriptVars["hp6firstattackbomb"]){
hp6bonjour()
}
scriptVars["hp6firstattackbomb"]+=delta
if scriptVars["hp6firstattackbomb"]>3.0 {
scriptVars["phase"] = entityPosition(myEntityId)
scriptVars["test"] = scriptVars["phase"][0]
scriptVars["test1"] = scriptVars["phase"][1]
useAbilityAtPosition(myEntityId, "Hunter Phase Six Attack One Explosion", [scriptVars["test"] + 9 ,scriptVars["test1"] + 2.5 ,0.0])
useAbilityAtPosition(myEntityId, "Hunter Phase Six Attack One Explosion", [scriptVars["test"] + 2.5 ,scriptVars["test1"] + 9 ,0.0])
useAbilityAtPosition(myEntityId, "Hunter Phase Six Attack One Explosion", [scriptVars["test"] - 9 ,scriptVars["test1"] + 2.5 ,0.0])
useAbilityAtPosition(myEntityId, "Hunter Phase Six Attack One Explosion", [scriptVars["test"] - 2.5 ,scriptVars["test1"] - 9 ,0.0])
useAbilityAtPosition(myEntityId, "Hunter Phase Six Attack One Explosion", [scriptVars["test"] + 7 ,scriptVars["test1"] + 7 ,0.0])
useAbilityAtPosition(myEntityId, "Hunter Phase Six Attack One Explosion", [scriptVars["test"] + 7 ,scriptVars["test1"] - 7 ,0.0])
useAbilityAtPosition(myEntityId, "Hunter Phase Six Attack One Explosion", [scriptVars["test"] - 7 ,scriptVars["test1"] + 7 ,0.0])
useAbilityAtPosition(myEntityId, "Hunter Phase Six Attack One Explosion", [scriptVars["test"] - 7 ,scriptVars["test1"] - 7 ,0.0])
useAbilityAtPosition(myEntityId, "Hunter Phase Six Attack One Explosion", [scriptVars["test"] - 9 ,scriptVars["test1"] - 2.5 ,0.0])
useAbilityAtPosition(myEntityId, "Hunter Phase Six Attack One Explosion", [scriptVars["test"] + 9 ,scriptVars["test1"] - 2.5 ,0.0])
useAbilityAtPosition(myEntityId, "Hunter Phase Six Attack One Explosion", [scriptVars["test"] - 2.5 ,scriptVars["test1"] + 9 ,0.0])
useAbilityAtPosition(myEntityId, "Hunter Phase Six Attack One Explosion", [scriptVars["test"] + 2.5 ,scriptVars["test1"] - 9 ,0.0])
scriptVars["hp6firstattackbomb"]=0
}
if is_undefined(scriptVars["hp6first"]){
hp6hello()
}
scriptVars["hp6first"]+=delta
if scriptVars["hp6first"]>1.5 {
scriptVars["hp6phase"] = entityPosition(myEntityId)
scriptVars["hp6test"] = scriptVars["hp6phase"][0]
scriptVars["hp6test1"] = scriptVars["hp6phase"][1]
useAbilityAtPosition(myEntityId, "Hunter Phase Six Attack One Line", [scriptVars["hp6test"] - 5 ,scriptVars["hp6test1"] - 5 ,0.0])
useAbilityAtPosition(myEntityId, "Hunter Phase Six Attack One Line", [scriptVars["hp6test"] + 5 ,scriptVars["hp6test1"] - 5 ,0.0])
useAbilityAtPosition(myEntityId, "Hunter Phase Six Attack One Line", [scriptVars["hp6test"] - 5 ,scriptVars["hp6test1"] + 5 ,0.0])
useAbilityAtPosition(myEntityId, "Hunter Phase Six Attack One Line", [scriptVars["hp6test"] + 5 ,scriptVars["hp6test1"] + 5 ,0.0])
useAbilityAtPosition(myEntityId, "Hunter Phase Six Attack One Shotgun", positionInCurrentRoom(myEntityId, [23.0,3.0,0.0]))
scriptVars["hp6first"]=0.0
}
}
}
//interval
if scriptVars["hp6timer"] > 48 && scriptVars["hp6timer"] < 56 {
changeAttackBehaviour(myEntityId, "Stationary")
setPosition(myEntityId, positionInCurrentRoom(myEntityId, [16.0,18.0,0.0]))
}
//attack 2
if scriptVars["hp6timer"] > 56.0 {
if !isDead && targetEntityId !=0 {
setPosition(myEntityId, positionInCurrentRoom(myEntityId, [16.0,18.0,0.0]))
hp := getPoints(myEntityId, "hp", "current")
log(hp)
if is_undefined(scriptVars["hp6spiral"]){
hp6hi()
}
scriptVars["hp6spiral"]+=delta
if scriptVars["hp6spiral"]>2.3 {
useAbilityAtPosition(myEntityId, "Hunter Phase Six Spiral", positionInCurrentRoom(myEntityId, [16.0,16.0,0.0]))
scriptVars["hp6spiral"]=0.0
}
if is_undefined(scriptVars["hp6midbomb"]){
hp6greetings()
}
scriptVars["hp6midbomb"]+=delta
if scriptVars["hp6midbomb"]>1 {
useAbilityAtPosition(myEntityId, "Hunter Phase Six Middle Explosion", positionInCurrentRoom(myEntityId, [16.0,16.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [28.0,28.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [28.0,4.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [4.0,4.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [28.0,16.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [4.0,16.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [16.0,4.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [16.0,28.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [4.0,28.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [28.0,10.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [10.0,4.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [4.0,10.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [10.0,28.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [4.0,22.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [22.0,4.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [22.0,28.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [28.0,22.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [6.0,6.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [26.0,26.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [26.0,6.0,0.0]))
useAbilityAtPosition(myEntityId, "Hunter Phase Six Room Limiter", positionInCurrentRoom(myEntityId, [6.0,26.0,0.0]))
scriptVars["hp6midbomb"]=0
}
if is_undefined(scriptVars["hp6atk2micro"]){
hp6hola()
}
scriptVars["hp6atk2micro"]+=delta
if scriptVars["hp6atk2micro"]>5.0 {
useAbilityAtPosition(myEntityId, "Hunter Phase Six Micro", positionInCurrentRoom(myEntityId, [16.0,16.0,0.0]), entityPosition(targetEntityId))
scriptVars["hp6atk2micro"]=0
}
if is_undefined(scriptVars["hp6throw"]){
hp6salut()
}
scriptVars["hp6throw"]+=delta
if scriptVars["hp6throw"]>2.5 {
useAbilityAtPosition(myEntityId, "Hunter Phase Six Attack Two Throw", [0.0,0.0,0.0])
scriptVars["hp6throw"]=0
}
}
}
if scriptVars["hp6timer"] > 81.0 {
scriptVars["hp6timer"]=0.0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment