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") 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 diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 6303e8d0da0..0ba3cd460e2 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1692,6 +1692,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") diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 02fffec17b4..ae6c854872a 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1044,6 +1044,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) @@ -1053,7 +1056,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) @@ -1222,4 +1226,4 @@ mob/living/carbon/human/yank_out_object() organ.status |= ORGAN_BLEEDING organ.take_damage(rand(1,3), 0, 0) - src.adjustToxLoss(rand(1,3)) \ No newline at end of file + src.adjustToxLoss(rand(1,3)) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 69bce4a4019..a11401c6680 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -719,7 +719,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") diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 52f4b1df861..a96e8cb1b26 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -96,7 +96,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 @@ -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 90909a3f62d..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) && 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 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 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 ### diff --git a/html/changelog.html b/html/changelog.html index 93e16139fb9..0cfb0f046a2 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -58,6 +58,16 @@ Stuff which is in development and not yet visible to players or just code relate should be listed in the changelog upon commit though. Thanks. -->
+

26.06.2013

+

Segrain updated:

+ +
+ +
+<<<<<<< HEAD

23.06.2013

Segrain updated: