Flood Tool, Survival Mode for Azulian Tag

New features:
* Flood Tool for the editor. It replaces pixels of one color with another,
  contiguously. Has limits on how far from the original pixel it will color,
  to avoid infinite loops in case the user clicked on wide open void. The
  limit when clicking an existing color is 1200px or only a 600px limit if
  clicking into the void.
* Cheat code: 'master key' to play locked Story Mode levels.

Level GameRules feature added:
* A new tab in the Level Properties dialog
* Difficulty has been moved to this tab
* Survival Mode: for silver high score, longest time alive is better than
  fastest time, for Azulian Tag maps. Gold high score is still based on
  fastest time - find the hidden level exit without dying!

Tweaks to the Azulians' jump heights:
* Blue Azulian:  12 -> 14
* Red Azulian:   14 -> 18
* White Azulian: 16 -> 20

Bugs fixed:
* When editing your Palette to rename a color or add a new color, it wasn't
  possible to draw with that color until the editor was completely unloaded
  and reloaded; this is now fixed.
* Minor bugfix in Difficulty.String() for Peaceful (-1) difficulty to avoid
  a negative array index.
* Try and prevent user giving the same name to multiple swatches on their
  palette. Replacing the whole palette can let duplication through still.
This commit is contained in:
Noah 2022-03-26 13:55:06 -07:00
parent 2fab31d97b
commit c8479adde9

View File

@ -4,7 +4,7 @@ const color = Self.GetTag("color");
var playerSpeed = color === 'blue' ? 2 : 4, var playerSpeed = color === 'blue' ? 2 : 4,
aggroX = 250, // X/Y distance sensitivity from player aggroX = 250, // X/Y distance sensitivity from player
aggroY = color === 'blue' ? 100 : 200, aggroY = color === 'blue' ? 100 : 200,
jumpSpeed = color === 'blue' ? 12 : 14, jumpSpeed = color === 'blue' ? 14 : 18,
animating = false, animating = false,
direction = "right", direction = "right",
lastDirection = "right"; lastDirection = "right";
@ -14,7 +14,7 @@ if (color === 'white') {
aggroX = 1000; aggroX = 1000;
aggroY = 400; aggroY = 400;
playerSpeed = 8; playerSpeed = 8;
jumpSpeed = 16; jumpSpeed = 20;
} }
function setupAnimations(color) { function setupAnimations(color) {