diff --git a/addons/yt_world/controllers/world_api.py b/addons/yt_world/controllers/world_api.py
index ad7eafc..0c07b77 100644
--- a/addons/yt_world/controllers/world_api.py
+++ b/addons/yt_world/controllers/world_api.py
@@ -237,6 +237,9 @@ class YtWorldApi(http.Controller):
('pasture', 'upgrade'): {'cost': {'gold': 40}, 'msg': '牧场升级申请已提交'},
('blackmarket', 'trade'): {'cost': {'gold': 25}, 'gain': {'rare': 1}, 'msg': '黑市交易(风险):稀有物资 +1'},
('blackmarket', 'upgrade'):{'cost': {'gold': 80}, 'msg': '黑市升级申请已提交'},
+ ('school', 'study'): {'gain': {'research': 3}, 'msg': '研读获得科研 +3'},
+ ('school', 'lecture'): {'cost': {'gold': 10}, 'gain': {'prestige': 2}, 'msg': '讲学获得声望 +2'},
+ ('school', 'upgrade'): {'cost': {'gold': 50}, 'msg': '学堂升级申请已提交'},
# —— 设施(平面)——
('farmland', 'harvest'): {'gain': {'food': 5}, 'msg': '收获粮食 +5'},
('farmland', 'sow'): {'cost': {'gold': 5}, 'gain': {'food': 2}, 'msg': '播种:预期粮+2'},
diff --git a/addons/yt_world/data/yt_world_build_item.xml b/addons/yt_world/data/yt_world_build_item.xml
index b7eec26..811741a 100644
--- a/addons/yt_world/data/yt_world_build_item.xml
+++ b/addons/yt_world/data/yt_world_build_item.xml
@@ -96,7 +96,7 @@
- restaurant饭馆
+ restaurant酒馆
buildassets/buildings/spring/restaurant/restaurant_r.png
33270
烹制料理,为居民提供饱食与心情加成。
@@ -112,7 +112,7 @@
- blackmarket黑市
+ blackmarket商城
buildassets/buildings/spring/blackmarket/blackmarket_r.png
33290
灰色交易点,可换取稀有物资但伴随风险。
@@ -166,10 +166,19 @@
190
+
+ school学堂
+ buildassets/buildings/spring/school/school_l.png
+ 33380
+ 0
+ 授业解惑之所,研读典籍提升领地科研与基础教学产出。
+ 1100
+
+
library图书馆
buildassets/buildings/spring/library/library_l.png
- 22360
+ 33360
0
收藏典籍与卷轴,提升领地科研与知识产出。
1110
@@ -178,19 +187,10 @@
barracks兵营
buildassets/buildings/spring/barracks/barracks_l.png
- 22370
+ 33370
0
训练士兵与储备武备的军事建筑,提升领地军事产出。
1130
-
- school学堂
- buildassets/buildings/spring/school/school_l.png
- 22380
- 0
- 讲学习字之所,培养人才并提升领地科研积累。
- 1100
-
-
diff --git a/assets/buildings/default/props/1.png b/assets/buildings/default/props/1.png
deleted file mode 100644
index 11cdc21..0000000
Binary files a/assets/buildings/default/props/1.png and /dev/null differ
diff --git a/assets/buildings/spring/barracks/barracks_l.png b/assets/buildings/spring/barracks/barracks_l.png
index 13f6098..0dcb5ee 100644
Binary files a/assets/buildings/spring/barracks/barracks_l.png and b/assets/buildings/spring/barracks/barracks_l.png differ
diff --git a/assets/buildings/spring/barracks/barracks_r.png b/assets/buildings/spring/barracks/barracks_r.png
index 7d38d8d..3eb8b8d 100644
Binary files a/assets/buildings/spring/barracks/barracks_r.png and b/assets/buildings/spring/barracks/barracks_r.png differ
diff --git a/assets/buildings/spring/blackmarket/blackmarket_l.png b/assets/buildings/spring/blackmarket/blackmarket_l.png
index 36d403a..d5b3615 100644
Binary files a/assets/buildings/spring/blackmarket/blackmarket_l.png and b/assets/buildings/spring/blackmarket/blackmarket_l.png differ
diff --git a/assets/buildings/spring/blackmarket/blackmarket_r.png b/assets/buildings/spring/blackmarket/blackmarket_r.png
index e675667..a6e161f 100644
Binary files a/assets/buildings/spring/blackmarket/blackmarket_r.png and b/assets/buildings/spring/blackmarket/blackmarket_r.png differ
diff --git a/assets/buildings/spring/farmland/farmland.png b/assets/buildings/spring/farmland/farmland.png
index 6b1f5b7..ad9f678 100644
Binary files a/assets/buildings/spring/farmland/farmland.png and b/assets/buildings/spring/farmland/farmland.png differ
diff --git a/assets/buildings/spring/guild/guild_l.png b/assets/buildings/spring/guild/guild_l.png
new file mode 100644
index 0000000..ef16076
Binary files /dev/null and b/assets/buildings/spring/guild/guild_l.png differ
diff --git a/assets/buildings/spring/guild/guild_r.png b/assets/buildings/spring/guild/guild_r.png
new file mode 100644
index 0000000..44bc117
Binary files /dev/null and b/assets/buildings/spring/guild/guild_r.png differ
diff --git a/assets/buildings/spring/library/library_l.png b/assets/buildings/spring/library/library_l.png
index 6b7732a..2d60ae8 100644
Binary files a/assets/buildings/spring/library/library_l.png and b/assets/buildings/spring/library/library_l.png differ
diff --git a/assets/buildings/spring/library/library_r.png b/assets/buildings/spring/library/library_r.png
index aaa06b5..0df047e 100644
Binary files a/assets/buildings/spring/library/library_r.png and b/assets/buildings/spring/library/library_r.png differ
diff --git a/assets/buildings/spring/school/school_l.png b/assets/buildings/spring/school/school_l.png
index e69de29..4867e98 100644
Binary files a/assets/buildings/spring/school/school_l.png and b/assets/buildings/spring/school/school_l.png differ
diff --git a/assets/buildings/spring/school/school_r.png b/assets/buildings/spring/school/school_r.png
index e69de29..1425b69 100644
Binary files a/assets/buildings/spring/school/school_r.png and b/assets/buildings/spring/school/school_r.png differ
diff --git a/assets/buildings/spring/storage/storage.png b/assets/buildings/spring/storage/storage.png
deleted file mode 100644
index 3d05eba..0000000
Binary files a/assets/buildings/spring/storage/storage.png and /dev/null differ
diff --git a/assets/buildings/spring/village/village_l.png b/assets/buildings/spring/village/village_l.png
new file mode 100644
index 0000000..38ff082
Binary files /dev/null and b/assets/buildings/spring/village/village_l.png differ
diff --git a/assets/buildings/spring/village/village_r.png b/assets/buildings/spring/village/village_r.png
new file mode 100644
index 0000000..65d9d86
Binary files /dev/null and b/assets/buildings/spring/village/village_r.png differ
diff --git a/assets/buildings/spring/wall/wall.png b/assets/buildings/spring/wall/wall.png
deleted file mode 100644
index b729f27..0000000
Binary files a/assets/buildings/spring/wall/wall.png and /dev/null differ
diff --git a/world.html b/world.html
index 8996bdb..97f691f 100644
--- a/world.html
+++ b/world.html
@@ -1713,14 +1713,16 @@ const MICRO_BUILD_EXTRA = [
{ id: 'grocery', cat: 'build', icon: 'assets/buildings/spring/grocery/grocery_l.png', name: '杂货铺', desc: '交易日用物资的小型商铺,促进经济流通。', flat: false, w: 2, h: 2, statLevel: 1, statHp: 90, statYield: { coin: 2 } },
{ id: 'temple', cat: 'build', icon: 'assets/buildings/spring/temple/temple_l.png', name: '神庙', desc: '供奉信仰的场所,提升居民精神状态与领地声望。', flat: false, w: 2, h: 2, statLevel: 1, statHp: 160, statYield: { prestige: 3 } },
{ id: 'clinic', cat: 'build', icon: 'assets/buildings/spring/clinic/clinic_l.png', name: '医务室', desc: '诊治伤病,恢复居民生命值。', flat: false, w: 2, h: 2, statLevel: 1, statHp: 100, statYield: { heal: 2 } },
- { id: 'restaurant', cat: 'build', icon: 'assets/buildings/spring/restaurant/restaurant_l.png',name: '饭馆', desc: '烹制料理,为居民提供饱食与心情加成。', flat: false, w: 2, h: 2, statLevel: 1, statHp: 95, statYield: { satiety: 3 } },
+ { id: 'restaurant', cat: 'build', icon: 'assets/buildings/spring/restaurant/restaurant_l.png',name: '酒馆', desc: '烹制料理,为居民提供饱食与心情加成。', flat: false, w: 2, h: 2, statLevel: 1, statHp: 95, statYield: { satiety: 3 } },
{ id: 'pasture', cat: 'business', icon: 'assets/buildings/spring/pasture/pasture_l.png', name: '牧场', desc: '放养牲畜,稳定产出肉奶类资源。', flat: false, w: 2, h: 2, statLevel: 1, statHp: 105, statYield: { meat: 2, milk: 1 } },
- { id: 'blackmarket', cat: 'build', icon: 'assets/buildings/spring/blackmarket/blackmarket_l.png',name:'黑市', desc: '灰色交易点,可换取稀有物资但伴随风险。', flat: false, w: 2, h: 2, statLevel: 1, statHp: 80, statYield: { rare: 1 } },
+ { id: 'blackmarket', cat: 'build', icon: 'assets/buildings/spring/blackmarket/blackmarket_l.png',name:'商城', desc: '灰色交易点,可换取稀有物资但伴随风险。', flat: false, w: 2, h: 2, statLevel: 1, statHp: 80, statYield: { rare: 1 } },
{ id: 'farmland', cat: 'business', icon: 'assets/buildings/spring/farmland/farmland.png', name: '农田', desc: '春季播种的耕地,定期产出粮食作物。', flat: true, w: 2, h: 2, statLevel: 1, statHp: 60, statYield: { food: 3 } },
{ id: 'well', cat: 'build', icon: 'assets/buildings/default/props/well_l.png', name: '水井', desc: '汲取地下水的圆井,保障饮水与灌溉。', flat: false, w: 2, h: 2, statLevel: 1, statHp: 90, statYield: { water: 2 } },
+ { id: 'school', cat: 'build', icon: 'assets/buildings/spring/school/school_l.png', name: '学堂', desc: '授业解惑之所,研读典籍提升领地科研与基础教学产出。', flat: false, w: 2, h: 2, statLevel: 1, statHp: 100, statYield: { research: 3, prestige: 1 } },
{ id: 'library', cat: 'build', icon: 'assets/buildings/spring/library/library_l.png', name: '图书馆', desc: '收藏典籍与卷轴,提升领地科研与知识产出。', flat: false, w: 2, h: 2, statLevel: 1, statHp: 110, statYield: { research: 4 } },
{ id: 'barracks', cat: 'build', icon: 'assets/buildings/spring/barracks/barracks_l.png', name: '兵营', desc: '训练士兵与储备武备的军事建筑,提升领地军事产出。', flat: false, w: 2, h: 2, statLevel: 1, statHp: 130, statYield: { military: 4 } },
- { id: 'school', cat: 'build', icon: 'assets/buildings/spring/school/school_l.png', name: '学堂', desc: '讲学习字之所,培养人才并提升领地科研积累。', flat: false, w: 2, h: 2, statLevel: 1, statHp: 100, statYield: { research: 3 } },
+ { id: 'guild', cat: 'build', icon: 'assets/buildings/spring/guild/guild_l.png', name: '公会', desc: '冒险者与住民集结之所,可发布委托与招募成员。', flat: false, w: 2, h: 2, statLevel: 1, statHp: 140, statYield: { prestige: 2, coin: 1 } },
+ { id: 'village', cat: 'build', icon: 'assets/buildings/spring/village/village_l.png', name: '村庄', desc: '族群聚落的核心,提升人口上限与基础产出。', flat: false, w: 2, h: 2, statLevel: 1, statHp: 150, statYield: { population: 6, food: 1 } }
];
// 建筑交互配置(数据驱动,与后端 BUILD_EFFECTS 的 (code,action) 对应)。
@@ -1792,6 +1794,11 @@ const BUILD_INTERACT = {
{ action: 'stall', label: '摆摊', icon: '🏪', desc: '摆摊获得金币' },
{ action: 'upgrade', label: '升级', icon: '⬆️', desc: '升级集市' },
] },
+ school: { title: '学堂', tagline: '授业与研读', actions: [
+ { action: 'study', label: '研读', icon: '📖', desc: '研读典籍,获取科研点' },
+ { action: 'lecture', label: '讲学', icon: '🎓', desc: '讲授知识,提升领地声望' },
+ { action: 'upgrade', label: '升级', icon: '⬆️', desc: '升级学堂' },
+ ] },
library: { title: '图书馆', tagline: '典籍与知识', actions: [
{ action: 'study', label: '研读', icon: '📖', desc: '研读典籍,获取科研点' },
{ action: 'archive', label: '整理卷轴', icon: '🗂', desc: '整理卷轴,提升知识产出' },
@@ -1802,11 +1809,16 @@ const BUILD_INTERACT = {
{ action: 'drill', label: '操练', icon: '⚔️', desc: '操练部队,提升军事产出' },
{ action: 'upgrade', label: '升级', icon: '⬆️', desc: '升级兵营' },
] },
- school: { title: '学堂', tagline: '讲学与习字', actions: [
- { action: 'lecture', label: '讲学', icon: '📚', desc: '开设讲习,提升科研积累' },
- { action: 'study', label: '习字', icon: '✍️', desc: '习字读书,培养人才' },
- { action: 'upgrade', label: '升级', icon: '⬆️', desc: '升级学堂' },
+ guild: { title: '公会', tagline: '委托与集结', actions: [
+ { action: 'quest', label: '发布委托', icon: '📜', desc: '发布冒险委托,获取声望与物资' },
+ { action: 'recruit', label: '招募成员', icon: '🧑🤝🧑', desc: '招募冒险者,提升公会影响力' },
+ { action: 'upgrade', label: '升级', icon: '⬆️', desc: '升级公会大厅' },
] },
+ village: { title: '村庄', tagline: '聚落与民生', actions: [
+ { action: 'settle', label: '定居', icon: '🏠', desc: '吸引流民定居,增加人口' },
+ { action: 'collect', label: '收缴税赋', icon: '🪙', desc: '收取粮食与金币' },
+ { action: 'upgrade', label: '升级', icon: '⬆️', desc: '扩建村庄' },
+ ] }
};
// 装备目录:每个槽位的候选装备(图标 + 简短加成,仅作展示/穿戴)。
@@ -5049,8 +5061,8 @@ function drawMicroGrid(c, w, h, accent) {
for (let j = lo + 1; j <= hi; j++) { p = microCellToScreen(i, j); c.lineTo(p.x, p.y); }
}
c.lineCap = 'round'; c.lineJoin = 'round'; c.globalAlpha = 1;
- c.lineWidth = 3.2; c.strokeStyle = 'rgba(8,14,26,0.50)'; c.stroke();
- // 浅色高光描边已移除,避免草地网格出现浅色纹路
+ c.lineWidth = 2.4; c.strokeStyle = 'rgba(90,120,50,0.28)'; c.stroke();
+ // 线条改浅:与草地同色调、低不透明、稍细,避免深色网格压过地表
c.restore();
// 矩形外边框(不裁切,完整描出覆盖面积)