3ICE's Maze Designer
Changelog:
0.0.0.7:
* Defined the Gameplay Constants
* Designed and implemented a 'Game Interface' (See the colors below)
* Wrote the terrain-changing functions
* Player leaves trigger
* Wrote GetCommand() for handling -commands
0.0.0.6:
* Every brush will have the following buttons:
. ._______________________________.
. | R1_ | R2_ | Flag | Help! |
. .-------------------------------.
. | R3_ | R4_ | Size+ | S Max |
. .-------------------------------.
. | Snow | Hero | Size- | S Min |
. .~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.
* Size+ and Size- increase/decrease the brush size (Min 1 max 5) (Dummy Unit)
* S Max and S Min set the Brush Size to it's max/min value (Dummy unit)
* Help! is just a tooltip for helping out new players (Dummy Ability)
- ToDo: Click it to display a random hint!
* R1_, R2_, R3_ and R4_ QS Relevant brushes (that are in the same row)
- Example: You have Ice2 selected, your Relevant tiles are: Snow Ice1 Ice2 Ice3
- We don't have to use Dummy units here
* Snow QS The Snow tile (Deleting is the most useful function, but it is underestimated by players)
- However this forces us to create another dummy unit, because
- original Snow is already used as a Relevant (Which puts it in the top left corner)
- So we have to make a copy (Dummy) unit to be able to put it in the bottom left corner too
* Hero QS our Demon Hunter (Also teleports the hero to the Flag!)
- And check if the flag != null or else we can get weird results
* The functions for these buttons will be written later
* Improved the skins of Terrain Brushes (+200 kb map size...)
0.0.0.5:
* Improved the sliding system:
- Now it is inside a loop and doesn't call ForGroup()
- Now it checks and skips not playing heroes (Leavers)
- Now we call Death() instead of KillUnit() so we can handle all types of hero death the same way
+ (Death() is called by TriggerExecute(udg_K[i]))
- Instead of the old value, '0.017453278', we now only use '0.01745' (So many digits are unimportant)
- Fixed an infinite loop, it was building up lag over time now it doesn't
* Selected the terrains we will work with (Limit is 16):
. | JASS | Tileset | Name | Path: |
. | ---- | ---------------- | ---------------- | ---------------------------------------------- |
. | Nsnw | Northrend | Snow | TerrainArt\Northrend\North_Snow.blp |
. | Glvc | Underground | Lava Cracks | TerrainArt\Dungeon2\GLavaCracks.blp |
. | Glav | Underground | Lava | TerrainArt\Dungeon2\GLava.blp |
. | Nice | Northrend | Ice | TerrainArt\Northrend\North_ice.blp |
. | Bdsd | Barrens | Dark Desert | TerrainArt\Barrens\Barrens_DesertDark.blp |
. | Vcbp | Village | Cobble Path | TerrainArt\Village\Village_CobblePath.blp |
. | Dlav | Dungeon | Cave Lava | TerrainArt\Dungeon\Cave_Lava.blp |
. | Dlvc | Dungeon | Cave Lava Cracks | TerrainArt\Dungeon\Cave_LavaCracks.blp |
. | Lgrd | Lordaeron Summer | Dark Grass | TerrainArt\LordaeronSummer\Lords_GrassDark.blp |
. | Ygsb | Cityscape | Grass | TerrainArt\Cityscape\City_Grass.blp |
. | Xhdg | Dalaran | Grass Trim | TerrainArt\Dalaran\Dalaran_GrassTrim.blp |
. | Vcrp | Village | Crops | TerrainArt\Village\Village_Crops.blp |
. | Ybtl | Cityscape | Brick | TerrainArt\Cityscape\City_BrickTiles.blp |
. | Ywmb | Cityscape | White Marble | TerrainArt\Cityscape\City_WhiteMarble.blp |
. | Xrtl | Dalaran | Round Tiles | TerrainArt\Dalaran\Dalaran_RoundTiles.blp |
. | Ndrt | Northrend | Dirt (Cliff) | TerrainArt\Northrend\North_dirt.blp |
. | | | | |
. | ---- | ---------------- | ---------------- | ---------------------------------------------- |
* Brush:
- Created 16 models for the brushes. They are cubes with animated skins, showing their terrain-type.
- Selecting one will enlarge its size (function Select and function Deselect)
- Created 16 custom units for the 16 brush types (Unit type = Structure!)
- And finally, placed 144 units (9 players * 16 brushes = 144 units)
- Coding the actual terrain changing will come later
0.0.0.4:
* Changed Initialization to check whether the player was in game or not
* Fixed an infinite loop to have a correct exitwhen statement
* Created 9 I - triggers (Interaction range is 100) (Function not done)
* Created 9 K - triggers (Kill range is 45) (Function not done)
* Created 5+2 abilities: (The ones marked with an asterisk are not scripted yet)
. | Name | Lvl | • | Targ | Description |
. | --------------- | --- | - | ---- | -------------------------------------------------------------------------------- |
. | Wind Walk | 9 | W | Self | Gives 9-19--80% speed increase |
. | Unholy aura | 5 | U | Aura | Gives 11-22--55% speed increase |
. | Endurance aura | 5 | E | Aura | Gives 11-22--55% speed increase |
. | Adrenaline rush | 1 | A | Self | Gives 200% speed increase for 5 seconds (Ultimate at level 15) |
. | Fatality | 1 | F | Self | Invulnerability, fly, 500% speed, 999 dmg/sec Lasts until death (Ulti at 30) (*) |
. | Blink | N/A | B | Self | Allows the hero to freely move around in his own map, for debugging purposes (*) |
. | Teleport | N/A | T | Self | Brings up a dialog where you can select teleport destination (player's maze) (*) |
. | | | | | |
. | --------------- | --- | - | ---- | -------------------------------------------------------------------------------- |
* Planned UI:
- We only have space for 7 ability buttons
- We can only have 5 hero abilities
. ._______________________.
. | Mov | Stp | Hol | (7) |
. .-----------------------.
. | Ptr | (5) | (6) | Hro |
. .-----------------------.
. | (1) | (2) | (3) | (4) |
. .~~~~~~~~~~~~~~~~~~~~~~~.
-1: Wind Walk
-2: Endurance Aura
-3: Unholy Aura
-4: Blink (Only when at home) (Not a hero ability)
-5: Adrenaline Rush (Ultimate @ 15)
-6: Fatality (Ultimate @ 30)
-7: Teleport (Not a hero ability)
* Made the sliding trigger initially disabled (start after 5 seconds)
* Fixed a sliding related bug:
-Players were sliding perfectly toward East and West, but
-Players were sliding very slow toward North and South.
0.0.0.3:
* Added visibility
* Implemented my sliding system
* Put color codes into player names
0.0.0.2:
* Wrote a few lines of JASS for initializing the map
0.0.0.1:
* Set up everything in the Scenario menu
* Created 9 regions under the player areas, purpose:
- Trigger the 'Dead Zone'
- Limit the area where players can build
- Center of Region:
+ Respawn point
+ Teleport destination
+ Safespot (Players standing there cannot die from terrain)
0.0.0.0:
* New map (Dimensions: 192x192)
* Removed map boundary from everywhere
* Divided map into 9 equal parts:
- The map size is 48x48 LG
- Every player's area will be 15x15 LG
- Separated with 3 LG width of 'Dead Zone'
* Placed start locations in a lowered 6x6 MG large area
Legend:
. | Abbr | Meaning | Small Note | Large Note |
. | ----- | ------------------- | ---------- | ------------------------------------------- |
. | SG | Small grid | (gray) | 1/16 of a whole unit |
. | MG | Medium grid | (white) | 1/4 of a whole unit |
. | LG | Large grid | (yellow) | 1 whole unit |
. | udg | User-Defined Global | prefix | All variables created in the WE have this |
. | WE | World Editor | | Used to make maps |
. | rez | Revive, Resurrect | (rezzing) | When a hero comes back to life (from death) |
. | DIS | Disabled | | |
. | PAS | Passive | | |
. | BTN | Button | | |
. | Ice* | The Sliding Brushes | * = 1/2/3 | 1 = (Slow) 2 = (Medium) 3 = (Fast) |
. | QS | Quick-Select | | ~or, ~s, ~ing, ~ed |
. | Flag | Set Rally Point | | |
. | Dummy | Dummy Unit | | Used for triggering special functions |
. | [] | Array / Array Index | | |
. | | | | |
. | ----- | ------------------- | ---------- | ------------------------------------------- |
ColorTable:
. | |CFFrrggbb | Assigned to: | Note |
. | ---------- | ------------------------- | ------------------------------- |
. | |CFF000000 | Tooltip Background | Better black (b.tga) |
. | |CFF00FF00 | Tooltip Text | Green |
. | |CFF009900 | Tooltip Hotkey Highlight | Darker Green |
. | |CFF999999 | Tooltip Note | Gray |
. | |CFFFF0000 | Tooltop Warning | Red |
. | |CFF | | |
. | |CFF | | |
. | |CFF | | |
. | |CFF | | |
. | |CFF | | |
. | |CFF | | |
. | |CFF | | |
. | |CFF | | |
. | |CFF | | |
. | |CFF | | |
. | ---------- | ------------------------- | ------------------------------- |
ButtonPositions: (x,y))
. ._______________________.
. | 0,0 | 1,0 | 2,0 | 3,0 |
. .-----------------------.
. | 0,1 | 1,1 | 2,1 | 3,1 |
. .-----------------------.
. | 0,2 | 1,2 | 2,2 | 3,2 |
. .~~~~~~~~~~~~~~~~~~~~~~~.
Variables:
. | Name | Type | [] | Info |
. | -------- | ---------------- | -- | ------------------------------------------------- |
. | udg_C | Point | 9 | Center of the player areas |
. | udg_H | Unit | 9 | Heroes are stored in an array |
. | udg_P | Player | 9 | Players are stored in a variable too |
. | udg_i | Integer | No | Used as index (=counter) for the Sliding system |
. | udg_K | Trigger | 9 | This is a trigger array for handling death |
. | udg_I | Trigger | 9 | This is a trigger array for handling interaction |
. | udg_B | Integer | 16 | Player specific SIZE setting (0,1,2,3,4,5) |
. | udg_S | Integer | 16 | Player specific SHAPE setting (0Circle) (1Square) |
. | udg_p | Point | No | Sliding system is faster if we don't use locals |
. | udg_q | Point | No | Sliding system is faster if we don't use locals |
. | udg_N | String | 9 | Store the names of players in an array |
. | | | | |
. | -------- | ---------------- | -- | ------------------------------------------------- |
Commands:
. | Command | Arguments | Description |
. | ------- | --------- | -------------------------------------------------------------------------------- |
. | -brush | i{1-5} | Sets brush size(udg_B) to x |
. | -circle | | Sets brush shape(udg_S) to 0 (Circle) |
. | -square | | Sets brush shape(udg_S) to 1 (Square) |
. | -name | s{1-16} | Sets the player's name to s |
. | - | | |
. | | | |
. | | | |
. | | | |
. | | | |
. | | | |
. | | | |
. | | | |
. | | | |
. | | | |
. | | | |
. | | | |
. | | | |
. | | | |
. | | | |
. | | | |
. | | | |
. | | | |
. | ------- | --------- | -------------------------------------------------------------------------------- |