diff --git a/client/webapp/index.html b/client/webapp/index.html --- a/client/webapp/index.html +++ b/client/webapp/index.html @@ -185,3 +185,3 @@ - + diff --git a/client/webapp/js/engine/entity_renderer.js b/client/webapp/js/engine/entity_renderer.js --- a/client/webapp/js/engine/entity_renderer.js +++ b/client/webapp/js/engine/entity_renderer.js @@ -43,2 +43,7 @@ } + // Ground Combat Telegraph Decals (PoE2 Warning Cones & Rings) + if (typeof window.TelegraphRenderer !== 'undefined' && typeof window.TelegraphRenderer.renderTelegraphs === 'function') { + window.TelegraphRenderer.renderTelegraphs(ctx); + } + // 4. COLLECT & SORT DEPTH ENTITIES (PROPS, MONSTER, HERO) diff --git a/client/webapp/js/engine/monster_system.js b/client/webapp/js/engine/monster_system.js --- a/client/webapp/js/engine/monster_system.js +++ b/client/webapp/js/engine/monster_system.js @@ -158,2 +158,5 @@ + if (typeof window.TelegraphRenderer !== 'undefined' && typeof window.TelegraphRenderer.updateTelegraphs === 'function') { + window.TelegraphRenderer.updateTelegraphs(dt); + } if (typeof window.updateMonsterPackAI === 'function') window.updateMonsterPackAI(activeMonsters, dt); @@ -178,2 +181,3 @@ if (m.hp <= 0) { + if (typeof window.cancelTelegraph === 'function') window.cancelTelegraph(m.id); m.respawnTimer += dt; @@ -199,2 +203,3 @@ if (m.staggerTimer > 0) { + if (typeof window.cancelTelegraph === 'function') window.cancelTelegraph(m.id); m.staggerTimer -= dt; @@ -213,2 +218,3 @@ if (distToOrigin > (m.leashRadius || 5.2)) { + if (typeof window.cancelTelegraph === 'function') window.cancelTelegraph(m.id); m.hasAggro = false; @@ -237,4 +243,7 @@ } else if (m.attackCooldown <= 0) { - // Attack strike on player! - m.attackCooldown = 1.75 + Math.random() * 0.5; - executeMonsterAttackOnPlayer(m); + m.attackCooldown = (m.isBoss ? 2.4 : 1.8) + Math.random() * 0.5; + if (typeof window.TelegraphRenderer !== 'undefined' && typeof window.TelegraphRenderer.startMonsterAttack === 'function') { + window.TelegraphRenderer.startMonsterAttack(m, player, executeMonsterAttackOnPlayer); + } else { + executeMonsterAttackOnPlayer(m); + } }