MOAR mutations!

This commit is contained in:
ZomgPonies
2013-09-10 18:27:17 -04:00
parent 477c633b29
commit b21332c143
4 changed files with 28 additions and 2 deletions
+4 -1
View File
@@ -401,7 +401,7 @@
M.sdisabilities = 0
var/old_mutations = M.mutations
M.mutations = list()
M.pass_flags = 0
// M.see_in_dark = 2
// M.see_invisible = 0
@@ -421,6 +421,7 @@
if(ismuton(REMOTEVIEWBLOCK,M))
if(probinj(45,inj) || (mRemote in old_mutations))
M << "\blue Your mind expands"
M.verbs += /mob/living/carbon/human/proc/remoteobserve
M.mutations.Add(mRemote)
if(ismuton(REGENERATEBLOCK,M))
if(probinj(45,inj) || (mRegen in old_mutations))
@@ -434,6 +435,7 @@
if(probinj(45,inj) || (mRemotetalk in old_mutations))
M << "\blue You expand your mind outwards"
M.mutations.Add(mRemotetalk)
M.verbs += /mob/living/carbon/human/proc/remotesay
if(ismuton(MORPHBLOCK,M))
if(probinj(45,inj) || (mMorph in old_mutations))
M.mutations.Add(mMorph)
@@ -458,6 +460,7 @@
if(probinj(45,inj) || (mSmallsize in old_mutations))
M << "\blue Your skin feels rubbery"
M.mutations.Add(mSmallsize)
M.pass_flags |= 1
+5
View File
@@ -334,6 +334,11 @@
var/obj/item/W = get_active_hand()
if( !W )//Not holding anything
if( client && (TK in mutations) )
if(ishuman(src))
var/mob/living/carbon/human/H = src
if(H.remoteview_target)
H << "\red Your mind is too busy remote viewing."
return
var/obj/item/tk_grab/O = new(src)
put_in_active_hand(O)
O.host = src
+10 -1
View File
@@ -504,6 +504,9 @@
if(gloves)
var/obj/item/clothing/gloves/G = gloves
siemens_coeff = G.siemens_coefficient
//If they have shock immunity mutation
if(mShock in src.mutations)
siemens_coeff = 0
return ..(shock_damage,source,siemens_coeff)
@@ -988,6 +991,12 @@
src.verbs -= /mob/living/carbon/human/proc/remoteobserve
return
if(istype(l_hand, /obj/item/tk_grab) || istype(r_hand, /obj/item/tk_grab/))
src << "\red Your mind is too busy with that telekinetic grab."
remoteview_target = null
reset_view(0)
return
if(client.eye != client.mob)
remoteview_target = null
reset_view(0)
@@ -1278,4 +1287,4 @@ mob/living/carbon/human/yank_out_object()
if(species)
return 1
else
return 0
return 0
@@ -285,6 +285,7 @@
proc/breathe()
if(reagents.has_reagent("lexorin")) return
if(mNobreath in mutations) return // No breath mutation means no breathing.
if(istype(loc, /obj/machinery/atmospherics/unary/cryo_cell)) return
if(species && species.flags & NO_BREATHE) return
@@ -947,6 +948,14 @@
blinded = 1
silent = 0
else //ALIVE. LIGHTS ARE ON
if(mRegen in mutations)
if(nutrition)
if(prob(10))
var/randumb = rand(1,5)
nutrition -= randumb
heal_overall_damage(randumb,randumb)
if(nutrition < 0)
nutrition = 0
updatehealth() //TODO
if(!in_stasis)
handle_organs()