Bestiary in the title and pause menu; attacks look bigger with the unit level
- tabs: creatures, humans (incl. cave dwarves), dungeon buildings and towers, ranks - every unit at every level: sprite with gear, rank badge, health, attack, range, speed, wage or bounty, what attracts it - Crookfinger's texts: loving about the creatures, disgusted about the humans (EN/DE) - projectiles, hit sparks and splashes grow with the attacker's level, with halos from Lv 5 and glow at Lv 9+ Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
9a9f04ae1f
commit
1016ee5d6c
8 files changed
+514
-12
No files matched your search
+16
-8
@@ -1692,9 +1692,13 @@ fn draw_fx(f: &Fx, t: f32) {
|
||||
let from = vec3(f.x, f.h, f.y);
|
||||
let to = vec3(f.x2, f.h2, f.y2);
|
||||
let head = from.lerp(to, p);
|
||||
let tail = from.lerp(to, (p - 0.35).max(0.0));
|
||||
line3(tail, head, 0.06, a(0.8));
|
||||
draw_sphere(head, 0.08, None, c);
|
||||
let tail = from.lerp(to, (p - 0.35 * f.size.min(1.5)).max(0.0));
|
||||
line3(tail, head, 0.06 * f.size, a(0.8));
|
||||
draw_sphere(head, 0.08 * f.size, None, c);
|
||||
if f.size > 1.35 {
|
||||
// experienced shooters: a glowing halo around the projectile
|
||||
draw_sphere(head, 0.16 * f.size, None, a(0.25));
|
||||
}
|
||||
}
|
||||
1 => {
|
||||
let mut prev = vec3(f.x, 7.0, f.y);
|
||||
@@ -1708,13 +1712,17 @@ fn draw_fx(f: &Fx, t: f32) {
|
||||
disc(vec3(f.x, 0.05, f.y), 1.6 * (0.5 + p), Color::new(1.0, 1.0, 0.7, 0.35 * (1.0 - p)), 24);
|
||||
}
|
||||
2 => {
|
||||
let r = 0.1 + 0.3 * p;
|
||||
for k in 0..6 {
|
||||
let ang = k as f32 * 1.047;
|
||||
line3(at, at + vec3(ang.cos() * r, (k as f32 - 2.5) * 0.06, ang.sin() * r), 0.04, a(1.0 - p));
|
||||
let r = (0.1 + 0.3 * p) * f.size;
|
||||
let n = if f.size > 1.35 { 10 } else { 6 };
|
||||
for k in 0..n {
|
||||
let ang = k as f32 * std::f32::consts::TAU / n as f32;
|
||||
line3(at, at + vec3(ang.cos() * r, (k as f32 - n as f32 * 0.5 + 0.5) * 0.06 * f.size, ang.sin() * r), 0.04 * f.size, a(1.0 - p));
|
||||
}
|
||||
if f.size > 1.6 {
|
||||
disc(vec3(f.x, 0.03, f.y), r * 1.3, a(0.3 * (1.0 - p)), 12);
|
||||
}
|
||||
}
|
||||
3 => draw_sphere(vec3(f.x, 0.3, f.y), 0.2 + 0.5 * p, None, a(0.4 * (1.0 - p))),
|
||||
3 => draw_sphere(vec3(f.x, 0.3, f.y), (0.2 + 0.5 * p) * f.size, None, a(0.4 * (1.0 - p))),
|
||||
4 => {
|
||||
for k in 0..3 {
|
||||
let o = vec3((k as f32 - 1.0) * 0.2, 0.3 + p * 0.9 + k as f32 * 0.1, 0.0);
|
||||
|
||||
Reference in new issue
Block a user