Merge pull request #4146 from Baystation12/dev-freeze

Dev-freeze --> Master staging [Going live!]
This commit is contained in:
DJSnapshot
2013-12-30 13:52:21 -08:00
158 changed files with 5533 additions and 2167 deletions
@@ -16,6 +16,13 @@
icon_state = "ash"
anchored = 1
/obj/effect/decal/cleanable/ash/attack_hand(mob/user as mob)
user << "<span class='notice'>[src] sifts through your fingers.</span>"
var/turf/simulated/floor/F = get_turf(src)
if (istype(F))
F.dirt += 4
del(src)
/obj/effect/decal/cleanable/greenglow
New()
+17 -17
View File
@@ -38,6 +38,7 @@
var/armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
var/list/allowed = null //suit storage stuff.
var/obj/item/device/uplink/hidden/hidden_uplink = null // All items can have an uplink hidden inside, just remember to add the triggers.
var/icon_override = null //Used to override hardcoded clothing dmis in human clothing proc.
/obj/item/device
icon = 'icons/obj/device.dmi'
@@ -522,29 +523,28 @@
"\red You stab yourself in the eyes with [src]!" \
)
if(istype(M, /mob/living/carbon/human))
var/datum/organ/internal/eyes/eyes = H.internal_organs["eyes"]
eyes.damage += rand(3,4)
if(eyes.damage >= eyes.min_bruised_damage)
if(M.stat != 2)
if(eyes.robotic <= 1) //robot eyes bleeding might be a bit silly
M << "\red Your eyes start to bleed profusely!"
if(prob(50))
if(M.stat != 2)
M << "\red You drop what you're holding and clutch at your eyes!"
M.drop_item()
M.eye_blurry += 10
M.Paralyse(1)
M.Weaken(4)
if (eyes.damage >= eyes.min_broken_damage)
if(M.stat != 2)
M << "\red You go blind!"
var/datum/organ/external/affecting = M:get_organ("head")
if(affecting.take_damage(7))
M:UpdateDamageIcon()
else
M.take_organ_damage(7)
M.eye_blurry += rand(3,4)
M.eye_stat += rand(2,4)
if (M.eye_stat >= 10)
M.eye_blurry += 15+(0.1*M.eye_blurry)
M.disabilities |= NEARSIGHTED
if(M.stat != 2)
M << "\red Your eyes start to bleed profusely!"
if(prob(50))
if(M.stat != 2)
M << "\red You drop what you're holding and clutch at your eyes!"
M.drop_item()
M.eye_blurry += 10
M.Paralyse(1)
M.Weaken(4)
if (prob(M.eye_stat - 10 + 1))
if(M.stat != 2)
M << "\red You go blind!"
M.sdisabilities |= BLIND
return
/obj/item/clean_blood()
@@ -78,6 +78,7 @@
if(M.stat == DEAD || M.sdisabilities & BLIND) //mob is dead or fully blind
user << "<span class='notice'>[M] pupils does not react to the light!</span>"
else if(XRAY in M.mutations) //mob has X-RAY vision
flick("flash", M.flash) //Yes, you can still get flashed wit X-Ray.
user << "<span class='notice'>[M] pupils give an eerie glow!</span>"
else //they're okay!
if(!M.blinded)
+83 -54
View File
@@ -65,24 +65,31 @@
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
if(affecting.open == 0)
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)
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)
if (can_operate(H)) //Checks if mob is lying down on table for surgery
if (do_surgery(H,user,src))
return
else
user << "<span class='notice'>The [affecting.display_name] is cut open, you'll need more than a bandage!</span>"
/obj/item/stack/medical/ointment
name = "ointment"
@@ -101,30 +108,38 @@
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
if(affecting.open == 0)
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)
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)
if (can_operate(H)) //Checks if mob is lying down on table for surgery
if (do_surgery(H,user,src))
return
else
user << "<span class='notice'>The [affecting.display_name] is cut open, you'll need more than a bandage!</span>"
/obj/item/stack/medical/bruise_pack/tajaran
name = "\improper S'rendarr's Hand leaf"
singular_name = "S'rendarr's Hand leaf"
desc = "A soft leaf that is rubbed on bruises."
desc = "A poultice made of soft leaves that is rubbed on bruises."
icon = 'icons/obj/harvest.dmi'
icon_state = "cabbage"
icon_state = "shandp"
heal_brute = 7
/obj/item/stack/medical/ointment/tajaran
name = "\improper Messa's Tear leaf"
singular_name = "Messa's Tear leaf"
desc = "A cold leaf that is rubbed on burns."
name = "\improper Messa's Tear petals"
singular_name = "Messa's Tear petals"
desc = "A poultice made of cold, blue petals that is rubbed on burns."
icon = 'icons/obj/harvest.dmi'
icon_state = "ambrosiavulgaris"
icon_state = "mtearp"
heal_burn = 7
/obj/item/stack/medical/advanced/bruise_pack
name = "advanced trauma kit"
singular_name = "advanced trauma kit"
@@ -141,25 +156,32 @@
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
if(affecting.open == 0)
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)
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)
if (can_operate(H)) //Checks if mob is lying down on table for surgery
if (do_surgery(H,user,src))
return
else
user << "<span class='notice'>The [affecting.display_name] is cut open, you'll need more than a bandage!</span>"
/obj/item/stack/medical/advanced/ointment
name = "advanced burn kit"
@@ -178,14 +200,21 @@
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
if(affecting.open == 0)
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)
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)
if (can_operate(H)) //Checks if mob is lying down on table for surgery
if (do_surgery(H,user,src))
return
else
user << "<span class='notice'>The [affecting.display_name] is cut open, you'll need more than a bandage!</span>"
/obj/item/stack/medical/splint
name = "medical splints"
+16 -8
View File
@@ -26,12 +26,20 @@
if (istype(M,/mob/living/carbon/human)) //Repairing robolimbs
var/mob/living/carbon/human/H = M
var/datum/organ/external/S = H.get_organ(user.zone_sel.selecting)
if (S && (S.status & ORGAN_ROBOT))
if(S.get_damage())
S.heal_damage(15, 15, robo_repair = 1)
H.updatehealth()
use(1)
user.visible_message("<span class='notice'>\The [user] applies some nanite paste at[user != M ? " \the [M]'s" : " \the"][S.display_name] with \the [src].</span>",\
"<span class='notice'>You apply some nanite paste at [user == M ? "your" : "[M]'s"] [S.display_name].</span>")
if(S.open == 1)
if (S && (S.status & ORGAN_ROBOT))
if(S.get_damage())
S.heal_damage(15, 15, robo_repair = 1)
H.updatehealth()
use(1)
user.visible_message("<span class='notice'>\The [user] applies some nanite paste at[user != M ? " \the [M]'s" : " \the"][S.display_name] with \the [src].</span>",\
"<span class='notice'>You apply some nanite paste at [user == M ? "your" : "[M]'s"] [S.display_name].</span>")
else
user << "<span class='notice'>Nothing to fix here.</span>"
else
if (can_operate(H))
if (do_surgery(H,user,src))
return
else
user << "<span class='notice'>Nothing to fix here.</span>"
user << "<span class='notice'>Nothing to fix in here.</span>"
+360 -97
View File
@@ -4,7 +4,7 @@
icon = 'icons/obj/items.dmi'
icon_state = "dnainjector"
var/dnatype = null
var/dna = null
var/list/dna = null
var/block = null
var/owner = null
var/ue = null
@@ -21,6 +21,34 @@
return attack_hand(user)
/obj/item/weapon/dnainjector/proc/GetState(var/selblock=0)
var/real_block
if(!selblock)
real_block=block
selblock=1
else
real_block=selblock
var/list/BOUNDS = GetDNABounds(real_block)
return dna[selblock] > BOUNDS[DNA_ON_LOWERBOUND]
/obj/item/weapon/dnainjector/proc/SetState(var/on, var/selblock=0)
var/real_block
if(!selblock)
real_block=block
selblock=1
else
real_block=selblock
var/list/BOUNDS=GetDNABounds(real_block)
var/val
if(on)
val=rand(BOUNDS[DNA_ON_LOWERBOUND],BOUNDS[DNA_ON_UPPERBOUND])
else
val=rand(BOUNDS[DNA_OFF_LOWERBOUND],BOUNDS[DNA_OFF_UPPERBOUND])
dna[selblock]=val
/obj/item/weapon/dnainjector/proc/GetValue(var/block=1)
return dna[block]
/obj/item/weapon/dnainjector/proc/inject(mob/M as mob, mob/user as mob)
if(istype(M,/mob/living))
M.radiation += rand(5,20)
@@ -28,29 +56,23 @@
if (!(NOCLONE in M.mutations)) // prevents drained people from having their DNA changed
if (dnatype == "ui")
if (!block) //isolated block?
M.UpdateAppearance(dna)
if (ue) //unique enzymes? yes
M.dna.uni_identity = dna
updateappearance(M, M.dna.uni_identity)
M.real_name = ue
M.name = ue
uses--
else //unique enzymes? no
M.dna.uni_identity = dna
updateappearance(M, M.dna.uni_identity)
uses--
uses--
else
M.dna.uni_identity = setblock(M.dna.uni_identity,block,dna,3)
updateappearance(M, M.dna.uni_identity)
M.dna.SetUIValue(block,src.GetValue())
M.UpdateAppearance()
uses--
if (dnatype == "se")
if (!block) //isolated block?
M.dna.struc_enzymes = dna
domutcheck(M, null)
uses--
M.dna.SE = dna
M.dna.UpdateSE()
else
M.dna.struc_enzymes = setblock(M.dna.struc_enzymes,block,dna,3)
domutcheck(M, null,1)
uses--
M.dna.SetSEValue(block,src.GetValue())
domutcheck(M, null, block!=null)
uses--
if(prob(5))
trigger_side_effect(M)
@@ -86,7 +108,10 @@
inuse = 0
M.requests += O
if (dnatype == "se")
if (isblockon(getblock(dna, 14,3),14) && istype(M, /mob/living/carbon/human))
// So you're checking for 14, and yet MONKEYBLOCK is 27 in globals.dm,
// and domutcheck checks MONKEYBLOCK...? wat. - N3X
//if (isblockon(getblock(dna, 14,3),14) && istype(M, /mob/living/carbon/human))
if (GetState(MONKEYBLOCK) && istype(M, /mob/living/carbon/human) )
msg_admin_attack("[key_name_admin(user)] injected [key_name_admin(M)] with the [name] \red(MONKEY) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")
else
// message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the [name]")
@@ -108,7 +133,9 @@
user << "\red Apparently it didn't work."
return
if (dnatype == "se")
if (isblockon(getblock(dna, 14,3),14) && istype(M, /mob/living/carbon/human))
// And again... ?
//if (isblockon(getblock(dna, 14,3),14) && istype(M, /mob/living/carbon/human))
if (GetState(MONKEYBLOCK) && istype(M, /mob/living/carbon/human))
message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the [name] \red(MONKEY)")
log_game("[key_name(user)] injected [key_name(M)] with the [name] (MONKEY)")
else
@@ -135,21 +162,21 @@
/obj/item/weapon/dnainjector/antihulk
name = "DNA-Injector (Anti-Hulk)"
desc = "Cures green skin."
/obj/item/weapon/dnainjector/hulkmut
name = "DNA-Injector (Hulk)"
desc = "This will make you big and strong, but give you a bad skin condition."
dnatype = "se"
dna = "708"
dna = list(4090)
//block = 2
New()
..()
block = HULKBLOCK
/obj/item/weapon/dnainjector/hulkmut
name = "DNA-Injector (Hulk)"
desc = "This will make you big and strong, but give you a bad skin condition."
/obj/item/weapon/dnainjector/antihulk
name = "DNA-Injector (Anti-Hulk)"
desc = "Cures green skin."
dnatype = "se"
dna = "FED"
dna = list(1)
//block = 2
New()
..()
@@ -159,7 +186,7 @@
name = "DNA-Injector (Xray)"
desc = "Finally you can see what the Captain does."
dnatype = "se"
dna = "FED"
dna = list(4090)
//block = 8
New()
..()
@@ -169,60 +196,298 @@
name = "DNA-Injector (Anti-Xray)"
desc = "It will make you see harder."
dnatype = "se"
dna = "708"
dna = list(1)
//block = 8
New()
..()
block = XRAYBLOCK
/obj/item/weapon/dnainjector/firemut
name = "DNA-Injector (Fire)"
desc = "Gives you fire."
dnatype = "se"
dna = list(4090)
//block = 10
New()
..()
block = FIREBLOCK
/obj/item/weapon/dnainjector/antifire
name = "DNA-Injector (Anti-Fire)"
desc = "Cures fire."
dnatype = "se"
dna = list(1)
//block = 10
New()
..()
block = FIREBLOCK
/obj/item/weapon/dnainjector/telemut
name = "DNA-Injector (Tele.)"
desc = "Super brain man!"
dnatype = "se"
dna = list(4090)
//block = 12
New()
..()
block = TELEBLOCK
/obj/item/weapon/dnainjector/antitele
name = "DNA-Injector (Anti-Tele.)"
desc = "Will make you not able to control your mind."
dnatype = "se"
dna = list(1)
//block = 12
New()
..()
block = TELEBLOCK
/obj/item/weapon/dnainjector/nobreath
name = "DNA-Injector (No Breath)"
desc = "Hold your breath and count to infinity."
dnatype = "se"
dna = list(4090)
//block = 2
New()
..()
block = NOBREATHBLOCK
/obj/item/weapon/dnainjector/antinobreath
name = "DNA-Injector (Anti-No Breath)"
desc = "Hold your breath and count to 100."
dnatype = "se"
dna = list(1)
//block = 2
New()
..()
block = NOBREATHBLOCK
/obj/item/weapon/dnainjector/remoteview
name = "DNA-Injector (Remote View)"
desc = "Stare into the distance for a reason."
dnatype = "se"
dna = list(4090)
//block = 2
New()
..()
block = REMOTEVIEWBLOCK
/obj/item/weapon/dnainjector/antiremoteview
name = "DNA-Injector (Anti-Remote View)"
desc = "Cures green skin."
dnatype = "se"
dna = list(1)
//block = 2
New()
..()
block = REMOTEVIEWBLOCK
/obj/item/weapon/dnainjector/regenerate
name = "DNA-Injector (Regeneration)"
desc = "Healthy but hungry."
dnatype = "se"
dna = list(4090)
//block = 2
New()
..()
block = REGENERATEBLOCK
/obj/item/weapon/dnainjector/antiregenerate
name = "DNA-Injector (Anti-Regeneration)"
desc = "Sickly but sated."
dnatype = "se"
dna = list(1)
//block = 2
New()
..()
block = REGENERATEBLOCK
/obj/item/weapon/dnainjector/runfast
name = "DNA-Injector (Increase Run)"
desc = "Running Man."
dnatype = "se"
dna = list(4090)
//block = 2
New()
..()
block = INCREASERUNBLOCK
/obj/item/weapon/dnainjector/antirunfast
name = "DNA-Injector (Anti-Increase Run)"
desc = "Walking Man."
dnatype = "se"
dna = list(1)
//block = 2
New()
..()
block = INCREASERUNBLOCK
/obj/item/weapon/dnainjector/morph
name = "DNA-Injector (Morph)"
desc = "A total makeover."
dnatype = "se"
dna = list(4090)
//block = 2
New()
..()
block = MORPHBLOCK
/obj/item/weapon/dnainjector/antimorph
name = "DNA-Injector (Anti-Morph)"
desc = "Cures identity crisis."
dnatype = "se"
dna = list(1)
//block = 2
New()
..()
block = MORPHBLOCK
/*
/obj/item/weapon/dnainjector/cold
name = "DNA-Injector (Cold)"
desc = "Feels a bit chilly."
dnatype = "se"
dna = list(4090)
//block = 2
New()
..()
block = COLDBLOCK
/obj/item/weapon/dnainjector/anticold
name = "DNA-Injector (Anti-Cold)"
desc = "Feels room-temperature."
dnatype = "se"
dna = list(1)
//block = 2
New()
..()
block = COLDBLOCK
*/
/obj/item/weapon/dnainjector/noprints
name = "DNA-Injector (No Prints)"
desc = "Better than a pair of budget insulated gloves."
dnatype = "se"
dna = list(4090)
//block = 2
New()
..()
block = NOPRINTSBLOCK
/obj/item/weapon/dnainjector/antinoprints
name = "DNA-Injector (Anti-No Prints)"
desc = "Not quite as good as a pair of budget insulated gloves."
dnatype = "se"
dna = list(1)
//block = 2
New()
..()
block = NOPRINTSBLOCK
/obj/item/weapon/dnainjector/insulation
name = "DNA-Injector (Shock Immunity)"
desc = "Better than a pair of real insulated gloves."
dnatype = "se"
dna = list(4090)
//block = 2
New()
..()
block = SHOCKIMMUNITYBLOCK
/obj/item/weapon/dnainjector/antiinsulation
name = "DNA-Injector (Anti-Shock Immunity)"
desc = "Not quite as good as a pair of real insulated gloves."
dnatype = "se"
dna = list(1)
//block = 2
New()
..()
block = SHOCKIMMUNITYBLOCK
/obj/item/weapon/dnainjector/midgit
name = "DNA-Injector (Small Size)"
desc = "Makes you shrink."
dnatype = "se"
dna = list(4090)
//block = 2
New()
..()
block = SMALLSIZEBLOCK
/obj/item/weapon/dnainjector/antimidgit
name = "DNA-Injector (Anti-Small Size)"
desc = "Makes you grow. But not too much."
dnatype = "se"
dna = list(1)
//block = 2
New()
..()
block = SMALLSIZEBLOCK
/////////////////////////////////////
/obj/item/weapon/dnainjector/antiglasses
name = "DNA-Injector (Anti-Glasses)"
desc = "Toss away those glasses!"
dnatype = "se"
dna = "708"
block = 1
dna = list(1)
//block = 1
New()
..()
block = GLASSESBLOCK
/obj/item/weapon/dnainjector/glassesmut
name = "DNA-Injector (Glasses)"
desc = "Will make you need dorkish glasses."
dnatype = "se"
dna = "BD6"
block = 1
dna = list(4090)
//block = 1
New()
..()
block = GLASSESBLOCK
/obj/item/weapon/dnainjector/epimut
name = "DNA-Injector (Epi.)"
desc = "Shake shake shake the room!"
dnatype = "se"
dna = "FA0"
block = 3
dna = list(4090)
//block = 3
New()
..()
block = HEADACHEBLOCK
/obj/item/weapon/dnainjector/antiepi
name = "DNA-Injector (Anti-Epi.)"
desc = "Will fix you up from shaking the room."
dnatype = "se"
dna = "708"
block = 3
////////////////////////////////////
dna = list(1)
//block = 3
New()
..()
block = HEADACHEBLOCK
/obj/item/weapon/dnainjector/anticough
name = "DNA-Injector (Anti-Cough)"
desc = "Will stop that awful noise."
dnatype = "se"
dna = "708"
block = 5
dna = list(1)
//block = 5
New()
..()
block = COUGHBLOCK
/obj/item/weapon/dnainjector/coughmut
name = "DNA-Injector (Cough)"
desc = "Will bring forth a sound of horror from your throat."
dnatype = "se"
dna = "BD6"
block = 5
dna = list(4090)
//block = 5
New()
..()
block = COUGHBLOCK
/obj/item/weapon/dnainjector/clumsymut
name = "DNA-Injector (Clumsy)"
desc = "Makes clumsy minions."
dnatype = "se"
dna = "FA0"
dna = list(4090)
//block = 6
New()
..()
@@ -232,7 +497,7 @@
name = "DNA-Injector (Anti-Clumy)"
desc = "Cleans up confusion."
dnatype = "se"
dna = "708"
dna = list(1)
//block = 6
New()
..()
@@ -242,55 +507,47 @@
name = "DNA-Injector (Anti-Tour.)"
desc = "Will cure tourrets."
dnatype = "se"
dna = "708"
block = 7
dna = list(1)
//block = 7
New()
..()
block = TWITCHBLOCK
/obj/item/weapon/dnainjector/tourmut
name = "DNA-Injector (Tour.)"
desc = "Gives you a nasty case off tourrets."
dnatype = "se"
dna = "BD6"
block = 7
dna = list(4090)
//block = 7
New()
..()
block = TWITCHBLOCK
/obj/item/weapon/dnainjector/stuttmut
name = "DNA-Injector (Stutt.)"
desc = "Makes you s-s-stuttterrr"
dnatype = "se"
dna = "FA0"
block = 9
dna = list(4090)
//block = 9
New()
..()
block = NERVOUSBLOCK
/obj/item/weapon/dnainjector/antistutt
name = "DNA-Injector (Anti-Stutt.)"
desc = "Fixes that speaking impairment."
dnatype = "se"
dna = "708"
block = 9
/obj/item/weapon/dnainjector/antifire
name = "DNA-Injector (Anti-Fire)"
desc = "Cures fire."
dnatype = "se"
dna = "708"
//block = 10
dna = list(1)
//block = 9
New()
..()
block = FIREBLOCK
/obj/item/weapon/dnainjector/firemut
name = "DNA-Injector (Fire)"
desc = "Gives you fire."
dnatype = "se"
dna = "FED"
//block = 10
New()
..()
block = FIREBLOCK
block = NERVOUSBLOCK
/obj/item/weapon/dnainjector/blindmut
name = "DNA-Injector (Blind)"
desc = "Makes you not see anything."
dnatype = "se"
dna = "FA0"
dna = list(4090)
//block = 11
New()
..()
@@ -300,37 +557,17 @@
name = "DNA-Injector (Anti-Blind)"
desc = "ITS A MIRACLE!!!"
dnatype = "se"
dna = "708"
dna = list(1)
//block = 11
New()
..()
block = BLINDBLOCK
/obj/item/weapon/dnainjector/antitele
name = "DNA-Injector (Anti-Tele.)"
desc = "Will make you not able to control your mind."
dnatype = "se"
dna = "708"
//block = 12
New()
..()
block = TELEBLOCK
/obj/item/weapon/dnainjector/telemut
name = "DNA-Injector (Tele.)"
desc = "Super brain man!"
dnatype = "se"
dna = "FED"
//block = 12
New()
..()
block = TELEBLOCK
/obj/item/weapon/dnainjector/deafmut
name = "DNA-Injector (Deaf)"
desc = "Sorry, what did you say?"
dnatype = "se"
dna = "FA0"
dna = list(4090)
//block = 13
New()
..()
@@ -340,22 +577,48 @@
name = "DNA-Injector (Anti-Deaf)"
desc = "Will make you hear once more."
dnatype = "se"
dna = "708"
dna = list(1)
//block = 13
New()
..()
block = DEAFBLOCK
/obj/item/weapon/dnainjector/hallucination
name = "DNA-Injector (Halluctination)"
desc = "What you see isn't always what you get."
dnatype = "se"
dna = list(4090)
//block = 2
New()
..()
block = HALLUCINATIONBLOCK
/obj/item/weapon/dnainjector/antihallucination
name = "DNA-Injector (Anti-Hallucination)"
desc = "What you see is what you get."
dnatype = "se"
dna = list(1)
//block = 2
New()
..()
block = HALLUCINATIONBLOCK
/obj/item/weapon/dnainjector/h2m
name = "DNA-Injector (Human > Monkey)"
desc = "Will make you a flea bag."
dnatype = "se"
dna = "FA0"
block = 14
dna = list(4090)
//block = 14
New()
..()
block = MONKEYBLOCK
/obj/item/weapon/dnainjector/m2h
name = "DNA-Injector (Monkey > Human)"
desc = "Will make you...less hairy."
dnatype = "se"
dna = "708"
block = 14
dna = list(1)
//block = 14
New()
..()
block = MONKEYBLOCK
@@ -48,7 +48,6 @@
//Flashing everyone
if(eye_safety < 1)
flick("e_flash", M.flash)
M.eye_stat += rand(1, 3)
M.Stun(2)
M.Weaken(10)
@@ -80,13 +79,14 @@
M.ear_deaf = max(M.ear_deaf,5)
//This really should be in mob not every check
if (M.eye_stat >= 20)
M << "\red Your eyes start to burn badly!"
M.disabilities |= NEARSIGHTED
if(!banglet && !(istype(src , /obj/item/weapon/grenade/flashbang/clusterbang)))
if (prob(M.eye_stat - 20 + 1))
M << "\red You can't see anything!"
M.sdisabilities |= BLIND
if(ishuman(M))
var/mob/living/carbon/human/H = M
var/datum/organ/internal/eyes/E = H.internal_organs["eyes"]
if (E.damage >= E.min_bruised_damage)
M << "\red Your eyes start to burn badly!"
if(!banglet && !(istype(src , /obj/item/weapon/grenade/flashbang/clusterbang)))
if (E.damage >= E.min_broken_damage)
M << "\red You can't see anything!"
if (M.ear_damage >= 15)
M << "\red Your ears start to ring badly!"
if(!banglet && !(istype(src , /obj/item/weapon/grenade/flashbang/clusterbang)))
@@ -1,7 +1,7 @@
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
/obj/item/weapon/implant/freedom
name = "freedom"
name = "freedom implant"
desc = "Use this to escape from those evil Red Shirts."
item_color = "r"
var/activation_emote = "chuckle"
+1
View File
@@ -21,6 +21,7 @@
obj/item/weapon/mop/proc/clean(turf/simulated/A)
if(reagents.has_reagent("water", 1))
A.clean_blood()
A.dirt = 0
for(var/obj/effect/O in A)
if(istype(O,/obj/effect/rune) || istype(O,/obj/effect/decal/cleanable) || istype(O,/obj/effect/overlay))
del(O)
@@ -9,6 +9,7 @@
* Mining Satchel
* Plant Bag
* Sheet Snatcher
* Cash Bag
*
* -Sayu
*/
@@ -237,4 +238,19 @@
/obj/item/weapon/storage/bag/sheetsnatcher/borg
name = "Sheet Snatcher 9000"
desc = ""
capacity = 500//Borgs get more because >specialization
capacity = 500//Borgs get more because >specialization
// -----------------------------
// Cash Bag
// -----------------------------
/obj/item/weapon/storage/bag/cash
icon = 'icons/obj/storage.dmi'
icon_state = "cashbag"
name = "Cash bag"
desc = "A bag for carrying lots of cash. It's got a big dollar sign printed on the front."
storage_slots = 50; //the number of cash pieces it can carry.
max_combined_w_class = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * cash.w_class
max_w_class = 3
w_class = 1
can_hold = list("/obj/item/weapon/coin","/obj/item/weapon/spacecash")
+30 -27
View File
@@ -354,33 +354,36 @@
/obj/item/weapon/weldingtool/proc/eyecheck(mob/user as mob)
if(!iscarbon(user)) return 1
var/safety = user:eyecheck()
switch(safety)
if(1)
usr << "\red Your eyes sting a little."
user.eye_stat += rand(1, 2)
if(user.eye_stat > 12)
user.eye_blurry += rand(3,6)
if(0)
usr << "\red Your eyes burn."
user.eye_stat += rand(2, 4)
if(user.eye_stat > 10)
user.eye_blurry += rand(4,10)
if(-1)
usr << "\red Your thermals intensify the welder's glow. Your eyes itch and burn severely."
user.eye_blurry += rand(12,20)
user.eye_stat += rand(12, 16)
if(user.eye_stat > 10 && safety < 2)
user << "\red Your eyes are really starting to hurt. This can't be good for you!"
if (prob(user.eye_stat - 25 + 1))
user << "\red You go blind!"
user.sdisabilities |= BLIND
else if (prob(user.eye_stat - 15 + 1))
user << "\red You go blind!"
user.eye_blind = 5
user.eye_blurry = 5
user.disabilities |= NEARSIGHTED
spawn(100)
user.disabilities &= ~NEARSIGHTED
if(istype(user, /mob/living/carbon/human))
var/mob/living/carbon/human/H = user
var/datum/organ/internal/eyes/E = H.internal_organs["eyes"]
switch(safety)
if(1)
usr << "\red Your eyes sting a little."
E.damage += rand(1, 2)
if(E.damage > 12)
user.eye_blurry += rand(3,6)
if(0)
usr << "\red Your eyes burn."
E.damage += rand(2, 4)
if(E.damage > 10)
E.damage += rand(4,10)
if(-1)
usr << "\red Your thermals intensify the welder's glow. Your eyes itch and burn severely."
user.eye_blurry += rand(12,20)
E.damage += rand(12, 16)
if(E.damage > 10 && safety < 2)
user << "\red Your eyes are really starting to hurt. This can't be good for you!"
if (E.damage >= E.min_broken_damage)
user << "\red You go blind!"
user.sdisabilities |= BLIND
else if (E.damage >= E.min_bruised_damage)
user << "\red You go blind!"
user.eye_blind = 5
user.eye_blurry = 5
user.disabilities |= NEARSIGHTED
spawn(100)
user.disabilities &= ~NEARSIGHTED
return
@@ -247,20 +247,24 @@
..()
sleep(2)
new /obj/item/clothing/under/det(src)
new /obj/item/clothing/under/det/black(src)
new /obj/item/clothing/under/det/slob(src)
new /obj/item/clothing/suit/storage/det_suit(src)
new /obj/item/clothing/suit/storage/det_suit/black(src)
new /obj/item/clothing/suit/storage/forensics/blue(src)
new /obj/item/clothing/suit/storage/forensics/red(src)
new /obj/item/clothing/gloves/black(src)
new /obj/item/clothing/head/det_hat(src)
new /obj/item/clothing/head/det_hat/black(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/weapon/storage/box/evidence(src)
new /obj/item/device/radio/headset/headset_sec(src)
new /obj/item/device/detective_scanner(src)
new /obj/item/clothing/suit/armor/det_suit(src)
new /obj/item/ammo_magazine/c38(src)
new /obj/item/ammo_magazine/c38(src)
new /obj/item/ammo_magazine/c45r(src)
new /obj/item/ammo_magazine/c45r(src)
new /obj/item/taperoll/police(src)
new /obj/item/weapon/gun/projectile/detective(src)
new /obj/item/weapon/gun/projectile/detective/semiauto(src)
new /obj/item/clothing/tie/holster/armpit(src)
return