Last active
October 11, 2024 16:50
-
-
Save nulleqcodes/9eb96afd05c29a4008dc0d7ea85a83db to your computer and use it in GitHub Desktop.
Wyld Land Colossus
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ---mobdefinition_Destructor--- | |
| Prefab :: colossus | |
| Range Behavior :: [[Medium Ranged]] | |
| Abilities :: [[Colossus Spin]] [[Colossus Slam]] [[Colossus Shoot]] [[Colossus Explosion]] | |
| Bounding Box :: 0 2.73 2.5 3.0 | |
| Type :: Boss | |
| Loot :: [[Colossus]] | |
| ---ability_Colossus Spin--- | |
| Bullet Definition :: [[colossusspin]] | |
| VFX Charging :: trigger:SpinAttack* | |
| Lock Time :: 0.5 | |
| Cast Time :: 0.5 | |
| ---bulletdef_colossusspin--- | |
| potency 100 | |
| shake SmallExplosion | |
| radial bullets:36 speed:6 | |
| wait 10 | |
| radial bullets:24 speed:7 | |
| ---ability_Colossus Slam--- | |
| Bullet Definition :: [[colossuscircle]] | |
| Max Range :: 100.0 | |
| VFX Charging :: trigger:Attack* | |
| Cast Time :: 0.2 | |
| Lock Time :: 1.0 | |
| ---bulletdef_colossuscircle--- | |
| sprite CirclePool 2 | |
| potency 250 | |
| fire 0 relative 0 | |
| aoeexplosion | |
| radius 2 | |
| timedFill 40 | |
| damageEvery 40 | |
| wait 40 | |
| vfx ColossusExplosion 5 | |
| wait 1 | |
| vanish | |
| wait 40 | |
| sprite Basic | |
| potency 100 | |
| radial bullets:24 speed:6 | |
| ---ability_Colossus Shoot--- | |
| Bullet Definition :: [[colossusshoot]] | |
| VFX Charging :: trigger:RangeAttack* | |
| Cast Time :: 1.0 | |
| Lock Time :: 0.5 | |
| ---bulletdef_colossusshoot--- | |
| potency 100 | |
| nway speed:5 bullets:10 spread:40 angle:0 directionType:relative | |
| wait 10 | |
| nway speed:7 bullets:7 spread:25 angle:0 directionType:relative | |
| ---ability_Colossus Explosion--- | |
| Bullet Definition :: [[colossuscircle]] | |
| Max Range :: 100.0 | |
| VFX Cast :: trigger:Buff* | |
| ---bulletdef_colossuscircle--- | |
| sprite CirclePool 2 | |
| potency 250 | |
| fire 0 relative 0 | |
| aoeexplosion | |
| radius 2 | |
| timedFill 40 | |
| damageEvery 40 | |
| wait 40 | |
| vfx ColossusExplosion 5 | |
| wait 1 | |
| vanish | |
| wait 40 | |
| sprite Basic | |
| potency 100 | |
| radial bullets:24 speed:6 | |
| ---script_colossus_Monster--- | |
| resetVars := func() { | |
| scriptVars["timeSinceSpin"] = 0.0 | |
| scriptVars["timeSinceBuff"] = 10.0 | |
| scriptVars["timeSinceBuffSpawn"] = 0.0 | |
| scriptVars["timeSinceSlam"] = 0.0 | |
| scriptVars["timeSinceShoot"] = 0.0 | |
| } | |
| doSlam := func() { | |
| currentNearby := getNearbyEntities(myEntityId) | |
| for i := 0; i < len(currentNearby); i++ { | |
| if isEnemyOfEntity(myEntityId, currentNearby[i].id) { | |
| useAbilityAtPosition(myEntityId, "Colossus Slam", currentNearby[i].position) | |
| } | |
| } | |
| } | |
| if !isDead { | |
| if is_undefined(scriptVars["timeSinceSpin"]) { | |
| resetVars() | |
| } | |
| if targetEntityId > 0 { | |
| scriptVars["timeSinceSpin"] += delta | |
| scriptVars["timeSinceBuff"] += delta | |
| scriptVars["timeSinceBuffSpawn"] += delta | |
| scriptVars["timeSinceSlam"] += delta | |
| scriptVars["timeSinceShoot"] += delta | |
| if castingAction == 0 { | |
| if scriptVars["timeSinceBuff"] < 10.0 { | |
| if scriptVars["timeSinceBuffSpawn"] > 1.0 { | |
| scriptVars["timeSinceBuffSpawn"] = 0.0 | |
| //Todo: pick random locations | |
| useAbilityAtPosition(myEntityId, "Colossus Explosion", randomPositionInCurrentRoom(myEntityId, 2.0)) | |
| useAbilityAtPosition(myEntityId, "Colossus Explosion", randomPositionInCurrentRoom(myEntityId, 2.0)) | |
| doSlam() | |
| } | |
| } else if scriptVars["timeSinceSlam"] > 10.0 { | |
| scriptVars["timeSinceSlam"] = 0.0 | |
| doSlam() | |
| } else if scriptVars["timeSinceBuff"] > 30.0 { | |
| scriptVars["timeSinceBuff"] = 0.0 | |
| } else if scriptVars["timeSinceShoot"] > 1.5 { | |
| scriptVars["timeSinceShoot"] = 0.0 | |
| useAbilityAtTarget(myEntityId, "Colossus Shoot", randomTargetEntityId(myEntityId, 100.0), 2.0) | |
| } | |
| if scriptVars["timeSinceSpin"] > 6.0 { | |
| scriptVars["timeSinceSpin"] = 0.0 | |
| useAbilityAtPosition(myEntityId, "Colossus Spin", entityPosition(myEntityId)) | |
| } | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment