Merge pull request #16 from megastruktur/Dev

Dev
This commit is contained in:
megastruktur 2020-05-04 13:14:22 +03:00 committed by GitHub
commit 331e726059
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
808 changed files with 568 additions and 214 deletions

View file

@ -35,14 +35,6 @@ export class BladesActorSheet extends ActorSheet {
activateListeners(html) {
super.activateListeners(html);
// // Activate tabs
// let tabs = html.find('.tabs');
// let initial = this._sheetTab;
// new Tabs(tabs, {
// initial: initial,
// callback: clicked => this._sheetTab = clicked.data("tab")
// });
// Everything below here is only needed if the sheet is editable
if (!this.options.editable) return;
@ -65,27 +57,6 @@ export class BladesActorSheet extends ActorSheet {
/** @override */
_updateObject(event, formData) {
// Handle the free-form attributes list
// const formAttrs = expandObject(formData).data.attributes || {};
// const attributes = Object.values(formAttrs).reduce((obj, v) => {
// let k = v["key"].trim();
// if ( /[\s\.]/.test(k) ) return ui.notifications.error("Attribute keys may not contain spaces or periods");
// delete v["key"];
// obj[k] = v;
// return obj;
// }, {});
// // Remove attributes which are no longer used
// for ( let k of Object.keys(this.object.data.data.attributes) ) {
// if ( !attributes.hasOwnProperty(k) ) attributes[`-=${k}`] = null;
// }
// // Re-combine formData
// formData = Object.entries(formData).filter(e => !e[0].startsWith("data.attributes")).reduce((obj, e) => {
// obj[e[0]] = e[1];
// return obj;
// }, {_id: this.object._id, "data.attributes": attributes});
// Update the Actor
return this.object.update(formData);

View file

@ -151,4 +151,21 @@ export class BladesHelpers {
}, obj);
}
/**
* Add item functionality
*/
static _addOwnedItem(event, actor) {
event.preventDefault();
const a = event.currentTarget;
const item_type = a.dataset.itemType;
let data = {
name: randomID(),
type: item_type
};
return actor.createEmbeddedEntity("OwnedItem", data);
}
}

View file

@ -50,7 +50,7 @@ export class BladesCrewSheet extends ActorSheet {
if (!this.options.editable) return;
// Update Inventory Item
html.find('.item-body').click(ev => {
html.find('.item-sheet-open').click(ev => {
const element = $(ev.currentTarget).parents(".item");
const item = this.actor.getOwnedItem(element.data("itemId"));
item.sheet.render(true);
@ -63,6 +63,11 @@ export class BladesCrewSheet extends ActorSheet {
element.slideUp(200, () => this.render(false));
});
// Add a new Cohort
html.find('.add-item').click(ev => {
BladesHelpers._addOwnedItem(ev, this.actor);
});
// Toggle Turf
html.find('.turf-select').click(ev => {
const element = $(ev.currentTarget).parents(".item");
@ -77,6 +82,19 @@ export class BladesCrewSheet extends ActorSheet {
[turf_checkbox_name]: !turf_current_status});
this.render(false);
});
// Cohort Block Harm handler
html.find('.cohort-block-harm input[type="radio"]').change(ev => {
const element = $(ev.currentTarget).parents(".item");
let item_id = element.data("itemId")
let harm_id = $(ev.currentTarget).val();
this.actor.updateEmbeddedEntity('OwnedItem', {
_id: item_id,
"data.harm": [harm_id]});
this.render(false);
});
}
/* -------------------------------------------- */
@ -88,5 +106,19 @@ export class BladesCrewSheet extends ActorSheet {
}
/* -------------------------------------------- */
/* Form Submission */
/* -------------------------------------------- */
/** @override */
_updateObject(event, formData) {
// Update the Item
super._updateObject(event, formData);
if (event.target.name === "data.tier") {
this.render(true);
}
}
/* -------------------------------------------- */
}

View file

@ -31,14 +31,6 @@ export class BladesItemSheet extends ItemSheet {
/* -------------------------------------------- */
/** @override */
getData() {
const data = super.getData();
return data;
}
/* -------------------------------------------- */
/** @override */
activateListeners(html) {
super.activateListeners(html);

View file

@ -3,4 +3,50 @@
* @extends {Item}
*/
export class BladesItem extends Item {
/* override */
prepareData() {
super.prepareData();
const item_data = this.data;
const data = item_data.data;
console.log("prepare item " + item_data.type);
if (item_data.type === "cohort") {
this._prepareCohort(data);
}
}
/**
* Prepares Cohort data
*
* @param {object} data
*/
_prepareCohort(data) {
let quality = 0;
let scale = 0;
// Adds Scale and Quality
if (this.actor) {
switch (data.cohort[0]) {
case "Gang":
scale = parseInt(this.actor.data.data.tier[0]);
quality = parseInt(this.actor.data.data.tier[0]);
break;
case "Expert":
scale = 1;
quality = parseInt(this.actor.data.data.tier[0]) + 1;
break;
}
}
data.scale = scale;
data.quality = quality;
this.data.data = data;
}
}

View file

@ -11,7 +11,8 @@ export const preloadHandlebarsTemplates = async function() {
// Actor Sheet Partials
"systems/blades-in-the-dark/templates/parts/coins.html",
"systems/blades-in-the-dark/templates/parts/attributes.html",
"systems/blades-in-the-dark/templates/parts/turf-list.html"
"systems/blades-in-the-dark/templates/parts/turf-list.html",
"systems/blades-in-the-dark/templates/parts/cohort-block.html"
];
// Load the template parts

View file

@ -1 +1,6 @@
{"_id":"678LJHqxkBAaSJci","name":"Cult","permission":{"default":0},"type":"crew_type","data":{"description":"Acolytes of a Deity","experience_clues":"- Advance the agenda of your deity or embody its precepts in action.\n- Contend with challenges above your current station.\n- Bolster your crew's reputation or develop a new one.\n- Express the goals, drives, inner conflict, or essential nature of the crew.","turfs":{"1":{"name":"Cloister","value":false,"description":"+1 scale for your Adept cohorts","connects":["right"],"connected":[false,false,false,false]},"2":{"name":"Vice Den","value":false,"description":"(Tier roll) - Heat = coin in Downtime","connects":["left","right","bottom"],"connected":[false,false,false,false]},"3":{"name":"Offertory","value":false,"description":"+2 coin for occult operations","connects":["left"],"connected":[false,false,false,false]},"4":{"name":"Ancient Obelisk","value":false,"description":"-1 stress cost for all arcane powers and rituals","connects":["right"],"connected":[false,false,false,false]},"5":{"name":"Ancient Tower","value":false,"description":"+1d to Consort w/ arcane entities on site","connects":["left","bottom"],"connected":[false,false,false,false]},"6":{"name":"Turf","value":false,"description":"","connects":["top","right"],"connected":[false,false,false,false]},"7":{"name":"Turf","value":false,"description":"","connects":["left","top","right","bottom"],"connected":[false,false,false,false]},"8":{"name":"Lair","value":true,"description":"","connects":["left","top","right","bottom"],"connected":[false,false,false,true]},"9":{"name":"Turf","value":false,"description":"","connects":["left","right","bottom"],"connected":[false,false,false,false]},"10":{"name":"Turf","value":false,"description":"","connects":["left","top","bottom"],"connected":[false,false,false,false]},"11":{"name":"Spirit Well","value":false,"description":"+1d to Attune on site","connects":["right"],"connected":[false,false,false,false]},"12":{"name":"Ancient Gate","value":false,"description":"Safe passage in the Deathlands","connects":["left","top"],"connected":[false,false,false,false]},"13":{"name":"Sanctuary","value":false,"description":"+1d to Command and Sway on site","connects":["top"],"connected":[false,false,false,false]},"14":{"name":"Sacred Nexus","value":false,"description":"+1d to healing rolls","connects":["top","right"],"connected":[false,false,false,false]},"15":{"name":"Ancient Altar","value":false,"description":"+1d engagement for occult plans","connects":["left","top"],"connected":[false,false,false,false]}}},"folder":null,"sort":100001,"flags":{}}
{"_id":"678LJHqxkBAaSJci","name":"Cult","permission":{"default":0},"type":"crew_type","data":{"description":"Acolytes of a Deity","experience_clues":"- Advance the agenda of your deity or embody its precepts in action.\n- Contend with challenges above your current station.\n- Bolster your crew's reputation or develop a new one.\n- Express the goals, drives, inner conflict, or essential nature of the crew.","turfs":{"1":{"name":"Cloister","value":false,"description":"+1 scale for your Adept cohorts","connects":["right"],"connected":[false,false,false,false]},"2":{"name":"Vice Den","value":false,"description":"(Tier roll) - Heat = coin in Downtime","connects":["left","right","bottom"],"connected":[false,false,false,false]},"3":{"name":"Offertory","value":false,"description":"+2 coin for occult operations","connects":["left"],"connected":[false,false,false,false]},"4":{"name":"Ancient Obelisk","value":false,"description":"-1 stress cost for all arcane powers and rituals","connects":["right"],"connected":[false,false,false,false]},"5":{"name":"Ancient Tower","value":false,"description":"+1d to Consort w/ arcane entities on site","connects":["left","bottom"],"connected":[false,false,false,false]},"6":{"name":"Turf","value":false,"description":"","connects":["top","right"],"connected":[false,false,false,false]},"7":{"name":"Turf","value":false,"description":"","connects":["left","top","right","bottom"],"connected":[false,false,false,false]},"8":{"name":"Lair","value":true,"description":"","connects":["left","top","right","bottom"],"connected":[false,false,false,true]},"9":{"name":"Turf","value":false,"description":"","connects":["left","right","bottom"],"connected":[false,false,false,false]},"10":{"name":"Turf","value":false,"description":"","connects":["left","top","bottom"],"connected":[false,false,false,false]},"11":{"name":"Spirit Well","value":false,"description":"+1d to Attune on site","connects":["right"],"connected":[false,false,false,false]},"12":{"name":"Ancient Gate","value":false,"description":"Safe passage in the Deathlands","connects":["left","top"],"connected":[false,false,false,false]},"13":{"name":"Sanctuary","value":false,"description":"+1d to Command and Sway on site","connects":["top"],"connected":[false,false,false,false]},"14":{"name":"Sacred Nexus","value":false,"description":"+1d to healing rolls","connects":["top","right"],"connected":[false,false,false,false]},"15":{"name":"Ancient Altar","value":false,"description":"+1d engagement for occult plans","connects":["left","top"],"connected":[false,false,false,false]}}},"folder":null,"sort":100001,"flags":{},"img":"systems/blades-in-the-dark/styles/assets/icons/Icon.7_29.png"}
{"_id":"KDB0e8FotyrNliTH","name":"Shadows","permission":{"default":0,"BwbqQh8sHfeKmUax":3},"type":"crew_type","data":{"description":"Thieves, Spies and Saboteurs","experience_clues":"- Execute a successful espionage, sabotage, or theft operation.\n- Contend with challenges above your current station.\n- Bolster your crew's reputation or develop a new one.\n- Express the goals, drives, inner conflict, or essential nature of the crew.","turfs":{"1":{"name":"Interrogation Chamber","value":false,"description":"+1d to Command and Sway on site","connects":["right","bottom"]},"2":{"name":"Turf","value":false,"description":"","connects":["left","right"]},"3":{"name":"Loyal Fence","value":false,"description":"+2 coin for burglary or robbery","connects":["left","bottom"]},"4":{"name":"Gambling Den","value":false,"description":"(Tier roll) - Heat = coin in downtime","connects":["right","bottom"]},"5":{"name":"Tavern","value":false,"description":"+1d to Consort and Sway on site","connects":["left","bottom"]},"6":{"name":"Drug Den","value":false,"description":"(Tier roll) - Heat = coin in downtime","connects":["top","right","bottom"]},"7":{"name":"Informants","value":false,"description":"+1d gather info for scores","connects":["left","right","bottom"]},"8":{"name":"Lair","value":1,"description":"","connects":["left","top","right","bottom"]},"9":{"name":"Turf","value":false,"description":"","connects":["left","top","right"]},"10":{"name":"Lookouts","value":false,"description":"+1d to Survey or Hunt on your turf","connects":["left","top","bottom"]},"11":{"name":"Hagfish Farm","value":false,"description":"Body disposal, +1d to reduce Heat after killing","connects":["top","right"]},"12":{"name":"Infirmary","value":false,"description":"+1d to healing rolls","connects":["left","top"]},"13":{"name":"Covert Drops","value":false,"description":"+2 coin for espionage or sabotage","connects":["top","right"]},"14":{"name":"Turf","value":false,"description":"","connects":["left","right"]},"15":{"name":"Secret Pathways","value":false,"description":"+1d engagement for stealth plans","connects":["left","top"]}}},"folder":null,"sort":400001,"flags":{},"img":"systems/blades-in-the-dark/styles/assets/icons/Icon.6_10.png"}
{"_id":"ORP0DFYT11tZG2bn","name":"Assassins","permission":{"default":0,"BwbqQh8sHfeKmUax":3},"type":"crew_type","data":{"description":"Murderers for Hire","experience_clues":"- Execute a successful accident, disappearance, murder, or ransom operation.\n- Contend with challenges above your current station.\n- Bolster your crew's reputation or develop a new one.\n- Express the goals, drives, inner conflict, or essential nature of the crew.","turfs":{"1":{"name":"Training Rooms","value":false,"description":"+1 scale for your Skulks cohorts","connects":["right","bottom"]},"2":{"name":"Vice Den","value":false,"description":"(Tier roll) - Heat = coin in downtime","connects":["left","bottom"]},"3":{"name":"Fixer","value":false,"description":"+2 coins for lower class targets","connects":["bottom"]},"4":{"name":"Informants","value":false,"description":"+1d gather info for scores","connects":["right","bottom"]},"5":{"name":"Hagfish Farm","value":false,"description":"Body disposal, +1d to reduce heat after killing","connects":["left","bottom"]},"6":{"name":"Victim Trophies","value":false,"description":"+1rep per score","connects":["top","bottom"]},"7":{"name":"Turf","value":false,"description":"","connects":["top","right","bottom"]},"8":{"name":"Lair","value":1,"description":"","connects":["left","top","right","bottom"]},"9":{"name":"Turf","value":false,"description":"","connects":["left","top","right"]},"10":{"name":"Cover Operation","value":false,"description":"-2 heat per score","connects":["left","top","bottom"]},"11":{"name":"Protection Racket","value":false,"description":"(Tier roll) - Heat = coin in downtime","connects":["top","right"]},"12":{"name":"Infirmary","value":false,"description":"+1d to healing rolls","connects":["left","top"]},"13":{"name":"Envoy","value":false,"description":"+2 coin for high-class targets","connects":["top"]},"14":{"name":"Cover Identities","value":false,"description":"+1d engagement for deception and social plans","connects":["right"]},"15":{"name":"City Records","value":false,"description":"+1d engagement for stealth plans","connects":["left","top"]}}},"folder":null,"sort":100001,"flags":{},"img":"systems/blades-in-the-dark/styles/assets/icons/Icon.2_32.png"}
{"_id":"WV5R1gcd0eRWY7dk","name":"Smugglers","permission":{"default":0,"BwbqQh8sHfeKmUax":3},"type":"crew_type","data":{"description":"Supplies of illicit goods","experience_clues":"- Execute a successful smuggling or acquire new clients or contraband sources.\n- Contend with challenges above your current station.\n- Bolster your crew's reputation or develop a new one.\n- Express the goals, drives, inner conflict, or essential nature of the crew.","turfs":{"1":{"name":"Turf","value":false,"description":"","connects":["right","bottom"]},"2":{"name":"Side Business","value":false,"description":"(Tier roll) - Heat = coin in downtime","connects":["left","bottom"]},"3":{"name":"Luxury Fence","value":false,"description":"+2 coin for high-class targets","connects":["bottom"]},"4":{"name":"Vice Den","value":false,"description":"(Tier roll) - Heat = coin in downtime","connects":["right","bottom"]},"5":{"name":"Tavern","value":false,"description":"+1d to Consort and Sway on site","connects":["left","bottom"]},"6":{"name":"Ancient Gate","value":false,"description":"Safe passage in Deathlands","connects":["top","bottom"]},"7":{"name":"Turf","value":false,"description":"","connects":["top","right","bottom"]},"8":{"name":"Lair","value":1,"description":"","connects":["left","top","right","bottom"]},"9":{"name":"Turf","value":false,"description":"","connects":["left","top","right","bottom"]},"10":{"name":"Turf","value":false,"description":"","connects":["left","top","bottom"]},"11":{"name":"Secret Routes","value":false,"description":"+1d engagement for transport plans","connects":["top","right"]},"12":{"name":"Informants","value":false,"description":"+1d gather info for scores","connects":["left","top"]},"13":{"name":"Fleet","value":false,"description":"Your cohorts have their own vehicles","connects":["top"]},"14":{"name":"Cover Operation","value":false,"description":"-2 Heat per score","connects":["top","right"]},"15":{"name":"Warehouse","value":false,"description":"Stockpiles give you +1d to acquire assets","connects":["left","top"]}}},"folder":null,"sort":500001,"flags":{},"img":"systems/blades-in-the-dark/styles/assets/icons/Icon.6_46.png"}
{"_id":"g92o7T62qcrsuIOF","name":"Bravos","permission":{"default":0,"BwbqQh8sHfeKmUax":3},"type":"crew_type","data":{"description":"Mercenaries Thugs & Killers","experience_clues":"- Execute a successful battle, extortion, sabotage, or smash & grab operation.\n- Contend with challenges above your current station.\n- Bolster your crew's reputation or develop a new one.\n- Express the goals, drives, inner conflict, or essential nature of the crew.","turfs":{"1":{"name":"Barracks","value":false,"description":"+1 scale for your Thug cohorts","connects":["right","bottom"]},"2":{"name":"Turf","value":false,"description":"","connects":["left","right"]},"3":{"name":"Terrorized Citizens","value":false,"description":"+2 coin for battle or extortion","connects":["left","bottom"]},"4":{"name":"Informants","value":false,"description":"+1d gather info for scores","connects":["right","bottom"]},"5":{"name":"Protection Racket","value":false,"description":"(Tier roll) - Heat = coin in downtime","connects":["left","bottom"]},"6":{"name":"Fighting Pits","value":false,"description":"(Tier roll) - Heat = coin in downtime","connects":["top","right","bottom"]},"7":{"name":"Turf","value":false,"description":"","connects":["left","right","bottom"]},"8":{"name":"Lair","value":1,"description":"","connects":["left","top","right","bottom"]},"9":{"name":"Turf","value":false,"description":"","connects":["left","top","right","bottom"]},"10":{"name":"Turf","value":false,"description":"","connects":["left","top","bottom"]},"11":{"name":"Infirmary","value":false,"description":"+1d to healing rolls","connects":["top","right"]},"12":{"name":"Bluecoat Intimidation","value":false,"description":"-2 heat per score","connects":["left","top"]},"13":{"name":"Street Fence","value":false,"description":"+2 coin for lower-class targets","connects":["top","right"]},"14":{"name":"Warehouses","value":false,"description":"Stockpiles give you +1d to acquire assets","connects":["left","top","right"]},"15":{"name":"Bluecoat Confederates","value":false,"description":"+1d engagement for assault plans","connects":["left","top"]}}},"folder":null,"sort":200001,"flags":{},"img":"systems/blades-in-the-dark/styles/assets/icons/Icon.3_31.png"}
{"_id":"sXlemqVvMPOZJbTQ","name":"Hawkers","permission":{"default":0,"BwbqQh8sHfeKmUax":3},"type":"crew_type","data":{"description":"Vice dealers","experience_clues":"- Acquire product supply, execute clandestine/covert sales, or secure new territory.\n- Contend with challenges above your current station.\n- Bolster your crew's reputation or develop a new one.\n- Express the goals, drives, inner conflict, or essential nature of the crew.","turfs":{"1":{"name":"Turf","value":false,"description":"","connects":["right","bottom"]},"2":{"name":"Personal Clothier","value":false,"description":"+1d engagement roll for social plans","connects":["left","bottom"]},"3":{"name":"Local Graft","value":false,"description":"+2 coin for show of force or socialize","connects":["bottom"]},"4":{"name":"Lookouts","value":false,"description":"+1d to Survey or Hunt on your turn","connects":["right","bottom"]},"5":{"name":"Informants","value":false,"description":"+1d gather info for scores","connects":["left","bottom"]},"6":{"name":"Turf","value":false,"description":"","connects":["top","bottom"]},"7":{"name":"Turf","value":false,"description":"","connects":["top","right","bottom"]},"8":{"name":"Lair","value":1,"description":"","connects":["left","top","right","bottom"]},"9":{"name":"Turf","value":false,"description":"","connects":["left","top","right","bottom"]},"10":{"name":"Luxury Venue","value":false,"description":"+1d to Consort and Sway on site","connects":["left","top"]},"11":{"name":"Foreign Market","value":false,"description":"(Tier roll) - Heat = coin in downtime","connects":["top","right"]},"12":{"name":"Vice Den","value":false,"description":"(Tier roll) - Heat = coin in downtime","connects":["left","top"]},"13":{"name":"Surplus Caches","value":false,"description":"+2 coin for product sale or supply","connects":["top"]},"14":{"name":"Cover Operation","value":false,"description":"-2 heat per score","connects":["top","right"]},"15":{"name":"Cover Identities","value":false,"description":"+!d engagement for deception and transport plans","connects":["left"]}}},"folder":null,"sort":300001,"flags":{},"img":"systems/blades-in-the-dark/styles/assets/icons/Icon.7_83.png"}

View file

@ -71,7 +71,7 @@
width: 5px;
border-radius: 24px;
background-image: none !important;
background-color: red !important;
background-color: $red !important;
margin-right: 0px;
}
}
@ -157,7 +157,7 @@
display: none;
&:checked ~ .checkmark {
color: red;
color: $red;
}
}
@ -238,14 +238,14 @@
width: $turf_width;
height: $turf_height;
background-color: lightgray;
background-color: $lightgray;
position: relative;
margin: $turf_margin;
flex-grow: initial;
&.turf-selected {
.connector {
background-color: gray;
background-color: $gray;
z-index: 1;
}
}
@ -254,7 +254,7 @@
position: absolute;
display: block;
background-color: lightgray;
background-color: $lightgray;
&.right,
&.left {
@ -285,7 +285,7 @@
&.turf-selected {
background-color: gray;
background-color: $gray;
}
.turf-description {

View file

@ -14,6 +14,10 @@ $almost_white: #EEEFFF;
* {
font-family: Georgia, "Bitstream Charter", "Times New Roman", serif;
header {
margin-bottom: 10px;
}
ul {
list-style: none;
}
@ -38,7 +42,7 @@ $almost_white: #EEEFFF;
flex-direction: row;
justify-content: space-between;
> * {
> *:not(.label-stripe) {
margin-right: 10px;
&:last-child {
@ -103,10 +107,26 @@ $almost_white: #EEEFFF;
margin-bottom: 10px;
position: relative;
padding-left: 10px;
padding-right: 10px;
display: flex;
font-weight: bold;
}
.label-stripe-gray {
text-transform: uppercase;
background-color: $gray;
margin-bottom: 10px;
position: relative;
padding-left: 10px;
padding-right: 10px;
display: flex;
font-weight: bold;
}
.description {
font-style: italic;
}
// Stress and Trauma
.big-teeth-section {
@ -440,11 +460,65 @@ $almost_white: #EEEFFF;
}
}
.window-app {
.window-content {
// background: url("https://wallpapertag.com/wallpaper/middle/c/3/6/294219-old-paper-background-1920x1200-for-desktop.jpg") repeat;
// Cohorts styling
.edgeflaw {
input {
display: none;
&:checked {
& + label {
color: $red;
}
}
}
}
#gang-expert-type-selector {
#gang-type-boxes {
flex-wrap: wrap;
}
}
.cohorts {
flex-wrap: wrap;
.cohort-block-wrapper {
width: 400px;
}
.label-stripe {
margin-bottom: 0px;
}
.cohort-body {
> div {
margin-bottom: 10px;
}
}
.cohort-block-harm {
justify-content: space-around;
input[type="radio"] {
display: none;
&:checked + label {
color: $almost_white;
font-weight: bold;
background-color: $almost_black;
}
}
label {
border: 2px solid $almost_black;
border-top: none;
padding: 5px;
}
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Some files were not shown because too many files have changed in this diff Show more