mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
Merging pull request from caelaislinn-master
This commit is contained in:
@@ -59,6 +59,7 @@
|
||||
#define ACCESS_RC_ANNOUNCE 59 //Request console announcements
|
||||
#define ACCESS_KEYCARD_AUTH 60 //Used for events which require at least two people to confirm them
|
||||
#define ACCESS_TCOMSAT 61 // has access to the entire telecomms satellite / machinery
|
||||
#define ACCESS_ANOMALY 62 //in case of future job separation from scientist
|
||||
|
||||
//BEGIN CENTCOM ACCESS
|
||||
/*Should leave plenty of room if we need to add more access levels.
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
var/lastbang
|
||||
var/lasttry = 0
|
||||
layer = 2.98
|
||||
var/quantity_max = 15
|
||||
|
||||
/obj/structure/closet/detective
|
||||
name = "detective's closet"
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
spawn_positions = 3
|
||||
supervisors = "the research director"
|
||||
selection_color = "#ffeeff"
|
||||
alt_titles = list("Plasma Researcher", "Xenobiologist", "Anomalist", "Xenoarchaeologist")
|
||||
alt_titles = list("Plasma Researcher", "Xenobiologist", "Xenoarchaeologist")
|
||||
|
||||
|
||||
equip(var/mob/living/carbon/human/H)
|
||||
|
||||
@@ -70,6 +70,7 @@
|
||||
equip_cooldown = 30
|
||||
energy_drain = 10
|
||||
force = 15
|
||||
var/warning = 0
|
||||
|
||||
action(atom/target)
|
||||
if(!action_checks(target)) return
|
||||
@@ -93,7 +94,15 @@
|
||||
if(ore_box)
|
||||
for(var/obj/item/weapon/ore/ore in range(chassis,1))
|
||||
if(get_dir(chassis,ore)&chassis.dir)
|
||||
if(ore_box.contents.len + 1 <= ore_box.capacity)
|
||||
ore.Move(ore_box)
|
||||
else if(!warning)
|
||||
occupant_message("<font color='red'><b>Warning, the ore box is full!</b></font>")
|
||||
//give it a 10 sec timer, so it doesn't spam unnecessarily
|
||||
warning = 1
|
||||
spawn(100)
|
||||
warning = 0
|
||||
break
|
||||
else if(target.loc == C)
|
||||
log_message("Drilled through [target]")
|
||||
target.ex_act(2)
|
||||
|
||||
@@ -55,7 +55,10 @@
|
||||
|
||||
for(var/obj/item/I in src.loc)
|
||||
if(!I.anchored)
|
||||
if(src.contents.len < src.quantity_max)
|
||||
I.loc = src
|
||||
else
|
||||
break
|
||||
|
||||
for(var/obj/mecha/working/ripley/deathripley/I in src.loc)
|
||||
I.loc = src
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
//########################## CONTRABAND ;3333333333333333333 -Agouri ###################################################
|
||||
|
||||
#define NUM_OF_POSTER_DESIGNS 22
|
||||
#define NUM_OF_POSTER_DESIGNS 27
|
||||
#define BS12_POSTERS_START 18
|
||||
|
||||
/obj/item/weapon/contraband
|
||||
@@ -83,6 +83,7 @@ obj/effect/decal/poster/New(var/serial)
|
||||
|
||||
src.serial_number = serial
|
||||
|
||||
restart_proc:
|
||||
if(serial_number==src.loc)
|
||||
//add an increased chance for BS12 specific posters to spawn
|
||||
if(prob(10))
|
||||
@@ -145,6 +146,8 @@ obj/effect/decal/poster/New(var/serial)
|
||||
if(17)
|
||||
name += " - Dangerous Static"
|
||||
desc += " This particular one depicts nothing remarkable other than a rather mesmerising pattern of monitor static. There's a tag on the sides of the poster, urging you to \"tear this poster in half to receive your free sample\"."
|
||||
|
||||
//bs12 specific posters
|
||||
if(18)
|
||||
name += " - Pinup Girl Val" //art thou incensed, brethren?
|
||||
desc += " Luscious Val McNeil, the vertically challenged Legal Extraordinaire, winner of Miss Space two years running and favoured pinup girl of Lawyers Weekly."
|
||||
@@ -160,12 +163,28 @@ obj/effect/decal/poster/New(var/serial)
|
||||
if(22)
|
||||
name += " - Skrell Twilight"
|
||||
desc += " This poster depicts a mysteriously inscrutable, alien scene. Numerous Skrell can be seen conversing amidst great, crystalline towers rising above crashing waves"
|
||||
if(23)
|
||||
name += " - Join the Fuzz!"
|
||||
desc += " It's a nice recruitment poster of a white haired Chinese woman that says; \"Big Guns, Hot Women, Good Times. Security. We get it done.\""
|
||||
if(24)
|
||||
name += " - Looking for a career with excitement?"
|
||||
desc += " A recruitment poster starring a dark haired woman with glasses and a purple shirt that has \"Got Brains? Got Talent? Not afraid of electric flying monsters that want to suck the soul out of you? Then Xenobiology could use someone like you!\" written on the bottom."
|
||||
if(25)
|
||||
name += " - Safety first: because electricity doesn't wait!"
|
||||
desc += " A safety poster starring a clueless looking redhead with frazzled hair. \"Every year, hundreds of NT employees expose themselves to electric shock. Play it safe. Avoid suspicious doors after electrical storms, and always wear protection when doing electric maintenance.\""
|
||||
if(26)
|
||||
name += " - Responsible medbay habits, No #259"
|
||||
desc += " A poster with a nervous looking geneticist on it states; \"Friends Don't Tell Friends They're Clones. It can cause severe and irreparable emotional trauma. Always do the right thing and never tell them that they were dead.\""
|
||||
if(27)
|
||||
name += " - Irresponsible medbay habits, No #2"
|
||||
desc += " This is a safety poster starring a perverted looking naked doctor. \"Sexual harassment is never okay. REPORT any acts of sexual deviance or harassment that disrupt a healthy working environment.\""
|
||||
/*if(20)
|
||||
name += " - the Disabled Triptarch: Ironfoot, Seber and Ore"
|
||||
desc += " This poster depicts a genetics researcher, a chemist and a medical doctor in various states of miscommunication."*/
|
||||
else
|
||||
name = "This shit just bugged. Report it to Agouri - polyxenitopalidou@gmail.com"
|
||||
desc = "Why are you still here?"
|
||||
//properly handle unhinged logic states
|
||||
src.serial_number = src.loc
|
||||
goto restart_proc
|
||||
..()
|
||||
|
||||
obj/effect/decal/poster/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
|
||||
@@ -179,7 +179,7 @@
|
||||
M.update_clothing()
|
||||
src.add_fingerprint(usr)
|
||||
return
|
||||
if(over_object == usr && in_range(src, usr) || usr.contents.Find(src))
|
||||
if( (over_object == usr && in_range(src, usr) || usr.contents.Find(src)) && usr.s_active)
|
||||
usr.s_active.close(usr)
|
||||
src.show_to(usr)
|
||||
return
|
||||
|
||||
@@ -664,6 +664,13 @@ datum
|
||||
reagent_state = SOLID
|
||||
color = "#808080" // rgb: 128, 128, 128, meant to be a silvery grey but idrc
|
||||
|
||||
lithiumsodiumtungstate
|
||||
name = "Lithium Sodium Tungstate"
|
||||
id = "lithiumsodiumtungstate"
|
||||
description = "A reducing agent for geological compounds."
|
||||
reagent_state = LIQUID
|
||||
color = "#808080" // rgb: 128, 128, 128, again, silvery grey
|
||||
|
||||
lithium
|
||||
name = "Lithium"
|
||||
id = "lithium"
|
||||
|
||||
@@ -81,24 +81,26 @@
|
||||
var/amt_plasma = 0
|
||||
var/amt_uranium = 0
|
||||
var/amt_clown = 0
|
||||
|
||||
var/amt_archaeo = 0
|
||||
for (var/obj/item/weapon/ore/C in contents)
|
||||
if (istype(C,/obj/item/weapon/ore/diamond))
|
||||
amt_diamond++;
|
||||
if (istype(C,/obj/item/weapon/ore/glass))
|
||||
else if (istype(C,/obj/item/weapon/ore/glass))
|
||||
amt_glass++;
|
||||
if (istype(C,/obj/item/weapon/ore/plasma))
|
||||
else if (istype(C,/obj/item/weapon/ore/plasma))
|
||||
amt_plasma++;
|
||||
if (istype(C,/obj/item/weapon/ore/iron))
|
||||
else if (istype(C,/obj/item/weapon/ore/iron))
|
||||
amt_iron++;
|
||||
if (istype(C,/obj/item/weapon/ore/silver))
|
||||
else if (istype(C,/obj/item/weapon/ore/silver))
|
||||
amt_silver++;
|
||||
if (istype(C,/obj/item/weapon/ore/gold))
|
||||
else if (istype(C,/obj/item/weapon/ore/gold))
|
||||
amt_gold++;
|
||||
if (istype(C,/obj/item/weapon/ore/uranium))
|
||||
else if (istype(C,/obj/item/weapon/ore/uranium))
|
||||
amt_uranium++;
|
||||
if (istype(C,/obj/item/weapon/ore/clown))
|
||||
else if (istype(C,/obj/item/weapon/ore/clown))
|
||||
amt_clown++;
|
||||
else if (istype(C,/obj/item/weapon/ore/strangerock))
|
||||
amt_archaeo++;
|
||||
|
||||
var/dat = text("<b>The contents of the ore box reveal...</b><br>")
|
||||
if (amt_gold)
|
||||
@@ -117,6 +119,8 @@
|
||||
dat += text("Uranium ore: [amt_uranium]<br>")
|
||||
if (amt_clown)
|
||||
dat += text("Bananium ore: [amt_clown]<br>")
|
||||
if (amt_archaeo)
|
||||
dat += text("Strange rocks: [amt_archaeo]<br>")
|
||||
|
||||
dat += text("<br><br><A href='?src=\ref[src];removeall=1'>Empty box</A>")
|
||||
user << browse("[dat]", "window=orebox")
|
||||
|
||||
@@ -163,6 +163,8 @@
|
||||
rendered = "<span class='game say'><span class='name'>[real_name]</span>[alt_name] whispers, <span class='message'>\"[message]\"</span></span>"
|
||||
|
||||
for (var/mob/M in world)
|
||||
if(!M.client)
|
||||
continue
|
||||
if (istype(M, /mob/new_player))
|
||||
continue
|
||||
if (M.stat > 1 && !(M in heard_a) && M.client.ghost_ears)
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
//note that corner pieces transfer stuff clockwise when running forward, and anti-clockwise backwards.
|
||||
//cael - added fix for diverters, not sure if tg has them
|
||||
|
||||
#define MAX_MOVED 10
|
||||
|
||||
/obj/machinery/conveyor
|
||||
icon = 'recycling.dmi'
|
||||
icon_state = "conveyor0"
|
||||
@@ -118,8 +120,9 @@
|
||||
spawn(1) // slight delay to prevent infinite propagation due to map order
|
||||
|
||||
var/items_moved = 0
|
||||
|
||||
for(var/atom/movable/A in affecting)
|
||||
if(items_moved >= 10)
|
||||
if(items_moved >= MAX_MOVED)
|
||||
break
|
||||
|
||||
if(!A.anchored)
|
||||
|
||||
@@ -201,8 +201,8 @@
|
||||
else if (src.effectmode == "aura")
|
||||
switch(src.effecttype)
|
||||
if("healing")
|
||||
for (var/mob/living/carbon/M in range(src.aurarange,originator))
|
||||
if(istype(M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
|
||||
for (var/mob/living/carbon/human/M in range(src.aurarange,originator))
|
||||
if(ishuman(M) && istype(M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
|
||||
continue
|
||||
if(prob(10)) M << "\blue You feel a soothing energy radiating from something nearby."
|
||||
M.adjustBruteLoss(-1)
|
||||
@@ -213,8 +213,8 @@
|
||||
M.updatehealth()
|
||||
return 1
|
||||
if("injure")
|
||||
for (var/mob/living/carbon/M in range(src.aurarange,originator))
|
||||
if(istype(M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
|
||||
for (var/mob/living/carbon/human/M in range(src.aurarange,originator))
|
||||
if(istype(ishuman(M) && M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
|
||||
continue
|
||||
if(prob(10)) M << "\red You feel a painful force radiating from something nearby."
|
||||
M.adjustBruteLoss(1)
|
||||
@@ -225,8 +225,8 @@
|
||||
M.updatehealth()
|
||||
return 1
|
||||
/*if("stun")
|
||||
for (var/mob/living/carbon/M in range(src.aurarange,originator))
|
||||
if(istype(M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
|
||||
for (var/mob/living/carbon/human/M in range(src.aurarange,originator))
|
||||
if(ishuman(M) && istype(M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
|
||||
continue
|
||||
if(prob(10)) M << "\red Energy radiating from the [originator] is making you feel numb."
|
||||
if(prob(20))
|
||||
@@ -289,8 +289,8 @@
|
||||
O.show_message(text("<b>[]</b> emits a pulse of energy!", originator), 1)
|
||||
switch(src.effecttype)
|
||||
if("healing")
|
||||
for (var/mob/living/carbon/M in range(src.aurarange,originator))
|
||||
if(istype(M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
|
||||
for (var/mob/living/carbon/human/M in range(src.aurarange,originator))
|
||||
if(ishuman(M) && istype(M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
|
||||
continue
|
||||
M << "\blue A wave of energy invigorates you."
|
||||
M.adjustBruteLoss(-5)
|
||||
@@ -301,8 +301,8 @@
|
||||
M.updatehealth()
|
||||
return 1
|
||||
if("injure")
|
||||
for (var/mob/living/carbon/M in range(src.aurarange,originator))
|
||||
if(istype(M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
|
||||
for (var/mob/living/carbon/human/M in range(src.aurarange,originator))
|
||||
if(ishuman(M) && istype(M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
|
||||
continue
|
||||
M << "\red A wave of energy causes you great pain!"
|
||||
M.adjustBruteLoss(5)
|
||||
@@ -315,8 +315,8 @@
|
||||
M.updatehealth()
|
||||
return 1
|
||||
/*if("stun")
|
||||
for (var/mob/living/carbon/M in range(src.aurarange,originator))
|
||||
if(istype(M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
|
||||
for (var/mob/living/carbon/human/M in range(src.aurarange,originator))
|
||||
if(ishuman(M) && istype(M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
|
||||
continue
|
||||
M << "\red A wave of energy overwhelms your senses!"
|
||||
M.paralysis += 3
|
||||
@@ -373,7 +373,7 @@
|
||||
return 1
|
||||
if("teleport")
|
||||
for (var/mob/living/M in range(src.aurarange,originator))
|
||||
if(istype(M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
|
||||
if(ishuman(M) && istype(M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
|
||||
continue
|
||||
var/list/randomturfs = new/list()
|
||||
for(var/turf/T in orange(M, 30))
|
||||
@@ -392,8 +392,8 @@
|
||||
O.show_message(text("<b>[]</b> emits a powerful burst of energy!", originator), 1)
|
||||
switch(src.effecttype)
|
||||
if("healing")
|
||||
for (var/mob/living/carbon/M in world)
|
||||
if(istype(M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
|
||||
for (var/mob/living/carbon/human/M in world)
|
||||
if(ishuman(M) && istype(M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
|
||||
continue
|
||||
M << "\blue Waves of soothing energy wash over you."
|
||||
M.adjustBruteLoss(-3)
|
||||
@@ -404,7 +404,7 @@
|
||||
M.updatehealth()
|
||||
return 1
|
||||
if("injure")
|
||||
for (var/mob/living/carbon/M in world)
|
||||
for (var/mob/living/carbon/human/M in world)
|
||||
M << "\red A wave of painful energy strikes you!"
|
||||
M.adjustBruteLoss(3)
|
||||
M.adjustFireLoss(3)
|
||||
@@ -414,8 +414,8 @@
|
||||
M.updatehealth()
|
||||
return 1
|
||||
/*if("stun")
|
||||
for (var/mob/living/carbon/M in world)
|
||||
if(istype(M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
|
||||
for (var/mob/living/carbon/human/M in world)
|
||||
if(ishuman(M) && istype(M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
|
||||
continue
|
||||
M << "\red A powerful force causes you to black out momentarily."
|
||||
M.paralysis += 5
|
||||
@@ -459,7 +459,7 @@
|
||||
return 1
|
||||
if("teleport")
|
||||
for (var/mob/living/M in world)
|
||||
if(istype(M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
|
||||
if(ishuman(M) && istype(M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
|
||||
continue
|
||||
var/list/randomturfs = new/list()
|
||||
for(var/turf/T in orange(M, 15))
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 44 KiB |
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user