From 91ab2496818e9e3023b5680326d98d208c4476ca Mon Sep 17 00:00:00 2001 From: Segrain Date: Wed, 26 Jun 2013 16:11:10 +0300 Subject: [PATCH 01/11] Helper update. --- code/__HELPERS/time.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/__HELPERS/time.dm b/code/__HELPERS/time.dm index 6b4dcda2c46..51f56d9d122 100644 --- a/code/__HELPERS/time.dm +++ b/code/__HELPERS/time.dm @@ -1,6 +1,6 @@ //Returns the world time in english -proc/worldtime2text() - return "[round(world.time / 36000)+12]:[(world.time / 600 % 60) < 10 ? add_zero(world.time / 600 % 60, 1) : world.time / 600 % 60]" +proc/worldtime2text(time = world.time) + return "[round(time / 36000)+12]:[(time / 600 % 60) < 10 ? add_zero(time / 600 % 60, 1) : time / 600 % 60]" proc/time_stamp() return time2text(world.timeofday, "hh:mm:ss") From a944cda68e4f30c763e2092713c63ab881c245a3 Mon Sep 17 00:00:00 2001 From: Segrain Date: Wed, 26 Jun 2013 16:12:32 +0300 Subject: [PATCH 02/11] Autopsy fix. --- code/modules/organs/organ_external.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index f5092f59325..cecf813dbce 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -95,7 +95,7 @@ if(status & ORGAN_BROKEN && prob(40) && brute) owner.emote("scream") //getting hit on broken hand hurts if(used_weapon) - add_autopsy_data(used_weapon, brute + burn) + add_autopsy_data("[used_weapon]", brute + burn) var/can_cut = (prob(brute*2) || sharp) && !(status & ORGAN_ROBOT) // If the limbs can break, make sure we don't exceed the maximum damage a limb can take before breaking From d5620f9bb074db72d94a8d3e4dc34df38c624013 Mon Sep 17 00:00:00 2001 From: Segrain Date: Wed, 26 Jun 2013 16:18:08 +0300 Subject: [PATCH 03/11] Changelog update. --- html/changelog.html | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/html/changelog.html b/html/changelog.html index b7a3631fe75..56d036eff25 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -57,6 +57,15 @@ Stuff which is in development and not yet visible to players or just code relate (ie. code improvements for expandability, etc.) should not be listed here. They should be listed in the changelog upon commit though. Thanks. --> +
+

26.06.2013

+

Segrain updated:

+
    +
  • Autopsy scanner properly displays time of wound infliction and death.
  • +
  • Autopsy scanner properly displays wounds by projectile weapons.
  • +
+
+

June 22nd 2013

Cael_Aislinn updated:

From 333e59190c84d945966b44a76907379684628b4a Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 27 Jun 2013 02:09:36 -0700 Subject: [PATCH 04/11] Added minimum damage for cutting wounds to bleed visibly. --- code/modules/organs/wound.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/organs/wound.dm b/code/modules/organs/wound.dm index 90909a3f62d..1d1f61ec918 100644 --- a/code/modules/organs/wound.dm +++ b/code/modules/organs/wound.dm @@ -145,7 +145,7 @@ proc/bleeding() // internal wounds don't bleed in the sense of this function - return (!(bandaged||clamped) && (damage_type == BRUISE && damage >= 20 || damage_type == CUT) && current_stage <= max_bleeding_stage && !src.internal) + return (!(bandaged||clamped) && (damage_type == BRUISE && damage >= 20 || damage_type == CUT && damage >= 10) && current_stage <= max_bleeding_stage && !src.internal) /** CUTS **/ /datum/wound/cut/small From 6d7669811615bc62f237b5963d5c12228d3cd066 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 27 Jun 2013 02:33:57 -0700 Subject: [PATCH 05/11] Organ regeneration nerf. --- config/game_options.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/game_options.txt b/config/game_options.txt index 915612c7418..98fcad7f74b 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -19,7 +19,7 @@ ORGAN_HEALTH_MULTIPLIER 100 ## multiplier which influences how fast organs regenerate naturally ## 100 means normal, 50 means half -ORGAN_REGENERATION_MULTIPLIER 200 +ORGAN_REGENERATION_MULTIPLIER 20 ### REVIVAL ### From b270c6060df4b0ea45739ce57f1720344d2ec866 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 27 Jun 2013 06:22:01 -0700 Subject: [PATCH 06/11] Fixes #3025 --- code/modules/mob/mob.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 253e4ee43dc..bd1258cd942 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -714,7 +714,7 @@ note dizziness decrements automatically in the mob's Life() proc. stat(null,"MasterController-ERROR") - if(spell_list.len) + if(spell_list && spell_list.len) for(var/obj/effect/proc_holder/spell/S in spell_list) switch(S.charge_type) if("recharge") From 8eec1d5379b707549b89d24899526d9d8dc9763d Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 27 Jun 2013 06:30:17 -0700 Subject: [PATCH 07/11] Fixes #3008 --- code/modules/research/xenoarchaeology/finds/finds.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/xenoarchaeology/finds/finds.dm b/code/modules/research/xenoarchaeology/finds/finds.dm index 8d988d43a32..5b90ba6a793 100644 --- a/code/modules/research/xenoarchaeology/finds/finds.dm +++ b/code/modules/research/xenoarchaeology/finds/finds.dm @@ -520,7 +520,7 @@ new_item.name = name new_item.desc = src.desc - if(talkative) + if(talkative && istype(new_item,/obj/item/weapon)) new_item.listening_to_players = 1 if(prob(25)) new_item.speaking_to_players = 1 From b41e92dc01b54ce5e631d8e5b7a27482e350634c Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 27 Jun 2013 07:01:42 -0700 Subject: [PATCH 08/11] Fixes #2870 --- code/game/machinery/recharger.dm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index d50cc775ca4..094d3af123f 100644 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -127,4 +127,10 @@ obj/machinery/recharger/wallcharger/process() icon_state = "wrecharger1" use_power(150) else - icon_state = "wrecharger2" \ No newline at end of file + icon_state = "wrecharger2" + +obj/machinery/recharger/wallcharger/update_icon() + if(charging) + icon_state = "wrecharger1" + else + icon_state = "wrecharger0" \ No newline at end of file From 6d46297757b887b7c07ef3c86850563c1ad842d8 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 27 Jun 2013 07:17:55 -0700 Subject: [PATCH 09/11] Fixes #2947 --- code/modules/admin/topic.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 292327ca274..5e7a2493bdc 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1690,6 +1690,12 @@ log_admin("[key_name(usr)] toggled gravity off.", 1) message_admins("\blue [key_name_admin(usr)] toggled gravity off.", 1) command_alert("Feedback surge detected in mass-distributions systems. Artifical gravity has been disabled whilst the system reinitializes. Further failures may result in a gravitational collapse and formation of blackholes. Have a nice day.") + if("wave") + feedback_inc("admin_secrets_fun_used",1) + feedback_add_details("admin_secrets_fun_used","Meteor") + log_admin("[key_name(usr)] spawned a meteor wave", 1) + message_admins("\blue [key_name_admin(usr)] spawned a meteor wave.", 1) + new /datum/event/meteor_wave if("power") feedback_inc("admin_secrets_fun_used",1) feedback_add_details("admin_secrets_fun_used","P") From fa0e14652a29996f4c62cadf33c598b97f140436 Mon Sep 17 00:00:00 2001 From: Segrain Date: Thu, 27 Jun 2013 02:20:19 +0300 Subject: [PATCH 10/11] Revive bugfix. --- code/modules/mob/living/carbon/human/human.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index e8cdbe9a692..9f6cbe094d0 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1038,6 +1038,9 @@ O.status &= ~ORGAN_DESTROYED O.wounds.Cut() + var/datum/organ/external/head/h = organs_by_name["head"] + h.disfigured = 0 + vessel.add_reagent("blood",560-vessel.total_volume) fixblood() for (var/obj/item/weapon/organ/head/H in world) @@ -1047,7 +1050,8 @@ H.brainmob.mind.transfer_to(src) del(H) - for(var/datum/organ/internal/I in internal_organs) + for(var/E in internal_organs) + var/datum/organ/internal/I = internal_organs[E] I.damage = 0 for (var/datum/disease/virus in viruses) From d89950487a95a65bdc6ebb7ddf0120cbbd2857c3 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 27 Jun 2013 08:47:15 -0700 Subject: [PATCH 11/11] Added a clot timer to wounds. If a wound is smaller than 30 damage, it will stop bleeding after seconds. More damage increases the counter. --- code/modules/organs/organ_external.dm | 1 + code/modules/organs/wound.dm | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 77f966baf4c..a96e8cb1b26 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -365,6 +365,7 @@ burn_dam += W.damage if(!(status & ORGAN_ROBOT) && W.bleeding()) + W.bleed_timer-- status |= ORGAN_BLEEDING clamped |= W.clamped diff --git a/code/modules/organs/wound.dm b/code/modules/organs/wound.dm index 1d1f61ec918..3df9e206c9c 100644 --- a/code/modules/organs/wound.dm +++ b/code/modules/organs/wound.dm @@ -13,7 +13,8 @@ // amount of damage this wound causes var/damage = 0 - + // ticks of bleeding left. + var/bleed_timer = 0 // amount of damage the current wound type requires(less means we need to apply the next healing stage) var/min_damage = 0 @@ -71,6 +72,8 @@ // this is more robust to changes to the list max_bleeding_stage = src.desc_list.len - max_bleeding_stage + bleed_timer += damage + // returns 1 if there's a next stage, 0 otherwise proc/next_stage() if(current_stage + 1 > src.desc_list.len) @@ -136,6 +139,7 @@ // opens the wound again proc/open_wound(damage) src.damage += damage + bleed_timer += damage while(src.current_stage > 1 && src.damage_list[current_stage-1] <= src.damage) src.current_stage-- @@ -145,7 +149,7 @@ proc/bleeding() // internal wounds don't bleed in the sense of this function - return (!(bandaged||clamped) && (damage_type == BRUISE && damage >= 20 || damage_type == CUT && damage >= 10) && current_stage <= max_bleeding_stage && !src.internal) + return ((damage > 30 || bleed_timer > 0) && !(bandaged||clamped) && (damage_type == BRUISE && damage >= 20 || damage_type == CUT && damage >= 5) && current_stage <= max_bleeding_stage && !src.internal) /** CUTS **/ /datum/wound/cut/small