@@ -146,6 +146,84 @@ native void TF2Util_SetPlayerBurnDuration(int client, float duration);
146
146
native void TF2Util_IgnitePlayer (int client , int attacker , float duration ,
147
147
int weapon = INVALID_ENT_REFERENCE );
148
148
149
+ /* *
150
+ * @param client Client index.
151
+ * @return Number of entries within the bleed list.
152
+ * @error Invalid client index, or bleed list index is out of bounds.
153
+ */
154
+ native int TF2Util_GetPlayerActiveBleedCount (int client );
155
+
156
+ /* *
157
+ * @param client Client index.
158
+ * @param index Index into the player's bleed list.
159
+ * @return Attacker client associated with the bleed effect.
160
+ * @error Invalid client index, or bleed list index is out of bounds.
161
+ */
162
+ native int TF2Util_GetPlayerBleedAttacker (int client , int index );
163
+
164
+ /* *
165
+ * @param client Client index.
166
+ * @param index Index into the player's bleed list.
167
+ * @return Weapon associated with the bleed effect, or INVALID_ENT_REFERENCE if invalid.
168
+ * @error Invalid client index, or bleed list index is out of bounds.
169
+ */
170
+ native int TF2Util_GetPlayerBleedWeapon (int client , int index );
171
+
172
+ /* *
173
+ * @param client Client index.
174
+ * @param index Index into the player's bleed list.
175
+ * @return Time remaining until this bleed effect deals damage to the given client.
176
+ * @error Invalid client index, or bleed list index is out of bounds.
177
+ */
178
+ native float TF2Util_GetPlayerBleedNextDamageTick (int client , int index );
179
+
180
+ /* *
181
+ * @param client Client index.
182
+ * @param index Index into the player's bleed list.
183
+ * @return Time remaining for the bleed effect.
184
+ * @error Invalid client index, or bleed list index is out of bounds.
185
+ */
186
+ native float TF2Util_GetPlayerBleedDuration (int client , int index );
187
+
188
+ /* *
189
+ * @param client Client index.
190
+ * @param index Index into the player's bleed list.
191
+ * @return Amount of damage inflicted per bleed 'tick'.
192
+ * @error Invalid client index, or bleed list index is out of bounds.
193
+ */
194
+ native int TF2Util_GetPlayerBleedDamage (int client , int index );
195
+
196
+ /* *
197
+ * @param client Client index.
198
+ * @param index Index into the player's bleed list.
199
+ * @return Custom damage type associated with the given bleed effect.
200
+ * @error Invalid client index, or bleed list index is out of bounds.
201
+ */
202
+ native int TF2Util_GetPlayerBleedCustomDamageType (int client , int index );
203
+
204
+ /* *
205
+ * Induces the bleed effect on a client. This is effectively the same as `TF2_MakeBleed`, with
206
+ * support for additional parameters that the game provides.
207
+ *
208
+ * If the player already has a matching attacker / weapon combination, that entry will be
209
+ * updated instead.
210
+ *
211
+ * @param client Client index.
212
+ * @param attacker Attacking client's index.
213
+ * @param duration Duration of the effect. If this is TFCondDuration_Infinite,
214
+ * bleeding continues until the player removes it via medkit or
215
+ * resupply.
216
+ * @param weapon Weapon associated with the bleed effect, or INVALID_ENT_REFERENCE to
217
+ * not provide a weapon (behaving the same as `TF2_MakeBleed`).
218
+ * @param damage Amount of damage inflicted per bleed 'tick'.
219
+ * @param damagecustom Custom damage type (see TF_CUSTOM_* constants).
220
+ * @return Index into the player's bleed list where the effect was added, or -1
221
+ * if the plugin could not determine the index.
222
+ */
223
+ native int TF2Util_MakePlayerBleed (int client , int attacker , float duration ,
224
+ int weapon = INVALID_ENT_REFERENCE , int damage = 4 ,
225
+ int damagecustom = TF_CUSTOM_BLEEDING );
226
+
149
227
/* *
150
228
* Returns true if the given player is immune to pushback.
151
229
*
0 commit comments