feat: improve map lighting and expand the playable training range
Add real-time lighting and shadows, training courses and targets, and animated salvage crates. Include bilingual assets and curated verification results.
This commit is contained in:
@@ -4,6 +4,8 @@ namespace Ironspore
|
||||
{
|
||||
public sealed class EnemyUnit : MonoBehaviour
|
||||
{
|
||||
// DynamicProps keeps its original physical obstruction semantics after render-layer separation.
|
||||
const int WorldObstructionMask = (1 << 0) | (1 << 10);
|
||||
GameSession game;
|
||||
float health, cooldown, age;
|
||||
int type;
|
||||
@@ -41,7 +43,7 @@ namespace Ironspore
|
||||
if (type != 1 && distance > 10)
|
||||
{
|
||||
Vector3 step = flat.normalized * Time.deltaTime * (type == 3 ? 1.4f : type == 0 ? 2.5f : 1.2f);
|
||||
if (!Physics.Raycast(transform.position + Vector3.up, step.normalized, 1.1f, 1, QueryTriggerInteraction.Ignore))
|
||||
if (!Physics.Raycast(transform.position + Vector3.up, step.normalized, 1.1f, WorldObstructionMask, QueryTriggerInteraction.Ignore))
|
||||
transform.position += step;
|
||||
}
|
||||
if (type == 0)
|
||||
@@ -54,7 +56,7 @@ namespace Ironspore
|
||||
if (cooldown <= 0 && distance < 42)
|
||||
{
|
||||
Vector3 origin = transform.position + Vector3.up * (type == 3 ? 3.5f : 2);
|
||||
if (!Physics.Linecast(origin, target, 1, QueryTriggerInteraction.Ignore))
|
||||
if (!Physics.Linecast(origin, target, WorldObstructionMask, QueryTriggerInteraction.Ignore))
|
||||
{
|
||||
var bolt = WorldFactory.Primitive(PrimitiveType.Sphere, "EnemyBolt", origin, Vector3.one * .3f, new Color(1, .35f, .08f), null, false, true);
|
||||
bolt.AddComponent<EnemyBolt>().Initialize((target - origin).normalized, type == 3 ? 23 : 12);
|
||||
|
||||
Reference in New Issue
Block a user