More graphical finesse: own beds per creature, animated room furniture, treasure chests, elaborate core and portals, worn floors
- props.rs: furniture drawn near the camera every frame
- beds built by each creature on arrival, matching its kind (straw, web, starry cushion,
fur pile, chain bunk, ember cushion, rock hollow, camp bed); gone when the owner is
- training: spinning dummies, weapon racks, wobbling targets; torture: turning wheel,
iron maiden, brazier with glowing coals; temple: altar with candles and fire bowl,
candle stands; library: book shelves, lecterns with floating books while studying
- treasure chests in the treasury, closed when empty, filled with their treasure otherwise
- Soul core: stepped obsidian pedestal, four spikes with energy threads, circling runes,
unsteady pulse when hurt
- Portals: circle of standing stones with runes, column of light and rising sparks
- Floors: cracked, chipped and shattered stones, grit and crack decals
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
036c13577c
commit
75232d95ee
5 files changed
+609
-42
No files matched your search
+11
@@ -2282,6 +2282,17 @@ impl Game {
|
||||
}
|
||||
if e.think <= 0.0 {
|
||||
e.think = 0.4 + self.rng.f() * 0.3;
|
||||
// a new creature builds its own bed in the lair soon after its arrival
|
||||
if e.bed.is_none() && self.counts[1] > 0 && !matches!(e.job, Job::Attack(_) | Job::Leave | Job::Rally) && self.rng.f() < 0.15 {
|
||||
let cur = e.tile();
|
||||
if let Some(p) = self.map.search(cur, self.map.walk_cost(), |i| self.map.t[i].kind == Kind::Lair && self.map.t[i].bed == 0, true) {
|
||||
let b = p.last().copied().unwrap_or(cur);
|
||||
self.map.t[b].bed = me;
|
||||
e.bed = Some(b);
|
||||
let (bx, by) = xy(b);
|
||||
self.fx(8, bx as f32 + 0.5, by as f32 + 0.5, 0.0, 0.0, 0.6, 0xff40d0ff);
|
||||
}
|
||||
}
|
||||
if !matches!(e.job, Job::Attack(_) | Job::Leave) {
|
||||
let radius = if e.job == Job::Rally { 8.5 } else { 7.0 };
|
||||
if let Some(id) = self.nearest_enemy(e, radius) {
|
||||
|
||||
Reference in new issue
Block a user