diff --git a/code/game/atom_procs.dm b/code/game/atom_procs.dm index 14096425500..5e500ed5d1c 100644 --- a/code/game/atom_procs.dm +++ b/code/game/atom_procs.dm @@ -67,7 +67,7 @@ if ((O.client && !( O.blinded ))) O << "\red [src] has been scanned by [user] with the [W]" else - if (!( istype(W, /obj/item/weapon/grab) ) && !(istype(W, /obj/item/weapon/plastique)) &&!(istype(W, /obj/item/weapon/cleaner)) &&!(istype(W, /obj/item/weapon/chemsprayer)) &&!(istype(W, /obj/item/weapon/pepperspray)) && !(istype(W, /obj/item/weapon/plantbgone)) ) + if (!( istype(W, /obj/item/weapon/grab) ) && !(istype(W, /obj/item/weapon/plastique)) &&!(istype(W, /obj/item/weapon/cleaner)) &&!(istype(W, /obj/item/weapon/chemsprayer)) &&!(istype(W, /obj/item/weapon/pepperspray)) && !(istype(W, /obj/item/weapon/plantbgone)) && !(istype(W, /obj/item/weapon/reagent_containers/glass/rag)) ) for(var/mob/O in viewers(src, null)) if ((O.client && !( O.blinded ))) O << "\red [src] has been hit by [user] with [W]" diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm index 510d2c76be4..6c0fd9a6bcc 100644 --- a/code/game/objects/items/weapons/implants/implant.dm +++ b/code/game/objects/items/weapons/implants/implant.dm @@ -1,5 +1,8 @@ /obj/item/weapon/implant name = "implant" + desc = "An implant. Not usually seen outside a body." + icon = 'items.dmi' + icon_state = "implant" var implanted = null mob/imp_in = null @@ -16,15 +19,24 @@ trigger(emote, source as mob) return - activate() return + attackby(obj/item/weapon/I as obj, mob/user as mob) + ..() + if (istype(I, /obj/item/weapon/implanter)) + if (I:imp) + return + else + src.loc = I + I:imp = src +// del(src) + I:update() + return implanted(source as mob) return - get_data() return "No information available" @@ -34,8 +46,8 @@ /obj/item/weapon/implant/uplink - name = "uplink" - desc = "Summon things." + name = "uplink implant" + desc = "A micro-telecrystal implant which allows for instant transportation of equipment." var activation_emote = "chuckle" obj/item/device/uplink/radio/uplink = null @@ -63,8 +75,8 @@ /obj/item/weapon/implant/tracking - name = "tracking" - desc = "Track with this." + name = "tracking implant" + desc = "An implant which relays information to the appropriate tracking computer." var id = 1.0 @@ -89,8 +101,8 @@ Implant Specifics:
"} //Nuke Agent Explosive /obj/item/weapon/implant/dexplosive - name = "explosive" - desc = "And boom goes the weasel." + name = "explosive implant" + desc = "A military grade micro bio-explosive. Highly dangerous." var/activation_emote = "deathgasp" var/coded = 0 @@ -140,8 +152,8 @@ Implant Specifics:
"} /obj/item/weapon/implant/chem - name = "chem" - desc = "Injects things." + name = "chemical implant" + desc = "A micro-injector that can be triggered remotely." allow_reagents = 1 get_data() @@ -190,8 +202,8 @@ the implant may become unstable and either pre-maturely inject the subject or si /obj/item/weapon/implant/loyalty - name = "loyalty" - desc = "Makes you loyal or such." + name = "loyalty implant" + desc = "An implant which contains a small pod of nanobots which manipulate host mental functions to induce loyalty." get_data() var/dat = {" @@ -220,8 +232,8 @@ the implant may become unstable and either pre-maturely inject the subject or si //BS12 Explosive /obj/item/weapon/implant/explosive - name = "explosive" - desc = "And boom goes the weasel." + name = "explosive implant" + desc = "A military grade micro bio-explosive. Highly dangerous." var/phrase = "supercalifragilisticexpialidocious" @@ -263,8 +275,8 @@ the implant may become unstable and either pre-maturely inject the subject or si usr << "The implanted explosive implant in [source] can be activated by saying something containing the phrase ''[src.phrase]'', say [src.phrase] to attempt to activate." /obj/item/weapon/implant/death_alarm - name = "death alarm" - desc = "Danger Will Robinson!" + name = "death alarm implant" + desc = "An alarm which monitors host vital signs and transmits a radio message upon death." var/mobname = "Will Robinson" get_data() @@ -302,7 +314,7 @@ the implant may become unstable and either pre-maturely inject the subject or si /obj/item/weapon/implant/compressed name = "compressed matter implant" - desc = "*fwooomp*" + desc = "Based on compressed matter technology, can store a single item." var/activation_emote = "sigh" var/obj/item/scanned = null diff --git a/code/game/objects/items/weapons/surgery_tools.dm b/code/game/objects/items/weapons/surgery_tools.dm index 527b13f4caf..cf501a4a63b 100644 --- a/code/game/objects/items/weapons/surgery_tools.dm +++ b/code/game/objects/items/weapons/surgery_tools.dm @@ -569,8 +569,48 @@ CIRCULAR SAW return 0 if(!S.bleeding) - user << "\red [H] is not bleeding in \his [S.display_name]!" - return 0 + if(S.implant) + if(H != user) + H.visible_message( \ + "\red [user] is attempting to remove the implant in [H]'s [S.display_name] with \the [src].", \ + "\red [user] attempts to remove the implant in your [S.display_name] with \the [src]!") + else + H.visible_message( \ + "\red [user] attempts to remove the implant in \his [S.display_name] with \the [src]!", \ + "\red You attempt to remove the implant in your [S.display_name] with \the [src]!") + + if(do_mob(user, H, 50)) + if(prob(50)) + if(H != user) + H.visible_message( \ + "\red [user] successfully removes the implant in [H]'s [S.display_name] with \the [src]!", \ + "\red [user] successfully removes the implant in your [S.display_name] with \the [src]!") + else + H.visible_message( \ + "\red [user] successfully removes the implant in \his [S.display_name] with \the [src]!", \ + "\red You successfully remove the implant in your [S.display_name] with \the [src]!") + for(var/obj/item/weapon/implant/implant in S.implant) + implant.loc = (get_turf(H)) + implant.implanted = 0 + S.implant = null + playsound(user, 'squelch1.ogg', 50, 1) + if(istype(implant, /obj/item/weapon/implant/explosive) || istype(implant, /obj/item/weapon/implant/uplink) || istype(implant, /obj/item/weapon/implant/dexplosive) || istype(implant, /obj/item/weapon/implant/explosive) || istype(implant, /obj/item/weapon/implant/compressed)) + usr << "The implant disintegrates into nothing..." + del(implant) + else + if(H != user) + H.visible_message( \ + "\red [user] fails to removes the implant!", \ + "\red [user] fails to removes the implant!") + else + H.visible_message( \ + "\red [user] fails to removes the implant!", \ + "\red You fail to removes the implant!") + + return 1 + else + user << "\red [H] is not bleeding in \his [S.display_name]!" + return 0 if(H != user) H.visible_message( \ diff --git a/code/modules/DetectiveWork/detective_work.dm b/code/modules/DetectiveWork/detective_work.dm index 807fd6296ef..55a18aa3e34 100644 --- a/code/modules/DetectiveWork/detective_work.dm +++ b/code/modules/DetectiveWork/detective_work.dm @@ -742,11 +742,30 @@ proc/blood_incompatible(donor,receiver) return 0 /obj/item/weapon/rag + New() // So I don't have to grab maplock + spawn(1) + new/obj/item/weapon/reagent_containers/glass/rag(loc) + del src + +/obj/item/weapon/reagent_containers/glass/rag name = "damp rag" - desc = "For cleaning up messes, I suppose." + desc = "For cleaning up messes, you suppose." w_class = 1 icon = 'toy.dmi' icon_state = "rag" + amount_per_transfer_from_this = 5 + possible_transfer_amounts = list(5) + volume = 5 + can_be_placed_into = null + + attack(atom/target as obj|turf|area, mob/user as mob , flag) + if(ismob(target) && target.reagents && reagents.total_volume) + user.visible_message("\red \The [target] has been smothered with \the [src] by \the [user]!", "\red You smother \the [target] with \the [src]!", "You hear some struggling and muffled cries of surprise") + src.reagents.reaction(target, TOUCH) + spawn(5) src.reagents.clear_reagents() + return + else + ..() afterattack(atom/A as obj|turf|area, mob/user as mob) if(istype(A)) @@ -754,4 +773,11 @@ proc/blood_incompatible(donor,receiver) if(do_after(user,30)) user.visible_message("[user] finishes wiping off the [A]!") A.clean_blood() - return \ No newline at end of file + return + + examine() + if (!( usr )) + return + usr << "That's \a [src]." + usr << desc + return diff --git a/html/changelog.html b/html/changelog.html index d3efac0809f..b72ea61ceca 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -47,6 +47,26 @@ 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. --> +
+

21 May 2012

+

SkyMarshal updated:

+ +

Uristqwerty updated:

+ +

Erthilo updated:

+ +
+

20 May 2012

Erthilo updated:

diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index 6adf1ab3ec0..05cd0f79145 100644 Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ diff --git a/sound/effects/squelch1.ogg b/sound/effects/squelch1.ogg new file mode 100644 index 00000000000..6e00b7f8f3b Binary files /dev/null and b/sound/effects/squelch1.ogg differ