mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 03:27:05 +01:00
Merge branch 'dev-freeze' of https://github.com/Baystation12/Baystation12
This commit is contained in:
@@ -2029,17 +2029,13 @@
|
||||
if("virus")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","V")
|
||||
var/answer = alert("Do you want this to be a random disease or do you have something in mind?",,"Make Your Own","Random","Choose")
|
||||
if(answer=="Random")
|
||||
viral_outbreak()
|
||||
message_admins("[key_name_admin(usr)] has triggered a virus outbreak", 1)
|
||||
else if(answer == "Choose")
|
||||
var/list/viruses = list("fake gbs","gbs","magnitis","wizarditis",/*"beesease",*/"brain rot","cold","retrovirus","flu","pierrot's throat","rhumba beat")
|
||||
var/V = input("Choose the virus to spread", "BIOHAZARD") in viruses
|
||||
viral_outbreak(V)
|
||||
message_admins("[key_name_admin(usr)] has triggered a virus outbreak of [V]", 1)
|
||||
var/answer = alert("Do you want this to be a greater disease or a lesser one?",,"Greater","Lesser")
|
||||
if(answer=="Lesser")
|
||||
virus2_lesser_infection()
|
||||
message_admins("[key_name_admin(usr)] has triggered a lesser virus outbreak.", 1)
|
||||
else
|
||||
AdminCreateVirus(usr)
|
||||
virus2_greater_infection()
|
||||
message_admins("[key_name_admin(usr)] has triggered a greater virus outbreak.", 1)
|
||||
if("retardify")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","RET")
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
|
||||
..()
|
||||
|
||||
M.delay_click(10)
|
||||
|
||||
if((M != src) && check_shields(0, M.name))
|
||||
visible_message("\red <B>[M] attempted to touch [src]!</B>")
|
||||
return 0
|
||||
|
||||
@@ -269,6 +269,15 @@
|
||||
if(iscarbon(src))
|
||||
var/mob/living/carbon/C = src
|
||||
C.handcuffed = initial(C.handcuffed)
|
||||
if(ishuman(src))
|
||||
var/mob/living/carbon/human/H = src
|
||||
for(var/datum/organ/external/O in H.organs)
|
||||
O.heal_damage(1000,1000,1,1)
|
||||
for(var/datum/organ/internal/I in H.internal_organs)
|
||||
I.damage = 0
|
||||
for (var/ID in H.virus2)
|
||||
var/datum/disease2/disease/V = H.virus2[ID]
|
||||
V.cure(src)
|
||||
for(var/datum/disease/D in viruses)
|
||||
D.cure(0)
|
||||
if(stat == 2)
|
||||
|
||||
@@ -42,7 +42,6 @@
|
||||
var/chemicals = 10 // Chemicals used for reproduction and spitting neurotoxin.
|
||||
var/mob/living/carbon/human/host // Human host for the brain worm.
|
||||
var/truename // Name used for brainworm-speak.
|
||||
var/bonded // Var for full bonding with the host brain.
|
||||
var/mob/living/captive_brain/host_brain // Used for swapping control of the body back and forth.
|
||||
var/controlling // Used in human death check.
|
||||
|
||||
@@ -135,7 +134,7 @@
|
||||
|
||||
spawn(300+(host.brainloss*5))
|
||||
|
||||
if(!host || !src) return
|
||||
if(!host || !src || controlling) return
|
||||
|
||||
else
|
||||
src << "\red <B>You plunge your probosci deep into the cortex of the host brain, interfacing directly with their nervous system.</B>"
|
||||
@@ -165,7 +164,6 @@ mob/living/simple_animal/borer/verb/release_host()
|
||||
if(!host || !src) return
|
||||
|
||||
src << "You begin disconnecting from [host]'s synapses and prodding at their internal ear canal."
|
||||
bonded = 0
|
||||
|
||||
if(!host.stat)
|
||||
host << "An odd, uncomfortable pressure begins to build inside your skull, behind your ear..."
|
||||
@@ -193,6 +191,12 @@ mob/living/simple_animal/borer/proc/detatch()
|
||||
src.loc = get_turf(host)
|
||||
controlling = 0
|
||||
|
||||
reset_view(null)
|
||||
machine = null
|
||||
|
||||
host.reset_view(null)
|
||||
host.machine = null
|
||||
|
||||
host.verbs -= /mob/living/carbon/human/proc/release_control
|
||||
host.verbs -= /mob/living/carbon/human/proc/punish_host
|
||||
host.verbs -= /mob/living/carbon/human/proc/spawn_larvae
|
||||
@@ -220,7 +224,7 @@ mob/living/simple_animal/borer/proc/detatch()
|
||||
return
|
||||
|
||||
var/list/choices = list()
|
||||
for(var/mob/living/C in view(1,src))
|
||||
for(var/mob/living/carbon/human/C in view(1,src))
|
||||
if(istype(C,/mob/living/carbon/human) && C.stat != 2)
|
||||
choices += C
|
||||
|
||||
@@ -230,6 +234,7 @@ mob/living/simple_animal/borer/proc/detatch()
|
||||
|
||||
if(M.has_brain_worms())
|
||||
src << "You cannot infest someone who is already infested!"
|
||||
return
|
||||
|
||||
M << "Something slimy begins probing at the opening of your ear canal..."
|
||||
src << "You slither up [M] and begin probing at their ear canal..."
|
||||
@@ -257,7 +262,6 @@ mob/living/simple_animal/borer/proc/detatch()
|
||||
var/datum/organ/external/head = M.get_organ("head")
|
||||
head.implants += src
|
||||
src.loc = M
|
||||
bonded = 0
|
||||
|
||||
host_brain.name = M.name
|
||||
host_brain.real_name = M.real_name
|
||||
|
||||
@@ -162,6 +162,8 @@
|
||||
if(killing)
|
||||
return
|
||||
|
||||
assailant.delay_click(10)
|
||||
|
||||
switch(S.id)
|
||||
if(1.0)
|
||||
if (state < 2)
|
||||
|
||||
@@ -631,6 +631,10 @@
|
||||
H.name = "host brain"
|
||||
H.real_name = "host brain"
|
||||
|
||||
verbs -= /mob/living/carbon/human/proc/release_control
|
||||
verbs -= /mob/living/carbon/human/proc/punish_host
|
||||
verbs -= /mob/living/carbon/human/proc/spawn_larvae
|
||||
|
||||
return
|
||||
|
||||
//resisting grabs (as if it helps anyone...)
|
||||
|
||||
@@ -184,7 +184,10 @@
|
||||
|
||||
//Handle possessive brain borers.
|
||||
if(istype(obj,/mob/living/simple_animal/borer))
|
||||
target.release_control()
|
||||
var/mob/living/simple_animal/borer/worm = obj
|
||||
if(worm.controlling)
|
||||
target.release_control()
|
||||
worm.detatch()
|
||||
|
||||
obj.loc = get_turf(target)
|
||||
if(istype(obj,/obj/item/weapon/implant))
|
||||
|
||||
@@ -162,3 +162,27 @@ var/global/list/virusDB = list()
|
||||
v.fields["spread type"] = spreadtype
|
||||
virusDB["[uniqueID]"] = v
|
||||
return 1
|
||||
|
||||
proc/virus2_lesser_infection()
|
||||
var/list/candidates = list() //list of candidate keys
|
||||
|
||||
for(var/mob/living/carbon/human/G in player_list)
|
||||
if(G.client && G.stat != DEAD)
|
||||
candidates += G
|
||||
if(!candidates.len) return
|
||||
|
||||
candidates = shuffle(candidates)
|
||||
|
||||
infect_mob_random_lesser(candidates[1])
|
||||
|
||||
proc/virus2_greater_infection()
|
||||
var/list/candidates = list() //list of candidate keys
|
||||
|
||||
for(var/mob/living/carbon/human/G in player_list)
|
||||
if(G.client && G.stat != DEAD)
|
||||
candidates += G
|
||||
if(!candidates.len) return
|
||||
|
||||
candidates = shuffle(candidates)
|
||||
|
||||
infect_mob_random_greater(candidates[1])
|
||||
|
||||
Reference in New Issue
Block a user