Diminish humanity reward for transfusion

As suggested on:
cdb9776
and
https://github.com/DayZMod/DayZ/issues/731
This commit is contained in:
ebaydayz
2016-11-15 15:31:58 -05:00
parent 110f677f1e
commit 43330c2046
3 changed files with 6 additions and 5 deletions

View File

@@ -10,7 +10,6 @@ dayz_waterBottleBreaking = false; // Water bottles have a chance to break when b
dayz_tameDogs = false; // Allow taming dogs with raw meat
dayz_townGenerator = false; // Spawn vanilla map junk instead of Epoch DynamicDebris. Currently only compatible with Chernarus.
dayz_townGeneratorBlackList = []; // Town generator will not spawn junk within 150m of these positions. Example for Chernarus trader cities: [[4053,11668,0],[11463,11349,0],[6344,7806,0],[1606,7803,0],[12944,12766,0],[5075,9733,0],[12060,12638,0]]
dayz_transfuseCoolDown = 120; // Cooldown in seconds before a player can transfuse another player.
DZE_NoVehicleExplosions = false; //Disable vehicle explosions to prevent damage to objects by ramming - doesn't work with amphibious pook which you should not use due to other issues
DZE_TempVars = [7, 15, 4, 4, 2, 6, 3, 2, 0.25, 0.75, 0.5]; //[vehicle, fire, building, moving, sun, heatpack, water, standing, rain, wind, night] water, standing, rain, wind and night factors have a negative impact on temperature, the greater they are the quicker the player gets cold
DZE_WeatherVariables = [10, 20, 5, 10, 0, 0.2, 0, 0.7, 0, 0.6, 0, 8, 25, 30, 0, false]; //See DynamicWeatherEffects.sqf for info on these values

View File

@@ -607,6 +607,7 @@ if (!isDedicated) then {
dayz_temperaturmin = 27; //TeeChange
//player special variables
dayz_bloodBagHumanity = 300;
dayz_lastDamageSourceNull = false;
dayz_lastDamageSource = "none";
dayz_lastDamageTime = 0;
@@ -615,7 +616,7 @@ if (!isDedicated) then {
dayz_lastClothesChange = 0;
dayZ_lastPlayerUpdate = 0;
dayz_lastSelfTransfusion = -(DZE_selfTransfuse_Values select 2);
dayz_lastTransfusion = -(dayz_transfuseCoolDown);
dayz_lastTransfusion = 0;
dayz_playerName = "unknown";
dayz_hunger = 0;
dayz_thirst = 0;

View File

@@ -2,9 +2,9 @@ private ["_bloodAmount","_unit","_blood","_lowBlood","_injured","_inPain","_hasT
//Get receving unit
_unit = (_this select 3) select 0;
if (time - dayz_lastTransfusion <= dayz_transfuseCoolDown) exitWith {localize "str_actions_medical_18" call dayz_rollingMessages;};
//Does the player have a transfusionKit
//_hasTransfusionKit = "transfusionKit" in magazines player;
if (time - dayz_lastTransfusion > 120) then {dayz_bloodBagHumanity = 300;}; //Reset humanity reward to full value after two minutes
//Get receving units blood value
_blood = _unit getVariable ["USEC_BloodQty", 0];
@@ -165,7 +165,7 @@ while {r_doLoop} do {
// 25 points to be givin upto a maximum of 300 points if the player stays for the full duration
//This should be better this way to keep calculus simple and prevent people getting points for giving blood transfusions to healthy players (and less humanity for only very small amounts of blood)
//Pulled from pullrequest from ILoveBeans
if ( _humanityAwarded < 300 ) then {
if (_humanityAwarded < dayz_bloodBagHumanity) then {
_humanityAwarded = _humanityAwarded + 25;
};
};
@@ -193,6 +193,7 @@ while {r_doLoop} do {
if (_blood >= r_player_bloodTotal or _bloodAmount == 0) then {
diag_log format ["TRANSFUSION: completed blood transfusion successfully (_i = %1)", _i];
localize "str_actions_medical_transfusion_successful" call dayz_rollingMessages;
dayz_bloodBagHumanity = dayz_bloodBagHumanity / 2; //Diminish humanity reward for subsequent bloodbags. Resets to full reward after two minutes.
dayz_lastTransfusion = time;
//see Note 1
//[player,_unit,"loc",rTITLETEXT,localize "str_actions_medical_transfusion_successful","PLAIN DOWN"] call RE;