mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-31 01:00:59 +01:00
Merge branch 'master' of https://github.com/CHOMPStation2/CHOMPStation2 into non-crew-role
This commit is contained in:
@@ -52,7 +52,7 @@ var/global/list/image/splatter_cache=list()
|
||||
addtimer(CALLBACK(src, .proc/dry), DRYING_TIME * (amount+1))
|
||||
|
||||
/obj/effect/decal/cleanable/blood/update_icon()
|
||||
if(basecolor == "rainbow") basecolor = "#[get_random_colour(1)]"
|
||||
if(basecolor == "rainbow") basecolor = get_random_colour(1)
|
||||
color = basecolor
|
||||
|
||||
if(basecolor == SYNTH_BLOOD_COLOUR)
|
||||
@@ -184,11 +184,11 @@ var/global/list/image/splatter_cache=list()
|
||||
|
||||
var/image/giblets = new(base_icon, "[icon_state]_flesh", dir)
|
||||
if(!fleshcolor || fleshcolor == "rainbow")
|
||||
fleshcolor = "#[get_random_colour(1)]"
|
||||
fleshcolor = get_random_colour(1)
|
||||
giblets.color = fleshcolor
|
||||
|
||||
var/icon/blood = new(base_icon,"[icon_state]",dir)
|
||||
if(basecolor == "rainbow") basecolor = "#[get_random_colour(1)]"
|
||||
if(basecolor == "rainbow") basecolor = get_random_colour(1)
|
||||
blood.Blend(basecolor,ICON_MULTIPLY)
|
||||
|
||||
icon = blood
|
||||
|
||||
@@ -38,6 +38,12 @@
|
||||
icon_state = "dirt"
|
||||
mouse_opacity = 0
|
||||
|
||||
/obj/effect/decal/cleanable/Initialize(var/mapload, var/_age)
|
||||
.=..()
|
||||
var/turf/simulated/our_turf = src.loc
|
||||
if(our_turf && istype(our_turf) && our_turf.can_dirty && _age)
|
||||
our_turf.dirt = 101
|
||||
|
||||
/obj/effect/decal/cleanable/flour
|
||||
name = "flour"
|
||||
desc = "It's still good. Four second rule!"
|
||||
|
||||
@@ -47,4 +47,4 @@
|
||||
/decl/poster/tg_10
|
||||
name = "Hacking Guide"
|
||||
desc = "This poster details the internal workings of the common NanoTrasen airlock."
|
||||
icon_state="poster10"
|
||||
icon_state="poster10"
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
/decl/poster/tg_11 //CHOMPedit
|
||||
name = "Post This Ratvar"
|
||||
desc = "This poster seems to have an animated image on it. Truly an advancement in the wonders of technology."
|
||||
icon_state = "postvar"
|
||||
@@ -0,0 +1,73 @@
|
||||
var/global/list/global_used_pois = list()
|
||||
|
||||
|
||||
|
||||
/obj/effect/landmark/poi_loader
|
||||
name = "PoI Loader"
|
||||
var/size_x
|
||||
var/size_y
|
||||
var/poi_type = null
|
||||
var/remove_from_pool = TRUE
|
||||
|
||||
/obj/effect/landmark/poi_loader/New()
|
||||
INITIALIZE_IMMEDIATE(/obj/effect/landmark/poi_loader)
|
||||
|
||||
/obj/effect/landmark/poi_loader/Initialize()
|
||||
src.load_poi()
|
||||
return ..()
|
||||
|
||||
/obj/effect/landmark/poi_loader/proc/get_turfs_to_clean()
|
||||
return block(locate(src.x, src.y, src.z), locate((src.x + size_x - 1), (src.y + size_y - 1), src.z))
|
||||
|
||||
/obj/effect/landmark/poi_loader/proc/annihilate_bounds()
|
||||
//var/deleted_atoms = 0
|
||||
//admin_notice("<span class='danger'>Annihilating objects in poi loading location.</span>", R_DEBUG)
|
||||
var/list/turfs_to_clean = get_turfs_to_clean()
|
||||
if(turfs_to_clean.len)
|
||||
for(var/x in 1 to 2) // Requires two passes to get everything.
|
||||
for(var/turf/T in turfs_to_clean)
|
||||
for(var/atom/movable/AM in T)
|
||||
//++deleted_atoms
|
||||
qdel(AM)
|
||||
//admin_notice("<span class='danger'>Annihilated [deleted_atoms] objects.</span>", R_DEBUG)
|
||||
|
||||
/obj/effect/landmark/poi_loader/proc/load_poi()
|
||||
var/turf/T = get_turf(src)
|
||||
if(!isturf(T))
|
||||
to_world_log("[log_info_line(src)] not on a turf! Cannot place poi template.")
|
||||
return
|
||||
|
||||
// Choose a poi
|
||||
if(!poi_type)
|
||||
return
|
||||
|
||||
if(!(global_used_pois.len) || !(global_used_pois[poi_type]))
|
||||
global_used_pois[poi_type] = list()
|
||||
var/list/poi_list = global_used_pois[poi_type]
|
||||
for(var/map in SSmapping.map_templates)
|
||||
var/template = SSmapping.map_templates[map]
|
||||
if(istype(template, poi_type))
|
||||
poi_list += template
|
||||
|
||||
var/datum/map_template/template_to_use = null
|
||||
|
||||
var/list/our_poi_list = global_used_pois[poi_type]
|
||||
|
||||
if(!our_poi_list.len)
|
||||
return
|
||||
else
|
||||
template_to_use = pick(our_poi_list)
|
||||
|
||||
if(!template_to_use)
|
||||
return
|
||||
|
||||
//admin_notice("<span class='danger'>Chosen Predefined PoI Map: [chosen_type.name]</span>", R_DEBUG)
|
||||
|
||||
if(remove_from_pool)
|
||||
global_used_pois[poi_type] -= template_to_use
|
||||
|
||||
// Annihilate movable atoms
|
||||
annihilate_bounds()
|
||||
//CHECK_TICK //Don't let anything else happen for now
|
||||
// Actually load it
|
||||
template_to_use.load(T)
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
var/obj/effect/spawner/newbomb/proto = /obj/effect/spawner/newbomb/radio/custom
|
||||
|
||||
var/p = input(usr, "Enter phoron amount (mol):","Phoron", initial(proto.phoron_amt)) as num|null
|
||||
var/p = tgui_input_number(usr, "Enter phoron amount (mol):","Phoron", initial(proto.phoron_amt))
|
||||
if(p == null) return
|
||||
|
||||
var/o = input(usr, "Enter oxygen amount (mol):","Oxygen", initial(proto.oxygen_amt)) as num|null
|
||||
var/o = tgui_input_number(usr, "Enter oxygen amount (mol):","Oxygen", initial(proto.oxygen_amt))
|
||||
if(o == null) return
|
||||
|
||||
var/c = input(usr, "Enter carbon dioxide amount (mol):","Carbon Dioxide", initial(proto.carbon_amt)) as num|null
|
||||
var/c = tgui_input_number(usr, "Enter carbon dioxide amount (mol):","Carbon Dioxide", initial(proto.carbon_amt))
|
||||
if(c == null) return
|
||||
|
||||
new /obj/effect/spawner/newbomb/radio/custom(get_turf(mob), p, o, c)
|
||||
|
||||
@@ -269,7 +269,7 @@
|
||||
walk_to(src, target_atom, 5)
|
||||
if(prob(25))
|
||||
src.visible_message("<span class='notice'>\The [src] skitters[pick(" away"," around","")].</span>")
|
||||
else if(prob(5))
|
||||
else if(amount_grown < 75 && prob(5))
|
||||
//vent crawl!
|
||||
for(var/obj/machinery/atmospherics/unary/vent_pump/v in view(7,src))
|
||||
if(!v.welded)
|
||||
|
||||
@@ -75,6 +75,7 @@
|
||||
light_color = "#8837A3"
|
||||
|
||||
/obj/effect/projectile/impact/precursor //CHOMPedit add precursor impact
|
||||
icon = 'icons/obj/projectiles_ch.dmi' // CHOMPEdit: Fix path + replace missing file
|
||||
icon_state = "impact_prec"
|
||||
light_range = 2
|
||||
light_power = 0.7
|
||||
|
||||
@@ -63,6 +63,7 @@
|
||||
light_color = "#8837A3"
|
||||
|
||||
/obj/effect/projectile/muzzle/precursor //CHOMPedit add Precursor muzzle
|
||||
icon = 'icons/obj/projectiles_ch.dmi' // CHOMPEdit: Fix path + replace missing file
|
||||
icon_state = "muzzle_prec"
|
||||
light_range = 2
|
||||
light_power = 0.7
|
||||
|
||||
@@ -90,6 +90,7 @@
|
||||
light_color = "#8837A3"
|
||||
|
||||
/obj/effect/projectile/tracer/precursor //CHOMPedit add precursor tracer
|
||||
icon = 'icons/obj/projectiles_ch.dmi' // CHOMPEdit: Fix path + replace missing file
|
||||
icon_state = "prec"
|
||||
light_range = 2
|
||||
light_power = 0.7
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
/obj/effect/wire_deleter
|
||||
name = "wire deleter"
|
||||
icon = 'icons/mob/screen1.dmi'
|
||||
icon_state = "x2"
|
||||
anchored = TRUE
|
||||
unacidable = TRUE
|
||||
simulated = FALSE
|
||||
invisibility = 100
|
||||
|
||||
/obj/effect/wire_deleter/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
for(var/c in loc.contents)
|
||||
if(istype(c, /obj/structure/cable))
|
||||
if(prob(33))
|
||||
qdel(c)
|
||||
qdel(src)
|
||||
Reference in New Issue
Block a user