Added more meme abilities.

This commit is contained in:
cib
2012-05-18 13:46:19 +02:00
parent c5bb020a31
commit 05f3330b0c
6 changed files with 71 additions and 0 deletions
@@ -270,6 +270,8 @@
if(reagents.has_reagent("nuka_cola")) return -1
if(analgesic) return -1
if (istype(loc, /turf/space)) return -1 // It's hard to be slowed down in space by... anything
var/health_deficiency = traumatic_shock
@@ -133,6 +133,9 @@
proc
handle_health_updates()
// the analgesic effect wears off slowly
analgesic = max(0, analgesic - 1)
// if the mob has enough health, she should slowly heal
if(stat == 1)
if(health >= 0)
@@ -151,6 +154,8 @@
lying = 1 //Seriously, stay down :x
update_clothing()
clamp_values()
SetStunned(min(stunned, 20))
@@ -1446,6 +1451,8 @@
handle_shock()
..()
if(analgesic) return // analgesic avoids all traumatic shock temporarily
if(health < 0)
// health 0 makes you immediately collapse
shock_stage = max(shock_stage, 61)
+2
View File
@@ -14,6 +14,8 @@
src.traumatic_shock -= 200 // make synaptizine function as good painkiller
if(src.slurring)
src.traumatic_shock -= 20
if(src.analgesic)
src.traumatic_shock = 0
// broken or ripped off organs will add quite a bit of pain
if(istype(src,/mob/living/carbon/human))
+55
View File
@@ -215,6 +215,7 @@ mob/living/parasite/meme/verb/Hallucinate()
usr << "<b>You make [target] hallucinate.</b>"
// Jump to a closeby target through a whisper
mob/living/parasite/meme/verb/SubtleJump(mob/living/carbon/human/target as mob in world)
set category = "Meme"
@@ -245,6 +246,7 @@ mob/living/parasite/meme/verb/SubtleJump(mob/living/carbon/human/target as mob i
usr << "<b>You successfully jumped to [target]."
// Jump to a distant target through a shout
mob/living/parasite/meme/verb/ObviousJump(mob/living/carbon/human/target as mob in world)
set category = "Meme"
@@ -275,6 +277,59 @@ mob/living/parasite/meme/verb/ObviousJump(mob/living/carbon/human/target as mob
usr << "<b>You successfully jumped to [target]."
// ATTUNE a mob, adding it to the indoctrinated list
mob/living/parasite/meme/verb/Attune()
set category = "Meme"
if(host in src.indoctrinated)
usr << "<b>You have already attuned this host.</b>"
return
if(!host) return
if(!use_points(400)) return
src.indoctrinated.Add(host)
usr << "<b>You successfully indoctrinated [host]."
// Enables the mob to take a lot more damage
mob/living/parasite/meme/verb/Analgesic()
set category = "Meme"
if(!host) return
if(!use_points(500)) return
usr << "<b>You inject drugs into [host]."
host << "\red You feel your body strengthen and your pain subside.."
host.analgesic = 60
while(host.analgesic > 0)
sleep(10)
host << "\red The dizziness wears off, and you can feel pain again.."
// Take control of the mob
mob/living/parasite/meme/verb/Possession()
set category = "Meme"
if(!host) return
if(!use_points(500)) return
usr << "<b>You take control of [host]!</b>"
host << "\red Everything goes black.."
spawn
var/client/host_client = host.client
var/client/meme_client = src.client
if(host_client) host_client.mob = null
meme_client.mob = host
sleep(300)
if(host_client) host_client.mob = host
if(meme_client) meme_client.mob = src
src << "\red You lose control.."
+2
View File
@@ -38,6 +38,8 @@ mob/living/carbon/human/proc/handle_pain()
return
if(reagents.has_reagent("oxycodone"))
return
if(analgesic)
return
var/maxdam = 0
var/datum/organ/external/damaged_organ = null
for(var/name in organs)