Merge pull request #450 from SkyMarshal/master

DNA update and choosable disabilities!
This commit is contained in:
CompactNinja
2012-02-17 20:54:15 -08:00
47 changed files with 5552 additions and 5233 deletions
@@ -8,7 +8,6 @@
sleep(2)
new /obj/item/wardrobe/chief_engineer(src)
new /obj/item/blueprints(src)
//
var/obj/item/weapon/storage/backpack/industrial/BPK = new /obj/item/weapon/storage/backpack/industrial(src)
var/obj/item/weapon/storage/box/B = new(BPK)
new /obj/item/weapon/pen(B)
+1 -1
View File
@@ -48,7 +48,7 @@
O.show_message("\blue [(O==user?"You direct":"[user] directs")] [src] to [(M==user? "your":"[M]")] eyes", 1)
if(istype(M, /mob/living/carbon/human) || istype(M, /mob/living/carbon/monkey))//robots and aliens are unaffected
if(M.stat > 1 || M.sdisabilities & 1)//mob is dead or fully blind
if(M.stat > 1 || M.disabilities & 128)//mob is dead or fully blind
if(M!=user)
user.show_message(text("\red [] pupils does not react to the light!", M),1)
else if(M.mutations & XRAY)//mob has X-RAY vision
+26
View File
@@ -0,0 +1,26 @@
/obj/item/device/geneticsanalyzer
name = "Genetics Analyser"
icon = 'device.dmi'
icon_state = "genetics"
w_class = 2
/obj/item/device/geneticsanalyzer/attack(mob/M as mob, mob/user as mob)
for(var/mob/O in viewers(M, null))
O.show_message(text("\red [] has analyzed []'s genetic code!", user, M), 1)
//Foreach goto(67)
user.show_message(text("\blue Analyzing Results for [M]: [M.dna.struc_enzymes]\n\t"), 1)
user.show_message(text("\blue \t Epilepsy: [isblockon(getblock(M.dna.struc_enzymes, HEADACHEBLOCK,3),HEADACHEBLOCK) ? "Yes" : "No"]"), 1)
user.show_message(text("\blue \t Cough: [isblockon(getblock(M.dna.struc_enzymes, COUGHBLOCK,3),COUGHBLOCK) ? "Yes" : "No"]"), 1)
user.show_message(text("\blue \t Clumsy: [isblockon(getblock(M.dna.struc_enzymes, CLUMSYBLOCK,3),CLUMSYBLOCK) ? "Yes" : "No"]"), 1)
user.show_message(text("\blue \t Twitch: [isblockon(getblock(M.dna.struc_enzymes, TWITCHBLOCK,3),TWITCHBLOCK) ? "Yes" : "No"]"), 1)
user.show_message(text("\blue \t Nervous: [isblockon(getblock(M.dna.struc_enzymes, NERVOUSBLOCK,3),NERVOUSBLOCK) ? "Yes" : "No"]"), 1)
user.show_message(text("\blue \t Blind: [isblockon(getblock(M.dna.struc_enzymes, BLINDBLOCK,3),BLINDBLOCK) ? "Yes" : "No"]"), 1)
user.show_message(text("\blue \t Deaf: [isblockon(getblock(M.dna.struc_enzymes, DEAFBLOCK,3),DEAFBLOCK) ? "Yes" : "No"]"), 1)
user.show_message(text("\blue \t Requires Glasses: [isblockon(getblock(M.dna.struc_enzymes, GLASSESBLOCK,3),GLASSESBLOCK) ? "Yes" : "No"]"), 1)
var/unknow = 0
var/list/unknowns = list(HULKBLOCK,TELEBLOCK,FIREBLOCK,XRAYBLOCK,NOBREATHBLOCK,REMOTEVIEWBLOCK,REGENERATEBLOCK,INCREASERUNBLOCK,REMOTETALKBLOCK,MORPHBLOCK,BLENDBLOCK,HALLUCINATIONBLOCK,NOPRINTSBLOCK,SHOCKIMMUNITYBLOCK,SMALLSIZEBLOCK)
for(var/unknown in unknowns)
if(isblockon(getblock(M.dna.struc_enzymes, unknown,3),unknown))
unknow += 1
user.show_message(text("\blue \t Unknown Anomalies: [unknow]"))
+1 -1
View File
@@ -473,7 +473,7 @@ mob/proc/flash_weak_pain()
if (prob(M.eye_stat - 10 + 1))
if(M.stat != 2)
M << "\red You go blind!"
M.sdisabilities |= 1
M.disabilities |= 128
return
+2 -2
View File
@@ -208,12 +208,12 @@ FLASHBANG
M.disabilities |= 1
if (prob(M.eye_stat - 20 + 1))
M << "\red You can't see anything!"
M.sdisabilities |= 1
M.disabilities |= 128
if (M.ear_damage >= 15)
M << "\red Your ears start to ring badly!"
if (prob(M.ear_damage - 10 + 5))
M << "\red You can't hear anything!"
M.sdisabilities |= 4
M.disabilities |= 32
else
if (M.ear_damage >= 5)
M << "\red Your ears start to ring!"
@@ -531,7 +531,7 @@ CIRCULAR SAW
M.updatehealth()
else
M.take_organ_damage(15)
M.sdisabilities &= ~1
M.disabilities &= ~128
M:eye_op_stage = 0.0
else
+1 -1
View File
@@ -248,7 +248,7 @@ WELDINGTOOOL
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 |= 1
user.disabilities |= 128
else if (prob(user.eye_stat - 15 + 1))
user << "\red You go blind!"
user.eye_blind = 5
+3 -3
View File
@@ -62,9 +62,9 @@
new /obj/item/clothing/glasses/regular(src)
new /obj/item/clothing/glasses/regular(src)
new /obj/item/clothing/glasses/regular(src)
new /obj/item/clothing/glasses/regular(src)
new /obj/item/clothing/glasses/regular(src)
new /obj/item/clothing/glasses/regular(src)
new /obj/item/clothing/glasses/sunglasses/prescription(src)
new /obj/item/clothing/glasses/sunglasses/prescription(src)
new /obj/item/clothing/glasses/meson/prescription(src)
..()
return
+8 -1
View File
@@ -79,7 +79,7 @@ TABLE AND RACK OBJECT INTERATIONS
/obj/structure/table/attack_hand(mob/user as mob)
if ((usr.mutations & HULK))
if (usr.mutations & HULK)
usr << text("\blue You destroy the table.")
for(var/mob/O in oviewers())
if ((O.client && !( O.blinded )))
@@ -92,6 +92,13 @@ TABLE AND RACK OBJECT INTERATIONS
new /obj/item/weapon/table_parts( src.loc )
src.density = 0
del(src)
if (usr.mutations & mSmallsize)
step(user, get_dir(user, src))
if (user.loc == src.loc)
user.layer = TURF_LAYER
for(var/mob/M in viewers(user, null))
M.show_message("[user] hides under the table!", 1)
//Foreach goto(69)
return