jaychant
*Smell* controller
Offline
Gender:
Posts: 432
Please visit my homepage
|
In my little mod, I tried to get rid of the incompetent shielding that happens with the Yehat by increasing SPECIAL_WAIT from 2 to 10 (which is the life of the shield). What happened was not at all what I expected. To make this short, how does SPECIAL_WAIT affect the way the shield works? Also, how could I eliminate the incompetent shielding that happens? (What lines?)
EDIT: I peeked at the source and found, in yehat.c, this code (lines 219-252):
static void yehat_postprocess (PELEMENT ElementPtr) { if (!(ElementPtr->state_flags & NONSOLID)) { STARSHIPPTR StarShipPtr;
GetElementStarShip (ElementPtr, &StarShipPtr); /* take care of shield effect */ if (StarShipPtr->special_counter > 0) { if (ElementPtr->life_span == NORMAL_LIFE) StarShipPtr->special_counter = 0; else { #ifdef OLD SetPrimColor ( &(GLOBAL (DisplayArray))[ElementPtr->PrimIndex], BUILD_COLOR (MAKE_RGB15 (0x1F, 0x1F, 0x1F), 0x0F) ); SetPrimType ( &(GLOBAL (DisplayArray))[ElementPtr->PrimIndex], STAMPFILL_PRIM ); #endif /* OLD */
ProcessSound (SetAbsSoundIndex ( /* YEHAT_SHIELD_ON */ StarShipPtr->RaceDescPtr->ship_data.ship_sounds, 1), ElementPtr); DeltaEnergy (ElementPtr, -SPECIAL_ENERGY_COST); } }
#ifdef OLD
I assume this is the shield activation and such, but I can't tell where it puts the shield up again if the special key is pressed. Of course it also might not be there.
|