diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 57ddf7817e5..6fda24ee597 100755 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -356,10 +356,12 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee /obj/item/weapon/storage/firstaid/fire, /obj/item/weapon/storage/firstaid/toxin, /obj/item/weapon/storage/firstaid/o2, + /obj/item/weapon/storage/firstaid/adv, /obj/item/weapon/reagent_containers/glass/bottle/antitoxin, /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline, /obj/item/weapon/reagent_containers/glass/bottle/stoxin, - /obj/item/weapon/storage/box/syringes) + /obj/item/weapon/storage/box/syringes, + /obj/item/weapon/storage/box/injectors) cost = 10 containertype = /obj/structure/closet/crate/medical containername = "Medical crate" diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index cacd825d017..22dd096bcca 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -28,7 +28,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/heads/cmo(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/cmo(H), slot_wear_suit) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/regular(H), slot_l_hand) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/adv(H), slot_l_hand) H.equip_to_slot_or_del(new /obj/item/device/flashlight/pen(H), slot_s_store) if(H.backbag == 1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) @@ -88,7 +88,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/medical(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/regular(H), slot_l_hand) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/adv(H), slot_l_hand) H.equip_to_slot_or_del(new /obj/item/device/flashlight/pen(H), slot_s_store) if(H.backbag == 1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index ca538c254e2..4721bcc8fe6 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -11,15 +11,6 @@ var/heal_burn = 0 /obj/item/stack/medical/attack(mob/living/carbon/M as mob, mob/user as mob) - if (M.stat == 2) - var/t_him = "it" - if (M.gender == MALE) - t_him = "him" - else if (M.gender == FEMALE) - t_him = "her" - user << "\red \The [M] is dead, you cannot help [t_him]!" - return 1 - if (!istype(M)) user << "\red \The [src] cannot be applied to [M]!" return 1 @@ -47,42 +38,16 @@ user << "\red This isn't useful at all on a robotic limb.." return 1 - if(src.heal_brute) - if(!affecting.bandage()) - user << "\red The wounds on [M]'s [affecting.display_name] have already been bandaged." - return 1 - else - for (var/datum/wound/W in affecting.wounds) - if (W.internal) - continue - if (W.current_stage <= W.max_bleeding_stage) - user.visible_message( "\blue [user] bandages [W.desc] on [M]'s [affecting.display_name].", \ - "\blue You bandage [W.desc] on [M]'s [affecting.display_name]." ) - //H.add_side_effect("Itch") - else if (istype(W,/datum/wound/bruise)) - user.visible_message( "\blue [user] places bruise patch over [W.desc] on [M]'s [affecting.display_name].", \ - "\blue You place bruise patch over [W.desc] on [M]'s [affecting.display_name]." ) - else - user.visible_message( "\blue [user] places bandaid over [W.desc] on [M]'s [affecting.display_name].", \ - "\blue You place bandaid over [W.desc] on [M]'s [affecting.display_name]." ) - - else if(src.heal_burn) - if(!affecting.salve()) - user << "\red The wounds on [M]'s [affecting.display_name] have already been salved." - return 1 - else - user.visible_message( "\blue [user] salves wounds on [M]'s [affecting.display_name].", \ - "\blue You salve wounds on [M]'s [affecting.display_name]." ) - H.UpdateDamageIcon() + else + M.heal_organ_damage((src.heal_brute/2), (src.heal_burn/2)) user.visible_message( \ "\blue [M] has been applied with [src] by [user].", \ "\blue You apply \the [src] to [M]." \ ) - - use(1) + use(1) M.updatehealth() /obj/item/stack/medical/bruise_pack @@ -90,18 +55,60 @@ singular_name = "gauze length" desc = "Some sterile gauze to wrap around bloody stumps." icon_state = "brutepack" - heal_brute = 60 origin_tech = "biotech=1" +/obj/item/stack/medical/bruise_pack/attack(mob/living/carbon/M as mob, mob/user as mob) + if(..()) + return 1 + + if (istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + var/datum/organ/external/affecting = H.get_organ(user.zone_sel.selecting) + + if(!affecting.bandage()) + user << "\red The wounds on [M]'s [affecting.display_name] have already been bandaged." + return 1 + else + for (var/datum/wound/W in affecting.wounds) + if (W.internal) + continue + if (W.current_stage <= W.max_bleeding_stage) + user.visible_message( "\blue [user] bandages [W.desc] on [M]'s [affecting.display_name].", \ + "\blue You bandage [W.desc] on [M]'s [affecting.display_name]." ) + //H.add_side_effect("Itch") + else if (istype(W,/datum/wound/bruise)) + user.visible_message( "\blue [user] places bruise patch over [W.desc] on [M]'s [affecting.display_name].", \ + "\blue You place bruise patch over [W.desc] on [M]'s [affecting.display_name]." ) + else + user.visible_message( "\blue [user] places bandaid over [W.desc] on [M]'s [affecting.display_name].", \ + "\blue You place bandaid over [W.desc] on [M]'s [affecting.display_name]." ) + use(1) + /obj/item/stack/medical/ointment name = "ointment" desc = "Used to treat those nasty burns." gender = PLURAL singular_name = "ointment" icon_state = "ointment" - heal_burn = 40 + heal_burn = 1 origin_tech = "biotech=1" +/obj/item/stack/medical/ointment/attack(mob/living/carbon/M as mob, mob/user as mob) + if(..()) + return 1 + + if (istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + var/datum/organ/external/affecting = H.get_organ(user.zone_sel.selecting) + + if(!affecting.salve()) + user << "\red The wounds on [M]'s [affecting.display_name] have already been salved." + return 1 + else + user.visible_message( "\blue [user] salves wounds on [M]'s [affecting.display_name].", \ + "\blue You salve wounds on [M]'s [affecting.display_name]." ) + use(1) + /obj/item/stack/medical/bruise_pack/tajaran name = "\improper S'rendarr's Hand leaf" singular_name = "S'rendarr's Hand leaf" @@ -126,6 +133,34 @@ heal_brute = 12 origin_tech = "biotech=1" +/obj/item/stack/medical/advanced/bruise_pack/attack(mob/living/carbon/M as mob, mob/user as mob) + if(..()) + return 1 + + if (istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + var/datum/organ/external/affecting = H.get_organ(user.zone_sel.selecting) + + if(!affecting.bandage()) + user << "\red The wounds on [M]'s [affecting.display_name] have already been treated." + return 1 + else + for (var/datum/wound/W in affecting.wounds) + if (W.internal) + continue + if (W.current_stage <= W.max_bleeding_stage) + user.visible_message( "\blue [user] cleans [W.desc] on [M]'s [affecting.display_name] and seals edges with bioglue.", \ + "\blue You clean and seal [W.desc] on [M]'s [affecting.display_name]." ) + //H.add_side_effect("Itch") + else if (istype(W,/datum/wound/bruise)) + user.visible_message( "\blue [user] places medicine patch over [W.desc] on [M]'s [affecting.display_name].", \ + "\blue You place medicine patch over [W.desc] on [M]'s [affecting.display_name]." ) + else + user.visible_message( "\blue [user] smears some bioglue over [W.desc] on [M]'s [affecting.display_name].", \ + "\blue You smear some bioglue over [W.desc] on [M]'s [affecting.display_name]." ) + affecting.heal_damage(heal_brute,0) + use(1) + /obj/item/stack/medical/advanced/ointment name = "advanced burn kit" singular_name = "advanced burn kit" @@ -134,8 +169,26 @@ heal_burn = 12 origin_tech = "biotech=1" + +/obj/item/stack/medical/advanced/ointment/attack(mob/living/carbon/M as mob, mob/user as mob) + if(..()) + return 1 + + if (istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + var/datum/organ/external/affecting = H.get_organ(user.zone_sel.selecting) + + if(!affecting.salve()) + user << "\red The wounds on [M]'s [affecting.display_name] have already been salved." + return 1 + else + user.visible_message( "\blue [user] covers wounds on [M]'s [affecting.display_name] with regenerative membrane.", \ + "\blue You cover wounds on [M]'s [affecting.display_name] with regenerative membrane." ) + affecting.heal_damage(0,heal_burn) + use(1) + /obj/item/stack/medical/splint - name = "medical splint" + name = "medical splints" singular_name = "medical splint" icon_state = "splint" amount = 5 @@ -143,3 +196,38 @@ /obj/item/stack/medical/splint/single amount = 1 + + +/obj/item/stack/medical/splint/attack(mob/living/carbon/M as mob, mob/user as mob) + if(..()) + return 1 + + if (istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + var/datum/organ/external/affecting = H.get_organ(user.zone_sel.selecting) + var/limb = affecting.display_name + if(!((affecting.name == "l_arm") || (affecting.name == "r_arm") || (affecting.name == "l_leg") || (affecting.name == "r_leg"))) + user << "\red You can't apply a splint there!" + return + if(affecting.status & ORGAN_SPLINTED) + user << "\red [M]'s [limb] is already splinted!" + return + if (M != user) + user.visible_message("\red [user] starts to apply \the [src] to [M]'s [limb].", "\red You start to apply \the [src] to [M]'s [limb].", "\red You hear something being wrapped.") + else + if((!user.hand && affecting.name == "r_arm") || (user.hand && affecting.name == "l_arm")) + user << "\red You can't apply a splint to the arm you're using!" + return + user.visible_message("\red [user] starts to apply \the [src] to their [limb].", "\red You start to apply \the [src] to your [limb].", "\red You hear something being wrapped.") + if(do_after(user, 50)) + if (M != user) + user.visible_message("\red [user] finishes applying \the [src] to [M]'s [limb].", "\red You finish applying \the [src] to [M]'s [limb].", "\red You hear something being wrapped.") + else + if(prob(25)) + user.visible_message("\red [user] successfully applies \the [src] to their [limb].", "\red You successfully apply \the [src] to your [limb].", "\red You hear something being wrapped.") + else + user.visible_message("\red [user] fumbles \the [src].", "\red You fumble \the [src].", "\red You hear something being wrapped.") + return + affecting.status |= ORGAN_SPLINTED + use(1) + return \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index f1b9319f954..5020a86c1c5 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -222,6 +222,21 @@ new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src) new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src) +/obj/item/weapon/storage/box/cdeathalarm_kit + name = "Death Alarm Kit" + desc = "Box of stuff used to implant death alarms." + icon_state = "implant" + item_state = "syringe_kit" + + New() + ..() + new /obj/item/weapon/implanter(src) + new /obj/item/weapon/implantcase/death_alarm(src) + new /obj/item/weapon/implantcase/death_alarm(src) + new /obj/item/weapon/implantcase/death_alarm(src) + new /obj/item/weapon/implantcase/death_alarm(src) + new /obj/item/weapon/implantcase/death_alarm(src) + new /obj/item/weapon/implantcase/death_alarm(src) /obj/item/weapon/storage/box/condimentbottles name = "box of condiment bottles" @@ -424,6 +439,13 @@ W.update_icon() return +/obj/item/weapon/storage/box/injectors + name = "box of injectors" + desc = "Contains autoinjectors." + New() + ..() + for (var/i; i < storage_slots; i++) + new /obj/item/weapon/reagent_containers/hypospray/autoinjector(src) /obj/item/weapon/storage/box/lights name = "replacement bulbs" @@ -460,4 +482,4 @@ for(var/i = 0; i < 14; i++) new /obj/item/weapon/light/tube(src) for(var/i = 0; i < 7; i++) - new /obj/item/weapon/light/bulb(src) \ No newline at end of file + new /obj/item/weapon/light/bulb(src) diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm index 8ea7ff3903d..e6347e8e3fc 100644 --- a/code/game/objects/items/weapons/storage/firstaid.dm +++ b/code/game/objects/items/weapons/storage/firstaid.dm @@ -30,7 +30,7 @@ icon_state = pick("ointment","firefirstaid") new /obj/item/device/healthanalyzer( src ) - new /obj/item/weapon/reagent_containers/syringe/inaprovaline( src ) + new /obj/item/weapon/reagent_containers/hypospray/autoinjector( src ) new /obj/item/stack/medical/ointment( src ) new /obj/item/stack/medical/ointment( src ) new /obj/item/weapon/reagent_containers/pill/kelotane( src ) @@ -51,7 +51,7 @@ new /obj/item/stack/medical/ointment(src) new /obj/item/stack/medical/ointment(src) new /obj/item/device/healthanalyzer(src) - new /obj/item/weapon/reagent_containers/syringe/inaprovaline( src ) + new /obj/item/weapon/reagent_containers/hypospray/autoinjector( src ) return /obj/item/weapon/storage/firstaid/toxin @@ -88,11 +88,28 @@ new /obj/item/weapon/reagent_containers/pill/dexalin( src ) new /obj/item/weapon/reagent_containers/pill/dexalin( src ) new /obj/item/weapon/reagent_containers/pill/dexalin( src ) - new /obj/item/weapon/reagent_containers/syringe/inaprovaline( src ) + new /obj/item/weapon/reagent_containers/hypospray/autoinjector( src ) new /obj/item/weapon/reagent_containers/syringe/inaprovaline( src ) new /obj/item/device/healthanalyzer( src ) return +/obj/item/weapon/storage/firstaid/adv + name = "advanced first-aid kit" + desc = "Contains advanced medical treatments." + icon_state = "advfirstaid" + item_state = "firstaid-advanced" + +/obj/item/weapon/storage/firstaid/adv/New() + ..() + if (empty) return + new /obj/item/weapon/reagent_containers/hypospray/autoinjector( src ) + new /obj/item/stack/medical/advanced/bruise_pack(src) + new /obj/item/stack/medical/advanced/bruise_pack(src) + new /obj/item/stack/medical/advanced/bruise_pack(src) + new /obj/item/stack/medical/advanced/ointment(src) + new /obj/item/stack/medical/advanced/ointment(src) + new /obj/item/stack/medical/splint(src) + return /* * Pill Bottles */ diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index a2738f18497..a9fa0253b1c 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -13,6 +13,7 @@ New() ..() sleep(2) + new /obj/item/weapon/storage/box/injectors new /obj/item/weapon/storage/box/syringes(src) new /obj/item/weapon/reagent_containers/dropper(src) new /obj/item/weapon/reagent_containers/dropper(src) diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index ed033f4d6f5..b8b87003274 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -190,6 +190,12 @@ else if(jitteriness >= 100) msg += "[t_He] [t_is] twitching ever so slightly.\n" + //splints + for(var/organ in list("l_leg","r_leg","l_arm","r_arm")) + var/datum/organ/external/o = get_organ(organ) + if(o && o.status & ORGAN_SPLINTED) + msg += "[t_He] [t_has] a splint on his [o.display_name]!\n" + if(suiciding) msg += "[t_He] appears to have commited suicide... there is no hope of recovery.\n" diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 1ceeba4e679..119ee1f1cf9 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -379,6 +379,7 @@
[(handcuffed ? text("Handcuffed") : text("Not Handcuffed"))]
[(legcuffed ? text("Legcuffed") : text(""))]
[(internal ? text("Remove Internal") : "")] +
Remove Splints
Empty Pockets
Refresh
Close diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index 894ea1ff042..22ea3b94002 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -25,6 +25,8 @@ var/datum/organ/external/E = get_organ(organ_name) if(!E || (E.status & ORGAN_DESTROYED)) tally += 4 + if(E.status & ORGAN_SPLINTED) + tally += 0.5 else if(E.status & ORGAN_BROKEN) tally += 1.5 diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 3bdf798a6bd..0aa332dc1b6 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -340,6 +340,16 @@ if("id") if ((!( target.wear_id ) || !( target.w_uniform ))) del(src) + if("splints") + var/count = 0 + for(var/organ in list("l_leg","r_leg","l_arm","r_arm")) + var/datum/organ/external/o = target.organs_by_name[organ] + if(o.status & ORGAN_SPLINTED) + count = 1 + break + if(count == 0) + del(src) + return if("internal") if ((!( (istype(target.wear_mask, /obj/item/clothing/mask) && istype(target.back, /obj/item/weapon/tank) && !( target.internal )) ) && !( target.internal ))) del(src) @@ -443,6 +453,9 @@ message = "\red [source] is trying to remove [target]'s internals" else message = "\red [source] is trying to set on [target]'s internals." + if("splints") + message = text("\red [] is trying to remove []'s splints!", source, target) + for(var/mob/M in viewers(target, null)) M.show_message(message, 1) spawn( HUMAN_STRIP_DELAY ) @@ -541,6 +554,16 @@ It can still be worn/put on as normal. slot_to_process = slot_legcuffed if (target.legcuffed) strip_item = target.legcuffed + if("splints") + for(var/organ in list("l_leg","r_leg","l_arm","r_arm")) + var/datum/organ/external/o = target.get_organ(organ) + if (o && o.status & ORGAN_SPLINTED) + var/obj/item/W = new /obj/item/stack/medical/splint/single() + o.status &= ~ORGAN_SPLINTED + if (W) + W.loc = target.loc + W.layer = initial(W.layer) + W.add_fingerprint(source) if("CPR") if ((target.health > config.health_threshold_dead && target.health < config.health_threshold_crit)) var/suff = min(target.getOxyLoss(), 7) diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm index dc16e55bd0c..8cf63f673cc 100644 --- a/code/modules/organs/organ.dm +++ b/code/modules/organs/organ.dm @@ -80,7 +80,7 @@ //Broken limbs hurt too var/broken = 0 - if(E.status & ORGAN_BROKEN && !(E.status & ORGAN_SPLINTED && prob(10)) ) + if(E.status & ORGAN_BROKEN && !(E.status & ORGAN_SPLINTED) ) broken = 1 //Moving around with fractured ribs won't do you any good diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index b82e771131a..2dfecd2a9c7 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -326,11 +326,11 @@ owner.custom_pain("You feel a stabbing pain in your [display_name]!",1) // slow healing - var/heal_amt = 0.2 - if (W.damage > 20) //this thing's edges are not in day's travel of each other, what healing? - heal_amt = 0 + var/heal_amt = 0 + if (W.damage < 15) //this thing's edges are not in day's travel of each other, what healing? + heal_amt += 0.2 - if(W.is_treated()) + if(W.is_treated() && W.damage < 50) //whoa, not even magical band aid can hold it together heal_amt += 0.3 //we only update wounds once in [wound_update_accuracy] ticks so have to emulate realtime diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 56e76bcbf77..a70ba4ab8ea 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -20,17 +20,17 @@ /obj/item/weapon/reagent_containers/hypospray/New() //comment this to make hypos start off empty ..() - reagents.add_reagent("doctorsdelight", 30) + reagents.add_reagent("tricordrazine", 30) return /obj/item/weapon/reagent_containers/hypospray/attack(mob/M as mob, mob/user as mob) if(!reagents.total_volume) - user << "\red The hypospray is empty." + user << "\red [src] is empty." return if (!( istype(M, /mob) )) return if (reagents.total_volume) - user << "\blue You inject [M] with the hypospray." + user << "\blue You inject [M] with [src]." M << "\red You feel a tiny prick!" src.reagents.reaction(M, INGEST) @@ -41,7 +41,7 @@ injected += R.name var/trans = reagents.trans_to(M, amount_per_transfer_from_this) - user << "\blue [trans] units injected. [reagents.total_volume] units remaining in the hypospray." + user << "\blue [trans] units injected. [reagents.total_volume] units remaining in [src]." var/contained = english_list(injected) @@ -49,4 +49,41 @@ M.attack_log += text("\[[time_stamp()]\] Has been injected ([contained]) with [src.name] by [user.name] ([user.ckey])") user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to inject [M.name] ([M.ckey]) with [contained]") - return \ No newline at end of file + return + +/obj/item/weapon/reagent_containers/hypospray/autoinjector + name = "autoinjector" + desc = "A rapid and safe way to administer small amounts of drugs by untrained or trained personnel." + icon_state = "autoinjector" + item_state = "autoinjector" + amount_per_transfer_from_this = 5 + volume = 5 + +/obj/item/weapon/reagent_containers/hypospray/autoinjector/New() + ..() + reagents.remove_reagent("tricordrazine", 30) + reagents.add_reagent("inaprovaline", 5) + update_icon() + return + +/obj/item/weapon/reagent_containers/hypospray/autoinjector/attack(mob/M as mob, mob/user as mob) + ..() + if(reagents.total_volume <= 0) + flags &= ~OPENCONTAINER + update_icon() + return + +/obj/item/weapon/reagent_containers/hypospray/autoinjector/update_icon() + if(reagents.total_volume > 0) + icon_state = "[initial(icon_state)]1" + else + icon_state = "[initial(icon_state)]0" + +/obj/item/weapon/reagent_containers/hypospray/autoinjector/examine() + ..() + if(reagents && reagents.reagent_list.len) + usr << "\blue It is currently loaded." + else + usr << "\blue It is spent." + + diff --git a/html/changelog.html b/html/changelog.html index 41666cdbbe8..a89337f7cb0 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,18 @@ Changelog Section Stuff which is in development and not yet visible to players or just code related (ie. code improvements for expandability, etc.) should not be listed here. They should be listed in the changelog upon commit though. Thanks. --> +
+

2013/08/01

+

Chinsky updated:

+ +
+

July 30th, 2013

Erthilo updated:

diff --git a/icons/mob/items_lefthand.dmi b/icons/mob/items_lefthand.dmi index 4b66884b299..bbd7e45347d 100644 Binary files a/icons/mob/items_lefthand.dmi and b/icons/mob/items_lefthand.dmi differ diff --git a/icons/mob/items_righthand.dmi b/icons/mob/items_righthand.dmi index 5d2b1a8d753..1f330354cb3 100644 Binary files a/icons/mob/items_righthand.dmi and b/icons/mob/items_righthand.dmi differ diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index 5bf1ae808b2..3ecb07ea6a5 100644 Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index e53127bd93f..ec08cf37e78 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ