ऐसा करने का एक अपेक्षाकृत सरल तरीका विस्फोट की केंद्र से प्रत्येक इकाई के केंद्र में एक किरण को खींचना है जहां DISTANCE(explosion,entity) < exlosion.max_radius
(छद्म कोड)।
प्रत्येक इकाई के लिए, इस किरण का अनुसरण करें, जैसे-जैसे आप जाते हैं, बेस क्षति कम होती जाती है। जब भी आप किसी ऑब्जेक्ट को हिट करते हैं, तो यह क्षति से कवर मूल्य (मूल रूप से किरण को छोटा करना) है।
जब किरण इकाई से टकराती है, तो जो कुछ भी बचा है वह आपके विस्फोट क्षति है।
इस दृष्टिकोण के लिए, आप संभवतः एक उच्च आधार क्षति चाहते हैं जो दूरी के साथ तेजी से घट जाती है (दूरी के वर्ग के विपरीत आनुपातिक रूप से अच्छी तरह से करना चाहिए)।
एक अन्य दृष्टिकोण एक ऐसे क्षेत्र को खींचना है जिसमें पूरी तरह से इकाई शामिल है; लेकिन कोई व्यापक नहीं; और सभी तरह से बाहर .max_radius
। इस क्षेत्र के क्षेत्र से घटाएं विस्फोट और इकाई के बीच किसी भी कवर द्वारा कवर किया गया क्षेत्र, इसके कवर मूल्य से गुणा किया जाता है। शेष क्षेत्र आपकी ब्लास्ट क्षति है।
इसका एक साफ-सुथरा साइड इफेक्ट यह है कि विस्फोट के लिए इकाई जितनी करीब होती है, उतना ही व्यापक क्षेत्र मिलता है, और जितना नुकसान आप उठाते हैं (जैसा कि आप सेक्टर के सभी क्षेत्र को गिनते हैं, और सिर्फ बीच के कवर के क्षेत्र को घटाते हैं इकाई और विस्फोट।
यह कवर के रूप में संस्थाओं के लिए भी उपयोगी हो सकता है; और बस उन संस्थाओं से जो आगे निकले हैं, उससे होने वाली क्षति को घटाते हैं, लेकिन यह शायद ही हो।
वहाँ निस्संदेह एक और भी अधिक सुंदर और चतुर दृष्टिकोण मौजूद है, लेकिन इसे शायद कुछ बहुत बुरा गणना की आवश्यकता है। यह हमेशा करता है।