mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-19 19:13:30 +01:00
Added more meme abilities.
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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.."
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user