openvibers/openvibe.games Commits
Scraplandia: a friendly warden or townsperson's prompt is their name, not 'LMB attack'; wildlife says 'LMB hunt', Rustjaw keeps '⚠ — LMB attack' (#122)
Changes
@@@ -8,6 +8,9 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).### Fixed++- **"City Warden — LMB attack".** Looking at a friendly warden or townsperson now shows just their name, so the prompt++ no longer invites you to hit them; a swing still lands. Wildlife says "LMB hunt", and Rustjaw thugs keep "⚠ — LMB++ attack".- **Scrap City drew every static on its own.** It is several hundred static meshes (walls, wall plates, buildings,roofs, doors, stalls), and each textured one had a material of its own because its texture's scale follows its size.That came to 165 draw calls in view and 298 shadow casters, with 525 materials.@@@ -793,7 +793,9 @@ function promptFor(if (target.kind === 'npc') {const arch = content.npc(target.def ?? '')const stance = arch ? content.faction(arch.faction)?.playerStance : undefined-- return `${arch?.name ?? 'stranger'}${stance === 'hostile' ? ' ⚠' : ''} — LMB attack`++ // Town folk and wardens are friendly: their name, not an invitation to hit them (a swing still lands).++ if (stance === 'friendly') return arch?.name ?? 'stranger'++ return `${arch?.name ?? 'stranger'}${stance === 'hostile' ? ' ⚠ — LMB attack' : ' — LMB hunt'}`}if (target.kind === 'prop') {if (tool === 'rigging') {
@@ -8,6 +8,9 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
@@ -8,6 +8,9 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### Fixed
### Fixed
+- **"City Warden — LMB attack".** Looking at a friendly warden or townsperson now shows just their name, so the prompt
+ no longer invites you to hit them; a swing still lands. Wildlife says "LMB hunt", and Rustjaw thugs keep "⚠ — LMB
+ attack".
- **Scrap City drew every static on its own.** It is several hundred static meshes (walls, wall plates, buildings,
- **Scrap City drew every static on its own.** It is several hundred static meshes (walls, wall plates, buildings,
roofs, doors, stalls), and each textured one had a material of its own because its texture's scale follows its size.
roofs, doors, stalls), and each textured one had a material of its own because its texture's scale follows its size.
That came to 165 draw calls in view and 298 shadow casters, with 525 materials.
That came to 165 draw calls in view and 298 shadow casters, with 525 materials.
@@ -793,7 +793,9 @@ function promptFor(
@@ -793,7 +793,9 @@ function promptFor(
if (target.kind === 'npc') {
if (target.kind === 'npc') {
const arch = content.npc(target.def ?? '')
const arch = content.npc(target.def ?? '')
const stance = arch ? content.faction(arch.faction)?.playerStance : undefined
const stance = arch ? content.faction(arch.faction)?.playerStance : undefined
- return `${arch?.name ?? 'stranger'}${stance === 'hostile' ? ' ⚠' : ''} — LMB attack`
+ // Town folk and wardens are friendly: their name, not an invitation to hit them (a swing still lands).
+ if (stance === 'friendly') return arch?.name ?? 'stranger'
+ return `${arch?.name ?? 'stranger'}${stance === 'hostile' ? ' ⚠ — LMB attack' : ' — LMB hunt'}`
}
}
if (target.kind === 'prop') {
if (target.kind === 'prop') {
if (tool === 'rigging') {
if (tool === 'rigging') {