summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data.js58
-rw-r--r--images/vassal_clifford.png (renamed from images/marker_clifford.png)bin5570 -> 5570 bytes
-rw-r--r--images/vassal_edward.png (renamed from images/marker_edward.png)bin8668 -> 8668 bytes
-rw-r--r--images/vassal_hastings.png (renamed from images/marker_hastings.png)bin5109 -> 5109 bytes
-rw-r--r--images/vassal_thomas_stanley.png (renamed from images/marker_stanley.png)bin6875 -> 6875 bytes
-rw-r--r--images/vassal_trollope.png (renamed from images/marker_trollope.png)bin7049 -> 7049 bytes
-rw-r--r--play.css303
-rw-r--r--play.js93
-rw-r--r--tools/gendata.js8
-rw-r--r--tools/markers2.sh10
-rw-r--r--tools/markers3.sh20
11 files changed, 230 insertions, 262 deletions
diff --git a/data.js b/data.js
index 822a8d8..e0f26a6 100644
--- a/data.js
+++ b/data.js
@@ -142,34 +142,36 @@ ways:[
{"type":"road","locales":[49,57]},
],
lords:[
-{"side":"York","name":"York","full_name":"Richard Plantagenet","title":"Duke of York","seats":[38],"marshal":2,"influence":5,"lordship":3,"command":2,"valour":2,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2,"militia":2},"assets":{"cart":2,"prov":2,"coin":2},"ships":0},
-{"side":"York","name":"March","full_name":"Edward Plantagenet","title":"Earl of March","seats":[9],"marshal":0,"influence":2,"lordship":2,"command":2,"valour":3,"forces":{"retinue":1,"men_at_arms":1,"longbowmen":2,"militia":1},"assets":{"cart":1,"prov":1,"coin":1},"ships":0},
-{"side":"York","name":"Edward IV","full_name":"Edward Plantagenet","title":"King of England","seats":[30],"marshal":2,"influence":5,"lordship":3,"command":2,"valour":4,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2,"militia":2},"assets":{"cart":2,"prov":2,"coin":2},"ships":0},
-{"side":"York","name":"Salisbury","full_name":"Richard Neville","title":"Earl of Salisbury","seats":[50],"marshal":0,"influence":3,"lordship":3,"command":2,"valour":1,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2},"assets":{"cart":1,"prov":1,"coin":1},"ships":0},
-{"side":"York","name":"Rutland","full_name":"Edmund Plantagenet","title":"Earl of Rutland","seats":[18],"marshal":0,"influence":2,"lordship":2,"command":1,"valour":1,"forces":{"retinue":1,"men_at_arms":1,"longbowmen":2,"militia":1},"assets":{"cart":1,"prov":1,"coin":1},"ships":0},
-{"side":"York","name":"Pembroke","full_name":"William Herbert","title":"Earl of Pembroke","seats":[6],"marshal":0,"influence":2,"lordship":2,"command":2,"valour":2,"forces":{"retinue":1,"men_at_arms":1,"longbowmen":3,"militia":2},"assets":{"cart":1,"prov":1,"coin":2},"ships":0},
-{"side":"York","name":"Devon","full_name":"Humpfrey Stafford","title":"Earl of Devon","seats":[21],"marshal":0,"influence":4,"lordship":2,"command":2,"valour":1,"forces":{"retinue":1,"men_at_arms":1,"longbowmen":2,"militia":1},"assets":{"cart":1,"prov":1,"coin":1},"ships":0},
-{"side":"York","name":"Northumberland Y1","full_name":"Henry Percy","title":"Northumberland","seats":[4],"marshal":0,"influence":4,"lordship":2,"command":2,"valour":1,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2,"militia":4},"assets":{"cart":2,"prov":2,"coin":2},"ships":0},
-{"side":"York","name":"Northumberland Y2","full_name":"Henry Percy","title":"Northumberland","seats":[4],"marshal":0,"influence":4,"lordship":2,"command":2,"valour":1,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2,"militia":2},"assets":{"cart":2,"prov":2,"coin":2},"ships":0},
-{"side":"York","name":"Gloucester 1","full_name":"Richard Plantagenet","title":"Duke of Gloucester","seats":[27],"marshal":1,"influence":2,"lordship":2,"command":3,"valour":2,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2},"assets":{"cart":1,"prov":1,"coin":1},"ships":0},
-{"side":"York","name":"Gloucester 2","full_name":"Richard Plantagenet","title":"Duke of Gloucester","seats":[27],"marshal":1,"influence":2,"lordship":2,"command":3,"valour":2,"forces":{"retinue":1,"men_at_arms":3,"longbowmen":2,"militia":4},"assets":{"cart":2,"prov":2,"coin":4},"ships":0},
-{"side":"York","name":"Richard III","full_name":"Richard Plantagenet","title":"King of England","seats":[30],"marshal":2,"influence":5,"lordship":3,"command":3,"valour":2,"forces":{"retinue":1,"men_at_arms":3,"longbowmen":2,"militia":4},"assets":{"cart":2,"prov":2,"coin":4},"ships":0},
-{"side":"York","name":"Norfolk","full_name":"John Howard","title":"Duke of Norfolk","seats":[14],"marshal":0,"influence":3,"lordship":3,"command":2,"valour":2,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2,"militia":2},"assets":{"cart":2,"prov":2,"coin":2},"ships":0},
-{"side":"York","name":"Warwick Y","full_name":"Richard Neville","title":"Earl of Warwick","seats":[51],"marshal":1,"influence":5,"lordship":3,"command":2,"valour":1,"forces":{"retinue":1,"men_at_arms":3,"longbowmen":3},"assets":{"prov":2,"coin":2},"ships":2},
-{"side":"Lancaster","name":"Henry VI","full_name":"Henry VI","title":"King of England","seats":[30],"marshal":2,"influence":5,"lordship":2,"command":2,"valour":0,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2,"militia":4},"assets":{"cart":2,"prov":2,"coin":4},"ships":0},
-{"side":"Lancaster","name":"Margaret","full_name":"Margaret d'Anjou","title":"Queen of England","seats":[30],"marshal":2,"influence":4,"lordship":2,"command":2,"valour":1,"forces":{"retinue":1,"men_at_arms":3,"longbowmen":3},"assets":{"cart":2,"prov":2,"coin":2},"ships":2},
-{"side":"Lancaster","name":"Somerset 1","full_name":"Henry Beaufort","title":"Duke of Somerset","seats":[25],"marshal":2,"influence":6,"lordship":2,"command":2,"valour":3,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2},"assets":{"cart":2,"prov":2,"coin":1},"ships":0},
-{"side":"Lancaster","name":"Somerset 2","full_name":"Edmund Beaufort","title":"Duke of Somerset","seats":[25],"marshal":0,"influence":3,"lordship":2,"command":2,"valour":1,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2,"militia":2},"assets":{"cart":2,"prov":2,"coin":2},"ships":0},
-{"side":"Lancaster","name":"Exeter 1","full_name":"Henry Holland","title":"Duke of Exeter","seats":[21],"marshal":0,"influence":2,"lordship":1,"command":2,"valour":2,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2},"assets":{"cart":1,"prov":1,"coin":1},"ships":0},
-{"side":"Lancaster","name":"Exeter 2","full_name":"Henry Holland","title":"Duke of Exeter","seats":[21],"marshal":0,"influence":2,"lordship":1,"command":2,"valour":2,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2,"militia":2},"assets":{"cart":2,"prov":2,"coin":2},"ships":0},
-{"side":"Lancaster","name":"Buckingham","full_name":"Humphrey Stafford","title":"Duke of Buckingham","seats":[41],"marshal":0,"influence":3,"lordship":3,"command":1,"valour":1,"forces":{"retinue":1,"men_at_arms":1,"longbowmen":2,"militia":1},"assets":{"cart":2,"prov":2,"coin":2},"ships":0},
-{"side":"Lancaster","name":"Northumberland L","full_name":"Henry Percy","title":"Earl of Northumberland","seats":[4],"marshal":0,"influence":4,"lordship":2,"command":2,"valour":1,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2,"militia":2},"assets":{"cart":2,"prov":2,"coin":1},"ships":0},
-{"side":"Lancaster","name":"Clarence","full_name":"George Plantagenet","title":"Duke of Clarence","seats":[50],"marshal":0,"influence":1,"lordship":2,"command":1,"valour":1,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2,"militia":2},"assets":{"cart":1,"prov":2,"coin":2},"ships":0},
-{"side":"Lancaster","name":"Jasper Tudor 1","full_name":"Jasper Tudor","title":"Earl of Pembroke","seats":[5],"marshal":0,"influence":2,"lordship":2,"command":3,"valour":2,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":3,"militia":1},"assets":{"cart":1,"prov":2,"coin":2},"ships":0},
-{"side":"Lancaster","name":"Jasper Tudor 2","full_name":"Jasper Tudor","title":"Earl of Pembroke","seats":[6],"marshal":0,"influence":2,"lordship":3,"command":3,"valour":2,"forces":{"retinue":1,"men_at_arms":3,"longbowmen":3},"assets":{"cart":2,"prov":2,"coin":2},"ships":0},
-{"side":"Lancaster","name":"Henry Tudor","full_name":"Henry Tudor","title":"","seats":[30],"marshal":2,"influence":5,"lordship":2,"command":2,"valour":1,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2,"militia":2},"assets":{"cart":2,"prov":2,"coin":4},"ships":2},
-{"side":"Lancaster","name":"Oxford","full_name":"John de Vere","title":"Earl of Oxford","seats":[28],"marshal":0,"influence":2,"lordship":2,"command":2,"valour":2,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2,"militia":2},"assets":{"cart":2,"prov":2,"coin":2},"ships":0},
-{"side":"Lancaster","name":"Warwick L","full_name":"Richard Neville","title":"Earl of Warwick","seats":[51],"marshal":1,"influence":5,"lordship":3,"command":2,"valour":2,"forces":{"retinue":1,"men_at_arms":3,"longbowmen":3},"assets":{"cart":2,"prov":2,"coin":2},"ships":2},
+
+{"side":"York","name":"York","full_name":"Richard Plantagenet","title":"Duke of York","seats":[38],"marshal":2,"influence":5,"lordship":3,"command":2,"valour":2,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2,"militia":2},"assets":{"cart":2,"prov":2,"coin":2},"ships":0,"id":"lord_york"},
+{"side":"York","name":"March","full_name":"Edward Plantagenet","title":"Earl of March","seats":[9],"marshal":0,"influence":2,"lordship":2,"command":2,"valour":3,"forces":{"retinue":1,"men_at_arms":1,"longbowmen":2,"militia":1},"assets":{"cart":1,"prov":1,"coin":1},"ships":0,"id":"lord_march"},
+{"side":"York","name":"Edward IV","full_name":"Edward Plantagenet","title":"King of England","seats":[30],"marshal":2,"influence":5,"lordship":3,"command":2,"valour":4,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2,"militia":2},"assets":{"cart":2,"prov":2,"coin":2},"ships":0,"id":"lord_edward_iv"},
+{"side":"York","name":"Salisbury","full_name":"Richard Neville","title":"Earl of Salisbury","seats":[50],"marshal":0,"influence":3,"lordship":3,"command":2,"valour":1,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2},"assets":{"cart":1,"prov":1,"coin":1},"ships":0,"id":"lord_salisbury"},
+{"side":"York","name":"Rutland","full_name":"Edmund Plantagenet","title":"Earl of Rutland","seats":[18],"marshal":0,"influence":2,"lordship":2,"command":1,"valour":1,"forces":{"retinue":1,"men_at_arms":1,"longbowmen":2,"militia":1},"assets":{"cart":1,"prov":1,"coin":1},"ships":0,"id":"lord_rutland"},
+{"side":"York","name":"Pembroke","full_name":"William Herbert","title":"Earl of Pembroke","seats":[6],"marshal":0,"influence":2,"lordship":2,"command":2,"valour":2,"forces":{"retinue":1,"men_at_arms":1,"longbowmen":3,"militia":2},"assets":{"cart":1,"prov":1,"coin":2},"ships":0,"id":"lord_pembroke"},
+{"side":"York","name":"Devon","full_name":"Humpfrey Stafford","title":"Earl of Devon","seats":[21],"marshal":0,"influence":4,"lordship":2,"command":2,"valour":1,"forces":{"retinue":1,"men_at_arms":1,"longbowmen":2,"militia":1},"assets":{"cart":1,"prov":1,"coin":1},"ships":0,"id":"lord_devon"},
+{"side":"York","name":"Northumberland Y1","full_name":"Henry Percy","title":"Northumberland","seats":[4],"marshal":0,"influence":4,"lordship":2,"command":2,"valour":1,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2,"militia":4},"assets":{"cart":2,"prov":2,"coin":2},"ships":0,"id":"lord_northumberland_y1"},
+{"side":"York","name":"Northumberland Y2","full_name":"Henry Percy","title":"Northumberland","seats":[4],"marshal":0,"influence":4,"lordship":2,"command":2,"valour":1,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2,"militia":2},"assets":{"cart":2,"prov":2,"coin":2},"ships":0,"id":"lord_northumberland_y2"},
+{"side":"York","name":"Gloucester 1","full_name":"Richard Plantagenet","title":"Duke of Gloucester","seats":[27],"marshal":1,"influence":2,"lordship":2,"command":3,"valour":2,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2},"assets":{"cart":1,"prov":1,"coin":1},"ships":0,"id":"lord_gloucester_1"},
+{"side":"York","name":"Gloucester 2","full_name":"Richard Plantagenet","title":"Duke of Gloucester","seats":[27],"marshal":1,"influence":2,"lordship":2,"command":3,"valour":2,"forces":{"retinue":1,"men_at_arms":3,"longbowmen":2,"militia":4},"assets":{"cart":2,"prov":2,"coin":4},"ships":0,"id":"lord_gloucester_2"},
+{"side":"York","name":"Richard III","full_name":"Richard Plantagenet","title":"King of England","seats":[30],"marshal":2,"influence":5,"lordship":3,"command":3,"valour":2,"forces":{"retinue":1,"men_at_arms":3,"longbowmen":2,"militia":4},"assets":{"cart":2,"prov":2,"coin":4},"ships":0,"id":"lord_richard_iii"},
+{"side":"York","name":"Norfolk","full_name":"John Howard","title":"Duke of Norfolk","seats":[14],"marshal":0,"influence":3,"lordship":3,"command":2,"valour":2,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2,"militia":2},"assets":{"cart":2,"prov":2,"coin":2},"ships":0,"id":"lord_norfolk"},
+{"side":"York","name":"Warwick Y","full_name":"Richard Neville","title":"Earl of Warwick","seats":[51],"marshal":1,"influence":5,"lordship":3,"command":2,"valour":1,"forces":{"retinue":1,"men_at_arms":3,"longbowmen":3},"assets":{"prov":2,"coin":2},"ships":2,"id":"lord_warwick_y"},
+{"side":"Lancaster","name":"Henry VI","full_name":"Henry VI","title":"King of England","seats":[30],"marshal":2,"influence":5,"lordship":2,"command":2,"valour":0,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2,"militia":4},"assets":{"cart":2,"prov":2,"coin":4},"ships":0,"id":"lord_henry_vi"},
+{"side":"Lancaster","name":"Margaret","full_name":"Margaret d'Anjou","title":"Queen of England","seats":[30],"marshal":2,"influence":4,"lordship":2,"command":2,"valour":1,"forces":{"retinue":1,"men_at_arms":3,"longbowmen":3},"assets":{"cart":2,"prov":2,"coin":2},"ships":2,"id":"lord_margaret"},
+{"side":"Lancaster","name":"Somerset 1","full_name":"Henry Beaufort","title":"Duke of Somerset","seats":[25],"marshal":2,"influence":6,"lordship":2,"command":2,"valour":3,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2},"assets":{"cart":2,"prov":2,"coin":1},"ships":0,"id":"lord_somerset_1"},
+{"side":"Lancaster","name":"Somerset 2","full_name":"Edmund Beaufort","title":"Duke of Somerset","seats":[25],"marshal":0,"influence":3,"lordship":2,"command":2,"valour":1,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2,"militia":2},"assets":{"cart":2,"prov":2,"coin":2},"ships":0,"id":"lord_somerset_2"},
+{"side":"Lancaster","name":"Exeter 1","full_name":"Henry Holland","title":"Duke of Exeter","seats":[21],"marshal":0,"influence":2,"lordship":1,"command":2,"valour":2,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2},"assets":{"cart":1,"prov":1,"coin":1},"ships":0,"id":"lord_exeter_1"},
+{"side":"Lancaster","name":"Exeter 2","full_name":"Henry Holland","title":"Duke of Exeter","seats":[21],"marshal":0,"influence":2,"lordship":1,"command":2,"valour":2,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2,"militia":2},"assets":{"cart":2,"prov":2,"coin":2},"ships":0,"id":"lord_exeter_2"},
+{"side":"Lancaster","name":"Buckingham","full_name":"Humphrey Stafford","title":"Duke of Buckingham","seats":[41],"marshal":0,"influence":3,"lordship":3,"command":1,"valour":1,"forces":{"retinue":1,"men_at_arms":1,"longbowmen":2,"militia":1},"assets":{"cart":2,"prov":2,"coin":2},"ships":0,"id":"lord_buckingham"},
+{"side":"Lancaster","name":"Northumberland L","full_name":"Henry Percy","title":"Earl of Northumberland","seats":[4],"marshal":0,"influence":4,"lordship":2,"command":2,"valour":1,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2,"militia":2},"assets":{"cart":2,"prov":2,"coin":1},"ships":0,"id":"lord_northumberland_l"},
+{"side":"Lancaster","name":"Clarence","full_name":"George Plantagenet","title":"Duke of Clarence","seats":[50],"marshal":0,"influence":1,"lordship":2,"command":1,"valour":1,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2,"militia":2},"assets":{"cart":1,"prov":2,"coin":2},"ships":0,"id":"lord_clarence"},
+{"side":"Lancaster","name":"Jasper Tudor 1","full_name":"Jasper Tudor","title":"Earl of Pembroke","seats":[5],"marshal":0,"influence":2,"lordship":2,"command":3,"valour":2,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":3,"militia":1},"assets":{"cart":1,"prov":2,"coin":2},"ships":0,"id":"lord_jasper_tudor_1"},
+{"side":"Lancaster","name":"Jasper Tudor 2","full_name":"Jasper Tudor","title":"Earl of Pembroke","seats":[6],"marshal":0,"influence":2,"lordship":3,"command":3,"valour":2,"forces":{"retinue":1,"men_at_arms":3,"longbowmen":3},"assets":{"cart":2,"prov":2,"coin":2},"ships":0,"id":"lord_jasper_tudor_2"},
+{"side":"Lancaster","name":"Henry Tudor","full_name":"Henry Tudor","title":"","seats":[30],"marshal":2,"influence":5,"lordship":2,"command":2,"valour":1,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2,"militia":2},"assets":{"cart":2,"prov":2,"coin":4},"ships":2,"id":"lord_henry_tudor"},
+{"side":"Lancaster","name":"Oxford","full_name":"John de Vere","title":"Earl of Oxford","seats":[28],"marshal":0,"influence":2,"lordship":2,"command":2,"valour":2,"forces":{"retinue":1,"men_at_arms":2,"longbowmen":2,"militia":2},"assets":{"cart":2,"prov":2,"coin":2},"ships":0,"id":"lord_oxford"},
+{"side":"Lancaster","name":"Warwick L","full_name":"Richard Neville","title":"Earl of Warwick","seats":[51],"marshal":1,"influence":5,"lordship":3,"command":2,"valour":2,"forces":{"retinue":1,"men_at_arms":3,"longbowmen":3},"assets":{"cart":2,"prov":2,"coin":2},"ships":2,"id":"lord_warwick_l"},
+
],
vassals:[
{"service":1,"name":"Norfolk","seat":"Arundel","influence":0},
diff --git a/images/marker_clifford.png b/images/vassal_clifford.png
index 6531d34..6531d34 100644
--- a/images/marker_clifford.png
+++ b/images/vassal_clifford.png
Binary files differ
diff --git a/images/marker_edward.png b/images/vassal_edward.png
index a17e6f6..a17e6f6 100644
--- a/images/marker_edward.png
+++ b/images/vassal_edward.png
Binary files differ
diff --git a/images/marker_hastings.png b/images/vassal_hastings.png
index e652daf..e652daf 100644
--- a/images/marker_hastings.png
+++ b/images/vassal_hastings.png
Binary files differ
diff --git a/images/marker_stanley.png b/images/vassal_thomas_stanley.png
index 24a1f5d..24a1f5d 100644
--- a/images/marker_stanley.png
+++ b/images/vassal_thomas_stanley.png
Binary files differ
diff --git a/images/marker_trollope.png b/images/vassal_trollope.png
index 0e2862b..0e2862b 100644
--- a/images/marker_trollope.png
+++ b/images/vassal_trollope.png
Binary files differ
diff --git a/play.css b/play.css
index 42388f6..594c061 100644
--- a/play.css
+++ b/play.css
@@ -597,13 +597,12 @@ body.shift #capabilities2 {
.cylinder.york.lord_edward_iv { background-image:url(images/lord_york_edward_iv.svg) }
.cylinder.york.lord_gloucester_1 { background-image:url(images/lord_york_gloucester_1.svg) }
.cylinder.york.lord_gloucester_2 { background-image:url(images/lord_york_gloucester_2.svg) }
-.cylinder.york.lord_richard_iii { background-image:url(images/lord_york_gloucester_2.svg) }
-.cylinder.york.lord_henry_tudor { background-image:url(images/lord_york_henry_tudor.svg) }
.cylinder.york.lord_march { background-image:url(images/lord_york_march.svg) }
.cylinder.york.lord_norfolk { background-image:url(images/lord_york_norfolk.svg) }
.cylinder.york.lord_northumberland_y1 { background-image:url(images/lord_york_northumberland.svg) }
.cylinder.york.lord_northumberland_y2 { background-image:url(images/lord_york_northumberland.svg) }
.cylinder.york.lord_pembroke { background-image:url(images/lord_york_pembroke.svg) }
+.cylinder.york.lord_richard_iii { background-image:url(images/lord_york_gloucester_2.svg) }
.cylinder.york.lord_rutland { background-image:url(images/lord_york_rutland.svg) }
.cylinder.york.lord_salisbury { background-image:url(images/lord_york_salisbury.svg) }
.cylinder.york.lord_warwick_y { background-image:url(images/lord_york_warwick.svg) }
@@ -624,6 +623,36 @@ body.shift #capabilities2 {
.cylinder.lancaster.lord_somerset_2 { background-image:url(images/lord_lancaster_somerset_2.svg) }
.cylinder.lancaster.lord_warwick_l { background-image:url(images/lord_lancaster_warwick.svg) }
+.seat.york.lord_devon { background-image: url(images/seat_york_devon.png) }
+.seat.york.lord_edward_iv { background-image: url(images/seat_york_edward_iv.png) }
+.seat.york.lord_gloucester_1 { background-image: url(images/seat_york_gloucester.png) }
+.seat.york.lord_gloucester_2 { background-image: url(images/seat_york_gloucester.png) }
+.seat.york.lord_march { background-image: url(images/seat_york_march.png) }
+.seat.york.lord_norfolk { background-image: url(images/seat_york_norfolk.png) }
+.seat.york.lord_northumberland_y1 { background-image: url(images/seat_york_northumberland.png) }
+.seat.york.lord_northumberland_y2 { background-image: url(images/seat_york_northumberland.png) }
+.seat.york.lord_pembroke { background-image: url(images/seat_york_pembroke.png) }
+.seat.york.lord_richard_iii { background-image: url(images/seat_york_gloucester.png) }
+.seat.york.lord_rutland { background-image: url(images/seat_york_rutland.png) }
+.seat.york.lord_salisbury { background-image: url(images/seat_york_salisbury.png) }
+.seat.york.lord_warwick_y { background-image: url(images/seat_york_warwick.png) }
+.seat.york.lord_york { background-image: url(images/seat_york_york.png) }
+
+.seat.lancaster.lord_buckingham { background-image: url(images/seat_lancaster_buckingham.png) }
+.seat.lancaster.lord_clarence { background-image: url(images/seat_lancaster_clarence.png) }
+.seat.lancaster.lord_exeter_1 { background-image: url(images/seat_lancaster_exeter.png) }
+.seat.lancaster.lord_exeter_2 { background-image: url(images/seat_lancaster_exeter.png) }
+.seat.lancaster.lord_henry_tudor { background-image: url(images/seat_lancaster_henry_tudor.png) }
+.seat.lancaster.lord_henry_vi { background-image: url(images/seat_lancaster_henry_vi.png) }
+.seat.lancaster.lord_jasper_tudor_1 { background-image: url(images/seat_lancaster_jasper_tudor.png) }
+.seat.lancaster.lord_jasper_tudor_2 { background-image: url(images/seat_lancaster_jasper_tudor.png) }
+.seat.lancaster.lord_margaret { background-image: url(images/seat_lancaster_margaret.png) }
+.seat.lancaster.lord_northumberland_l { background-image: url(images/seat_lancaster_northumberland.png) }
+.seat.lancaster.lord_oxford { background-image: url(images/seat_lancaster_oxford.png) }
+.seat.lancaster.lord_somerset_1 { background-image: url(images/seat_lancaster_somerset.png) }
+.seat.lancaster.lord_somerset_2 { background-image: url(images/seat_lancaster_somerset.png) }
+.seat.lancaster.lord_warwick_l { background-image: url(images/seat_lancaster_warwick.png) }
+
.vassal.vassal_beaumont { background-image: url(images/vassal_beaumont.png) }
.vassal.vassal_bonville { background-image: url(images/vassal_bonville.png) }
.vassal.vassal_devon { background-image: url(images/vassal_devon.png) }
@@ -638,35 +667,12 @@ body.shift #capabilities2 {
.vassal.vassal_westmorld { background-image: url(images/vassal_westmorld.png) }
.vassal.vassal_worcester { background-image: url(images/vassal_worcester.png) }
-.vassal.special_hastings { background-image: url(images/marker_hastings.png) }
-.vassal.special_clifford { background-image: url(images/marker_clifford.png) }
-.vassal.special_edward { background-image: url(images/marker_edward.png) }
-.vassal.special_stanley { background-image: url(images/marker_stanley.png) }
-.vassal.special_trollope { background-image: url(images/marker_trollope.png) }
+.vassal.vassal_hastings { background-image: url(images/vassal_hastings.png) }
-.seat.lancaster.lord_buckingham { background-image: url(images/seat_lancaster_buckingham.png) }
-.seat.lancaster.lord_clarence { background-image: url(images/seat_lancaster_clarence.png) }
-.seat.lancaster.lord_exeter { background-image: url(images/seat_lancaster_exeter.png) }
-.seat.lancaster.lord_henry_tudor { background-image: url(images/seat_lancaster_henry_tudor.png) }
-.seat.lancaster.lord_henry_vi { background-image: url(images/seat_lancaster_henry_vi.png) }
-.seat.lancaster.lord_jasper_tudor { background-image: url(images/seat_lancaster_jasper_tudor.png) }
-.seat.lancaster.lord_margaret { background-image: url(images/seat_lancaster_margaret.png) }
-.seat.lancaster.lord_northumberland { background-image: url(images/seat_lancaster_northumberland.png) }
-.seat.lancaster.lord_oxford { background-image: url(images/seat_lancaster_oxford.png) }
-.seat.lancaster.lord_somerset { background-image: url(images/seat_lancaster_somerset.png) }
-.seat.lancaster.lord_warwick { background-image: url(images/seat_lancaster_warwick.png) }
-
-.seat.york.lord_devon { background-image: url(images/seat_york_devon.png) }
-.seat.york.lord_edward_iv { background-image: url(images/seat_york_edward_iv.png) }
-.seat.york.lord_gloucester { background-image: url(images/seat_york_gloucester.png) }
-.seat.york.lord_march { background-image: url(images/seat_york_march.png) }
-.seat.york.lord_norfolk { background-image: url(images/seat_york_norfolk.png) }
-.seat.york.lord_northumberland { background-image: url(images/seat_york_northumberland.png) }
-.seat.york.lord_pembroke { background-image: url(images/seat_york_pembroke.png) }
-.seat.york.lord_rutland { background-image: url(images/seat_york_rutland.png) }
-.seat.york.lord_salisbury { background-image: url(images/seat_york_salisbury.png) }
-.seat.york.lord_warwick { background-image: url(images/seat_york_warwick.png) }
-.seat.york.lord_york { background-image: url(images/seat_york_york.png) }
+.vassal.vassal_clifford { background-image: url(images/vassal_clifford.png) }
+.vassal.vassal_edward { background-image: url(images/vassal_edward.png) }
+.vassal.vassal_thomas_stanley { background-image: url(images/vassal_thomas_stanley.png) }
+.vassal.vassal_trollope { background-image: url(images/vassal_trollope.png) }
/* BACKGROUND COLORS AND BORDERS */
@@ -675,137 +681,144 @@ body.shift #capabilities2 {
.card.cc.york { background-image: url(cards.1x/cc_york_back.png) }
.card.cc.york.lord_devon { background-image: url(cards.1x/cc_york_devon.png) }
.card.cc.york.lord_edward_iv { background-image: url(cards.1x/cc_york_edward_iv.png) }
-.card.cc.york.lord_gloucester { background-image: url(cards.1x/cc_york_gloucester.png) }
+.card.cc.york.lord_gloucester_1 { background-image: url(cards.1x/cc_york_gloucester.png) }
+.card.cc.york.lord_gloucester_2 { background-image: url(cards.1x/cc_york_gloucester.png) }
.card.cc.york.lord_march { background-image: url(cards.1x/cc_york_march.png) }
.card.cc.york.lord_norfolk { background-image: url(cards.1x/cc_york_norfolk.png) }
-.card.cc.york.lord_northumberland { background-image: url(cards.1x/cc_york_northumberland.png) }
-.card.cc.york.lord_pass { background-image: url(cards.1x/cc_york_pass.png) }
+.card.cc.york.lord_northumberland_y1 { background-image: url(cards.1x/cc_york_northumberland.png) }
+.card.cc.york.lord_northumberland_y2 { background-image: url(cards.1x/cc_york_northumberland.png) }
.card.cc.york.lord_pembroke { background-image: url(cards.1x/cc_york_pembroke.png) }
.card.cc.york.lord_richard_iii { background-image: url(cards.1x/cc_york_richard_iii.png) }
.card.cc.york.lord_rutland { background-image: url(cards.1x/cc_york_rutland.png) }
.card.cc.york.lord_salisbury { background-image: url(cards.1x/cc_york_salisbury.png) }
-.card.cc.york.lord_warwick { background-image: url(cards.1x/cc_york_warwick.png) }
+.card.cc.york.lord_warwick_l { background-image: url(cards.1x/cc_york_warwick.png) }
.card.cc.york.lord_york { background-image: url(cards.1x/cc_york_york.png) }
+.card.cc.york.lord_pass { background-image: url(cards.1x/cc_york_pass.png) }
.card.cc.lancaster { background-image: url(cards.1x/cc_lancaster_back.png) }
.card.cc.lancaster.lord_buckingham { background-image: url(cards.1x/cc_lancaster_buckingham.png) }
.card.cc.lancaster.lord_clarence { background-image: url(cards.1x/cc_lancaster_clarence.png) }
-.card.cc.lancaster.lord_exeter { background-image: url(cards.1x/cc_lancaster_exeter.png) }
+.card.cc.lancaster.lord_exeter_1 { background-image: url(cards.1x/cc_lancaster_exeter.png) }
+.card.cc.lancaster.lord_exeter_2 { background-image: url(cards.1x/cc_lancaster_exeter.png) }
.card.cc.lancaster.lord_henry_tudor { background-image: url(cards.1x/cc_lancaster_henry_tudor.png) }
.card.cc.lancaster.lord_henry_vi { background-image: url(cards.1x/cc_lancaster_henry_vi.png) }
-.card.cc.lancaster.lord_jasper_tudor { background-image: url(cards.1x/cc_lancaster_jasper_tudor.png) }
+.card.cc.lancaster.lord_jasper_tudor_1 { background-image: url(cards.1x/cc_lancaster_jasper_tudor.png) }
+.card.cc.lancaster.lord_jasper_tudor_2 { background-image: url(cards.1x/cc_lancaster_jasper_tudor.png) }
.card.cc.lancaster.lord_margaret { background-image: url(cards.1x/cc_lancaster_margaret.png) }
-.card.cc.lancaster.lord_northumberland { background-image: url(cards.1x/cc_lancaster_northumberland.png) }
+.card.cc.lancaster.lord_northumberland_l { background-image: url(cards.1x/cc_lancaster_northumberland.png) }
.card.cc.lancaster.lord_oxford { background-image: url(cards.1x/cc_lancaster_oxford.png) }
+.card.cc.lancaster.lord_somerset_1 { background-image: url(cards.1x/cc_lancaster_somerset.png) }
+.card.cc.lancaster.lord_somerset_2 { background-image: url(cards.1x/cc_lancaster_somerset.png) }
+.card.cc.lancaster.lord_warwick_l { background-image: url(cards.1x/cc_lancaster_warwick.png) }
.card.cc.lancaster.lord_pass { background-image: url(cards.1x/cc_lancaster_pass.png) }
-.card.cc.lancaster.lord_somerset { background-image: url(cards.1x/cc_lancaster_somerset.png) }
-.card.cc.lancaster.lord_warwick { background-image: url(cards.1x/cc_lancaster_warwick.png) }
-
-.card.lord.lancaster.lancaster_1 { background-image: url(cards.1x/lord_lancaster_1.png) }
-.card.lord.lancaster.lancaster_2 { background-image: url(cards.1x/lord_lancaster_2.png) }
-.card.lord.lancaster.lancaster_3 { background-image: url(cards.1x/lord_lancaster_3.png) }
-.card.lord.lancaster.lancaster_4 { background-image: url(cards.1x/lord_lancaster_4.png) }
-.card.lord.lancaster.lancaster_5 { background-image: url(cards.1x/lord_lancaster_5.png) }
-.card.lord.lancaster.lancaster_6 { background-image: url(cards.1x/lord_lancaster_6.png) }
-.card.lord.lancaster.lancaster_7 { background-image: url(cards.1x/lord_lancaster_7.png) }
-.card.lord.lancaster.lancaster_8 { background-image: url(cards.1x/lord_lancaster_8.png) }
-.card.lord.lancaster.lancaster_9 { background-image: url(cards.1x/lord_lancaster_9.png) }
-.card.lord.lancaster.lancaster_10 { background-image: url(cards.1x/lord_lancaster_10.png) }
-.card.lord.lancaster.lancaster_11 { background-image: url(cards.1x/lord_lancaster_11.png) }
-.card.lord.lancaster.lancaster_12 { background-image: url(cards.1x/lord_lancaster_12.png) }
-.card.lord.lancaster.lancaster_13 { background-image: url(cards.1x/lord_lancaster_13.png) }
-.card.lord.lancaster.lancaster_14 { background-image: url(cards.1x/lord_lancaster_14.png) }
-.card.lord.lancaster.lancaster_15 { background-image: url(cards.1x/lord_lancaster_15.png) }
-.card.lord.york.york_1 { background-image: url(cards.1x/lord_york_1.png) }
-.card.lord.york.york_2 { background-image: url(cards.1x/lord_york_2.png) }
-.card.lord.york.york_3 { background-image: url(cards.1x/lord_york_3.png) }
-.card.lord.york.york_4 { background-image: url(cards.1x/lord_york_4.png) }
-.card.lord.york.york_5 { background-image: url(cards.1x/lord_york_5.png) }
-.card.lord.york.york_6 { background-image: url(cards.1x/lord_york_6.png) }
-.card.lord.york.york_7 { background-image: url(cards.1x/lord_york_7.png) }
-.card.lord.york.york_8 { background-image: url(cards.1x/lord_york_8.png) }
-.card.lord.york.york_9 { background-image: url(cards.1x/lord_york_9.png) }
-.card.lord.york.york_10 { background-image: url(cards.1x/lord_york_10.png) }
-.card.lord.york.york_11 { background-image: url(cards.1x/lord_york_11.png) }
-.card.lord.york.york_12 { background-image: url(cards.1x/lord_york_12.png) }
-.card.lord.york.york_13 { background-image: url(cards.1x/lord_york_13.png) }
-.card.lord.york.york_14 { background-image: url(cards.1x/lord_york_14.png) }
-.card.lord.york.york_15 { background-image: url(cards.1x/lord_york_15.png) }
-
-.card.aow.york.york_1 { background-image: url(cards.1x/aow_york_1.png) }
-.card.aow.york.york_2 { background-image: url(cards.1x/aow_york_2.png) }
-.card.aow.york.york_3 { background-image: url(cards.1x/aow_york_3.png) }
-.card.aow.york.york_4 { background-image: url(cards.1x/aow_york_4.png) }
-.card.aow.york.york_5 { background-image: url(cards.1x/aow_york_5.png) }
-.card.aow.york.york_6 { background-image: url(cards.1x/aow_york_6.png) }
-.card.aow.york.york_7 { background-image: url(cards.1x/aow_york_7.png) }
-.card.aow.york.york_8 { background-image: url(cards.1x/aow_york_8.png) }
-.card.aow.york.york_9 { background-image: url(cards.1x/aow_york_9.png) }
-.card.aow.york.york_10 { background-image: url(cards.1x/aow_york_10.png) }
-.card.aow.york.york_11 { background-image: url(cards.1x/aow_york_11.png) }
-.card.aow.york.york_12 { background-image: url(cards.1x/aow_york_12.png) }
-.card.aow.york.york_13 { background-image: url(cards.1x/aow_york_13.png) }
-.card.aow.york.york_14 { background-image: url(cards.1x/aow_york_14.png) }
-.card.aow.york.york_15 { background-image: url(cards.1x/aow_york_15.png) }
-.card.aow.york.york_16 { background-image: url(cards.1x/aow_york_16.png) }
-.card.aow.york.york_17 { background-image: url(cards.1x/aow_york_17.png) }
-.card.aow.york.york_18 { background-image: url(cards.1x/aow_york_18.png) }
-.card.aow.york.york_19 { background-image: url(cards.1x/aow_york_19.png) }
-.card.aow.york.york_20 { background-image: url(cards.1x/aow_york_20.png) }
-.card.aow.york.york_21 { background-image: url(cards.1x/aow_york_21.png) }
-.card.aow.york.york_22 { background-image: url(cards.1x/aow_york_22.png) }
-.card.aow.york.york_23 { background-image: url(cards.1x/aow_york_23.png) }
-.card.aow.york.york_24 { background-image: url(cards.1x/aow_york_24.png) }
-.card.aow.york.york_25 { background-image: url(cards.1x/aow_york_25.png) }
-.card.aow.york.york_26 { background-image: url(cards.1x/aow_york_26.png) }
-.card.aow.york.york_27 { background-image: url(cards.1x/aow_york_27.png) }
-.card.aow.york.york_28 { background-image: url(cards.1x/aow_york_28.png) }
-.card.aow.york.york_29 { background-image: url(cards.1x/aow_york_29.png) }
-.card.aow.york.york_30 { background-image: url(cards.1x/aow_york_30.png) }
-.card.aow.york.york_31 { background-image: url(cards.1x/aow_york_31.png) }
-.card.aow.york.york_32 { background-image: url(cards.1x/aow_york_32.png) }
-.card.aow.york.york_33 { background-image: url(cards.1x/aow_york_33.png) }
-.card.aow.york.york_34 { background-image: url(cards.1x/aow_york_34.png) }
-.card.aow.york.york_35 { background-image: url(cards.1x/aow_york_35.png) }
-.card.aow.york.york_36 { background-image: url(cards.1x/aow_york_36.png) }
-.card.aow.york.york_37 { background-image: url(cards.1x/aow_york_37.png) }
-.card.aow.lancaster.lancaster_1 { background-image: url(cards.1x/aow_lancaster_1.png) }
-.card.aow.lancaster.lancaster_2 { background-image: url(cards.1x/aow_lancaster_2.png) }
-.card.aow.lancaster.lancaster_3 { background-image: url(cards.1x/aow_lancaster_3.png) }
-.card.aow.lancaster.lancaster_4 { background-image: url(cards.1x/aow_lancaster_4.png) }
-.card.aow.lancaster.lancaster_5 { background-image: url(cards.1x/aow_lancaster_5.png) }
-.card.aow.lancaster.lancaster_6 { background-image: url(cards.1x/aow_lancaster_6.png) }
-.card.aow.lancaster.lancaster_7 { background-image: url(cards.1x/aow_lancaster_7.png) }
-.card.aow.lancaster.lancaster_8 { background-image: url(cards.1x/aow_lancaster_8.png) }
-.card.aow.lancaster.lancaster_9 { background-image: url(cards.1x/aow_lancaster_9.png) }
-.card.aow.lancaster.lancaster_10 { background-image: url(cards.1x/aow_lancaster_10.png) }
-.card.aow.lancaster.lancaster_11 { background-image: url(cards.1x/aow_lancaster_11.png) }
-.card.aow.lancaster.lancaster_12 { background-image: url(cards.1x/aow_lancaster_12.png) }
-.card.aow.lancaster.lancaster_13 { background-image: url(cards.1x/aow_lancaster_13.png) }
-.card.aow.lancaster.lancaster_14 { background-image: url(cards.1x/aow_lancaster_14.png) }
-.card.aow.lancaster.lancaster_15 { background-image: url(cards.1x/aow_lancaster_15.png) }
-.card.aow.lancaster.lancaster_16 { background-image: url(cards.1x/aow_lancaster_16.png) }
-.card.aow.lancaster.lancaster_17 { background-image: url(cards.1x/aow_lancaster_17.png) }
-.card.aow.lancaster.lancaster_18 { background-image: url(cards.1x/aow_lancaster_18.png) }
-.card.aow.lancaster.lancaster_19 { background-image: url(cards.1x/aow_lancaster_19.png) }
-.card.aow.lancaster.lancaster_20 { background-image: url(cards.1x/aow_lancaster_20.png) }
-.card.aow.lancaster.lancaster_21 { background-image: url(cards.1x/aow_lancaster_21.png) }
-.card.aow.lancaster.lancaster_22 { background-image: url(cards.1x/aow_lancaster_22.png) }
-.card.aow.lancaster.lancaster_23 { background-image: url(cards.1x/aow_lancaster_23.png) }
-.card.aow.lancaster.lancaster_24 { background-image: url(cards.1x/aow_lancaster_24.png) }
-.card.aow.lancaster.lancaster_25 { background-image: url(cards.1x/aow_lancaster_25.png) }
-.card.aow.lancaster.lancaster_26 { background-image: url(cards.1x/aow_lancaster_26.png) }
-.card.aow.lancaster.lancaster_27 { background-image: url(cards.1x/aow_lancaster_27.png) }
-.card.aow.lancaster.lancaster_28 { background-image: url(cards.1x/aow_lancaster_28.png) }
-.card.aow.lancaster.lancaster_29 { background-image: url(cards.1x/aow_lancaster_29.png) }
-.card.aow.lancaster.lancaster_30 { background-image: url(cards.1x/aow_lancaster_30.png) }
-.card.aow.lancaster.lancaster_31 { background-image: url(cards.1x/aow_lancaster_31.png) }
-.card.aow.lancaster.lancaster_32 { background-image: url(cards.1x/aow_lancaster_32.png) }
-.card.aow.lancaster.lancaster_33 { background-image: url(cards.1x/aow_lancaster_33.png) }
-.card.aow.lancaster.lancaster_34 { background-image: url(cards.1x/aow_lancaster_34.png) }
-.card.aow.lancaster.lancaster_35 { background-image: url(cards.1x/aow_lancaster_35.png) }
-.card.aow.lancaster.lancaster_36 { background-image: url(cards.1x/aow_lancaster_36.png) }
-.card.aow.lancaster.lancaster_37 { background-image: url(cards.1x/aow_lancaster_37.png) }
+
+.card.lord.york { background-image: url(cards.1x/lord_york_back.png) }
+.card.lord.york.lord_devon { background-image: url(cards.1x/lord_york_devon.png) }
+.card.lord.york.lord_edward_iv { background-image: url(cards.1x/lord_york_edward_iv.png) }
+.card.lord.york.lord_gloucester_1 { background-image: url(cards.1x/lord_york_gloucester_1.png) }
+.card.lord.york.lord_gloucester_2 { background-image: url(cards.1x/lord_york_gloucester_2.png) }
+.card.lord.york.lord_march { background-image: url(cards.1x/lord_york_march.png) }
+.card.lord.york.lord_norfolk { background-image: url(cards.1x/lord_york_norfolk.png) }
+.card.lord.york.lord_northumberland_y1 { background-image: url(cards.1x/lord_york_northumberland_y1.png) }
+.card.lord.york.lord_northumberland_y2 { background-image: url(cards.1x/lord_york_northumberland_y2.png) }
+.card.lord.york.lord_pembroke { background-image: url(cards.1x/lord_york_pembroke.png) }
+.card.lord.york.lord_richard_iii { background-image: url(cards.1x/lord_york_richard_iii.png) }
+.card.lord.york.lord_rutland { background-image: url(cards.1x/lord_york_rutland.png) }
+.card.lord.york.lord_salisbury { background-image: url(cards.1x/lord_york_salisbury.png) }
+.card.lord.york.lord_warwick_l { background-image: url(cards.1x/lord_york_warwick_y.png) }
+.card.lord.york.lord_york { background-image: url(cards.1x/lord_york_york.png) }
+
+.card.lord.lancaster { background-image: url(cards.1x/lord_lancaster_back.png) }
+.card.lord.lancaster.lord_buckingham { background-image: url(cards.1x/lord_lancaster_buckingham.png) }
+.card.lord.lancaster.lord_clarence { background-image: url(cards.1x/lord_lancaster_clarence.png) }
+.card.lord.lancaster.lord_exeter_1 { background-image: url(cards.1x/lord_lancaster_exeter_1.png) }
+.card.lord.lancaster.lord_exeter_2 { background-image: url(cards.1x/lord_lancaster_exeter_2.png) }
+.card.lord.lancaster.lord_henry_tudor { background-image: url(cards.1x/lord_lancaster_henry_tudor.png) }
+.card.lord.lancaster.lord_henry_vi { background-image: url(cards.1x/lord_lancaster_henry_vi.png) }
+.card.lord.lancaster.lord_jasper_tudor_1 { background-image: url(cards.1x/lord_lancaster_jasper_tudor_1.png) }
+.card.lord.lancaster.lord_jasper_tudor_2 { background-image: url(cards.1x/lord_lancaster_jasper_tudor_2.png) }
+.card.lord.lancaster.lord_margaret { background-image: url(cards.1x/lord_lancaster_margaret.png) }
+.card.lord.lancaster.lord_northumberland_l { background-image: url(cards.1x/lord_lancaster_northumberland_l.png) }
+.card.lord.lancaster.lord_oxford { background-image: url(cards.1x/lord_lancaster_oxford.png) }
+.card.lord.lancaster.lord_somerset_1 { background-image: url(cards.1x/lord_lancaster_somerset_1.png) }
+.card.lord.lancaster.lord_somerset_2 { background-image: url(cards.1x/lord_lancaster_somerset_2.png) }
+.card.lord.lancaster.lord_warwick_l { background-image: url(cards.1x/lord_lancaster_warwick_l.png) }
+
+.card.aow.york.c1 { background-image: url(cards.1x/aow_york_1.png) }
+.card.aow.york.c2 { background-image: url(cards.1x/aow_york_2.png) }
+.card.aow.york.c3 { background-image: url(cards.1x/aow_york_3.png) }
+.card.aow.york.c4 { background-image: url(cards.1x/aow_york_4.png) }
+.card.aow.york.c5 { background-image: url(cards.1x/aow_york_5.png) }
+.card.aow.york.c6 { background-image: url(cards.1x/aow_york_6.png) }
+.card.aow.york.c7 { background-image: url(cards.1x/aow_york_7.png) }
+.card.aow.york.c8 { background-image: url(cards.1x/aow_york_8.png) }
+.card.aow.york.c9 { background-image: url(cards.1x/aow_york_9.png) }
+.card.aow.york.c10 { background-image: url(cards.1x/aow_york_10.png) }
+.card.aow.york.c11 { background-image: url(cards.1x/aow_york_11.png) }
+.card.aow.york.c12 { background-image: url(cards.1x/aow_york_12.png) }
+.card.aow.york.c13 { background-image: url(cards.1x/aow_york_13.png) }
+.card.aow.york.c14 { background-image: url(cards.1x/aow_york_14.png) }
+.card.aow.york.c15 { background-image: url(cards.1x/aow_york_15.png) }
+.card.aow.york.c16 { background-image: url(cards.1x/aow_york_16.png) }
+.card.aow.york.c17 { background-image: url(cards.1x/aow_york_17.png) }
+.card.aow.york.c18 { background-image: url(cards.1x/aow_york_18.png) }
+.card.aow.york.c19 { background-image: url(cards.1x/aow_york_19.png) }
+.card.aow.york.c20 { background-image: url(cards.1x/aow_york_20.png) }
+.card.aow.york.c21 { background-image: url(cards.1x/aow_york_21.png) }
+.card.aow.york.c22 { background-image: url(cards.1x/aow_york_22.png) }
+.card.aow.york.c23 { background-image: url(cards.1x/aow_york_23.png) }
+.card.aow.york.c24 { background-image: url(cards.1x/aow_york_24.png) }
+.card.aow.york.c25 { background-image: url(cards.1x/aow_york_25.png) }
+.card.aow.york.c26 { background-image: url(cards.1x/aow_york_26.png) }
+.card.aow.york.c27 { background-image: url(cards.1x/aow_york_27.png) }
+.card.aow.york.c28 { background-image: url(cards.1x/aow_york_28.png) }
+.card.aow.york.c29 { background-image: url(cards.1x/aow_york_29.png) }
+.card.aow.york.c30 { background-image: url(cards.1x/aow_york_30.png) }
+.card.aow.york.c31 { background-image: url(cards.1x/aow_york_31.png) }
+.card.aow.york.c32 { background-image: url(cards.1x/aow_york_32.png) }
+.card.aow.york.c33 { background-image: url(cards.1x/aow_york_33.png) }
+.card.aow.york.c34 { background-image: url(cards.1x/aow_york_34.png) }
+.card.aow.york.c35 { background-image: url(cards.1x/aow_york_35.png) }
+.card.aow.york.c36 { background-image: url(cards.1x/aow_york_36.png) }
+.card.aow.york.c37 { background-image: url(cards.1x/aow_york_37.png) }
+
+.card.aow.lancaster.c1 { background-image: url(cards.1x/aow_lancaster_1.png) }
+.card.aow.lancaster.c2 { background-image: url(cards.1x/aow_lancaster_2.png) }
+.card.aow.lancaster.c3 { background-image: url(cards.1x/aow_lancaster_3.png) }
+.card.aow.lancaster.c4 { background-image: url(cards.1x/aow_lancaster_4.png) }
+.card.aow.lancaster.c5 { background-image: url(cards.1x/aow_lancaster_5.png) }
+.card.aow.lancaster.c6 { background-image: url(cards.1x/aow_lancaster_6.png) }
+.card.aow.lancaster.c7 { background-image: url(cards.1x/aow_lancaster_7.png) }
+.card.aow.lancaster.c8 { background-image: url(cards.1x/aow_lancaster_8.png) }
+.card.aow.lancaster.c9 { background-image: url(cards.1x/aow_lancaster_9.png) }
+.card.aow.lancaster.c10 { background-image: url(cards.1x/aow_lancaster_10.png) }
+.card.aow.lancaster.c11 { background-image: url(cards.1x/aow_lancaster_11.png) }
+.card.aow.lancaster.c12 { background-image: url(cards.1x/aow_lancaster_12.png) }
+.card.aow.lancaster.c13 { background-image: url(cards.1x/aow_lancaster_13.png) }
+.card.aow.lancaster.c14 { background-image: url(cards.1x/aow_lancaster_14.png) }
+.card.aow.lancaster.c15 { background-image: url(cards.1x/aow_lancaster_15.png) }
+.card.aow.lancaster.c16 { background-image: url(cards.1x/aow_lancaster_16.png) }
+.card.aow.lancaster.c17 { background-image: url(cards.1x/aow_lancaster_17.png) }
+.card.aow.lancaster.c18 { background-image: url(cards.1x/aow_lancaster_18.png) }
+.card.aow.lancaster.c19 { background-image: url(cards.1x/aow_lancaster_19.png) }
+.card.aow.lancaster.c20 { background-image: url(cards.1x/aow_lancaster_20.png) }
+.card.aow.lancaster.c21 { background-image: url(cards.1x/aow_lancaster_21.png) }
+.card.aow.lancaster.c22 { background-image: url(cards.1x/aow_lancaster_22.png) }
+.card.aow.lancaster.c23 { background-image: url(cards.1x/aow_lancaster_23.png) }
+.card.aow.lancaster.c24 { background-image: url(cards.1x/aow_lancaster_24.png) }
+.card.aow.lancaster.c25 { background-image: url(cards.1x/aow_lancaster_25.png) }
+.card.aow.lancaster.c26 { background-image: url(cards.1x/aow_lancaster_26.png) }
+.card.aow.lancaster.c27 { background-image: url(cards.1x/aow_lancaster_27.png) }
+.card.aow.lancaster.c28 { background-image: url(cards.1x/aow_lancaster_28.png) }
+.card.aow.lancaster.c29 { background-image: url(cards.1x/aow_lancaster_29.png) }
+.card.aow.lancaster.c30 { background-image: url(cards.1x/aow_lancaster_30.png) }
+.card.aow.lancaster.c31 { background-image: url(cards.1x/aow_lancaster_31.png) }
+.card.aow.lancaster.c32 { background-image: url(cards.1x/aow_lancaster_32.png) }
+.card.aow.lancaster.c33 { background-image: url(cards.1x/aow_lancaster_33.png) }
+.card.aow.lancaster.c34 { background-image: url(cards.1x/aow_lancaster_34.png) }
+.card.aow.lancaster.c35 { background-image: url(cards.1x/aow_lancaster_35.png) }
+.card.aow.lancaster.c36 { background-image: url(cards.1x/aow_lancaster_36.png) }
+.card.aow.lancaster.c37 { background-image: url(cards.1x/aow_lancaster_37.png) }
/* ULTRA-WIDE SCREEN LAYOUTS */
diff --git a/play.js b/play.js
index 263b737..8d4d2a8 100644
--- a/play.js
+++ b/play.js
@@ -330,14 +330,6 @@ function is_p2_lord(lord) {
return lord >= first_p2_lord && lord <= last_p2_lord
}
-function is_lord_besieged(lord) {
- let besieged = pack1_get(view.pieces.besieged, lord)
- // show sallying lords as not besieged
- if (view.battle && view.battle.array && view.battle.reserves.includes(lord))
- return false
- return besieged
-}
-
function is_lord_on_left_or_right(lord) {
if (view.battle.array[A1] === lord) return true
if (view.battle.array[A3] === lord) return true
@@ -400,18 +392,6 @@ function is_lord_on_map(lord) {
return loc !== NOWHERE && loc < CALENDAR
}
-function is_vassal_ready(vassal) {
- return view.pieces.vassals[vassal] === VASSAL_READY
-}
-
-function is_vassal_mustered(vassal) {
- return view.pieces.vassals[vassal] === VASSAL_MUSTERED
-}
-
-function is_legate_selected() {
- return player === "York" && !!view.pieces.legate_selected
-}
-
function is_levy_phase() {
return (view.turn & 1) === 0
}
@@ -439,22 +419,6 @@ function is_lord_selected(ix) {
return false
}
-function is_town_locale(loc) {
- return data.locales[loc].type === "town"
-}
-
-function is_bishopric(loc) {
- return data.locales[loc].type === "bishopric"
-}
-
-function has_walls(loc) {
- return set_has(view.pieces.walls, loc)
-}
-
-function lord_has_unrouted_units(lord) {
- return view.pieces.forces[lord] !== 0
-}
-
function get_lord_capability(lord, n) {
return view.pieces.capabilities[(lord << 1) + n]
}
@@ -480,22 +444,6 @@ function lord_has_capability(lord, card_or_list) {
return lord_has_capability_card(lord, card_or_list)
}
-function attacker_has_trebuchets() {
- if (view.battle.attacker === "York") {
- for (let lord = first_p1_lord; lord <= last_p1_lord; ++lord) {
- if (get_lord_locale(lord) === view.battle.where && lord_has_unrouted_units(lord)) {
- if (lord_has_capability(lord, AOW_TEUTONIC_TREBUCHETS))
- return true
- }
- }
- }
- return false
-}
-
-function count_siege_markers(loc) {
- return map_get(view.pieces.sieges, loc, 0)
-}
-
// === BUILD UI ===
const original_boxes = {
@@ -670,7 +618,7 @@ function build_lord_mat(lord, ix, side, name) {
function build_card(side, c) {
let card = ui.cards[c] = document.createElement("div")
- card.className = `card aow ${side} ${side}_${c}`
+ card.className = `card aow ${side} c${c}`
register_action(card, "card", c)
}
@@ -685,19 +633,19 @@ function build_plan() {
for (let lord = 0; lord < 24; ++lord) {
let side = lord < 12 ? "york" : "lancaster"
elt = document.createElement("div")
- elt.className = `card ${side} cc_lord_${lord}`
+ elt.className = `card cc ${side} ${lord.id}`
register_action(elt, "plan", lord)
ui.plan_action_cards.push(elt)
ui.plan_actions.appendChild(elt)
}
ui.plan_action_pass_p1 = elt = document.createElement("div")
- elt.className = `card york cc_pass`
+ elt.className = `card cc york pass`
register_action(elt, "plan", -1)
ui.plan_actions.appendChild(elt)
ui.plan_action_pass_p2 = elt = document.createElement("div")
- elt.className = `card lancaster cc_pass`
+ elt.className = `card cc lancaster pass`
register_action(elt, "plan", -1)
ui.plan_actions.appendChild(elt)
}
@@ -750,13 +698,12 @@ function build_map() {
data.lords.forEach((lord, ix) => {
let e = ui.lord_cylinder[ix] = document.createElement("div")
- let name = clean_name(lord.name)
- let side = clean_name(lord.side)
- e.className = "cylinder lord " + side + " lord_" + name + " hide"
+ let side = lord.side.toLowerCase()
+ e.className = "cylinder " + side + " " + lord.id + " hide"
register_action(e, "lord", ix)
register_tooltip(e, on_focus_cylinder)
document.getElementById("pieces").appendChild(e)
- build_lord_mat(lord, ix, clean_name(lord.side), name)
+ build_lord_mat(lord, ix, side, lord.id)
})
data.vassals.forEach((vassal, ix) => {
@@ -835,9 +782,9 @@ function restart_cache() {
function update_current_card_display() {
if (typeof view.what === "number" && view.what >= 0) {
if (view.what <= first_p1_card)
- ui.command.className = `card aow york york_${view.what}`
+ ui.command.className = `card aow york c${view.what}`
else
- ui.command.className = `card aow lancaster lancaster_${view.what}`
+ ui.command.className = `card aow lancaster c${view.what}`
} else if ((view.turn & 1) === 0) {
if (player === "Lancaster")
ui.command.className = `card aow lancaster`
@@ -849,10 +796,10 @@ function update_current_card_display() {
else
ui.command.className = `card cc york`
} else {
- if (view.command < 6)
- ui.command.className = `card cc lancaster lord_${view.command}`
+ if (view.command < 14)
+ ui.command.className = `card cc york ${data.lords[view.command].id}`
else
- ui.command.className = `card cc york lord_${view.command}`
+ ui.command.className = `card cc lancaster ${data.lords[view.command].id}`
}
}
@@ -1083,7 +1030,6 @@ function update_lord(ix) {
calendar_layout_cylinder[t].push(ui.lord_cylinder[ix])
ui.lord_cylinder[ix].classList.remove("hide")
}
- ui.lord_cylinder[ix].classList.toggle("besieged", is_lord_besieged(ix))
ui.lord_buttons[ix].classList.toggle("action", is_action("lord", ix))
ui.lord_cylinder[ix].classList.toggle("action", is_action("lord", ix))
@@ -1093,7 +1039,6 @@ function update_lord(ix) {
ui.lord_cylinder[ix].classList.toggle("command", is_lord_command(ix))
ui.lord_mat[ix].classList.toggle("command", is_lord_command(ix))
- ui.lord_mat[ix].classList.toggle("besieged", is_lord_besieged(ix))
ui.lord_mat[ix].classList.toggle("ambushed", is_lord_ambushed(ix))
}
@@ -1136,20 +1081,20 @@ function update_plan() {
let lord = view.plan[i]
if (lord < 0) {
if (player === "York")
- ui.plan_cards[i].className = "card york cc_pass"
+ ui.plan_cards[i].className = "card cc york pass"
else
- ui.plan_cards[i].className = "card lancaster cc_pass"
+ ui.plan_cards[i].className = "card cc lancaster pass"
} else {
- if (lord < 6)
- ui.plan_cards[i].className = "card york cc_lord_" + lord
+ if (lord < 14)
+ ui.plan_cards[i].className = "card cc york " + data.lords[lord].id
else
- ui.plan_cards[i].className = "card lancaster cc_lord_" + lord
+ ui.plan_cards[i].className = "card cc lancaster " + data.lords[lord].id
}
} else if (is_planning && i < max_plan_length()) {
if (player === "York")
- ui.plan_cards[i].className = "card york cc_back"
+ ui.plan_cards[i].className = "card cc york"
else
- ui.plan_cards[i].className = "card lancaster cc_back"
+ ui.plan_cards[i].className = "card cc lancaster"
} else {
ui.plan_cards[i].className = "hide"
}
diff --git a/tools/gendata.js b/tools/gendata.js
index f0c9c31..555d6a7 100644
--- a/tools/gendata.js
+++ b/tools/gendata.js
@@ -7,6 +7,10 @@ const fs = require('fs')
function cmpnum(a,b) { return a - b }
function cmpnum2(a,b) { return a[0] - b[0] }
+function clean_name(name) {
+ return name.toLowerCase().replaceAll("&", "and").replaceAll(" ", "_")
+}
+
// :r !python3 genboxes.py
const boxes = {
"0": [60,1613,48,48],
@@ -1264,6 +1268,10 @@ function vassal(service, name, seat, influence, capability) {
vassals.push({service, name, seat, influence, capability })
}
+lords.forEach(lord => {
+ lord.id = "lord_" + clean_name(lord.name)
+})
+
vassal(1, "Norfolk", "Arundel", 0)
vassal(1, "Stanley", "Derby", 0)
vassal(3, "Fauconberg", "Dover", 2)
diff --git a/tools/markers2.sh b/tools/markers2.sh
index 6fcec7e..3d5ebc8 100644
--- a/tools/markers2.sh
+++ b/tools/markers2.sh
@@ -81,11 +81,11 @@ large2 38 vassal_essex
large2 40 vassal_westmorld
large2 47 vassal_worcester
-large2 6 marker_hastings
-large2 49 marker_trollope
-large2 50 marker_clifford
-large2 51 marker_edward
-large2 52 marker_stanley
+large2 6 vassal_hastings
+large2 49 vassal_trollope
+large2 50 vassal_clifford
+large2 51 vassal_edward
+large2 52 vassal_thomas_stanley
large2 7 seat_lancaster_henry_vi
large2 8 seat_lancaster_somerset
diff --git a/tools/markers3.sh b/tools/markers3.sh
index e0572b9..e470e87 100644
--- a/tools/markers3.sh
+++ b/tools/markers3.sh
@@ -46,11 +46,11 @@ single fled
single hits_lancaster
single hits_york
single levy
-single marker_clifford
-single marker_edward
-single marker_hastings
-single marker_stanley
-single marker_trollope
+single vassal_clifford
+single vassal_edward
+single vassal_hastings
+single vassal_thomas_stanley
+single vassal_trollope
single moved_fought
single prov_x1
single prov_x2
@@ -121,11 +121,11 @@ multi "#ffffff" 6x1 numbers_lancaster \
exit
-single marker_clifford_b
-single marker_edward_b
-single marker_hastings_b
-single marker_stanley_b
-single marker_trollope_b
+single vassal_clifford_b
+single vassal_edward_b
+single vassal_hastings_b
+single vassal_thomas_stanley_b
+single vassal_trollope_b
multi '#ffffff' 4x seats_york \
HIRES/output/seat_york_devon.png \