This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Functions | |
void | drop_thru_ice (MECH *mech) |
void | break_thru_ice (MECH *mech) |
int | possibly_drop_thru_ice (MECH *mech) |
void | possibly_blow_bridge (MECH *mech, int weapindx, int x, int y) |
void | possibly_blow_ice (MECH *mech, int weapindx, int x, int y) |
void break_thru_ice | ( | MECH * | mech | ) |
Definition at line 92 of file mech.ice.c.
00093 { 00094 MAP *map = FindObjectsData(mech->mapindex); 00095 00096 MarkForLOSUpdate(mech); 00097 mech_notify(mech, MECHALL, "You break through the ice!"); 00098 MechLOSBroadcast(mech, "breaks through the ice!"); 00099 break_sub(map, mech, MechX(mech), MechY(mech), "goes swimming!"); 00100 MechTerrain(mech) = WATER; 00101 }
void drop_thru_ice | ( | MECH * | mech | ) |
Definition at line 65 of file mech.ice.c.
00066 { 00067 MAP *map = FindObjectsData(mech->mapindex); 00068 00069 mech_notify(mech, MECHALL, "You break the ice!"); 00070 MechLOSBroadcast(mech, "breaks the ice!"); 00071 if(MechMove(mech) != MOVE_FOIL) { 00072 if(MechElev(mech) > 0) 00073 MechLOSBroadcast(mech, "vanishes into the waters!"); 00074 } 00075 break_sub(map, mech, MechX(mech), MechY(mech), "goes swimming!"); 00076 MechTerrain(mech) = WATER; 00077 if(MechMove(mech) != MOVE_FOIL) { 00078 if(MechElev(mech) > 0) 00079 MechFalls(mech, MechElev(mech), 0); 00080 } 00081 if(MechElev(mech) > 0 && MechType(mech) == CLASS_VEH_GROUND && 00082 !Destroyed(mech) && !(MechSpecials2(mech) & WATERPROOF_TECH)) { 00083 mech_notify(mech, MECHALL, "Water renders your vehicle inoperable."); 00084 MechLOSBroadcast(mech, 00085 "fizzles and pops as water renders it inoperable."); 00086 Destroy(mech); 00087 ChannelEmitKill(mech, mech); 00088 } 00089 }
void possibly_blow_bridge | ( | MECH * | mech, | |
int | weapindx, | |||
int | x, | |||
int | y | |||
) |
Definition at line 229 of file mech.ice.c.
00230 { 00231 MAP *map = FindObjectsData(mech->mapindex); 00232 00233 if(GetRTerrain(map, x, y) != BRIDGE) 00234 return; 00235 if(MapBridgesCS(map)) 00236 return; 00237 if(Number(1, 10 * (1 + GetElev(map, x, 00238 y))) > MechWeapons[weapindx].damage) { 00239 HexLOSBroadcast(map, x, y, 00240 "The bridge at $H shudders from direct hit!"); 00241 return; 00242 } 00243 HexLOSBroadcast(map, x, y, "The bridge at $H is blown apart!"); 00244 break_sub(map, NULL, x, y, "goes swimming as the bridge is blown apart!"); 00245 }
void possibly_blow_ice | ( | MECH * | mech, | |
int | weapindx, | |||
int | x, | |||
int | y | |||
) |
Definition at line 217 of file mech.ice.c.
00218 { 00219 MAP *map = FindObjectsData(mech->mapindex); 00220 00221 if(GetRTerrain(map, x, y) != ICE) 00222 return; 00223 if(Number(1, 15) > MechWeapons[weapindx].damage) 00224 return; 00225 HexLOSBroadcast(map, x, y, "The ice breaks from the blast!"); 00226 break_sub(map, NULL, x, y, "goes swimming as ice breaks!"); 00227 }
int possibly_drop_thru_ice | ( | MECH * | mech | ) |
Definition at line 104 of file mech.ice.c.
00105 { 00106 if((MechMove(mech) == MOVE_HOVER) || (MechMove(mech) == MOVE_SUB) || 00107 (MechType(mech) == CLASS_BSUIT)) 00108 return 0; 00109 if(Number(1, 6) != 1) 00110 return 0; 00111 drop_thru_ice(mech); 00112 return 1; 00113 }