From 216a58031d6a811cf658ad85ae092c679be3a26c Mon Sep 17 00:00:00 2001 From: exane Date: Mon, 22 Jun 2015 15:35:03 +0200 Subject: [PATCH 1/2] change ability --- assets/data/cards.js | 2 +- site/public/assets/css/app.css | 567 --------------------------------- 2 files changed, 1 insertion(+), 568 deletions(-) delete mode 100644 site/public/assets/css/app.css diff --git a/assets/data/cards.js b/assets/data/cards.js index 229a8bf..0292907 100644 --- a/assets/data/cards.js +++ b/assets/data/cards.js @@ -582,7 +582,7 @@ module.exports = { "celaeno_harpy": { name: "Celaeno Harpy", power: 2, - ability: null, + ability: "agile", img: "celaeno_harpy", faction: "monster", type: 1 diff --git a/site/public/assets/css/app.css b/site/public/assets/css/app.css deleted file mode 100644 index 5898569..0000000 --- a/site/public/assets/css/app.css +++ /dev/null @@ -1,567 +0,0 @@ -/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - */ -html { - font-family: sans-serif; - /* 1 */ - -ms-text-size-adjust: 100%; - /* 2 */ - -webkit-text-size-adjust: 100%; - /* 2 */ } - -/** - * Remove default margin. - */ -body { - margin: 0; } - -/* HTML5 display definitions - ========================================================================== */ -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; } - -/** - * 1. Correct `inline-block` display not defined in IE 8/9. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ -audio, -canvas, -progress, -video { - display: inline-block; - /* 1 */ - vertical-align: baseline; - /* 2 */ } - -/** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ -audio:not([controls]) { - display: none; - height: 0; } - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ -[hidden], -template { - display: none; } - -/* Links - ========================================================================== */ -/** - * Remove the gray background color from active links in IE 10. - */ -a { - background-color: transparent; } - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ -a:active, -a:hover { - outline: 0; } - -/* Text-level semantics - ========================================================================== */ -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ -abbr[title] { - border-bottom: 1px dotted; } - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ -b, -strong { - font-weight: bold; } - -/** - * Address styling not present in Safari and Chrome. - */ -dfn { - font-style: italic; } - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ -h1 { - font-size: 2em; - margin: 0.67em 0; } - -/** - * Address styling not present in IE 8/9. - */ -mark { - background: #ff0; - color: #000; } - -/** - * Address inconsistent and variable font size in all browsers. - */ -small { - font-size: 80%; } - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; } - -sup { - top: -0.5em; } - -sub { - bottom: -0.25em; } - -/* Embedded content - ========================================================================== */ -/** - * Remove border when inside `a` element in IE 8/9/10. - */ -img { - border: 0; } - -/** - * Correct overflow not hidden in IE 9/10/11. - */ -svg:not(:root) { - overflow: hidden; } - -/* Grouping content - ========================================================================== */ -/** - * Address margin not present in IE 8/9 and Safari. - */ -figure { - margin: 1em 40px; } - -/** - * Address differences between Firefox and other browsers. - */ -hr { - box-sizing: content-box; - height: 0; } - -/** - * Contain overflow in all browsers. - */ -pre { - overflow: auto; } - -/** - * Address odd `em`-unit font size rendering in all browsers. - */ -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; } - -/* Forms - ========================================================================== */ -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - */ -button, -input, -optgroup, -select, -textarea { - color: inherit; - /* 1 */ - font: inherit; - /* 2 */ - margin: 0; - /* 3 */ } - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ -button { - overflow: visible; } - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ -button, -select { - text-transform: none; } - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - */ -button, -html input[type="button"], input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; - /* 2 */ - cursor: pointer; - /* 3 */ } - -/** - * Re-set default cursor for disabled elements. - */ -button[disabled], -html input[disabled] { - cursor: default; } - -/** - * Remove inner padding and border in Firefox 4+. - */ -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; } - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ -input { - line-height: normal; } - -/** - * It's recommended that you don't attempt to style these elements. - * Firefox's implementation doesn't respect box-sizing, padding, or width. - * - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - */ -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; - /* 1 */ - padding: 0; - /* 2 */ } - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; } - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ -input[type="search"] { - -webkit-appearance: textfield; - /* 1 */ - /* 2 */ - box-sizing: content-box; } - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; } - -/** - * Define consistent border, margin, and padding. - */ -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; } - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - */ -legend { - border: 0; - /* 1 */ - padding: 0; - /* 2 */ } - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ -textarea { - overflow: auto; } - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ -optgroup { - font-weight: bold; } - -/* Tables - ========================================================================== */ -/** - * Remove most spacing between table cells. - */ -table { - border-collapse: collapse; - border-spacing: 0; } - -td, -th { - padding: 0; } - -@font-face { - font-family: 'Titillium Web'; - font-style: normal; - font-weight: 300; - src: local("Titillium WebLight"), local("TitilliumWeb-Light"), url(http://fonts.gstatic.com/s/titilliumweb/v4/anMUvcNT0H1YN4FII8wpr6YfJ4wTnNoNUCmOpdh16Tg.woff2) format("woff2"), url(http://fonts.gstatic.com/s/titilliumweb/v4/anMUvcNT0H1YN4FII8wpr1uKlGE8-OjkUKWan_M3D6s.woff) format("woff"); } - -@font-face { - font-family: 'Titillium Web'; - font-style: normal; - font-weight: 400; - src: local("Titillium Web"), local("TitilliumWeb-Regular"), url(http://fonts.gstatic.com/s/titilliumweb/v4/7XUFZ5tgS-tD6QamInJTceHuglUR2dhBxWD-q_ehMME.woff2) format("woff2"), url(http://fonts.gstatic.com/s/titilliumweb/v4/7XUFZ5tgS-tD6QamInJTcZ_o9VAbKgK36i-4snuAuCM.woff) format("woff"); } - -@font-face { - font-family: 'Titillium Web'; - font-style: normal; - font-weight: 600; - src: local("Titillium WebSemiBold"), local("TitilliumWeb-SemiBold"), url(http://fonts.gstatic.com/s/titilliumweb/v4/anMUvcNT0H1YN4FII8wpr6d1JQt-lS5nD-1TJX2NNl0.woff2) format("woff2"), url(http://fonts.gstatic.com/s/titilliumweb/v4/anMUvcNT0H1YN4FII8wprx3QmhlKDgQgT1VN2Ed1WFo.woff) format("woff"); } - -* { - padding: 0; - box-sizing: border-box; } - -html, -body { - height: 100%; } - -body { - width: 100%; - font-family: 'Titillium Web', sans-serif; } - -body.inner { - background: url(../img/inner-bg.jpg) center top no-repeat; - background-size: cover; } - -::-moz-selection { - background: rgba(217, 111, 31, 0.99); - color: #fff; - text-shadow: none; } - -::selection { - background: rgba(217, 111, 31, 0.99); - color: #fff; - text-shadow: none; } - -input, textarea { - font-family: 'Titillium Web', sans-serif; - outline: 0; } - -a { - text-decoration: none; } - -ul { - list-style: none; } - -.wrap-modal { - max-width: 600px; - margin: 0 auto; } - -.modal { - position: fixed; - width: 100%; - height: 100%; - left: 0; - top: 0; - right: 0; - bottom: 0; - background: rgba(14, 27, 43, 0.8); - z-index: 10; - opacity: 0; - visibility: hidden; } - .modal.active { - visibility: visible; - opacity: 1; - transition: all 0.3s ease-in-out 0s; } - -.modal-banner { - z-index: 20; - background: rgba(6, 13, 22, 0.95); - width: 100%; - color: #fff; - padding: 50px 0; - margin: 15% 0 0 0; - float: left; } - -.icon-load { - background: url(../img/load.gif) #ca5a07 no-repeat; - width: 16px; - height: 16px; - float: right; - margin: 5px -7px 0 7px; - display: none; } - -.form-session { - float: left; } - -.field-session { - float: left; - padding: 10px 20px; - border: 0; - color: #8798ac; - font-size: 16px; - margin: 0 10px 0 0; - height: 48px; - width: 220px; - background: #243141; - background: linear-gradient(to right, #243141 0%, #334152 100%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#243141', endColorstr='#334152',GradientType=1 ); } - -.wrap-btn-action { - float: left; - padding: 10px 20px; - cursor: pointer; - height: 48px; - background: #da7020; - background: linear-gradient(to right, #da7020 0%, #ca5907 100%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#da7020', endColorstr='#ca5907',GradientType=1 ); - transition: box-shadow 0.3s ease-in-out 0s; } - .wrap-btn-action:hover { - box-shadow: 0 0 10px 0 rgba(217, 111, 31, 0.8); } - -.btn-action { - color: #fff; - font-size: 16px; - font-weight: 400; - border: 0; - background: transparent; - cursor: pointer; - float: left; - text-transform: uppercase; } - -.btn-second, -.btn-none { - color: #fff; - font-size: 16px; - font-weight: 400; - border: 0; - padding: 10px 20px; - float: left; - position: relative; - cursor: pointer; - height: 48px; - text-transform: uppercase; - text-decoration: none; - background: #243141; - background: linear-gradient(to right, #243141 0%, #334152 100%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#243141', endColorstr='#334152',GradientType=1 ); - transition: all 0.3s ease-in-out 0s; } - -.btn-second:hover { - box-shadow: 0 0 10px 0 rgba(255, 255, 255, 0.1); } - -.btn-none { - background: transparent; - color: #8798ac; } - .btn-none:hover { - color: #fff; } - -::-webkit-input-placeholder { - color: #697e97; } - -:-moz-placeholder { - color: #697e97; - opacity: 1; } - -::-moz-placeholder { - color: #697e97; - opacity: 1; } - -:-ms-input-placeholder { - color: #697e97; } - -body.landing { - background: url(../img/landing-bg.jpg) center top no-repeat; - background-size: cover; } - -.wrap-landing { - max-width: 900px; - margin: 0 auto; } - -.logo-big { - margin: 0 auto; - display: block; } - -.container-landing { - float: left; - width: 100%; - margin: 12% 0 0 0; } - @media (max-width: 1450px) { - .container-landing { - margin: 9% 0 0 0; } } - -.teaser-landing { - text-align: center; - font-size: 21px; - font-weight: 300; - text-shadow: 0 0 10px rgba(255, 255, 255, 0.6); - color: #8798ac; - line-height: 29pt; - cursor: default; } - -.choose { - float: left; - color: #8798ac; - margin: 10px 30px; - cursor: default; } - -.container-form-landing { - margin: 40px 0; - opacity: 0; } - .container-form-landing.active { - transition: all 0.4s ease-in-out 0s; - margin: 60px 0; - opacity: 1; } From 63320bad55de421a1a2cf225005d3a63ff5a1d88 Mon Sep 17 00:00:00 2001 From: exane Date: Mon, 22 Jun 2015 17:29:01 +0200 Subject: [PATCH 2/2] add proper templates --- client/index.html | 239 ---------------------- client/js/client.js | 34 +-- client/templates/battle.handlebars | 128 ++++++++++++ client/templates/cards.handlebars | 3 + client/templates/info.handlebars | 23 +++ client/templates/lobby.handlebars | 23 +++ client/templates/modal.handlebars | 13 ++ client/templates/modal.medic.handlebars | 13 ++ client/templates/multipleCards.handlebars | 6 + client/templates/preview.handlebars | 1 + gulpfile.js | 2 + package.json | 1 + public/index.html | 239 ---------------------- server/Battle.js | 13 +- 14 files changed, 232 insertions(+), 506 deletions(-) create mode 100644 client/templates/battle.handlebars create mode 100644 client/templates/cards.handlebars create mode 100644 client/templates/info.handlebars create mode 100644 client/templates/lobby.handlebars create mode 100644 client/templates/modal.handlebars create mode 100644 client/templates/modal.medic.handlebars create mode 100644 client/templates/multipleCards.handlebars create mode 100644 client/templates/preview.handlebars diff --git a/client/index.html b/client/index.html index f8811de..4773550 100644 --- a/client/index.html +++ b/client/index.html @@ -9,245 +9,6 @@ - - - - - - - diff --git a/client/js/client.js b/client/js/client.js index 65a1a3a..f8bb2a2 100644 --- a/client/js/client.js +++ b/client/js/client.js @@ -8,19 +8,6 @@ var $ = require("jquery"); window.$ = $; -Handlebars.registerHelper("health", function(lives, options){ - var out = ""; - - for(var i = 0; i < 2; i++) { - out += "' + - '' + - ''), - templateCards: Handlebars.compile('{{#each this}}' + - '
' + - '{{#if boost}}+{{boost}}{{/if}}' + - '' + - '
' + - '{{/each}}'), + template: require("../templates/cards.handlebars"), + templateCards: require("../templates/multipleCards.handlebars"), initialize: function(options){ var self = this; this.side = options.side; @@ -231,8 +211,8 @@ var calculateCardMargin = function($selector, totalWidth, cardWidth, n){ var BattleView = Backbone.View.extend({ className: "container", - template: Handlebars.compile($("#battle-template").html()), - templatePreview: Handlebars.compile($("#preview-template").html()), + template: require("../templates/battle.handlebars"), + templatePreview: require("../templates/preview.handlebars"), initialize: function(options){ var self = this; var user = this.user = options.user; @@ -481,7 +461,7 @@ var BattleView = Backbone.View.extend({ }); var Modal = Backbone.Modal.extend({ - template: Handlebars.compile($("#modal-template").html()), + template: require("../templates/modal.handlebars"), cancelEl: ".bbm-close", cancel: function(){ this.model.set("openDiscard", false); @@ -489,7 +469,7 @@ var Modal = Backbone.Modal.extend({ }); var MedicModal = Modal.extend({ - template: Handlebars.compile($("#modal-medic-template").html()), + template: require("../templates/modal.medic.handlebars"), events: { "click .card": "onCardClick" }, @@ -608,7 +588,7 @@ var Lobby = Backbone.View.extend({ }, className: "container", - template: Handlebars.compile($("#matchmaker-template").html()), + template: require("../templates/lobby.handlebars"), initialize: function(options){ this.user = options.user; this.app = options.app; diff --git a/client/templates/battle.handlebars b/client/templates/battle.handlebars new file mode 100644 index 0000000..072c25b --- /dev/null +++ b/client/templates/battle.handlebars @@ -0,0 +1,128 @@ +
+
+
+
+
+
+
Points:
+
0
+
+
+
Hand:
+
0
+
+
+
+ + +
+
+
+
Passed
+
+
+
+
+ field +
+
+
{{name}}
+
+
+
+
Points:
+
{{score}}
+
+
+
Hand:
+
{{hand}}
+
+
+
+ +
+
+
+
Passed
+
+
+
+ +
+
+
+
+
+
+
+
+
+
0
+
+
+
+
+
+
0
+
+
+
+
+
+
0
+
+
+
+
+
+
+
+
+
0
+
+
+
+
+
+
0
+
+
+
+
+
+
0
+
+
+
+
+
+
+ {{#each cards}} +
+ +
+ {{/each}} +
+
+
+
+
+ +
+
+
+ discard deck +
+
+ main deck +
+
+
+
+ discard deck +
+
+ main deck +
+
+
\ No newline at end of file diff --git a/client/templates/cards.handlebars b/client/templates/cards.handlebars new file mode 100644 index 0000000..260ec08 --- /dev/null +++ b/client/templates/cards.handlebars @@ -0,0 +1,3 @@ +
+ +
\ No newline at end of file diff --git a/client/templates/info.handlebars b/client/templates/info.handlebars new file mode 100644 index 0000000..b5f06fd --- /dev/null +++ b/client/templates/info.handlebars @@ -0,0 +1,23 @@ +
+
{{name}}
+
+
+
+
Points:
+
{{score}}
+
+
+
Hand:
+
{{hand}}
+
+
+
+ {{#health}} + {{/health}} +
+
+
+
Passed
+
+
+
\ No newline at end of file diff --git a/client/templates/lobby.handlebars b/client/templates/lobby.handlebars new file mode 100644 index 0000000..0349e6c --- /dev/null +++ b/client/templates/lobby.handlebars @@ -0,0 +1,23 @@ +
+
+
Gwent
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+
\ No newline at end of file diff --git a/client/templates/modal.handlebars b/client/templates/modal.handlebars new file mode 100644 index 0000000..d91f4c8 --- /dev/null +++ b/client/templates/modal.handlebars @@ -0,0 +1,13 @@ +
+

Discard of {{openDiscard.name}}

+
+
+ {{#each openDiscard.discard}} +
+ +
+ {{/each}} +
+
+
close
+
\ No newline at end of file diff --git a/client/templates/modal.medic.handlebars b/client/templates/modal.medic.handlebars new file mode 100644 index 0000000..c014dd9 --- /dev/null +++ b/client/templates/modal.medic.handlebars @@ -0,0 +1,13 @@ +
+

Choose one card from your discard

+
+
+ {{#each medicDiscard.cards}} +
+ +
+ {{/each}} +
+
+
close
+
\ No newline at end of file diff --git a/client/templates/multipleCards.handlebars b/client/templates/multipleCards.handlebars new file mode 100644 index 0000000..3fd3bd6 --- /dev/null +++ b/client/templates/multipleCards.handlebars @@ -0,0 +1,6 @@ +{{#each this}} +
+ {{#if boost}}+{{boost}}{{/if}} + +
+{{/each}} \ No newline at end of file diff --git a/client/templates/preview.handlebars b/client/templates/preview.handlebars new file mode 100644 index 0000000..20a8111 --- /dev/null +++ b/client/templates/preview.handlebars @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js index dbd8527..afe405c 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -5,6 +5,7 @@ var fs = require("fs"); var babelify = require("babelify"); var livereload = require("gulp-livereload"); var sass = require("gulp-sass"); +var handlebars = require("browserify-handlebars"); livereload({start: true}); //fast install @@ -13,6 +14,7 @@ livereload({start: true}); gulp.task('browserify', function(){ browserify('./client/js/main.js', {standalone: "app", debug: true}) + .transform(handlebars) .transform(babelify) .bundle().on("error", function(err){ console.log(err); diff --git a/package.json b/package.json index 261a9d8..3de8d8f 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "devDependencies": { "babelify": "^6.1.2", "browserify": "^10.2.4", + "browserify-handlebars": "^1.0.0", "gulp": "^3.9.0", "gulp-livereload": "^3.8.0", "gulp-sass": "^2.0.1", diff --git a/public/index.html b/public/index.html index f8811de..4773550 100644 --- a/public/index.html +++ b/public/index.html @@ -9,245 +9,6 @@ - - - - - - - diff --git a/server/Battle.js b/server/Battle.js index 5c4a1bc..c424190 100644 --- a/server/Battle.js +++ b/server/Battle.js @@ -61,9 +61,20 @@ var Battle = (function(){ this.p2.setLeadercard(); this.p1.draw(10); this.p2.draw(10); + /*this.p1.hand.add(Card("commanders_horn")); + this.p2.hand.add(Card("commanders_horn")); + this.p1.hand.add(Card("milva")); + this.p2.hand.add(Card("milva")); + this.p1.hand.add(Card("havekar_healer")); + this.p2.hand.add(Card("havekar_healer")); + this.p1.hand.add(Card("toruviel")); + this.p2.hand.add(Card("toruviel")); + this.p1.hand.add(Card("vrihedd_brigade_recruit")); + this.p2.hand.add(Card("vrihedd_brigade_recruit")); + this.p1.hand.add(Card("impenetrable_fog")); + this.p2.hand.add(Card("impenetrable_fog"));*/ /* this.p1.hand.add(Card("commanders_horn")); - this.p2.hand.add(Card("commanders_horn")); this.p1.hand.add(Card("commanders_horn")); this.p2.hand.add(Card("commanders_horn"));*/ /*