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

View File

@@ -2,9 +2,9 @@ private ["_bloodAmount","_unit","_blood","_lowBlood","_injured","_inPain","_hasT
//Get receving unit //Get receving unit
_unit = (_this select 3) select 0; _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 //Does the player have a transfusionKit
//_hasTransfusionKit = "transfusionKit" in magazines player; //_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 //Get receving units blood value
_blood = _unit getVariable ["USEC_BloodQty", 0]; _blood = _unit getVariable ["USEC_BloodQty", 0];
@@ -165,8 +165,8 @@ while {r_doLoop} do {
// 25 points to be givin upto a maximum of 300 points if the player stays for the full duration // 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) //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 //Pulled from pullrequest from ILoveBeans
if ( _humanityAwarded < 300 ) then { if (_humanityAwarded < dayz_bloodBagHumanity) then {
_humanityAwarded = _humanityAwarded + 25 ; _humanityAwarded = _humanityAwarded + 25;
}; };
}; };
} else { } else {
@@ -193,6 +193,7 @@ while {r_doLoop} do {
if (_blood >= r_player_bloodTotal or _bloodAmount == 0) then { if (_blood >= r_player_bloodTotal or _bloodAmount == 0) then {
diag_log format ["TRANSFUSION: completed blood transfusion successfully (_i = %1)", _i]; diag_log format ["TRANSFUSION: completed blood transfusion successfully (_i = %1)", _i];
localize "str_actions_medical_transfusion_successful" call dayz_rollingMessages; 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; dayz_lastTransfusion = time;
//see Note 1 //see Note 1
//[player,_unit,"loc",rTITLETEXT,localize "str_actions_medical_transfusion_successful","PLAIN DOWN"] call RE; //[player,_unit,"loc",rTITLETEXT,localize "str_actions_medical_transfusion_successful","PLAIN DOWN"] call RE;