[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Stratagus-CVS] stratagus/src/action action_demolish.c
From: |
Russell Smith |
Subject: |
[Stratagus-CVS] stratagus/src/action action_demolish.c |
Date: |
Sat, 13 Sep 2003 22:46:36 -0400 |
CVSROOT: /cvsroot/stratagus
Module name: stratagus
Branch:
Changes by: Russell Smith <address@hidden> 03/09/13 22:46:36
Modified files:
src/action : action_demolish.c
Log message:
Use Same Circles for demolish as for vision and attack
Patches:
Index: stratagus/src/action/action_demolish.c
diff -u stratagus/src/action/action_demolish.c:1.35
stratagus/src/action/action_demolish.c:1.36
--- stratagus/src/action/action_demolish.c:1.35 Fri Sep 12 13:44:36 2003
+++ stratagus/src/action/action_demolish.c Sat Sep 13 22:46:36 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: action_demolish.c,v 1.35 2003/09/12 17:44:36 n0body Exp $
+// $Id: action_demolish.c,v 1.36 2003/09/14 02:46:36 mr-russ Exp $
//@{
@@ -170,14 +170,6 @@
// FIXME: Must play explosion sound
- // FIXME: Currently we take the X fields, the original
only the O
- // XXXXX ..O..
- // XXXXX .OOO.
- // XX.XX OO.OO
- // XXXXX .OOO.
- // XXXXX ..O..
- //
-
//
// Effect of the explosion on units. Don't bother if
damage is 0
//
@@ -185,7 +177,8 @@
n=SelectUnits(xmin,ymin, xmax, ymax,table);
for( i=0; i<n; ++i ) {
if( table[i]->Type->UnitType!=UnitTypeFly &&
table[i]->HP
- && table[i] != unit ) {
+ && table[i] != unit
+ && MapDistanceBetweenUnits(unit,table[i]) <=
unit->Type->DemolishRange) {
// Don't hit flying units!
HitUnit(unit,table[i],unit->Type->DemolishDamage);
}
@@ -198,7 +191,10 @@
for( ix=xmin; ix<=xmax; ix++ ) {
for( iy=ymin; iy<=ymax; iy++ ) {
n=TheMap.Fields[ix+iy*TheMap.Width].Flags;
- if( n&MapFieldWall ) {
+ if ( MapDistanceToUnit(ix,iy,unit) >
unit->Type->DemolishRange ) {
+ // Not in circle range
+ continue;
+ } else if( n&MapFieldWall ) {
MapRemoveWall(ix,iy);
} else if( n&MapFieldRocks ) {
MapRemoveRock(ix,iy);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Stratagus-CVS] stratagus/src/action action_demolish.c,
Russell Smith <=