@@ -932,9 +932,7 @@ void (float inp) TeamFortress_PrimeThrowGrenade = {
932
932
}
933
933
};
934
934
935
- void () TeamFortress_GrenadePrimedThink;
936
- void () FO_PreciseGrenadeThink;
937
- float () FO_UsePreciseGrenades;
935
+ void () FO_GrenadeThink;
938
936
939
937
// is_player defines whether this originated from the player or server. Player
940
938
// generated primes are corrected for latency when project_grenades is on.
@@ -1130,39 +1128,12 @@ void (float inp, float is_player) TeamFortress_PrimeGrenade = {
1130
1128
}
1131
1129
}
1132
1130
1133
- if (FO_UsePreciseGrenades())
1134
- tGrenade.think = FO_PreciseGrenadeThink;
1135
- else
1136
- tGrenade.think = TeamFortress_GrenadePrimedThink;
1131
+ tGrenade.think = FO_GrenadeThink;
1137
1132
self.grenade_timer = tGrenade;
1138
1133
};
1139
1134
1140
- void () TeamFortress_GrenadePrimedThink = {
1141
- local entity user;
1142
-
1143
- user = self.owner;
1144
- if (!(user.tfstate & TFSTATE_GRENTHROWING) && !user.deadflag && !user.has_disconnected) {
1145
- self.nextthink = time + 0.1;
1146
- if (!self.think)
1147
- dremove(self);
1148
-
1149
- if (time > self.heat && self.weapon != GR_TYPE_CALTROP)
1150
- TeamFortress_ExplodePerson();
1151
-
1152
- return;
1153
- }
1154
- if (!(user.tfstate & TFSTATE_GRENPRIMED))
1155
- dprint("GrenadePrimed logic error\n");
1156
-
1157
- FO_SpawnThrownGrenade(self);
1158
- dremove(self);
1159
- };
1160
-
1161
- float () FO_UsePreciseGrenades = {
1162
- return FO_GetUserSetting(self, "precise_grenades", "pg", "on");
1163
- }
1164
1135
1165
- void () FO_PreciseGrenadeThink = {
1136
+ void () FO_GrenadeThink = {
1166
1137
local entity user = self.owner;
1167
1138
1168
1139
// Claim: These cases do not exist for FO; to be removed once proven true.
@@ -1186,12 +1157,13 @@ void () FO_PreciseGrenadeThink = {
1186
1157
self.nextthink = self.heat;
1187
1158
}
1188
1159
} else {
1189
- TeamFortress_ExplodePerson();
1160
+ if (self.weapon != GR_TYPE_CALTROP)
1161
+ TeamFortress_ExplodePerson();
1190
1162
dremove(self);
1191
1163
}
1192
1164
}
1193
1165
1194
- void () FO_ThrowPreciseGrenade = {
1166
+ void () FO_ThrowGrenade = {
1195
1167
local entity timer = self.grenade_timer;
1196
1168
if (timer.nextthink != timer.heat || timer.heat - time < 0.1) {
1197
1169
// We do not allow throwing within the first second, or the last 0.1.
@@ -1212,10 +1184,7 @@ void () TeamFortress_ThrowGrenade = {
1212
1184
return;
1213
1185
1214
1186
self.tfstate |= TFSTATE_GRENTHROWING;
1215
- // While this is controlled by localinfo, it's a per-grenade value.
1216
- if (FO_UsePreciseGrenades() &&
1217
- self.grenade_timer.think == FO_PreciseGrenadeThink)
1218
- FO_ThrowPreciseGrenade();
1187
+ FO_ThrowGrenade();
1219
1188
};
1220
1189
1221
1190
void () TeamFortress_GrenadeSwitch = {
0 commit comments