mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-01-05 23:21:53 +00:00
@@ -148,6 +148,7 @@
|
||||
on_reaction(var/datum/reagents/holder)
|
||||
|
||||
var/list/borks = subtypesof(/obj/item/weapon/reagent_containers/food/snacks)
|
||||
borks = adminReagentCheck(borks)
|
||||
// BORK BORK BORK
|
||||
|
||||
playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1)
|
||||
@@ -175,6 +176,7 @@
|
||||
on_reaction(var/datum/reagents/holder)
|
||||
|
||||
var/list/borks = subtypesof(/obj/item/weapon/reagent_containers/food/drinks)
|
||||
borks = adminReagentCheck(borks)
|
||||
// BORK BORK BORK
|
||||
|
||||
playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1)
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
//Processing flags, defines the type of mobs the reagent will affect
|
||||
//By default, all reagents will ONLY affect organics, not synthetics. Re-define in the reagent's definition if the reagent is meant to affect synths
|
||||
var/process_flags = ORGANIC
|
||||
|
||||
var/admin_only = 0
|
||||
|
||||
/datum/reagent/proc/reaction_mob(var/mob/M, var/method=TOUCH, var/volume) //Some reagents transfer on touch, others don't; dependent on if they penetrate the skin or not.
|
||||
if(!istype(M, /mob/living)) return 0
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
reagent_state = LIQUID
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
process_flags = ORGANIC | SYNTHETIC //Adminbuse knows no bounds!
|
||||
admin_only=1
|
||||
|
||||
/datum/reagent/adminordrazine/on_mob_life(var/mob/living/carbon/M as mob)
|
||||
if(!M) M = holder.my_atom ///This can even heal dead people.
|
||||
@@ -51,4 +52,27 @@
|
||||
/datum/reagent/adminordrazine/nanites
|
||||
name = "Nanites"
|
||||
id = "nanites"
|
||||
description = "Nanomachines that aid in rapid cellular regeneration."
|
||||
description = "Nanomachines that aid in rapid cellular regeneration."
|
||||
|
||||
|
||||
// For random item spawning. Takes a list of paths, and returns the same list without anything that contains admin only reagents
|
||||
|
||||
/proc/adminReagentCheck(var/list/incoming)
|
||||
var/list/outgoing[0]
|
||||
for(var/tocheck in incoming)
|
||||
if(ispath(tocheck))
|
||||
var/check = new tocheck
|
||||
if (istype(check, /atom))
|
||||
var/atom/reagentCheck = check
|
||||
var/datum/reagents/reagents = reagentCheck.reagents
|
||||
var/admin = 0
|
||||
for(var/reag in reagents.reagent_list)
|
||||
var/datum/reagent/reagent = reag
|
||||
if(reagent.admin_only)
|
||||
admin = 1
|
||||
break
|
||||
if(!(admin))
|
||||
outgoing += tocheck
|
||||
else
|
||||
outgoing += tocheck
|
||||
return outgoing
|
||||
Reference in New Issue
Block a user