summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data.js8
-rw-r--r--images/service_lords_russian.pngbin84195 -> 39800 bytes
-rw-r--r--images/service_lords_teutonic.pngbin73735 -> 28784 bytes
-rw-r--r--images/service_vassals_russian.pngbin253454 -> 102990 bytes
-rw-r--r--images/service_vassals_teutonic.pngbin218894 -> 71570 bytes
-rw-r--r--play.html59
-rw-r--r--rules.js2
-rw-r--r--tools/build_counters3.sh8
-rw-r--r--tools/gendata.js36
9 files changed, 49 insertions, 64 deletions
diff --git a/data.js b/data.js
index cb441ee..3f0da88 100644
--- a/data.js
+++ b/data.js
@@ -162,17 +162,17 @@ vassals:[
{"lord":4,"name":"Summer Crusaders","service":2,"forces":{"knights":2},"capability":"Crusade","image":13},
{"lord":5,"name":"Mstislavich Partisans","service":1,"forces":{"militia":2},"image":14},
{"lord":6,"name":"Mongols","service":3,"forces":{"asiatic_horse":2},"capability":"Steppe Warriors","image":0},
-{"lord":6,"name":"Mongols","service":3,"forces":{"asiatic_horse":2},"capability":"Steppe Warriors","image":1},
+{"lord":6,"name":"Mongols","service":3,"forces":{"asiatic_horse":2},"capability":"Steppe Warriors","image":0},
{"lord":6,"name":"Pereyaslavl","service":4,"forces":{"men_at_arms":1},"image":1},
{"lord":6,"name":"Rostov","service":3,"forces":{"men_at_arms":1},"image":2},
{"lord":6,"name":"Yaroslavl","service":3,"forces":{"men_at_arms":1},"image":3},
{"lord":7,"name":"Kipchaqs","service":3,"forces":{"asiatic_horse":3},"capability":"Steppe Warriors","image":4},
-{"lord":7,"name":"Kipchaqs","service":3,"forces":{"asiatic_horse":3},"capability":"Steppe Warriors","image":5},
+{"lord":7,"name":"Kipchaqs","service":3,"forces":{"asiatic_horse":3},"capability":"Steppe Warriors","image":4},
{"lord":7,"name":"Suzdal","service":4,"forces":{"men_at_arms":1},"image":5},
{"lord":7,"name":"Vladimir","service":4,"forces":{"men_at_arms":1},"image":6},
{"lord":8,"name":"Novgorod","service":2,"forces":{"militia":2},"image":7},
-{"lord":8,"name":"Novgorod","service":2,"forces":{"militia":2},"image":8},
-{"lord":8,"name":"Novgorod","service":2,"forces":{"militia":2},"image":8},
+{"lord":8,"name":"Novgorod","service":2,"forces":{"militia":2},"image":7},
+{"lord":8,"name":"Novgorod","service":2,"forces":{"militia":2},"image":7},
{"lord":9,"name":"Borderland Russians","service":1,"forces":{"light_horse":1,"militia":1},"image":8},
{"lord":9,"name":"Pskov Militia","service":2,"forces":{"militia":2},"image":9},
{"lord":9,"name":"Pskov","service":4,"forces":{"men_at_arms":1},"image":10},
diff --git a/images/service_lords_russian.png b/images/service_lords_russian.png
index 8a76096..b674a4d 100644
--- a/images/service_lords_russian.png
+++ b/images/service_lords_russian.png
Binary files differ
diff --git a/images/service_lords_teutonic.png b/images/service_lords_teutonic.png
index 83afacd..9eac2c7 100644
--- a/images/service_lords_teutonic.png
+++ b/images/service_lords_teutonic.png
Binary files differ
diff --git a/images/service_vassals_russian.png b/images/service_vassals_russian.png
index 83d9b51..4915082 100644
--- a/images/service_vassals_russian.png
+++ b/images/service_vassals_russian.png
Binary files differ
diff --git a/images/service_vassals_teutonic.png b/images/service_vassals_teutonic.png
index a16a6b6..e3be6e3 100644
--- a/images/service_vassals_teutonic.png
+++ b/images/service_vassals_teutonic.png
Binary files differ
diff --git a/play.html b/play.html
index d8b9487..627b127 100644
--- a/play.html
+++ b/play.html
@@ -798,47 +798,36 @@ X.mat .mustered_vassals { top: 228px; right: 6px; width: 94px; }
box-shadow: 0 0 0 3px yellow;
}
-.service_marker.lord { background-size: 180px 252px }
-.service_marker.vassal { background-size: 180px 630px }
+.service_marker.lord { background-size: 90px 252px }
+.service_marker.vassal { background-size: 270px 210px }
.service_marker.lord.teutonic { background-image:url(images/service_lords_teutonic.png) }
.service_marker.lord.russian { background-image:url(images/service_lords_russian.png) }
.service_marker.vassal.teutonic { background-image:url(images/service_vassals_teutonic.png) }
.service_marker.vassal.russian { background-image:url(images/service_vassals_russian.png) }
-.service_marker.image0{background-position:0 -0px}
-.service_marker.image1{background-position:0 -42px}
-.service_marker.image2{background-position:0 -84px}
-.service_marker.image3{background-position:0 -126px}
-.service_marker.image4{background-position:0 -168px}
-.service_marker.image5{background-position:0 -210px}
-.service_marker.image6{background-position:0 -252px}
-.service_marker.image7{background-position:0 -294px}
-.service_marker.image8{background-position:0 -336px}
-.service_marker.image9{background-position:0 -378px}
-.service_marker.image10{background-position:0 -420px}
-.service_marker.image11{background-position:0 -462px}
-.service_marker.image12{background-position:0 -504px}
-.service_marker.image13{background-position:0 -546px}
-.service_marker.image14{background-position:0 -588px}
-
-/*
-.service_marker.image0:hover{background-position:100% -0px}
-.service_marker.image1:hover{background-position:100% -42px}
-.service_marker.image2:hover{background-position:100% -84px}
-.service_marker.image3:hover{background-position:100% -126px}
-.service_marker.image4:hover{background-position:100% -168px}
-.service_marker.image5:hover{background-position:100% -210px}
-.service_marker.image6:hover{background-position:100% -252px}
-.service_marker.image7:hover{background-position:100% -294px}
-.service_marker.image8:hover{background-position:100% -336px}
-.service_marker.image9:hover{background-position:100% -378px}
-.service_marker.image10:hover{background-position:100% -420px}
-.service_marker.image11:hover{background-position:100% -462px}
-.service_marker.image12:hover{background-position:100% -504px}
-.service_marker.image13:hover{background-position:100% -546px}
-.service_marker.image14:hover{background-position:100% -588px}
-*/
+.service_marker.lord.image0{background-position:0 -0px}
+.service_marker.lord.image1{background-position:0 -42px}
+.service_marker.lord.image2{background-position:0 -84px}
+.service_marker.lord.image3{background-position:0 -126px}
+.service_marker.lord.image4{background-position:0 -168px}
+.service_marker.lord.image5{background-position:0 -210px}
+
+.service_marker.vassal.image0{background-position:0 -0px}
+.service_marker.vassal.image1{background-position:-90px -0px}
+.service_marker.vassal.image2{background-position:-180px -0px}
+.service_marker.vassal.image3{background-position:0 -42px}
+.service_marker.vassal.image4{background-position:-90px -42px}
+.service_marker.vassal.image5{background-position:-180px -42px}
+.service_marker.vassal.image6{background-position:0 -84px}
+.service_marker.vassal.image7{background-position:-90px -84px}
+.service_marker.vassal.image8{background-position:-180px -84px}
+.service_marker.vassal.image9{background-position:0 -126px}
+.service_marker.vassal.image10{background-position:-90px -126px}
+.service_marker.vassal.image11{background-position:-180px -126px}
+.service_marker.vassal.image12{background-position:0 -168px}
+.service_marker.vassal.image13{background-position:-90px -168px}
+.service_marker.vassal.image14{background-position:-180px -168px}
/* BACKGROUND COLORS AND BORDERS */
/* :r !node tools/colors.mjs */
diff --git a/rules.js b/rules.js
index 71b81a7..40c4a3c 100644
--- a/rules.js
+++ b/rules.js
@@ -540,8 +540,6 @@ function muster_lord(lord, locale, service) {
function muster_vassal(lord, vassal) {
let info = data.vassals[vassal]
- logi(`${vassal_name[vassal]}`)
-
game.vassals[vassal] = 1
add_lord_forces(lord, KNIGHTS, info.forces.knights | 0)
diff --git a/tools/build_counters3.sh b/tools/build_counters3.sh
index 142d802..a4681f2 100644
--- a/tools/build_counters3.sh
+++ b/tools/build_counters3.sh
@@ -1,5 +1,5 @@
mkdir -p service300
-montage -mode concatenate -tile 2x counters300/lord_teutonic_andreas.a.png counters300/lord_teutonic_andreas.b.png counters300/lord_teutonic_heinrich.a.png counters300/lord_teutonic_heinrich.b.png counters300/lord_teutonic_hermann.a.png counters300/lord_teutonic_hermann.b.png counters300/lord_teutonic_knud_and_abel.a.png counters300/lord_teutonic_knud_and_abel.b.png counters300/lord_teutonic_rudolf.a.png counters300/lord_teutonic_rudolf.b.png counters300/lord_teutonic_yaroslav.a.png counters300/lord_teutonic_yaroslav.b.png service300/service_lords_teutonic.png
-montage -mode concatenate -tile 2x counters300/vassal_teutonic_andreas_lettgallian_auxiliaries.a.png counters300/vassal_teutonic_andreas_lettgallian_auxiliaries.b.png counters300/vassal_teutonic_andreas_summer_crusaders.a.png counters300/vassal_teutonic_andreas_summer_crusaders.b.png counters300/vassal_teutonic_andreas_teutonic_vassals.a.png counters300/vassal_teutonic_andreas_teutonic_vassals.b.png counters300/vassal_teutonic_heinrich_heinrich_von_lode.a.png counters300/vassal_teutonic_heinrich_heinrich_von_lode.b.png counters300/vassal_teutonic_heinrich_odward_von_lode.a.png counters300/vassal_teutonic_heinrich_odward_von_lode.b.png counters300/vassal_teutonic_hermann_helmond_von_luneburg.a.png counters300/vassal_teutonic_hermann_helmond_von_luneburg.b.png counters300/vassal_teutonic_hermann_johannes_von_dolen.a.png counters300/vassal_teutonic_hermann_johannes_von_dolen.b.png counters300/vassal_teutonic_hermann_ugaunian_auxiliaries.a.png counters300/vassal_teutonic_hermann_ugaunian_auxiliaries.b.png counters300/vassal_teutonic_knud_and_abel_dietrich_von_kivel.a.png counters300/vassal_teutonic_knud_and_abel_dietrich_von_kivel.b.png counters300/vassal_teutonic_knud_and_abel_estonian_auxiliaries.a.png counters300/vassal_teutonic_knud_and_abel_estonian_auxiliaries.b.png counters300/vassal_teutonic_knud_and_abel_otto_von_luneburg.a.png counters300/vassal_teutonic_knud_and_abel_otto_von_luneburg.b.png counters300/vassal_teutonic_rudolf_ex_sword_brethren.a.png counters300/vassal_teutonic_rudolf_ex_sword_brethren.b.png counters300/vassal_teutonic_rudolf_jerwen_teutonic_vassals.a.png counters300/vassal_teutonic_rudolf_jerwen_teutonic_vassals.b.png counters300/vassal_teutonic_rudolf_summer_crusaders.a.png counters300/vassal_teutonic_rudolf_summer_crusaders.b.png counters300/vassal_teutonic_yaroslav_mstislavich_partisans.a.png counters300/vassal_teutonic_yaroslav_mstislavich_partisans.b.png service300/service_vassals_teutonic.png
-montage -mode concatenate -tile 2x counters300/lord_russian_aleksandr.a.png counters300/lord_russian_aleksandr.b.png counters300/lord_russian_andrey.a.png counters300/lord_russian_andrey.b.png counters300/lord_russian_domash.a.png counters300/lord_russian_domash.b.png counters300/lord_russian_gavrilo.a.png counters300/lord_russian_gavrilo.b.png counters300/lord_russian_karelians.a.png counters300/lord_russian_karelians.b.png counters300/lord_russian_vladislav.a.png counters300/lord_russian_vladislav.b.png service300/service_lords_russian.png
-montage -mode concatenate -tile 2x counters300/vassal_russian_aleksandr_mongols.a.png counters300/vassal_russian_aleksandr_mongols.b.png counters300/vassal_russian_aleksandr_pereyaslavl.a.png counters300/vassal_russian_aleksandr_pereyaslavl.b.png counters300/vassal_russian_aleksandr_rostov.a.png counters300/vassal_russian_aleksandr_rostov.b.png counters300/vassal_russian_aleksandr_yaroslavl.a.png counters300/vassal_russian_aleksandr_yaroslavl.b.png counters300/vassal_russian_andrey_kipchaqs.a.png counters300/vassal_russian_andrey_kipchaqs.b.png counters300/vassal_russian_andrey_suzdal.a.png counters300/vassal_russian_andrey_suzdal.b.png counters300/vassal_russian_andrey_vladimir.a.png counters300/vassal_russian_andrey_vladimir.b.png counters300/vassal_russian_domash_novgorod.a.png counters300/vassal_russian_domash_novgorod.b.png counters300/vassal_russian_gavrilo_borderland_russians.a.png counters300/vassal_russian_gavrilo_borderland_russians.b.png counters300/vassal_russian_gavrilo_pskov_militia.a.png counters300/vassal_russian_gavrilo_pskov_militia.b.png counters300/vassal_russian_gavrilo_pskov.a.png counters300/vassal_russian_gavrilo_pskov.b.png counters300/vassal_russian_vladislav_izhoran_auxiliaries.a.png counters300/vassal_russian_vladislav_izhoran_auxiliaries.b.png counters300/vassal_russian_vladislav_ingrian_auxiliaries.a.png counters300/vassal_russian_vladislav_ingrian_auxiliaries.b.png counters300/vassal_russian_vladislav_vepsian_auxiliaries.a.png counters300/vassal_russian_vladislav_vepsian_auxiliaries.b.png counters300/vassal_russian_vladislav_vodian_auxiliaries.a.png counters300/vassal_russian_vladislav_vodian_auxiliaries.b.png service300/service_vassals_russian.png
+montage -mode concatenate -tile 1x counters300/lord_teutonic_andreas.a.png counters300/lord_teutonic_heinrich.a.png counters300/lord_teutonic_hermann.a.png counters300/lord_teutonic_knud_and_abel.a.png counters300/lord_teutonic_rudolf.a.png counters300/lord_teutonic_yaroslav.a.png service300/service_lords_teutonic.png
+montage -mode concatenate -tile 1x counters300/lord_russian_aleksandr.a.png counters300/lord_russian_andrey.a.png counters300/lord_russian_domash.a.png counters300/lord_russian_gavrilo.a.png counters300/lord_russian_karelians.a.png counters300/lord_russian_vladislav.a.png service300/service_lords_russian.png
+montage -mode concatenate -tile 3x counters300/vassal_teutonic_andreas_lettgallian_auxiliaries.a.png counters300/vassal_teutonic_andreas_summer_crusaders.a.png counters300/vassal_teutonic_andreas_teutonic_vassals.a.png counters300/vassal_teutonic_heinrich_heinrich_von_lode.a.png counters300/vassal_teutonic_heinrich_odward_von_lode.a.png counters300/vassal_teutonic_hermann_helmond_von_luneburg.a.png counters300/vassal_teutonic_hermann_johannes_von_dolen.a.png counters300/vassal_teutonic_hermann_ugaunian_auxiliaries.a.png counters300/vassal_teutonic_knud_and_abel_dietrich_von_kivel.a.png counters300/vassal_teutonic_knud_and_abel_estonian_auxiliaries.a.png counters300/vassal_teutonic_knud_and_abel_otto_von_luneburg.a.png counters300/vassal_teutonic_rudolf_ex_sword_brethren.a.png counters300/vassal_teutonic_rudolf_jerwen_teutonic_vassals.a.png counters300/vassal_teutonic_rudolf_summer_crusaders.a.png counters300/vassal_teutonic_yaroslav_mstislavich_partisans.a.png service300/service_vassals_teutonic.png
+montage -mode concatenate -tile 3x counters300/vassal_russian_aleksandr_mongols.a.png counters300/vassal_russian_aleksandr_pereyaslavl.a.png counters300/vassal_russian_aleksandr_rostov.a.png counters300/vassal_russian_aleksandr_yaroslavl.a.png counters300/vassal_russian_andrey_kipchaqs.a.png counters300/vassal_russian_andrey_suzdal.a.png counters300/vassal_russian_andrey_vladimir.a.png counters300/vassal_russian_domash_novgorod.a.png counters300/vassal_russian_gavrilo_borderland_russians.a.png counters300/vassal_russian_gavrilo_pskov_militia.a.png counters300/vassal_russian_gavrilo_pskov.a.png counters300/vassal_russian_vladislav_izhoran_auxiliaries.a.png counters300/vassal_russian_vladislav_ingrian_auxiliaries.a.png counters300/vassal_russian_vladislav_vepsian_auxiliaries.a.png counters300/vassal_russian_vladislav_vodian_auxiliaries.a.png service300/service_vassals_russian.png
diff --git a/tools/gendata.js b/tools/gendata.js
index 43ee50d..ef29c5d 100644
--- a/tools/gendata.js
+++ b/tools/gendata.js
@@ -769,51 +769,49 @@ function to_path(name) {
let lord_service = {Russian:[],Teutonic:[]}
let vassal_service = {Russian:[],Teutonic:[]}
-let last_path, last_side, last_ix
+let last_path, last_side
-last_path = null
+last_path = []
last_side = null
lords.forEach((lord,id) => {
let side = lord.side
let path = "counters300/lord_" + side.toLowerCase() + "_" + to_path(lord.name)
if (side !== last_side) {
- last_ix = 0
last_side = side
+ last_path = []
}
- lord.image = last_ix
- if (path !== last_path) {
- last_ix++
- last_path = path
+ if (!last_path.includes(path)) {
+ last_path.push(path)
lord_service[side].push(path + ".a.png")
- lord_service[side].push(path + ".b.png")
+ // lord_service[side].push(path + ".b.png")
}
+ lord.image = last_path.indexOf(path)
})
-last_path = null
+last_path = []
last_side = null
vassals.forEach((vassal,id) => {
let lord = lords[vassal.lord]
let side = lord.side
let path = "counters300/vassal_" + side.toLowerCase() + "_" + to_path(lord.name) + "_" + to_path(vassal.name)
if (side !== last_side) {
- last_ix = 0
last_side = side
+ last_path = []
}
- vassal.image = last_ix
- if (path !== last_path) {
- last_ix++
- last_path = path
+ if (!last_path.includes(path)) {
+ last_path.push(path)
vassal_service[side].push(path + ".a.png")
- vassal_service[side].push(path + ".b.png")
+ // vassal_service[side].push(path + ".b.png")
}
+ vassal.image = last_path.indexOf(path)
})
let script = []
script.push("mkdir -p service300")
-script.push("montage -mode concatenate -tile 2x " + lord_service.Teutonic.join(" ") + " service300/service_lords_teutonic.png")
-script.push("montage -mode concatenate -tile 2x " + vassal_service.Teutonic.join(" ") + " service300/service_vassals_teutonic.png")
-script.push("montage -mode concatenate -tile 2x " + lord_service.Russian.join(" ") + " service300/service_lords_russian.png")
-script.push("montage -mode concatenate -tile 2x " + vassal_service.Russian.join(" ") + " service300/service_vassals_russian.png")
+script.push("montage -mode concatenate -tile 1x " + lord_service.Teutonic.join(" ") + " service300/service_lords_teutonic.png")
+script.push("montage -mode concatenate -tile 1x " + lord_service.Russian.join(" ") + " service300/service_lords_russian.png")
+script.push("montage -mode concatenate -tile 3x " + vassal_service.Teutonic.join(" ") + " service300/service_vassals_teutonic.png")
+script.push("montage -mode concatenate -tile 3x " + vassal_service.Russian.join(" ") + " service300/service_vassals_russian.png")
print("const data = {")
print("seaports:" + JSON.stringify(seaports) + ",")