FILES ----- behaviors\monsters\boss\guardian\lowgroundbeam.behavior behaviors\monsters\boss\guardian\targetedbeam.behavior dialog\fenerox.config monsters\boss\guardianminion\collidingminion.lua monsters\boss\guardianminion\minionline.lua objects\ancientvault\terraforge\terraforge.object objects\holiday\holidaypole\holidaypole.object projectiles\guns\plasmabullets\fireplasma\fireplasma.projectile scripts\actions\boss\guardian.lua stagehands\bossplanner\bossplanner.lua stagehands\bossplanner\bossabilities\bouncingbeam.bossability DIFFS ----- behaviors\monsters\boss\guardian\lowgroundbeam.behavior 2a3 > "description": "", 139c140 < "tolerance": 2 --- > "tolerance": 0.5 behaviors\monsters\boss\guardian\targetedbeam.behavior 3d2 < "description": "", 20c19,20 < "bounces": 0 --- > "bounces": 0, > "track": true 191a192,258 > "title": "succeeder", > "type": "decorator", > "name": "succeeder", > "parameters": {}, > "child": { > "title": "sequence", > "type": "composite", > "name": "sequence", > "parameters": { > "type": "sliding", > "state": "off", > "fromEntity": "attackTarget", > "toEntity": "fleeTarget" > }, > "children": [ > { > "title": "inverter", > "type": "decorator", > "name": "inverter", > "parameters": {}, > "child": { > "title": "optional", > "type": "decorator", > "name": "optional", > "parameters": { > "shouldRun": "" > }, > "child": { > "title": "success", > "type": "action", > "name": "success", > "parameters": {} > } > } > }, > { > "title": "parallel", > "type": "composite", > "name": "parallel", > "parameters": { > "fail": -1, > "success": -1 > }, > "children": [ > { > "title": "timer", > "type": "action", > "name": "timer", > "parameters": { > "time": 0.1 > } > }, > { > "title": "rotateGuardianHand", > "type": "action", > "name": "rotateGuardianHand", > "parameters": { > "handPart": "righthand", > "angle": "aimAngle" > } > } > ] > } > ] > } > }, > { 301,308c368,389 < "title": "entityPosition", < "type": "action", < "name": "entityPosition", < "parameters": { < "entity": "target" < }, < "output": { < "position": "targetPosition" --- > "title": "succeeder", > "type": "decorator", > "name": "succeeder", > "parameters": {}, > "child": { > "title": "optional", > "type": "decorator", > "name": "optional", > "parameters": { > "shouldRun": "" > }, > "child": { > "title": "entityPosition", > "type": "action", > "name": "entityPosition", > "parameters": { > "entity": "target" > }, > "output": { > "position": "targetPosition" > } > } dialog\fenerox.config 22c22 < "Unknown person. quite hair. Nice beard!" --- > "Unknown person. Quite hairy. Nice beard!" monsters\boss\guardianminion\collidingminion.lua 49a50 > monster.setAnimationParameter("targetId", nil) monsters\boss\guardianminion\minionline.lua 9c9,10 < localAnimator.addDrawable({line = {{0, 0}, toTarget}, width = 2.0, position = entity.position(), color = {128, 128, 255, 180}}, "Monster-10"); --- > local mag = math.min(50, math.max(10, world.magnitude(toTarget))) > localAnimator.addDrawable({line = {{0, 0}, toTarget}, width = math.max(1.0, 3.0 * (50 - mag) / 50), position = entity.position(), color = {164, 81, 196, 180}}, "Monster-10"); objects\ancientvault\terraforge\terraforge.object 5c5 < "category" : "decorative", --- > "category" : "other", 13,19c13,19 < // "apexDescription" : "-todo-", < // "avianDescription" : "-todo-", < // "floranDescription" : "-todo-", < // "glitchDescription" : "-todo-", < // "humanDescription" : "-todo-", < // "hylotlDescription" : "-todo-", < // "novakidDescription" : "-todo-", --- > "apexDescription" : "This massive ancient machine hums with mysterious energy.", > "avianDescription" : "This ancient machine is still operational!", > "floranDescription" : "Ancient machine sparkss with energy.", > "glitchDescription" : "Astounded. This machine is ancient, yet still operational.", > "humanDescription" : "This ancient machine seems powered by some mysterious energy.", > "hylotlDescription" : "There's elegance in this ancient machine's design... Clearly master craftsmanship.", > "novakidDescription" : "This here machine looks ancient, and still seems to be workin'.", objects\holiday\holidaypole\holidaypole.object 8c8 < "description" : "A holiday pole! Its festively striped.", --- > "description" : "A holiday pole! It's festively striped.", projectiles\guns\plasmabullets\fireplasma\fireplasma.projectile 21,22c21 < "damageKind" : "fireplasmabullet", < "damageType" : "IgnoresDef" --- > "damageKind" : "fireplasmabullet" scripts\actions\boss\guardian.lua 275c275,283 < local aimVector = vec2.rotate(vec2.norm(world.distance(fuzzedPosition, sourcePosition)), util.randomInRange({-fuzzAngle / 2, fuzzAngle / 2})) --- > > local aimAngle > if fuzzAimPosition == 0 then > aimAngle = vec2.angle(world.distance(fuzzedPosition, entity.position())) > else > aimAngle = vec2.angle(world.distance(fuzzedPosition, sourcePosition)) > end > local aimVector = vec2.withAngle(aimAngle + util.randomInRange({-fuzzAngle / 2, fuzzAngle / 2})) > 288d295 < stagehands\bossplanner\bossplanner.lua 416c416 < local ability = bossAbilities[op.name] --- > local ability = copy(bossAbilities[op.name]) stagehands\bossplanner\bossabilities\bouncingbeam.bossability 25c25,26 < "angularSpeed" : 0 --- > "angularSpeed" : 0, > "track" : false