วิธีการที่ง่ายวิธีหนึ่งในการทำเช่นนี้คือการดึงแสงจากจุดศูนย์กลางของการระเบิดไปยังศูนย์กลางของทุกเอนทิตีที่DISTANCE(explosion,entity) < exlosion.max_radius
(รหัสหลอก)
สำหรับแต่ละเอนทิตีให้ติดตามรังสีนี้เพื่อลดความเสียหายพื้นฐานตามที่คุณไป เมื่อใดก็ตามที่คุณลบวัตถุจะมีค่าครอบคลุมจากความเสียหาย
เมื่อรังสีปะทะเอนทิตีความเสียหายใด ๆ ที่เหลืออยู่ก็คือความเสียหายจากการระเบิดของคุณ
สำหรับวิธีนี้คุณอาจต้องการความเสียหายพื้นฐานที่ค่อนข้างสูงซึ่งจะลดลงอย่างรวดเร็วตามระยะทาง
อีกวิธีคือการวาดภาคที่มีเอนทิตีอย่างสมบูรณ์ แต่ไม่กว้างขึ้น .max_radius
และทุกอย่างออกไป ลบออกจากพื้นที่ของเซกเตอร์นี้พื้นที่ที่ครอบคลุมโดยการครอบคลุมใด ๆ ระหว่างการระเบิดและเอนทิตีที่คูณด้วยค่าความคุ้มครอง พื้นที่ที่เหลือคือความเสียหายจากการระเบิดของคุณ
ผลข้างเคียงที่ประณีตอย่างหนึ่งของเรื่องนี้คือยิ่งเอนทิตีใกล้กับการระเบิดยิ่งเซกเตอร์กว้างขึ้นและยิ่งคุณได้รับความเสียหายมากขึ้นเท่าไหร่ (เมื่อคุณนับพื้นที่ทั้งหมดของเซกเตอร์และลบพื้นที่ครอบคลุมระหว่าง เอนทิตีและการระเบิด
นอกจากนี้ยังอาจเป็นประโยชน์ในการรักษาความครอบคลุมเป็นเอนทิตี และเพียงแค่ลบล้างความเสียหายที่เกิดจากเอนทิตีที่ใกล้ชิดยิ่งขึ้นจากสิ่งที่อยู่ไกลออกไป
มีวิธีการที่สวยงามและฉลาดกว่านี้อย่างแน่นอน แต่ก็อาจต้องใช้แคลคูลัสที่น่ารังเกียจ มันมักจะทำ