From 849b7144713043bdabdbc2ee070d024bdb3f0339 Mon Sep 17 00:00:00 2001 From: Shaun Date: Fri, 25 Jun 2021 06:46:39 +0200 Subject: [PATCH] admin #1812: Removed helpers and tests from repo --- .gitignore | 7 - helpers/discord-images/logo.png | Bin 4793 -> 0 bytes helpers/discord-zone-images/caves.json | 385 --- helpers/discord-zone-images/caves.png | Bin 6303 -> 0 bytes helpers/discord-zone-images/estuary.json | 385 --- helpers/discord-zone-images/estuary.png | Bin 6625 -> 0 bytes helpers/discord-zone-images/sewer.json | 385 --- helpers/discord-zone-images/sewer.png | Bin 5782 -> 0 bytes helpers/discord-zone-images/tutorial.json | 385 --- helpers/discord-zone-images/tutorial.png | Bin 6307 -> 0 bytes helpers/item-tooltip/builder.js | 81 - helpers/item-tooltip/index.html | 21 - helpers/item-tooltip/styles.css | 76 - helpers/passives/client/css/main.css | 1 - helpers/passives/client/css/main.less | 59 - helpers/passives/client/css/ui.less | 1 - helpers/passives/client/index.html | 12 - helpers/passives/client/js/app.js | 31 - helpers/passives/client/js/client.js | 50 - helpers/passives/client/js/constants.js | 63 - helpers/passives/client/js/events.js | 47 - helpers/passives/client/js/generator.js | 303 --- helpers/passives/client/js/helpers.js | 113 - helpers/passives/client/js/input.js | 163 -- helpers/passives/client/js/main.js | 152 -- helpers/passives/client/js/renderer.js | 312 --- helpers/passives/client/js/tplNode.js | 27 - helpers/passives/client/plugins/css.js | 174 -- helpers/passives/client/plugins/html.js | 123 - helpers/passives/client/plugins/jquery.min.js | 4 - helpers/passives/client/plugins/json.js | 72 - helpers/passives/client/plugins/require.js | 2106 ----------------- helpers/passives/client/plugins/socket.js | 3 - helpers/passives/client/plugins/text.js | 391 --- helpers/passives/client/ui/factory.js | 78 - .../client/ui/templates/export/export.js | 20 - .../client/ui/templates/export/styles.css | 1 - .../client/ui/templates/export/styles.less | 28 - .../client/ui/templates/export/template.html | 8 - .../client/ui/templates/groups/groups.js | 210 -- .../client/ui/templates/groups/styles.css | 1 - .../client/ui/templates/groups/styles.less | 62 - .../client/ui/templates/groups/template.html | 13 - .../client/ui/templates/import/import.js | 31 - .../client/ui/templates/import/styles.css | 1 - .../client/ui/templates/import/styles.less | 45 - .../client/ui/templates/import/template.html | 9 - .../passives/client/ui/templates/load/load.js | 48 - .../client/ui/templates/load/styles.css | 1 - .../client/ui/templates/load/styles.less | 37 - .../client/ui/templates/load/template.html | 10 - .../passives/client/ui/templates/menu/menu.js | 63 - .../client/ui/templates/menu/styles.css | 1 - .../client/ui/templates/menu/styles.less | 48 - .../client/ui/templates/menu/template.html | 13 - .../passives/client/ui/templates/mode/mode.js | 30 - .../client/ui/templates/mode/styles.css | 1 - .../client/ui/templates/mode/styles.less | 48 - .../client/ui/templates/mode/template.html | 11 - .../client/ui/templates/nodeInfo/nodeInfo.js | 177 -- .../client/ui/templates/nodeInfo/styles.css | 1 - .../client/ui/templates/nodeInfo/styles.less | 111 - .../ui/templates/nodeInfo/template.html | 15 - .../ui/templates/renameGroup/renameGroup.js | 39 - .../ui/templates/renameGroup/styles.css | 1 - .../ui/templates/renameGroup/styles.less | 44 - .../ui/templates/renameGroup/template.html | 9 - .../passives/client/ui/templates/save/save.js | 35 - .../client/ui/templates/save/styles.css | 1 - .../client/ui/templates/save/styles.less | 44 - .../client/ui/templates/save/template.html | 9 - .../client/ui/templates/tooltip/styles.css | 1 - .../client/ui/templates/tooltip/styles.less | 10 - .../client/ui/templates/tooltip/template.html | 1 - .../client/ui/templates/tooltip/tooltip.js | 33 - helpers/passives/client/ui/uiBase.js | 153 -- helpers/passives/server/index.js | 75 - helpers/passives/server/nodemon.json | 25 - helpers/passives/server/package-lock.json | 1127 --------- helpers/passives/server/package.json | 10 - helpers/passives/server/persist.js | 9 - helpers/passives/server/saves/flower.json | 1 - helpers/passives/server/saves/test 1.json | 1 - helpers/passives/server/saves/tree.json | 1 - helpers/passives/todo | 2 - helpers/sims/dpt/index.js | 4 - helpers/sims/dpt/nodemon.json | 23 - helpers/sims/dpt/package-lock.json | 18 - helpers/sims/dpt/package.json | 10 - helpers/sims/dpt/sim.js | 181 -- helpers/sqlite-to-rethink/cheatsheet.js | 147 -- helpers/sqlite-to-rethink/index.js | 141 -- helpers/sqlite-to-rethink/package-lock.json | 827 ------- helpers/sqlite-to-rethink/package.json | 9 - tests/index.js | 8 - tests/package-lock.json | 18 - tests/package.json | 10 - tests/require.js | 16 - tests/server/components/dialogue.js | 56 - tests/server/components/equipment.js | 65 - tests/server/components/inventory.js | 48 - tests/server/components/reputation.js | 121 - tests/server/mocks/generator.js | 39 - tests/server/world/mobBuilder.js | 9 - tests/tests.js | 55 - 105 files changed, 10490 deletions(-) delete mode 100644 helpers/discord-images/logo.png delete mode 100644 helpers/discord-zone-images/caves.json delete mode 100644 helpers/discord-zone-images/caves.png delete mode 100644 helpers/discord-zone-images/estuary.json delete mode 100644 helpers/discord-zone-images/estuary.png delete mode 100644 helpers/discord-zone-images/sewer.json delete mode 100644 helpers/discord-zone-images/sewer.png delete mode 100644 helpers/discord-zone-images/tutorial.json delete mode 100644 helpers/discord-zone-images/tutorial.png delete mode 100644 helpers/item-tooltip/builder.js delete mode 100644 helpers/item-tooltip/index.html delete mode 100644 helpers/item-tooltip/styles.css delete mode 100644 helpers/passives/client/css/main.css delete mode 100644 helpers/passives/client/css/main.less delete mode 100644 helpers/passives/client/css/ui.less delete mode 100644 helpers/passives/client/index.html delete mode 100644 helpers/passives/client/js/app.js delete mode 100644 helpers/passives/client/js/client.js delete mode 100644 helpers/passives/client/js/constants.js delete mode 100644 helpers/passives/client/js/events.js delete mode 100644 helpers/passives/client/js/generator.js delete mode 100644 helpers/passives/client/js/helpers.js delete mode 100644 helpers/passives/client/js/input.js delete mode 100644 helpers/passives/client/js/main.js delete mode 100644 helpers/passives/client/js/renderer.js delete mode 100644 helpers/passives/client/js/tplNode.js delete mode 100644 helpers/passives/client/plugins/css.js delete mode 100644 helpers/passives/client/plugins/html.js delete mode 100644 helpers/passives/client/plugins/jquery.min.js delete mode 100644 helpers/passives/client/plugins/json.js delete mode 100644 helpers/passives/client/plugins/require.js delete mode 100644 helpers/passives/client/plugins/socket.js delete mode 100644 helpers/passives/client/plugins/text.js delete mode 100644 helpers/passives/client/ui/factory.js delete mode 100644 helpers/passives/client/ui/templates/export/export.js delete mode 100644 helpers/passives/client/ui/templates/export/styles.css delete mode 100644 helpers/passives/client/ui/templates/export/styles.less delete mode 100644 helpers/passives/client/ui/templates/export/template.html delete mode 100644 helpers/passives/client/ui/templates/groups/groups.js delete mode 100644 helpers/passives/client/ui/templates/groups/styles.css delete mode 100644 helpers/passives/client/ui/templates/groups/styles.less delete mode 100644 helpers/passives/client/ui/templates/groups/template.html delete mode 100644 helpers/passives/client/ui/templates/import/import.js delete mode 100644 helpers/passives/client/ui/templates/import/styles.css delete mode 100644 helpers/passives/client/ui/templates/import/styles.less delete mode 100644 helpers/passives/client/ui/templates/import/template.html delete mode 100644 helpers/passives/client/ui/templates/load/load.js delete mode 100644 helpers/passives/client/ui/templates/load/styles.css delete mode 100644 helpers/passives/client/ui/templates/load/styles.less delete mode 100644 helpers/passives/client/ui/templates/load/template.html delete mode 100644 helpers/passives/client/ui/templates/menu/menu.js delete mode 100644 helpers/passives/client/ui/templates/menu/styles.css delete mode 100644 helpers/passives/client/ui/templates/menu/styles.less delete mode 100644 helpers/passives/client/ui/templates/menu/template.html delete mode 100644 helpers/passives/client/ui/templates/mode/mode.js delete mode 100644 helpers/passives/client/ui/templates/mode/styles.css delete mode 100644 helpers/passives/client/ui/templates/mode/styles.less delete mode 100644 helpers/passives/client/ui/templates/mode/template.html delete mode 100644 helpers/passives/client/ui/templates/nodeInfo/nodeInfo.js delete mode 100644 helpers/passives/client/ui/templates/nodeInfo/styles.css delete mode 100644 helpers/passives/client/ui/templates/nodeInfo/styles.less delete mode 100644 helpers/passives/client/ui/templates/nodeInfo/template.html delete mode 100644 helpers/passives/client/ui/templates/renameGroup/renameGroup.js delete mode 100644 helpers/passives/client/ui/templates/renameGroup/styles.css delete mode 100644 helpers/passives/client/ui/templates/renameGroup/styles.less delete mode 100644 helpers/passives/client/ui/templates/renameGroup/template.html delete mode 100644 helpers/passives/client/ui/templates/save/save.js delete mode 100644 helpers/passives/client/ui/templates/save/styles.css delete mode 100644 helpers/passives/client/ui/templates/save/styles.less delete mode 100644 helpers/passives/client/ui/templates/save/template.html delete mode 100644 helpers/passives/client/ui/templates/tooltip/styles.css delete mode 100644 helpers/passives/client/ui/templates/tooltip/styles.less delete mode 100644 helpers/passives/client/ui/templates/tooltip/template.html delete mode 100644 helpers/passives/client/ui/templates/tooltip/tooltip.js delete mode 100644 helpers/passives/client/ui/uiBase.js delete mode 100644 helpers/passives/server/index.js delete mode 100644 helpers/passives/server/nodemon.json delete mode 100644 helpers/passives/server/package-lock.json delete mode 100644 helpers/passives/server/package.json delete mode 100644 helpers/passives/server/persist.js delete mode 100644 helpers/passives/server/saves/flower.json delete mode 100644 helpers/passives/server/saves/test 1.json delete mode 100644 helpers/passives/server/saves/tree.json delete mode 100644 helpers/passives/todo delete mode 100644 helpers/sims/dpt/index.js delete mode 100644 helpers/sims/dpt/nodemon.json delete mode 100644 helpers/sims/dpt/package-lock.json delete mode 100644 helpers/sims/dpt/package.json delete mode 100644 helpers/sims/dpt/sim.js delete mode 100644 helpers/sqlite-to-rethink/cheatsheet.js delete mode 100644 helpers/sqlite-to-rethink/index.js delete mode 100644 helpers/sqlite-to-rethink/package-lock.json delete mode 100644 helpers/sqlite-to-rethink/package.json delete mode 100644 tests/index.js delete mode 100644 tests/package-lock.json delete mode 100644 tests/package.json delete mode 100644 tests/require.js delete mode 100644 tests/server/components/dialogue.js delete mode 100644 tests/server/components/equipment.js delete mode 100644 tests/server/components/inventory.js delete mode 100644 tests/server/components/reputation.js delete mode 100644 tests/server/mocks/generator.js delete mode 100644 tests/server/world/mobBuilder.js delete mode 100644 tests/tests.js diff --git a/.gitignore b/.gitignore index c9a90200..6d4b9fc1 100644 --- a/.gitignore +++ b/.gitignore @@ -5,15 +5,8 @@ storage.db *.sublime-project *.sublime-workspace src/server/mods/iwd-* -!helpers/item-tooltip/styles.css -!helpers/passives/**/*.css -creds.js .directory firebaseConfig.js -helpers/sqlite-to-rethink/rethinkdb_data -helpers/sqlite-to-rethink/tmp -helpers/sqlite-to-rethink/log_file -helpers/sqlite-to-rethink/rethinkdb.exe .directory .idea .vscode \ No newline at end of file diff --git a/helpers/discord-images/logo.png b/helpers/discord-images/logo.png deleted file mode 100644 index 3c4c3b8fd5026f0352a0abdc9de5a60356e216c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4793 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 diff --git a/helpers/discord-zone-images/estuary.json b/helpers/discord-zone-images/estuary.json deleted file mode 100644 index f01111e4..00000000 --- a/helpers/discord-zone-images/estuary.json +++ /dev/null @@ -1,385 +0,0 @@ -{ "backgroundcolor":"#32222e", - "height":4, - "layers":[ - { - "data":[340, 337, 377, 369, 340, 403, 403, 403, 370, 403, 403, 403, 377, 403, 403, 403], - "height":4, - "name":"tiles", - "opacity":0.550000011920929, - "properties": - { - "tileset":"tiles" - }, - "propertytypes": - { - "tileset":"string" - }, - "type":"tilelayer", - "visible":true, - "width":4, - "x":0, - "y":0 - }, - { - "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "height":4, - "name":"doodads", - "opacity":1, - "type":"tilelayer", - "visible":true, - "width":4, - "x":0, - "y":0 - }, - { - "data":[19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0], - "height":4, - "name":"walls", - "opacity":1, - "properties": - { - "tileset":"walls" - }, - "propertytypes": - { - "tileset":"string" - }, - "type":"tilelayer", - "visible":true, - "width":4, - "x":0, - "y":0 - }, - { - "draworder":"topdown", - "name":"mobs", - "objects":[ - { - "gid":2147484435, - "height":24, - "id":824, - "name":"", - "rotation":0, - "type":"", - "visible":true, - "width":24, - "x":8, - "y":32 - }], - "opacity":1, - "properties": - { - "faction":"2", - "tileset":"mobs" - }, - "propertytypes": - { - "faction":"string", - "tileset":"string" - }, - "type":"objectgroup", - "visible":true, - "x":0, - "y":0 - }, - { - "draworder":"topdown", - "name":"objects", - "objects":[], - "opacity":1, - "properties": - { - "blocking":"1", - "tileset":"objects" - }, - "propertytypes": - { - "blocking":"string", - "tileset":"string" - }, - "type":"objectgroup", - "visible":true, - "x":0, - "y":0 - }, - { - "draworder":"topdown", - "name":"clientObjects", - "objects":[], - "opacity":1, - "type":"objectgroup", - "visible":true, - "x":0, - "y":0 - }, - { - "draworder":"topdown", - "name":"notices", - "objects":[], - "opacity":1, - "type":"objectgroup", - "visible":true, - "x":0, - "y":0 - }, - { - "draworder":"topdown", - "name":"rooms", - "objects":[], - "opacity":1, - "type":"objectgroup", - "visible":true, - "x":0, - "y":0 - }], - "nextobjectid":826, - "orientation":"orthogonal", - "properties": - { - "instanced":"0", - "name":"Test Zone", - "spawn":"[{\"maxLevel\":1,\"x\":100,\"y\":186},{\"maxLevel\":999,\"x\":132,\"y\":118}]" - }, - "propertytypes": - { - "instanced":"string", - "name":"string", - "spawn":"string" - }, - "renderorder":"right-down", - "tileheight":8, - "tilesets":[ - { - "columns":8, - "firstgid":1, - "image":"..\/..\/src\/client\/images\/walls.png", - "imageheight":256, - "imagewidth":64, - "margin":0, - "name":"walls", - "spacing":0, - "tilecount":256, - "tileheight":8, - "tiles": - { - "0": - { - "probability":0.200000002980232 - }, - "2": - { - "probability":0.600000023841858 - }, - "29": - { - "probability":0.800000011920929 - }, - "3": - { - "probability":0.200000002980232 - }, - "30": - { - "probability":0.200000002980232 - }, - "31": - { - "probability":0.200000002980232 - }, - "4": - { - "probability":0.200000002980232 - }, - "50": - { - "probability":0.400000005960464 - }, - "8": - { - "probability":0.100000001490116 - } - }, - "tilewidth":8 - }, - { - "columns":8, - "firstgid":257, - "image":"..\/..\/src\/client\/images\/mobs.png", - "imageheight":80, - "imagewidth":64, - "margin":0, - "name":"mobs", - "spacing":0, - "tilecount":80, - "tileheight":8, - "tileproperties": - { - "19": - { - "portal":"midgaard-inn-room_2,1" - } - }, - "tilepropertytypes": - { - "19": - { - "portal":"string" - } - }, - "tilewidth":8 - }, - { - "columns":8, - "firstgid":337, - "image":"..\/..\/src\/client\/images\/tiles.png", - "imageheight":192, - "imagewidth":64, - "margin":0, - "name":"tiles", - "spacing":0, - "tilecount":192, - "tileheight":8, - "tiles": - { - "0": - { - "probability":2 - }, - "11": - { - "probability":4 - }, - "14": - { - "probability":0.5 - }, - "2": - { - "probability":4 - }, - "23": - { - "probability":0.200000002980232 - }, - "24": - { - "probability":0.200000002980232 - }, - "29": - { - "probability":0.5 - }, - "3": - { - "probability":7 - }, - "30": - { - "probability":0.200000002980232 - }, - "31": - { - "probability":10 - }, - "38": - { - "probability":3 - }, - "39": - { - "probability":3 - }, - "40": - { - "probability":15 - }, - "41": - { - "probability":2 - }, - "42": - { - "probability":26 - }, - "47": - { - "probability":10 - }, - "5": - { - "probability":0.00999999977648258 - }, - "54": - { - "probability":0.5 - }, - "6": - { - "probability":0.00499999988824129 - }, - "7": - { - "probability":0.100000001490116 - }, - "8": - { - "probability":0.5 - }, - "9": - { - "probability":4 - } - }, - "tilewidth":8 - }, - { - "columns":8, - "firstgid":529, - "image":"..\/..\/src\/client\/images\/objects.png", - "imageheight":176, - "imagewidth":64, - "margin":0, - "name":"objects", - "spacing":0, - "tilecount":176, - "tileheight":8, - "tiles": - { - "42": - { - "probability":5 - } - }, - "tilewidth":8 - }, - { - "columns":8, - "firstgid":705, - "image":"..\/..\/src\/client\/images\/bigObjects.png", - "imageheight":240, - "imagewidth":192, - "margin":0, - "name":"bigObjects", - "spacing":0, - "tilecount":80, - "tileheight":24, - "tilewidth":24 - }, - { - "columns":8, - "firstgid":785, - "image":"..\/..\/src\/client\/images\/bosses.png", - "imageheight":240, - "imagewidth":192, - "margin":0, - "name":"bosses", - "spacing":0, - "tilecount":80, - "tileheight":24, - "tilewidth":24 - }], - "tilewidth":8, - "type":"map", - "version":"2017.05.26", - "width":4 -} \ No newline at end of file diff --git a/helpers/discord-zone-images/estuary.png b/helpers/discord-zone-images/estuary.png deleted file mode 100644 index 18b04c7cdf4a2049bc883a5667aff6cae326dab5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6625 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 TmIIlf1_2{|Grer6{muUavQ2eM diff --git a/helpers/discord-zone-images/sewer.json b/helpers/discord-zone-images/sewer.json deleted file mode 100644 index 0b56744c..00000000 --- a/helpers/discord-zone-images/sewer.json +++ /dev/null @@ -1,385 +0,0 @@ -{ "backgroundcolor":"#32222e", - "height":4, - "layers":[ - { - "data":[0, 0, 0, 0, 0, 402, 401, 341, 365, 401, 0, 470, 0, 403, 486, 401], - "height":4, - "name":"tiles", - "opacity":0.550000011920929, - "properties": - { - "tileset":"tiles" - }, - "propertytypes": - { - "tileset":"string" - }, - "type":"tilelayer", - "visible":true, - "width":4, - "x":0, - "y":0 - }, - { - "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 684, 0, 0, 683, 0], - "height":4, - "name":"doodads", - "opacity":1, - "type":"tilelayer", - "visible":true, - "width":4, - "x":0, - "y":0 - }, - { - "data":[342, 382, 343, 342, 383, 0, 0, 0, 0, 0, 0, 0, 382, 0, 0, 0], - "height":4, - "name":"walls", - "opacity":1, - "properties": - { - "tileset":"walls" - }, - "propertytypes": - { - "tileset":"string" - }, - "type":"tilelayer", - "visible":true, - "width":4, - "x":0, - "y":0 - }, - { - "draworder":"topdown", - "name":"mobs", - "objects":[ - { - "gid":2147483930, - "height":8, - "id":823, - "name":"", - "rotation":0, - "type":"", - "visible":true, - "width":8, - "x":16, - "y":24 - }], - "opacity":1, - "properties": - { - "faction":"2", - "tileset":"mobs" - }, - "propertytypes": - { - "faction":"string", - "tileset":"string" - }, - "type":"objectgroup", - "visible":true, - "x":0, - "y":0 - }, - { - "draworder":"topdown", - "name":"objects", - "objects":[], - "opacity":1, - "properties": - { - "blocking":"1", - "tileset":"objects" - }, - "propertytypes": - { - "blocking":"string", - "tileset":"string" - }, - "type":"objectgroup", - "visible":true, - "x":0, - "y":0 - }, - { - "draworder":"topdown", - "name":"clientObjects", - "objects":[], - "opacity":1, - "type":"objectgroup", - "visible":true, - "x":0, - "y":0 - }, - { - "draworder":"topdown", - "name":"notices", - "objects":[], - "opacity":1, - "type":"objectgroup", - "visible":true, - "x":0, - "y":0 - }, - { - "draworder":"topdown", - "name":"rooms", - "objects":[], - "opacity":1, - "type":"objectgroup", - "visible":true, - "x":0, - "y":0 - }], - "nextobjectid":824, - "orientation":"orthogonal", - "properties": - { - "instanced":"0", - "name":"Test Zone", - "spawn":"[{\"maxLevel\":1,\"x\":100,\"y\":186},{\"maxLevel\":999,\"x\":132,\"y\":118}]" - }, - "propertytypes": - { - "instanced":"string", - "name":"string", - "spawn":"string" - }, - "renderorder":"right-down", - "tileheight":8, - "tilesets":[ - { - "columns":8, - "firstgid":1, - "image":"..\/..\/src\/client\/images\/walls.png", - "imageheight":256, - "imagewidth":64, - "margin":0, - "name":"walls", - "spacing":0, - "tilecount":256, - "tileheight":8, - "tiles": - { - "0": - { - "probability":0.200000002980232 - }, - "2": - { - "probability":0.600000023841858 - }, - "29": - { - "probability":0.800000011920929 - }, - "3": - { - "probability":0.200000002980232 - }, - "30": - { - "probability":0.200000002980232 - }, - "31": - { - "probability":0.200000002980232 - }, - "4": - { - "probability":0.200000002980232 - }, - "50": - { - "probability":0.400000005960464 - }, - "8": - { - "probability":0.100000001490116 - } - }, - "tilewidth":8 - }, - { - "columns":8, - "firstgid":257, - "image":"..\/..\/src\/client\/images\/mobs.png", - "imageheight":80, - "imagewidth":64, - "margin":0, - "name":"mobs", - "spacing":0, - "tilecount":80, - "tileheight":8, - "tileproperties": - { - "19": - { - "portal":"midgaard-inn-room_2,1" - } - }, - "tilepropertytypes": - { - "19": - { - "portal":"string" - } - }, - "tilewidth":8 - }, - { - "columns":8, - "firstgid":337, - "image":"..\/..\/src\/client\/images\/tiles.png", - "imageheight":192, - "imagewidth":64, - "margin":0, - "name":"tiles", - "spacing":0, - "tilecount":192, - "tileheight":8, - "tiles": - { - "0": - { - "probability":2 - }, - "11": - { - "probability":4 - }, - "14": - { - "probability":0.5 - }, - "2": - { - "probability":4 - }, - "23": - { - "probability":0.200000002980232 - }, - "24": - { - "probability":0.200000002980232 - }, - "29": - { - "probability":0.5 - }, - "3": - { - "probability":7 - }, - "30": - { - "probability":0.200000002980232 - }, - "31": - { - "probability":10 - }, - "38": - { - "probability":3 - }, - "39": - { - "probability":3 - }, - "40": - { - "probability":15 - }, - "41": - { - "probability":2 - }, - "42": - { - "probability":26 - }, - "47": - { - "probability":10 - }, - "5": - { - "probability":0.00999999977648258 - }, - "54": - { - "probability":0.5 - }, - "6": - { - "probability":0.00499999988824129 - }, - "7": - { - "probability":0.100000001490116 - }, - "8": - { - "probability":0.5 - }, - "9": - { - "probability":4 - } - }, - "tilewidth":8 - }, - { - "columns":8, - "firstgid":529, - "image":"..\/..\/src\/client\/images\/objects.png", - "imageheight":176, - "imagewidth":64, - "margin":0, - "name":"objects", - "spacing":0, - "tilecount":176, - "tileheight":8, - "tiles": - { - "42": - { - "probability":5 - } - }, - "tilewidth":8 - }, - { - "columns":8, - "firstgid":705, - "image":"..\/..\/src\/client\/images\/bigObjects.png", - "imageheight":240, - "imagewidth":192, - "margin":0, - "name":"bigObjects", - "spacing":0, - "tilecount":80, - "tileheight":24, - "tilewidth":24 - }, - { - "columns":8, - "firstgid":785, - "image":"..\/..\/src\/client\/images\/bosses.png", - "imageheight":240, - "imagewidth":192, - "margin":0, - "name":"bosses", - "spacing":0, - "tilecount":80, - "tileheight":24, - "tilewidth":24 - }], - "tilewidth":8, - "type":"map", - "version":"2017.05.26", - "width":4 -} \ No newline at end of file diff --git a/helpers/discord-zone-images/sewer.png b/helpers/discord-zone-images/sewer.png deleted file mode 100644 index fd41b7698a50fe6bced5365094b46691d76987db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5782 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 DTM)M@ diff --git a/helpers/item-tooltip/builder.js b/helpers/item-tooltip/builder.js deleted file mode 100644 index 054107e4..00000000 --- a/helpers/item-tooltip/builder.js +++ /dev/null @@ -1,81 +0,0 @@ -$(function () { - var items = [{ - name: `Infernal Bite`, - type: 'Curved Sword', - rqr: { - level: 25, - dex: 200 - }, - quality: 4, - stats: { - Dexterity: '[200 - 300]', - 'Increased Crit Multiplier': '[40% - 65%]', - 'Your hits always critically hit': null, - '50% of your damage is converted to fire damage': null, - 'You take [2% - 5%] of all damage you deal yourself': null - }, - spritesheet: '../../src/client/images/items.png', - sprite: [9, 9] - }, { - name: `Cowl of Obscurity`, - type: 'Silk Cowl', - rqr: { - level: 20, - dex: 150 - }, - quality: 4, - stats: { - Vitality: '[20 - 35]', - Dexterity: '[150 - 220]', - 'Critical hits heal you for [1% - 3%] of your maximum health': null, - 'Your hits have a 50% chance to miss': null, - }, - spritesheet: '../../src/client/images/items.png', - sprite: [0, 4] - }]; - - for (var i = 0; i < items.length - 1; i++) { - $('.tooltip:first-child').clone().appendTo('body'); - } - - items.forEach(function (item, i) { - var div = $('.tooltip').eq(i); - - for (var p in item) { - var val = item[p]; - - div.find('.' + p).html(val); - } - - var stats = item.stats; - if (stats) { - var val = ''; - for (var s in stats) { - var v = s; - if (stats[s]) - v = stats[s] + ' ' + s; - val += '
' + v + '
'; - } - div.find('.stats').html(val); - } - - var rqr = item.rqr; - if (rqr) { - var val = 'Requires: '; - for (var s in rqr) { - val += rqr[s] + ' ' + s; - if (Object.keys(rqr).indexOf(s) < Object.keys(rqr).length - 1) - val += ', '; - } - div.find('.rqr').html(val); - } - - div.find('.sprite') - .css({ - background: 'url(' + item.spritesheet + ') ' + (-item.sprite[0] * 64) + 'px ' + (-item.sprite[1] * 64) + 'px' - }) - .html(''); - - div.find('.name').addClass('q' + item.quality); - }); -}); diff --git a/helpers/item-tooltip/index.html b/helpers/item-tooltip/index.html deleted file mode 100644 index 5ddbabb2..00000000 --- a/helpers/item-tooltip/index.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - builder - - - - - -
-
-
-
-
-
-
-
-
-
- - diff --git a/helpers/item-tooltip/styles.css b/helpers/item-tooltip/styles.css deleted file mode 100644 index ade2280e..00000000 --- a/helpers/item-tooltip/styles.css +++ /dev/null @@ -1,76 +0,0 @@ -body { - background-color: #2d2136; - padding: 10px; - margin: 0px; -} - -@font-face -{ - font-family: bitty; - src: url('../../src/client/fonts/bitty.ttf'); -} - -.tooltip { - background-color: #3c3f4c; - text-align: center; - padding: 10px; - margin-bottom: 10px; - font-family: bitty; - width: 400px; -} - -.sprite-box { - margin: 0 auto; - height: 64px; - width: 64px; - margin-bottom: 15px; - background-color: #2d2136; - padding: 5px; -} - -.sprite { - height: 64px; -} - -.name.q0 { - color: #fafcfc; -} - -.name.q1 { - color: #3fa7dd; -} - -.name.q2 { - color: #ffeb38; -} - -.name.q3 { - color: #a24eff; -} - -.name.q4 { - color: #ff6942; -} - -.type { - color: #69696e; - margin-bottom: 15px; -} - -.rqr { - color: #fafcfc; - margin-bottom: 15px; -} - -.stats { - color: #929398; -} - -.stat { - margin-bottom: 5px; -} - -.stat:before { - content: '*'; - margin-right: 5px; -} diff --git a/helpers/passives/client/css/main.css b/helpers/passives/client/css/main.css deleted file mode 100644 index 707b2599..00000000 --- a/helpers/passives/client/css/main.css +++ /dev/null @@ -1 +0,0 @@ -.q0{color:#f2f5f5}.q1{color:#4ac441}.q2{color:#3fa7dd}.q3{color:#a24eff}.q4{color:#ff6942}.color-red{color:#d43346 !important}.color-redA{color:#ff4252 !important}.color-blueA{color:#48edff !important}.color-blueB{color:#3fa7dd !important}.color-greenB{color:#4ac441 !important}.color-yellowB{color:#faac45 !important}.color-green{color:#80f643 !important}.color-brownC{color:#b15a30 !important}.color-brownD{color:#763b3b !important}.color-grayA{color:#f2f5f5 !important}.color-grayB{color:#c0c3cf !important}.color-grayC{color:#929398 !important}.color-grayD{color:#69696e !important}.color-pinkB{color:#de43ae !important}html,body{width:100vw;height:100vh}body{background-color:#2d2136;padding:0;margin:0;overflow:hidden}.canvas,.ui-container{position:absolute}.ui-container{width:100%;height:100%;pointer-events:none}.ui-container>*{pointer-events:auto}*{box-sizing:border-box;font-family:bitty;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:"courier"}.disabled{opacity:.4 !important;pointer-events:none !important}::-webkit-scrollbar{width:16px}::-webkit-scrollbar-track{background-color:#3c3f4c;-webkit-border-radius:0;border-radius:0}::-webkit-scrollbar-thumb{-webkit-border-radius:10px;border-radius:0;background:#929398} \ No newline at end of file diff --git a/helpers/passives/client/css/main.less b/helpers/passives/client/css/main.less deleted file mode 100644 index bc19f16a..00000000 --- a/helpers/passives/client/css/main.less +++ /dev/null @@ -1,59 +0,0 @@ -@import "../../../src/client/css/colors.less"; - -html, body { - width: 100vw; - height: 100vh; -} - -body { - background-color: @black; - padding: 0px; - margin: 0px; - overflow: hidden; -} - -.canvas, .ui-container { - position: absolute; -} - -.ui-container { - width: 100%; - height: 100%; - pointer-events: none; - - > * { - pointer-events: auto; - } -} - -* { - box-sizing: border-box; - font-family: bitty; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - font-family: "courier"; -} - -.disabled { - opacity: 0.4 !important; - pointer-events: none !important; -} - -::-webkit-scrollbar { - width: 16px; -} -::-webkit-scrollbar-track { - background-color: @gray; - -webkit-border-radius: 0px; - border-radius: 0px; -} -::-webkit-scrollbar-thumb { - -webkit-border-radius: 10px; - border-radius: 0px; - background: @lightGray; -} - diff --git a/helpers/passives/client/css/ui.less b/helpers/passives/client/css/ui.less deleted file mode 100644 index 91cd0c9f..00000000 --- a/helpers/passives/client/css/ui.less +++ /dev/null @@ -1 +0,0 @@ -@import "../../../src/client/css/colors.less"; diff --git a/helpers/passives/client/index.html b/helpers/passives/client/index.html deleted file mode 100644 index 5f956431..00000000 --- a/helpers/passives/client/index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - test - - - - - -
- - diff --git a/helpers/passives/client/js/app.js b/helpers/passives/client/js/app.js deleted file mode 100644 index 757cc1aa..00000000 --- a/helpers/passives/client/js/app.js +++ /dev/null @@ -1,31 +0,0 @@ -require.config({ - baseUrl: '', - waitSeconds: 120, - paths: { - 'jquery': 'plugins/jquery.min', - 'text': 'plugins/text', - 'html': 'plugins/html', - 'css': 'plugins/css', - 'socket': 'plugins/socket' - }, - shim: { - 'jquery': { - exports: '$' - }, - 'socket': { - exports: 'io' - } - } -}); - -require([ - 'js/helpers', - 'jquery', - 'js/main' -], function ( - helpers, - jQuery, - main -) { - main.init(); -}); diff --git a/helpers/passives/client/js/client.js b/helpers/passives/client/js/client.js deleted file mode 100644 index fa259efc..00000000 --- a/helpers/passives/client/js/client.js +++ /dev/null @@ -1,50 +0,0 @@ -define([ - 'socket' -], function ( - io -) { - return { - socket: null, - - init: function (onReady) { - let tType = 'websocket'; - this.socket = io({ - transports: [tType] - }); - - this.socket.on('connect', this.onConnected.bind(this, onReady)); - }, - - load: function (fileName, callback) { - this.socket.emit('request', { - fileName: fileName, - action: 'load' - }, callback); - }, - - save: function (fileName, data, callback) { - this.socket.emit('request', { - fileName: fileName, - action: 'save', - data: data - }, callback); - }, - - persist: function (data) { - this.socket.emit('request', { - action: 'persist', - data: data - }); - }, - - getFileList: function (callback) { - this.socket.emit('request', { - action: 'getFileList' - }, callback); - }, - - onConnected: function (onReady) { - onReady(); - } - }; -}); diff --git a/helpers/passives/client/js/constants.js b/helpers/passives/client/js/constants.js deleted file mode 100644 index a8dd00b5..00000000 --- a/helpers/passives/client/js/constants.js +++ /dev/null @@ -1,63 +0,0 @@ -define([ - -], function ( - -) { - return { - standAlone: false, - - lineWidth: 5, - blockSize: 20, - defaultDistance: 50, - defaultDistanceInc: 60, - defaultAngle: Math.PI / 2, - defaultAngleInc: Math.PI / 8, - gridSize: 30, - - scrollSpeed: 0.75, - - stats: { - str: 'strength', - int: 'intellect', - dex: 'dexterity', - vit: 'vitality', - regenHp: 'health regeneration', - manaMax: 'maximum mana', - regenMana: 'mana regeneration', - armor: 'armor', - attackSpeed: 'attack speed', - castSpeed: 'cast speed', - blockAttackChance: 'chance to block attacks', - blockSpellChance: 'chance to block spells', - addCritChance: 'increased crit chance', - addCritMultiplier: 'increased crit multiplier', - magicFind: 'increased item quality', - itemQuantity: 'increased item quantity', - sprintChance: 'sprint chance', - allAttributes: 'to all attributes', - xpIncrease: 'additional xp per kill', - lvlRequire: 'level requirement reduction', - elementArcanePercent: 'increased arcane damage', - elementFrostPercent: 'increased frost damage', - elementFirePercent: 'increased fire damage', - elementHolyPercent: 'increased holy damage', - elementPoisonPercent: 'increased poison damage', - elementAllResist: 'all resistance', - elementArcaneResist: 'arcane resistance', - elementFrostResist: 'frost resistance', - elementFireResist: 'fire resistance', - elementHolyResist: 'holy resistance', - elementPoisonResist: 'poison resistance', - elementAllResist: 'all resistance', - - physicalPercent: 'increased physical damage', - spellPercent: 'increased spell damage', - elementPercent: 'increased elemental damage', - addSpellCritChance: 'increased spell crit chance', - addSpellCritMultiplier: 'increased spell crit multiplier', - addAttackCritChance: 'increased attack crit chance', - addAttackCritMultiplier: 'increased attack crit multiplier', - dodgeAttackChance: 'chance to dodge attacks' - } - }; -}); diff --git a/helpers/passives/client/js/events.js b/helpers/passives/client/js/events.js deleted file mode 100644 index 4a103384..00000000 --- a/helpers/passives/client/js/events.js +++ /dev/null @@ -1,47 +0,0 @@ -define([ - -], function ( - -) { - var events = { - events: {}, - - on: function (event, callback) { - var list = this.events[event] || (this.events[event] = []); - list.push(callback); - - return callback; - }, - - off: function (event, callback) { - var list = this.events[event] || []; - var lLen = list.length; - for (var i = 0; i < lLen; i++) { - if (list[i] == callback) { - list.splice(i, 1); - i--; - lLen--; - } - } - - if (lLen == 0) - delete this.events[event]; - }, - - emit: function (event) { - var args = [].slice.call(arguments, 1); - - var list = this.events[event]; - if (!list) - return; - - var len = list.length - for (var i = 0; i < len; i++) { - var l = list[i]; - l.apply(null, args); - } - } - }; - - return events; -}); diff --git a/helpers/passives/client/js/generator.js b/helpers/passives/client/js/generator.js deleted file mode 100644 index 2b4c3fa1..00000000 --- a/helpers/passives/client/js/generator.js +++ /dev/null @@ -1,303 +0,0 @@ -define([ - 'js/tplNode', - 'js/events', - 'js/client', - 'js/input' -], function ( - tplNode, - events, - client, - input -) { - return { - links: [], - nodes: [], - - mode: 'none', - - init: function () { - events.on('onAreaSelect', this.events.onAreaSelect.bind(this)); - events.on('onMouseMove', this.events.onMouseMove.bind(this)); - }, - - findNode: function (x, y) { - let res = this.nodes.find(n => ((n.pos.x == x) && (n.pos.y == y))); - if (!res) { - res = this.nodes.find(function (n) { - return ((n.size > 0) && (Math.abs(n.pos.x - x) <= 1) && (Math.abs(n.pos.y - y) <= 1)); - }); - } - - return res; - }, - - callAction: function (action, options = {}) { - let node = options.node || this.findNode(options.x, options.y); - - options.node = node; - return !this.actions[action].call(this, options); - }, - - getSelected: function (single) { - let selected = this.nodes.filter(n => n.selected); - if ((single) && (selected.length != 1)) - return null; - - if (single) - return selected[0]; - return selected; - }, - - serialize: function () { - return JSON.stringify({ - nodes: this.nodes, - links: this.links.map(function (l) { - return { - from: { - id: l.from.id - }, - to: { - id: l.to.id - } - }; - }) - }); - }, - - getData: function () { - return { - nodes: this.nodes.map(function (n) { - let res = { - id: n.id, - pos: n.pos - }; - - ['size', 'color', 'stats', 'spiritStart'].forEach(function (s) { - if (n[s] !== undefined) - res[s] = n[s]; - }); - - return res; - }), - links: this.links.map(function (l) { - return { - from: l.from.id, - to: l.to.id - }; - }) - }; - }, - - getNextId: function () { - for (var i = 0; i < this.nodes.length; i++) { - if (!this.nodes.some(n => (n.id == i))) - return i; - } - - return this.nodes.length; - }, - - setMode: function (mode) { - this.mode = mode; - }, - - actions: { - reset: function () { - this.nodes = []; - this.links = []; - - events.emit('onNew'); - }, - - load: function (data) { - this.nodes = data.nodes; - this.nodes.forEach(function (n) { - if ((n.group) && (!n.group.push)) - n.group = [n.group]; - }); - - this.links = data.links.map(function (l) { - l.from = this.nodes.find(n => (n.id == l.from.id)); - l.to = this.nodes.find(n => (n.id == l.to.id)); - - return l; - }, this); - - events.emit('onTreeLoaded', { - nodes: this.nodes, - links: this.links - }); - }, - - selectNode: function (options) { - if ( - ( - (!options.node) || - (!this.nodes.some(n => ((n.selected) && (n == options.node)))) - ) && - ( - (!input.isKeyDown('shift')) || - (options.force) - ) - ) - this.nodes.forEach(n => (n.selected = false)); - - if (options.node) - options.node.selected = true; - else if (options instanceof Array) - options.forEach(n => (n.selected = true)); - - events.emit('onSelectNode', this.nodes.filter(n => n.selected)); - - if (options.node) - events.emit('onFocusNode', options.node); - - return !options.node; - }, - - addNode: function (options) { - this.nodes.push(tplNode.build({ - id: this.getNextId(), - x: options.x, - y: options.y - })); - - this.callAction('selectNode'); - }, - - connectNode: function (options) { - let node = options.node; - if (!node) { - this.callAction('selectNode'); - return true; - } - - let singleSelected = this.getSelected(true); - - if ((singleSelected) && (input.isKeyDown('ctrl'))) { - if (options.shiftDown) { - this.links.spliceWhere(l => ( - ( - (l.from == node) || - (l.to == node) - ) && - ( - (l.from == singleSelected) || - (l.to == singleSelected) - ) && - (node != singleSelected) - )); - } else { - this.links.push({ - from: singleSelected, - to: node - }); - } - this.callAction('selectNode', { - force: true - }); - - this.callAction('selectNode', { - node: options.node - }); - } else { - return this.callAction('selectNode', { - node: node - }); - } - }, - - moveNode: function (options) { - let selected = this.getSelected(); - if (!selected.length) - return true; - - if (selected.length == 0) - return; - - selected.sort(function (a, b) { - let distanceA = Math.abs(a.pos.x - options.x) + Math.abs(a.pos.y - options.y); - let distanceB = Math.abs(b.pos.x - options.x) + Math.abs(b.pos.y - options.y); - - return (distanceA > distanceB) ? 1 : -1; - }); - - let deltaX = selected[0].pos.x - options.x; - let deltaY = selected[0].pos.y - options.y; - - selected.forEach(function (s) { - s.pos.x -= deltaX; - s.pos.y -= deltaY; - }); - }, - - deleteNode: function (options) { - let selected = this.getSelected(); - selected.forEach(function (s) { - this.nodes.spliceWhere(n => (n == s)); - this.links.spliceWhere(n => ((n.from == s) || (n.to == s))); - - s.selected = false; - - events.emit('onDeleteNode', s); - }, this); - }, - - recolorNode: function () { - let selected = this.getSelected(true); - if (!selected) - return true; - - selected.color = (selected.color + 1) % 7; - }, - - resizeNode: function () { - let selected = this.getSelected(true); - if (!selected) - return true; - - selected.size = (selected.size + 1) % 3; - } - }, - - events: { - onAreaSelect: function (from, to) { - if (!input.isKeyDown('ctrl')) - this.nodes.forEach(n => (n.selected = false)); - - let lowX = Math.min(from.x, to.x); - let lowY = Math.min(from.y, to.y); - - let highX = Math.max(from.x, to.x); - let highY = Math.max(from.y, to.y); - - for (let i = lowX; i <= highX; i++) { - for (let j = lowY; j <= highY; j++) { - let node = this.findNode(i, j); - if (!node) - continue; - node.selected = true; - } - } - - events.emit('onSelectNode', this.nodes.filter(n => n.selected)); - }, - - onMouseMove: function (e) { - let hoverNode = this.findNode(e.x, e.y); - if (hoverNode) { - let text = ''; - let stats = hoverNode.stats || {}; - for (let s in stats) - text += s + ': ' + stats[s] + '
'; - - text = text.substr(0, text.length - 6); - - if (text.length > 0) - events.emit('onShowTooltip', e, text); - } else - events.emit('onHideTooltip'); - } - } - }; -}); diff --git a/helpers/passives/client/js/helpers.js b/helpers/passives/client/js/helpers.js deleted file mode 100644 index dbbbb4e7..00000000 --- a/helpers/passives/client/js/helpers.js +++ /dev/null @@ -1,113 +0,0 @@ -Array.prototype.firstIndex = function (callback, thisArg) { - var T = thisArg; - var O = Object(this); - var len = O.length >>> 0; - - var k = 0; - - while (k < len) { - var kValue; - - if (k in O) { - kValue = O[k]; - - if (callback.call(T, kValue, k, O)) - return k; - } - k++; - } - - return -1; -}; - -Array.prototype.spliceWhere = function (callback, thisArg) { - var T = thisArg; - var O = Object(this); - var len = O.length >>> 0; - - var k = 0; - - while (k < len) { - var kValue; - - if (k in O) { - kValue = O[k]; - - if (callback.call(T, kValue, k, O)) { - O.splice(k, 1); - k--; - } - } - k++; - } -}; - -Array.prototype.spliceFirstWhere = function (callback, thisArg) { - var T = thisArg; - var O = Object(this); - var len = O.length >>> 0; - - var k = 0; - - while (k < len) { - var kValue; - - if (k in O) { - kValue = O[k]; - - if (callback.call(T, kValue, k, O)) { - O.splice(k, 1); - return kValue; - } - } - k++; - } -}; - -window._ = { - create: function () { - var result = {}; - - [].slice.call(arguments).forEach(function (a) { - $.extend(true, result, a); - }); - - return result; - }, - get2dArray: function (w, h, def) { - def = def || 0; - - var result = []; - for (var i = 0; i < w; i++) { - var inner = []; - for (var j = 0; j < h; j++) { - if (def == 'array') - inner.push([]); - else - inner.push(def); - } - - result.push(inner); - } - - return result; - }, - randWeighted: function (weights) { - var sample = []; - weights.forEach(function (w, i) { - for (var j = 0; j < w; j++) { - sample.push(i); - } - }); - - return sample[~~(Math.random() * sample.length)]; - } -}; - -define([ - -], function ( - -) { - return window._; -}); diff --git a/helpers/passives/client/js/input.js b/helpers/passives/client/js/input.js deleted file mode 100644 index 33625622..00000000 --- a/helpers/passives/client/js/input.js +++ /dev/null @@ -1,163 +0,0 @@ -define([ - 'js/events', - 'js/renderer', - 'js/constants' -], function ( - events, - renderer, - constants -) { - return { - mappings: { - 8: 'backspace', - 9: 'tab', - 13: 'enter', - 16: 'shift', - 17: 'ctrl', - 27: 'esc', - 37: 'left', - 38: 'up', - 39: 'right', - 40: 'down', - 46: 'del' - }, - - mouse: { - button: null, - x: 0, - y: 0, - raw: null - }, - - keys: {}, - - init: function () { - $(window).on('keydown', this.events.keyboard.onKeyDown.bind(this)); - $(window).on('keyup', this.events.keyboard.onKeyUp.bind(this)); - - $('canvas') - .on('mousedown', this.events.mouse.onMouseDown.bind(this)) - .on('mouseup', this.events.mouse.onMouseUp.bind(this)) - .on('mousemove', this.events.mouse.onMouseMove.bind(this)) - .on('mousewheel', this.events.mouse.onMouseWheel.bind(this)); - }, - - resetKeys: function () { - for (let k in this.keys) - events.emit('onKeyUp', k); - - this.keys = {}; - }, - - getMapping: function (charCode) { - if (charCode >= 97) - return (charCode - 96).toString(); - - return ( - this.mappings[charCode] || - String.fromCharCode(charCode).toLowerCase() - ); - }, - - isKeyDown: function (key, consume) { - let down = this.keys[key]; - if (down != null) { - if (!consume) - return true; - - this.keys[key] = 2; - return (down == 1); - } return false; - }, - - events: { - keyboard: { - onKeyDown: function (e) { - if (e.target != document.body) - return true; - if ((e.keyCode == 9) || (e.keyCode == 8) || (e.keyCode == 122)) - e.preventDefault(); - - let key = this.getMapping(e.which); - - if (this.keys[key] != null) - this.keys[key] = 2; - else { - this.keys[key] = 1; - events.emit('onKeyDown', key); - } - - if (key == 'backspace') - return false; - }, - - onKeyUp: function (e) { - if (e.target != document.body) - return; - - let key = this.getMapping(e.which); - - delete this.keys[key]; - - events.emit('onKeyUp', key); - } - }, - - mouse: { - onMouseDown: function (e) { - let el = $(e.target); - if ((!el.hasClass('canvas')) || (el.hasClass('blocking'))) - return; - - let button = e.button; - this.mouse.button = button; - this.mouse.down = true; - this.mouse.event = e; - - events.emit('onMouseDown', this.mouse); - }, - - onMouseUp: function (e) { - let el = $(e.target); - if ((!el.hasClass('canvas')) || (el.hasClass('blocking'))) - return; - - let button = e.button; - this.mouse.down = false; - - events.emit('onMouseUp', this.mouse); - - this.mouse.button = null; - }, - - onMouseMove: function (e) { - if (e) - this.mouse.raw = e; - else - e = this.mouse.raw; - - if (!e) - return; - - let el = $(e.target); - if ((!el.hasClass('canvas')) || (el.hasClass('blocking'))) - return; - - let x = ~~((renderer.pos.x + (e.offsetX / renderer.currentZoom)) / constants.gridSize); - let y = ~~((renderer.pos.y + (e.offsetY / renderer.currentZoom)) / constants.gridSize); - - this.mouse.x = x; - this.mouse.y = y; - - events.emit('onMouseMove', this.mouse); - }, - - onMouseWheel: function (e) { - events.emit('onMouseWheel', { - delta: (e.deltaY > 0) ? 1 : -1 - }); - } - } - } - }; -}); diff --git a/helpers/passives/client/js/main.js b/helpers/passives/client/js/main.js deleted file mode 100644 index bf6a322f..00000000 --- a/helpers/passives/client/js/main.js +++ /dev/null @@ -1,152 +0,0 @@ -define([ - 'js/events', - 'js/generator', - 'js/renderer', - 'js/input', - 'ui/factory', - 'js/client', - 'js/constants' -], function ( - events, - generator, - renderer, - input, - uiFactory, - client, - constants -) { - return { - init: function () { - if (constants.standAlone) - this.events.onConnected.call(this); - else - client.init(this.events.onConnected.bind(this)); - }, - - render: function () { - if (renderer.dirty) - renderer.render(generator.nodes, generator.links); - - window.requestAnimationFrame(this.render.bind(this)); - }, - - events: { - onConnected: function () { - uiFactory.init(); - - generator.init(); - renderer.init(); - input.init(); - - events.on('onMouseDown', this.events.onMouseDown.bind(this, true)); - events.on('onMouseUp', this.events.onMouseDown.bind(this, false)); - events.on('onMouseMove', this.events.onMouseMove.bind(this)); - events.on('onMouseWheel', this.events.onMouseWheel.bind(this)); - events.on('onKeyDown', this.events.onKeyDown.bind(this)); - - $(window).on('focus', this.events.onFocus.bind(this)); - - uiFactory.build('mode'); - uiFactory.build('menu'); - uiFactory.build('groups'); - uiFactory.build('nodeInfo'); - uiFactory.build('tooltip'); - - renderer.center(generator.nodes[0]); - this.render(); - }, - - onMouseDown: function (isDown, e) { - var success = false; - - if ((input.isKeyDown('shift')) && (e.button == 2)) { - success = true; - - if (e.down) - events.emit('onStartAreaSelect', e); - else - events.emit('onEndAreaSelect', e); - } else if (isDown) { - if (generator.mode != 'none') { - e.button = ([ - 'place', - 'link', - 'select' - ]).indexOf(generator.mode); - } - - var action = ([ - 'addNode', - 'connectNode', - 'selectNode' - ])[e.button]; - - success = generator.callAction(action, { - x: e.x, - y: e.y, - shiftDown: input.isKeyDown('shift') - }); - } else if ((!isDown) && (e.button != 1) && (generator.getSelected().length <= 1)) - generator.callAction('selectNode', {}); - - if ((!isDown) || (!success)) - renderer.pan(e.raw, isDown ? 'down' : 'up'); - - renderer.makeDirty(); - }, - - onMouseMove: function (e) { - if ((!e.down) || (e.button != 2) || (input.isKeyDown('shift'))) - return; - - if (generator.callAction('moveNode', { - x: e.x, - y: e.y - })) - return; - - renderer.pan(e.raw, 'move'); - }, - - onMouseWheel: function (e) { - var delta = (e.delta > 0) ? 1 : 0; - - var action = ([ - 'resizeNode', - 'recolorNode' - ])[delta]; - if (!action) - return; - - if (!generator.callAction(action, {})) - renderer.zoom(delta); - - renderer.makeDirty(); - }, - - onKeyDown: function (key) { - if (key == 'z') { - renderer.zoom(0, 1); - renderer.makeDirty(); - return; - } - - var action = ({ - d: 'deleteNode', - c: 'recolorNode', - r: 'resizeNode' - })[key]; - if (!action) - return; - - generator.callAction(action, {}); - - renderer.makeDirty(); - }, - - onFocus: function () { - renderer.makeDirty(); - } - } - }; -}); diff --git a/helpers/passives/client/js/renderer.js b/helpers/passives/client/js/renderer.js deleted file mode 100644 index 073283e7..00000000 --- a/helpers/passives/client/js/renderer.js +++ /dev/null @@ -1,312 +0,0 @@ -define([ - 'js/constants', - 'js/events' -], function ( - constants, - events -) { - return { - canvas: null, - ctx: null, - - areaSelectOrigin: null, - panOrigin: null, - - currentZoom: 1, - - screen: { - w: 0, - h: 0 - }, - - pos: { - x: 0, - y: 0 - }, - - oldPos: null, - - mouse: { - x: 0, - y: 0 - }, - - dirty: true, - - init: function () { - this.canvas = $('.canvas')[0]; - this.screen.w = this.canvas.width = $('body').width(); - this.screen.h = this.canvas.height = $('body').height(); - this.ctx = this.canvas.getContext('2d'); - - this.ctx.lineWidth = constants.lineWidth; - - $(this.canvas) - .on('contextmenu', function () { - return false; - }); - - events.on('onMouseMove', this.events.onMouseMove.bind(this)); - events.on('onStartAreaSelect', this.events.onStartAreaSelect.bind(this)); - events.on('onEndAreaSelect', this.events.onEndAreaSelect.bind(this)); - events.on('onSelectGroup', this.events.onSelectGroup.bind(this)); - }, - - center: function (node) { - if (!node) - return; - - this.pos.x = ~~(node.pos.x * constants.gridSize) + (constants.blockSize / 2) - (this.screen.w / 2); - this.pos.y = ~~(node.pos.y * constants.gridSize) + (constants.blockSize / 2) - (this.screen.h / 2); - - this.makeDirty(); - }, - - pan: function (e, event) { - var action = ({ - down: 'onPanStart', - up: 'onPanEnd', - move: 'onPan' - })[event]; - - this.events[action].call(this, e); - }, - - makeDirty: function () { - this.dirty = true; - }, - - renderNodes: function (nodes, links) { - links.forEach(function (l) { - var linked = ( - nodes.find(n => (n == l.from)).selected && - nodes.find(n => (n == l.to)).selected - ); - this.renderers.line.call(this, l.from, l.to, linked); - }, this); - - nodes.forEach(function (n) { - this.renderers.node.call(this, n, n.pos.x, n.pos.y); - }, this); - }, - - render: function (nodes, links) { - this.dirty = false; - - this.renderers.clear.call(this); - this.renderers.grid.call(this); - - this.renderNodes(nodes, links); - - if (this.areaSelectOrigin) - this.renderers.selectArea.call(this); - }, - - zoom: function (delta, zoom) { - delta = delta ? -1 : 1; - - this.renderers.clear.call(this); - this.ctx.restore(); - - var newZoom = zoom || (this.currentZoom + (delta * 0.2)); - this.currentZoom = newZoom; - if (this.currentZoom < 0.4) - this.currentZoom = 0.4; - else if (this.currentZoom > 3) - this.currentZoom = 3; - - this.screen.w = $('body').width() / this.currentZoom; - this.screen.h = $('body').height() / this.currentZoom; - - this.ctx.save(); - this.ctx.scale(this.currentZoom, this.currentZoom); - }, - - renderers: { - clear: function () { - var pos = this.oldPos || this.pos; - - this.ctx.clearRect(0, 0, this.screen.w, this.screen.h); - - delete this.oldPos; - }, - - selectArea: function () { - var ctx = this.ctx; - var area = this.areaSelectOrigin; - var mouse = this.mouse; - - ctx.fillStyle = '#51fc9a'; - ctx.globalAlpha = 0.1; - - var lowX = (Math.min(area.x, mouse.x) * constants.gridSize) - this.pos.x; - var lowY = (Math.min(area.y, mouse.y) * constants.gridSize) - this.pos.y; - - var highX = (Math.max(area.x, mouse.x) * constants.gridSize) - this.pos.x; - var highY = (Math.max(area.y, mouse.y) * constants.gridSize) - this.pos.y; - - ctx.fillRect(lowX, lowY, highX - lowX, highY - lowY); - - ctx.globalAlpha = 1; - }, - - grid: function () { - var gridSize = constants.gridSize; - var ctx = this.ctx; - var mouse = this.mouse; - - var gapSize = (constants.blockSize - 4) / 2; - - var x = ~~(this.pos.x / gridSize) - (this.pos.x / gridSize); - var y = ~~(this.pos.y / gridSize) - (this.pos.y / gridSize); - - w = ~~(this.screen.w / gridSize); - h = ~~(this.screen.h / gridSize); - - ctx.fillStyle = '#3c3f4c'; - for (var i = x; i < w; i++) { - for (var j = y; j < h; j++) { - ctx.fillRect((i * gridSize) + gapSize, (j * gridSize) + gapSize, 4, 4); - } - } - - ctx.strokeStyle = '#44cb95'; - ctx.strokeRect( - (this.mouse.x * constants.gridSize) - this.pos.x + (gapSize / 1), - (this.mouse.y * constants.gridSize) - this.pos.y + (gapSize / 1), - 8, - 8 - ); - }, - - node: function (node) { - var color = (node.color >= 0) ? (node.color + 1) : -1; - if ((!node.stats) || (Object.keys(node.stats).length == 0)) - color = 0; - - this.ctx.fillStyle = ([ - '#69696e', - '#c0c3cf', - '#3fa7dd', - '#4ac441', - '#d43346', - '#a24eff', - '#faac45', - '#44cb95' - ])[color]; - var size = ([ - constants.blockSize, - constants.blockSize * 2, - constants.blockSize * 3 - ])[node.size]; - var x = (node.pos.x * constants.gridSize) - ((size - constants.blockSize) / 2) - this.pos.x; - var y = (node.pos.y * constants.gridSize) - ((size - constants.blockSize) / 2) - this.pos.y; - - this.ctx.fillRect(x, y, size, size); - - this.ctx.strokeStyle = ([ - '#69696e', - '#69696e', - '#42548d', - '#386646', - '#763b3b', - '#533399', - '#d07840', - '#3f8d6d' - ])[color]; - this.ctx.strokeRect(x, y, size, size); - - if (node.selected) { - this.ctx.strokeStyle = '#fafcfc'; - this.ctx.strokeRect(x, y, size, size); - } - }, - - line: function (fromNode, toNode, linked) { - var ctx = this.ctx; - var halfSize = constants.blockSize / 2; - - var fromX = (fromNode.pos.x * constants.gridSize) + halfSize - this.pos.x; - var fromY = (fromNode.pos.y * constants.gridSize) + halfSize - this.pos.y; - - var toX = (toNode.pos.x * constants.gridSize) + halfSize - this.pos.x; - var toY = (toNode.pos.y * constants.gridSize) + halfSize - this.pos.y; - - ctx.strokeStyle = linked ? '#fafcfc' : '#69696e'; - ctx.beginPath(); - ctx.moveTo(fromX, fromY); - ctx.lineTo(toX, toY); - ctx.closePath(); - ctx.stroke(); - } - }, - - events: { - onMouseMove: function (pos) { - if ((this.mouse.x == pos.x) && (this.mouse.y == pos.y)) - return; - - this.mouse = { - x: pos.x, - y: pos.y - }; - this.makeDirty(); - }, - - onPanStart: function (e) { - this.panOrigin = { - x: e.clientX, - y: e.clientY - }; - }, - - onPan: function (e) { - if (!this.panOrigin) - return; - - if (!this.oldPos) { - this.oldPos = { - x: this.pos.x, - y: this.pos.y - }; - } - - var zoomPanMultiplier = this.currentZoom; - var scrollSpeed = constants.scrollSpeed / zoomPanMultiplier; - - this.pos.x += (this.panOrigin.x - e.clientX) * scrollSpeed; - this.pos.y += (this.panOrigin.y - e.clientY) * scrollSpeed; - - this.panOrigin = { - x: e.clientX, - y: e.clientY - }; - - this.makeDirty(); - }, - - onPanEnd: function (e) { - this.panOrigin = null; - }, - - onStartAreaSelect: function (e) { - this.areaSelectOrigin = { - x: e.x, - y: e.y - }; - }, - - onEndAreaSelect: function (e) { - events.emit('onAreaSelect', this.areaSelectOrigin, e); - this.areaSelectOrigin = null; - }, - - onSelectGroup: function (pos) { - this.pos.x = pos.x; - this.pos.y = pos.y; - - this.makeDirty(); - } - } - }; -}); diff --git a/helpers/passives/client/js/tplNode.js b/helpers/passives/client/js/tplNode.js deleted file mode 100644 index a8208b4a..00000000 --- a/helpers/passives/client/js/tplNode.js +++ /dev/null @@ -1,27 +0,0 @@ -define([ - -], function ( - -) { - return { - color: 0, - size: 0, - pos: { - x: 0, - y: 0 - }, - - build: function (options) { - var res = $.extend(true, {}, this, { - id: options.id, - pos: { - x: options.x, - y: options.y - } - }); - delete res.build; - - return res; - } - }; -}); diff --git a/helpers/passives/client/plugins/css.js b/helpers/passives/client/plugins/css.js deleted file mode 100644 index ddd09460..00000000 --- a/helpers/passives/client/plugins/css.js +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Require-CSS RequireJS css! loader plugin - * 0.1.8 - * Guy Bedford 2014 - * MIT - */ - -/* - * - * Usage: - * require(['css!./mycssFile']); - * - * Tested and working in (up to latest versions as of March 2013): - * Android - * iOS 6 - * IE 6 - 10 - * Chome 3 - 26 - * Firefox 3.5 - 19 - * Opera 10 - 12 - * - * browserling.com used for virtual testing environment - * - * Credit to B Cavalier & J Hann for the IE 6 - 9 method, - * refined with help from Martin Cermak - * - * Sources that helped along the way: - * - https://developer.mozilla.org/en-US/docs/Browser_detection_using_the_user_agent - * - http://www.phpied.com/when-is-a-stylesheet-really-loaded/ - * - https://github.com/cujojs/curl/blob/master/src/curl/plugin/css.js - * - */ - -define(function() { - //>>excludeStart('excludeRequireCss', pragmas.excludeRequireCss) - if (typeof window == 'undefined') - return { - load: function(n, r, load) { - load() - } - }; - - var head = document.getElementsByTagName('head')[0]; - - var engine = window.navigator.userAgent.match(/Trident\/([^ ;]*)|AppleWebKit\/([^ ;]*)|Opera\/([^ ;]*)|rv\:([^ ;]*)(.*?)Gecko\/([^ ;]*)|MSIE\s([^ ;]*)|AndroidWebKit\/([^ ;]*)/) || 0; - - // use