Process transmission of agents between entities (for specified transmission type)
305 {
306
307 int sourceAgents = agents;
308 int targetAgents;
309 if(!sourceAgents && source) sourceAgents = source.GetAgents();
310 if(target) targetAgents = target.GetAgents();
311 int pollution =
g_Game.GetMission().GetWorldData().GetPollution();
312
313 float count = 0;
314
315 switch (pathway)
316 {
318 break;
319
321 break;
322
324
325 break;
326
328 if (pollution & EPollution.HEAVYMETAL)
329 {
330 sourceAgents = sourceAgents |
eAgents.HEAVYMETAL;
331 }
332 sourceAgents = sourceAgents |
eAgents.CHOLERA;
334 break;
335
337 sourceAgents = sourceAgents |
eAgents.FOOD_POISON |
eAgents.HEAVYMETAL;
339 break;
340
342 if (pollution & EPollution.HEAVYMETAL)
343 {
344 sourceAgents = sourceAgents |
eAgents.HEAVYMETAL;
345 }
347 break;
348
350
352 break;
353
356 break;
357
360 break;
361
364 break;
365
368 break;
369
375 float prot_level_target = Math.Max(prot_level_mask_target, prot_level_headgear_target);
376 float prot_level_source = Math.Max(prot_level_mask_source, prot_level_headgear_source);
377 float prot_level_combined = 1 - (1 - prot_level_target) * (1 - prot_level_source);
379 break;
382
384 break;
385 default:
386 break;
387 }
388 return count;
389 }
float InjectAgentWithPlayerDose(EntityAI target, int agent, float protection, float dose_size, int inject_type)
Injects agent to a given target.
void InjectAgentsWithPlayer(EntityAI target, int agents, float protection, int dose_size, int inject_type)
Injects agents to a given target, using chance of transmission and full dose size if chance succeeds.
void InjectAgentsWithPlayerCount(EntityAI target, int agents, float protection, int dose_size, int inject_type)
Injects agents to a given target, with no probability, but the dose size is modified by m_Transferabi...
void InjectAgentsWithoutPlayer(EntityAI target, int agents)
Injects specified agents directly to target.
float GetProtectionLevel(int type, int slot, Man player)
Protection level of an attachment against enviromental hazard (mask/filters for example) (see GetProt...
const int AGT_UACTION_CONSUME
const int AGT_ITEM_TO_FLESH
const int AGT_UACTION_TOUCH
const int AGT_AIRBOURNE_BIOLOGICAL
const int AGT_TRANSFER_COPY
const int AGT_WATER_HOT_SPRING
const int AGT_UACTION_TO_PLAYER
const int AGT_AIRBOURNE_CHEMICAL
const int AGT_UACTION_TO_ITEM