mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
TG: Emitters emp_act now uses severity properly.
The PA can no longer be remotely controlled by humans and cyborgs can only control it if they are nearby. The spawn PA can now be taken apart. FireAx/Extinguisher closets got their own files. Food closets are now with their defines. Freezer closet/crates override return_air() to cooldown the contents. The var isinfreezer has been eliminated. The old player panel has been readded as an alt for the new one, it may be found under the Player Panel verb. The new player panel may be accessed by the Player Panel-New verb. Crates.dm moved from the storage folder as it is not a storage object. Fixed Issue 227 about the PA shooting when it should not be. r2851
This commit is contained in:
@@ -639,6 +639,8 @@
|
||||
#include "code\game\objects\alien\weeds.dm"
|
||||
#include "code\game\objects\closets\bombsuit.dm"
|
||||
#include "code\game\objects\closets\emergency.dm"
|
||||
#include "code\game\objects\closets\extinguisher.dm"
|
||||
#include "code\game\objects\closets\fireaxe.dm"
|
||||
#include "code\game\objects\closets\firecloset.dm"
|
||||
#include "code\game\objects\closets\gimmick.dm"
|
||||
#include "code\game\objects\closets\gmcloset.dm"
|
||||
@@ -839,6 +841,7 @@
|
||||
#include "code\modules\flufftext\Hallucination.dm"
|
||||
#include "code\modules\flufftext\TextFilters.dm"
|
||||
#include "code\modules\food\food.dm"
|
||||
#include "code\modules\food\meat.dm"
|
||||
#include "code\modules\food\recipes_microwave.dm"
|
||||
#include "code\modules\mining\datum_processing_recipe.dm"
|
||||
#include "code\modules\mining\machine_input_output_plates.dm"
|
||||
|
||||
@@ -12,20 +12,10 @@ atom/movable/proc/experience_pressure_difference(pressure_difference, direction)
|
||||
|
||||
turf
|
||||
assume_air(datum/gas_mixture/giver) //use this for machines to adjust air
|
||||
//First, ensure there is no movable shuttle or what not on tile that is taking over
|
||||
// var/obj/movable/floor/movable_on_me = locate(/obj/movable/floor) in src
|
||||
// if(istype(movable_on_me))
|
||||
// return movable_on_me.assume_air(giver)
|
||||
|
||||
del(giver)
|
||||
return 0
|
||||
|
||||
return_air()
|
||||
//First, ensure there is no movable shuttle or what not on tile that is taking over
|
||||
// var/obj/movable/floor/movable_on_me = locate(/obj/movable/floor) in src
|
||||
// if(istype(movable_on_me))
|
||||
// return movable_on_me.return_air()
|
||||
|
||||
//Create gas mixture to hold data for passing
|
||||
var/datum/gas_mixture/GM = new
|
||||
|
||||
@@ -39,11 +29,6 @@ turf
|
||||
return GM
|
||||
|
||||
remove_air(amount as num)
|
||||
//First, ensure there is no movable shuttle or what not on tile that is taking over
|
||||
// var/obj/movable/floor/movable_on_me = locate(/obj/movable/floor) in src
|
||||
// if(istype(movable_on_me))
|
||||
// return movable_on_me.remove_air(amount)
|
||||
|
||||
var/datum/gas_mixture/GM = new
|
||||
|
||||
var/sum = oxygen + carbon_dioxide + nitrogen + toxins
|
||||
|
||||
@@ -27,7 +27,11 @@
|
||||
return null
|
||||
|
||||
proc/return_air()
|
||||
return null
|
||||
if(loc)
|
||||
return loc.return_air()
|
||||
else
|
||||
return null
|
||||
|
||||
|
||||
|
||||
// Convenience proc to see if a container is open for chemistry handling
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
var/welded = 0
|
||||
var/wall_mounted = 0 //never solid (You can always pass over it)
|
||||
flags = FPRINT
|
||||
var/health = 100 //Might be a bit much, dono can always change later //Nerfed -Pete
|
||||
var/lastbang //
|
||||
var/health = 100
|
||||
var/lastbang
|
||||
var/lasttry = 0
|
||||
layer = 2.98
|
||||
|
||||
@@ -79,202 +79,6 @@
|
||||
density = 0
|
||||
wall_mounted = 1
|
||||
|
||||
/obj/structure/closet/fireaxecabinet
|
||||
name = "Fire Axe Cabinet"
|
||||
desc = "There is small label that reads \"For Emergency use only\" along with details for safe use of the axe."
|
||||
var/obj/item/weapon/fireaxe/fireaxe = new/obj/item/weapon/fireaxe
|
||||
icon_state = "fireaxe1000"
|
||||
icon_closed = "fireaxe1000"
|
||||
icon_opened = "fireaxe1100"
|
||||
anchored = 1
|
||||
density = 0
|
||||
var/localopened = 0 //Setting this to keep it from behaviouring like a normal closet and obstructing movement in the map. -Agouri
|
||||
opened = 1
|
||||
var/hitstaken = 0
|
||||
var/locked = 1
|
||||
var/smashed = 0
|
||||
|
||||
attackby(var/obj/item/O as obj, var/mob/user as mob) //Marker -Agouri
|
||||
//..() //That's very useful, Erro
|
||||
|
||||
var/hasaxe = 0 //gonna come in handy later~
|
||||
if(fireaxe)
|
||||
hasaxe = 1
|
||||
|
||||
if (isrobot(usr) || src.locked)
|
||||
if(istype(O, /obj/item/device/multitool))
|
||||
user << "\red Resetting circuitry..."
|
||||
playsound(user, 'lockreset.ogg', 50, 1)
|
||||
sleep(50) // Sleeping time~
|
||||
src.locked = 0
|
||||
user << "\blue You disable the locking modules."
|
||||
update_icon()
|
||||
return
|
||||
if(istype(O, /obj/item/weapon))
|
||||
var/obj/item/weapon/W = O
|
||||
if(src.smashed)
|
||||
return
|
||||
else
|
||||
playsound(user, 'Glasshit.ogg', 100, 1) //We don't want this playing every time
|
||||
if(W.force < 15)
|
||||
user << "\blue The cabinet's protective glass glances off the hit."
|
||||
else
|
||||
src.hitstaken++
|
||||
if(src.hitstaken == 4)
|
||||
playsound(user, 'Glassbr3.ogg', 100, 1) //Break cabinet, receive goodies. Cabinet's fucked for life after that.
|
||||
src.smashed = 1
|
||||
src.locked = 0
|
||||
src.localopened = 1
|
||||
update_icon()
|
||||
return
|
||||
if (istype(O, /obj/item/weapon/fireaxe) && src.localopened)
|
||||
if(!fireaxe)
|
||||
if(O.wielded)
|
||||
user << "\red Unwield the axe first."
|
||||
return
|
||||
fireaxe = O
|
||||
user.drop_item(O)
|
||||
src.contents += O
|
||||
user << "\blue You place the fire axe back in the [src.name]."
|
||||
update_icon()
|
||||
else
|
||||
if(src.smashed)
|
||||
return
|
||||
else
|
||||
localopened = !localopened
|
||||
if(localopened)
|
||||
icon_state = text("fireaxe[][][][]opening",hasaxe,src.localopened,src.hitstaken,src.smashed)
|
||||
spawn(10) update_icon()
|
||||
else
|
||||
icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed)
|
||||
spawn(10) update_icon()
|
||||
else
|
||||
if(src.smashed)
|
||||
return
|
||||
if(istype(O, /obj/item/device/multitool))
|
||||
if(localopened)
|
||||
localopened = 0
|
||||
icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed)
|
||||
spawn(10) update_icon()
|
||||
return
|
||||
else
|
||||
user << "\red Resetting circuitry..."
|
||||
sleep(50)
|
||||
src.locked = 1
|
||||
user << "\blue You re-enable the locking modules."
|
||||
playsound(user, 'lockenable.ogg', 50, 1)
|
||||
return
|
||||
else
|
||||
localopened = !localopened
|
||||
if(localopened)
|
||||
icon_state = text("fireaxe[][][][]opening",hasaxe,src.localopened,src.hitstaken,src.smashed)
|
||||
spawn(10) update_icon()
|
||||
else
|
||||
icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed)
|
||||
spawn(10) update_icon()
|
||||
|
||||
|
||||
|
||||
|
||||
attack_hand(mob/user as mob)
|
||||
|
||||
var/hasaxe = 0
|
||||
if(fireaxe)
|
||||
hasaxe = 1
|
||||
|
||||
if(src.locked)
|
||||
user <<"\red The cabinet won't budge!"
|
||||
return
|
||||
if(localopened)
|
||||
if(fireaxe)
|
||||
user.put_in_hand(fireaxe)
|
||||
fireaxe = null
|
||||
user << "\blue You take the fire axe from the [name]."
|
||||
src.add_fingerprint(user)
|
||||
update_icon()
|
||||
else
|
||||
if(src.smashed)
|
||||
return
|
||||
else
|
||||
localopened = !localopened
|
||||
if(localopened)
|
||||
src.icon_state = text("fireaxe[][][][]opening",hasaxe,src.localopened,src.hitstaken,src.smashed)
|
||||
spawn(10) update_icon()
|
||||
else
|
||||
src.icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed)
|
||||
spawn(10) update_icon()
|
||||
|
||||
else
|
||||
localopened = !localopened //I'm pretty sure we don't need an if(src.smashed) in here. In case I'm wrong and it fucks up teh cabinet, **MARKER**. -Agouri
|
||||
if(localopened)
|
||||
src.icon_state = text("fireaxe[][][][]opening",hasaxe,src.localopened,src.hitstaken,src.smashed)
|
||||
spawn(10) update_icon()
|
||||
else
|
||||
src.icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed)
|
||||
spawn(10) update_icon()
|
||||
|
||||
verb/toggle_openness() //nice name, huh? HUH?! -Erro //YEAH -Agouri
|
||||
set name = "Open/Close"
|
||||
set category = "Object"
|
||||
|
||||
if (isrobot(usr) || src.locked || src.smashed)
|
||||
if(src.locked)
|
||||
usr << "\red The cabinet won't budge!"
|
||||
else if(src.smashed)
|
||||
usr << "\blue The protective glass is broken!"
|
||||
return
|
||||
|
||||
localopened = !localopened
|
||||
update_icon()
|
||||
|
||||
verb/remove_fire_axe()
|
||||
set name = "Remove Fire Axe"
|
||||
set category = "Object"
|
||||
|
||||
if (isrobot(usr))
|
||||
return
|
||||
|
||||
if (localopened)
|
||||
if(fireaxe)
|
||||
usr.put_in_hand(fireaxe)
|
||||
fireaxe = null
|
||||
usr << "\blue You take the Fire axe from the [name]."
|
||||
else
|
||||
usr << "\blue The [src.name] is empty."
|
||||
else
|
||||
usr << "\blue The [src.name] is closed."
|
||||
update_icon()
|
||||
|
||||
attack_paw(mob/user as mob)
|
||||
attack_hand(user)
|
||||
return
|
||||
|
||||
attack_ai(mob/user as mob)
|
||||
if(src.smashed)
|
||||
user << "\red The security of the cabinet is compromised."
|
||||
return
|
||||
else
|
||||
locked = !locked
|
||||
if(locked)
|
||||
user << "\red Cabinet locked."
|
||||
else
|
||||
user << "\blue Cabinet unlocked."
|
||||
return
|
||||
|
||||
update_icon() //Template: fireaxe[has fireaxe][is opened][hits taken][is smashed]. If you want the opening or closing animations, add "opening" or "closing" right after the numbers
|
||||
var/hasaxe = 0
|
||||
if(fireaxe)
|
||||
hasaxe = 1
|
||||
icon_state = text("fireaxe[][][][]",hasaxe,src.localopened,src.hitstaken,src.smashed)
|
||||
|
||||
open()
|
||||
return
|
||||
|
||||
close()
|
||||
return
|
||||
|
||||
|
||||
|
||||
/obj/structure/closet/toolcloset
|
||||
name = "Tool Closet"
|
||||
desc = "A bulky (yet mobile) closet. Contains tools."
|
||||
@@ -374,93 +178,6 @@
|
||||
|
||||
// Inserting the gimmick clothing stuff here for generic items, IE Tacticool stuff
|
||||
|
||||
/obj/structure/closet/extinguisher
|
||||
name = "Extinguisher closet"
|
||||
desc = "A small wall mounted cabinet designed to hold a fire extinguisher."
|
||||
icon_state = "extinguisher10"
|
||||
icon_opened = "extinguisher11"
|
||||
icon_closed = "extinguisher10"
|
||||
opened = 1
|
||||
anchored = 1
|
||||
density = 0
|
||||
var/obj/item/weapon/extinguisher/EXTINGUISHER = new/obj/item/weapon/extinguisher
|
||||
var/localopened = 1
|
||||
|
||||
open()
|
||||
return
|
||||
|
||||
close()
|
||||
return
|
||||
|
||||
attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
if (isrobot(usr))
|
||||
return
|
||||
if (istype(O, /obj/item/weapon/extinguisher))
|
||||
if(!EXTINGUISHER)
|
||||
user.drop_item(O)
|
||||
src.contents += O
|
||||
EXTINGUISHER = O
|
||||
user << "\blue You place the extinguisher in the [src.name]."
|
||||
else
|
||||
localopened = !localopened
|
||||
else
|
||||
localopened = !localopened
|
||||
update_icon()
|
||||
|
||||
attack_hand(mob/user as mob)
|
||||
if(localopened)
|
||||
if(EXTINGUISHER)
|
||||
user.put_in_hand(EXTINGUISHER)
|
||||
EXTINGUISHER = null
|
||||
user << "\blue You take the extinguisher from the [name]."
|
||||
else
|
||||
localopened = !localopened
|
||||
|
||||
else
|
||||
localopened = !localopened
|
||||
update_icon()
|
||||
|
||||
verb/toggle_openness() //nice name, huh? HUH?!
|
||||
set name = "Open/Close"
|
||||
set category = "Object"
|
||||
|
||||
if (isrobot(usr))
|
||||
return
|
||||
|
||||
localopened = !localopened
|
||||
update_icon()
|
||||
|
||||
verb/remove_extinguisher()
|
||||
set name = "Remove Extinguisher"
|
||||
set category = "Object"
|
||||
|
||||
if (isrobot(usr))
|
||||
return
|
||||
|
||||
if (localopened)
|
||||
if(EXTINGUISHER)
|
||||
usr.put_in_hand(EXTINGUISHER)
|
||||
EXTINGUISHER = null
|
||||
usr << "\blue You take the extinguisher from the [name]."
|
||||
else
|
||||
usr << "\blue The [name] is empty."
|
||||
else
|
||||
usr << "\blue The [name] is closed."
|
||||
update_icon()
|
||||
|
||||
attack_paw(mob/user as mob)
|
||||
attack_hand(user)
|
||||
return
|
||||
|
||||
attack_ai(mob/user as mob)
|
||||
return
|
||||
|
||||
update_icon()
|
||||
var/hasextinguisher = 0
|
||||
if(EXTINGUISHER)
|
||||
hasextinguisher = 1
|
||||
icon_state = text("extinguisher[][]",hasextinguisher,src.localopened)
|
||||
|
||||
|
||||
/obj/structure/closet/gimmick
|
||||
name = "Administrative Supply Closet"
|
||||
@@ -745,40 +462,10 @@
|
||||
/obj/structure/closet/secure_closet/personal/patient
|
||||
name = "Patient's closet"
|
||||
|
||||
/obj/structure/closet/secure_closet/kitchen
|
||||
name = "Kitchen Cabinet"
|
||||
req_access = list(access_kitchen)
|
||||
|
||||
/obj/structure/closet/secure_closet/kitchen/mining
|
||||
req_access = list()
|
||||
|
||||
/obj/structure/closet/secure_closet/meat
|
||||
name = "Meat Fridge"
|
||||
icon_state = "fridge1"
|
||||
icon_closed = "fridge"
|
||||
icon_locked = "fridge1"
|
||||
icon_opened = "fridgeopen"
|
||||
icon_broken = "fridgebroken"
|
||||
icon_off = "fridge1"
|
||||
|
||||
/obj/structure/closet/secure_closet/fridge
|
||||
name = "Refrigerator"
|
||||
icon_state = "fridge1"
|
||||
icon_closed = "fridge"
|
||||
icon_locked = "fridge1"
|
||||
icon_opened = "fridgeopen"
|
||||
icon_broken = "fridgebroken"
|
||||
icon_off = "fridge1"
|
||||
|
||||
/obj/structure/closet/secure_closet/money_freezer
|
||||
name = "Freezer"
|
||||
icon_state = "fridge1"
|
||||
icon_closed = "fridge"
|
||||
icon_locked = "fridge1"
|
||||
icon_opened = "fridgeopen"
|
||||
icon_broken = "fridgebroken"
|
||||
icon_off = "fridge1"
|
||||
req_access = list(access_heads_vault)
|
||||
/obj/structure/closet/secure_closet/personal/patient
|
||||
name = "patient's closet"
|
||||
|
||||
/obj/structure/closet/secure_closet/wall
|
||||
name = "wall locker"
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
var/g_amount = 0.0
|
||||
var/operating = 0.0
|
||||
var/opened = 0.0
|
||||
//var/temp = null
|
||||
anchored = 1.0
|
||||
var/list/L = list()
|
||||
var/list/LL = list()
|
||||
|
||||
@@ -1,81 +1,114 @@
|
||||
/obj/structure/closet/secure_closet/kitchen/New()
|
||||
..()
|
||||
sleep(2)
|
||||
/*new /obj/item/clothing/head/chefhat(src)
|
||||
new /obj/item/clothing/head/chefhat(src)
|
||||
new /obj/item/clothing/under/rank/chef(src)
|
||||
new /obj/item/clothing/under/rank/chef(src)*/
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
|
||||
new /obj/item/weapon/reagent_containers/food/condiment/sugar(src)
|
||||
/*new /obj/item/weapon/tray(src)
|
||||
new /obj/item/weapon/tray(src)
|
||||
new /obj/item/weapon/tray(src)
|
||||
new /obj/item/weapon/tray(src)
|
||||
new /obj/item/weapon/tray(src)
|
||||
new /obj/item/weapon/tray(src)
|
||||
new /obj/item/weapon/kitchenknife(src)*/
|
||||
/*new /obj/item/clothing/head/chefhat(src)
|
||||
new /obj/item/clothing/head/chefhat(src)
|
||||
new /obj/item/clothing/under/rank/chef(src)
|
||||
new /obj/item/clothing/under/rank/chef(src)
|
||||
new /obj/item/weapon/kitchen/utensil/fork(src)
|
||||
new /obj/item/weapon/kitchen/utensil/knife(src)
|
||||
new /obj/item/weapon/kitchen/utensil/spoon(src)
|
||||
new /obj/item/weapon/kitchen/rollingpin(src)*/
|
||||
/obj/structure/closet/secure_closet/freezer
|
||||
var
|
||||
target_temp = T0C - 40
|
||||
cooling_power = 40
|
||||
|
||||
return_air()
|
||||
var/datum/gas_mixture/gas = (..())
|
||||
if(!gas) return null
|
||||
var/datum/gas_mixture/newgas = new/datum/gas_mixture()
|
||||
newgas.oxygen = gas.oxygen
|
||||
newgas.carbon_dioxide = gas.carbon_dioxide
|
||||
newgas.nitrogen = gas.nitrogen
|
||||
newgas.toxins = gas.toxins
|
||||
newgas.volume = gas.volume
|
||||
newgas.temperature = gas.temperature
|
||||
if(newgas.temperature <= target_temp) return
|
||||
|
||||
if((newgas.temperature - cooling_power) > target_temp)
|
||||
newgas.temperature -= cooling_power
|
||||
else
|
||||
newgas.temperature = target_temp
|
||||
return newgas
|
||||
|
||||
|
||||
|
||||
/obj/structure/closet/secure_closet/freezer/kitchen
|
||||
name = "Kitchen Cabinet"
|
||||
req_access = list(access_kitchen)
|
||||
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
for(var/i = 0, i < 16, i++)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
|
||||
new /obj/item/weapon/reagent_containers/food/condiment/sugar(src)
|
||||
return
|
||||
|
||||
|
||||
/obj/structure/closet/secure_closet/freezer/kitchen/mining
|
||||
req_access = list()
|
||||
|
||||
|
||||
|
||||
/obj/structure/closet/secure_closet/freezer/meat
|
||||
name = "Meat Fridge"
|
||||
icon_state = "fridge1"
|
||||
icon_closed = "fridge"
|
||||
icon_locked = "fridge1"
|
||||
icon_opened = "fridgeopen"
|
||||
icon_broken = "fridgebroken"
|
||||
icon_off = "fridge1"
|
||||
|
||||
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
for(var/i = 0, i < 4, i++)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/meat/monkey(src)
|
||||
return
|
||||
|
||||
|
||||
|
||||
/obj/structure/closet/secure_closet/freezer/fridge
|
||||
name = "Refrigerator"
|
||||
icon_state = "fridge1"
|
||||
icon_closed = "fridge"
|
||||
icon_locked = "fridge1"
|
||||
icon_opened = "fridgeopen"
|
||||
icon_broken = "fridgebroken"
|
||||
icon_off = "fridge1"
|
||||
|
||||
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
for(var/i = 0, i < 5, i++)
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/milk(src)
|
||||
for(var/i = 0, i < 5, i++)
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/soymilk(src)
|
||||
for(var/i = 0, i < 2, i++)
|
||||
new /obj/item/kitchen/egg_box(src)
|
||||
return
|
||||
|
||||
|
||||
|
||||
/obj/structure/closet/secure_closet/freezer/money
|
||||
name = "Freezer"
|
||||
icon_state = "fridge1"
|
||||
icon_closed = "fridge"
|
||||
icon_locked = "fridge1"
|
||||
icon_opened = "fridgeopen"
|
||||
icon_broken = "fridgebroken"
|
||||
icon_off = "fridge1"
|
||||
req_access = list(access_heads_vault)
|
||||
|
||||
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
for(var/i = 0, i < 3, i++)
|
||||
new /obj/item/weapon/spacecash/c1000(src)
|
||||
for(var/i = 0, i < 5, i++)
|
||||
new /obj/item/weapon/spacecash/c500(src)
|
||||
for(var/i = 0, i < 6, i++)
|
||||
new /obj/item/weapon/spacecash/c200(src)
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/obj/structure/closet/secure_closet/meat/New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/sliceable/meat/monkey(src)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/sliceable/meat/monkey(src)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/sliceable/meat/monkey(src)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/sliceable/meat/monkey(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/fridge/New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/milk(src)
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/milk(src)
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/milk(src)
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/milk(src)
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/milk(src)
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/soymilk(src)
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/soymilk(src)
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/soymilk(src)
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/soymilk(src)
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/soymilk(src)
|
||||
new /obj/item/kitchen/egg_box(src)
|
||||
new /obj/item/kitchen/egg_box(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/money_freezer/New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/weapon/spacecash/c1000(src)
|
||||
new /obj/item/weapon/spacecash/c1000(src)
|
||||
new /obj/item/weapon/spacecash/c1000(src)
|
||||
new /obj/item/weapon/spacecash/c500(src)
|
||||
new /obj/item/weapon/spacecash/c500(src)
|
||||
new /obj/item/weapon/spacecash/c500(src)
|
||||
new /obj/item/weapon/spacecash/c500(src)
|
||||
new /obj/item/weapon/spacecash/c500(src)
|
||||
new /obj/item/weapon/spacecash/c200(src)
|
||||
new /obj/item/weapon/spacecash/c200(src)
|
||||
new /obj/item/weapon/spacecash/c200(src)
|
||||
new /obj/item/weapon/spacecash/c200(src)
|
||||
new /obj/item/weapon/spacecash/c200(src)
|
||||
new /obj/item/weapon/spacecash/c200(src)
|
||||
@@ -62,9 +62,9 @@
|
||||
return 1
|
||||
|
||||
|
||||
emp_act()//Emitters are hardened but still might have issues
|
||||
emp_act(var/severity)//Emitters are hardened but still might have issues
|
||||
use_power(50)
|
||||
if(prob(1)&&prob(1))
|
||||
if((severity == 1)&&prob(1)&&prob(1))
|
||||
if(src.active)
|
||||
src.active = 0
|
||||
src.use_power = 1
|
||||
|
||||
@@ -67,7 +67,7 @@ PE|PE|PE
|
||||
|
||||
|
||||
examine()
|
||||
set src in usr
|
||||
set src in oview(1)
|
||||
switch(src.construction_state)
|
||||
if(0)
|
||||
src.desc = text("Part of a Particle Accelerator, looks like its not attached to the flooring")
|
||||
@@ -161,9 +161,9 @@ PE|PE|PE
|
||||
if(temp_state == src.construction_state)//Nothing changed
|
||||
return 0
|
||||
else
|
||||
if(src.construction_state >= 3)//Was taken apart, update state
|
||||
update_state()
|
||||
src.construction_state = temp_state
|
||||
if(src.construction_state < 3)//Was taken apart, update state
|
||||
update_state()
|
||||
update_icon()
|
||||
return 1
|
||||
return 0
|
||||
@@ -266,7 +266,7 @@ PE|PE|PE
|
||||
if(temp_state == src.construction_state)//Nothing changed
|
||||
return 0
|
||||
else
|
||||
if(src.construction_state >= 3)//Was taken apart, update state
|
||||
if(src.construction_state < 3)//Was taken apart, update state
|
||||
update_state()
|
||||
if(use_power)
|
||||
use_power = 0
|
||||
|
||||
@@ -34,12 +34,21 @@
|
||||
connected_parts = list()
|
||||
return
|
||||
if(!part_scan())
|
||||
assembled = 0
|
||||
use_power = 1
|
||||
active = 0
|
||||
connected_parts = list()
|
||||
|
||||
return
|
||||
|
||||
|
||||
Topic(href, href_list)
|
||||
..()
|
||||
//Ignore input if we are broken, !silicon guy cant touch us, or nonai controlling from super far away
|
||||
if(stat & (BROKEN|NOPOWER) || (get_dist(src, usr) > 1 && !istype(usr, /mob/living/silicon)) || (get_dist(src, usr) > 8 && !istype(usr, /mob/living/silicon/ai)))
|
||||
usr.machine = null
|
||||
usr << browse(null, "window=pacontrol")
|
||||
return
|
||||
|
||||
if( href_list["close"] )
|
||||
usr << browse(null, "window=pacontrol")
|
||||
usr.machine = null
|
||||
@@ -63,6 +72,7 @@
|
||||
message_admins("[usr] decreased particle accelerator power to [strength].")
|
||||
log_admin("[usr] decreased particle accelerator power to [strength].")
|
||||
src.updateDialog()
|
||||
return
|
||||
|
||||
|
||||
power_change()
|
||||
@@ -74,6 +84,7 @@
|
||||
use_power = 1
|
||||
return
|
||||
|
||||
|
||||
process()
|
||||
if(src.active)
|
||||
for(var/obj/structure/particle_accelerator/particle_emitter/PE in connected_parts)
|
||||
@@ -145,8 +156,8 @@
|
||||
|
||||
|
||||
interact(mob/user)
|
||||
if ( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) )
|
||||
if (!istype(user, /mob/living/silicon))
|
||||
if((get_dist(src, user) > 1) || (stat & (BROKEN|NOPOWER)))
|
||||
if(!istype(user, /mob/living/silicon))
|
||||
user.machine = null
|
||||
user << browse(null, "window=pacontrol")
|
||||
return
|
||||
@@ -172,3 +183,4 @@
|
||||
|
||||
user << browse(dat, "window=pacontrol;size=420x500")
|
||||
onclose(user, "pacontrol")
|
||||
return
|
||||
|
||||
@@ -2871,7 +2871,7 @@
|
||||
"bdk" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/hallway/primary/central)
|
||||
"bdl" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/door/firedoor/border_only,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/central)
|
||||
"bdm" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/crew_quarters/kitchen)
|
||||
"bdn" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/closet/secure_closet/kitchen,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
|
||||
"bdn" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/closet/secure_closet/freezer/kitchen,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
|
||||
"bdo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
|
||||
"bdp" = (/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
|
||||
"bdq" = (/obj/structure/stool{pixel_y = 5},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
|
||||
@@ -3093,7 +3093,7 @@
|
||||
"bhy" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/bridge/meeting_room)
|
||||
"bhz" = (/obj/machinery/camera{c_tag = "Central Hallway East"; dir = 4; network = "SS13"},/obj/structure/disposalpipe/segment{dir = 1},/turf/simulated/floor,/area/hallway/primary/central)
|
||||
"bhA" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor/plating,/area/crew_quarters/kitchen)
|
||||
"bhB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/closet/secure_closet/fridge,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
|
||||
"bhB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
|
||||
"bhC" = (/obj/machinery/light,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
|
||||
"bhD" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/snacks/pie,/obj/machinery/door/poddoor/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "kitchen2"; name = "Kitchen Shutters"; opacity = 0},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
|
||||
"bhE" = (/obj/structure/table,/obj/item/clothing/head/cakehat,/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/cafeteria)
|
||||
@@ -3157,7 +3157,7 @@
|
||||
"biK" = (/obj/structure/disposalpipe/segment{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central)
|
||||
"biL" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central)
|
||||
"biM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area/crew_quarters/kitchen)
|
||||
"biN" = (/obj/structure/closet/secure_closet/meat,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -29; pixel_y = 0},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
|
||||
"biN" = (/obj/item/weapon/reagent_containers/food/snacks/sliceable/meat,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -29; pixel_y = 0},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
|
||||
"biO" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
|
||||
"biP" = (/obj/structure/table,/obj/machinery/processor,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
|
||||
"biQ" = (/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
|
||||
@@ -3949,7 +3949,7 @@
|
||||
"bxW" = (/obj/machinery/door/airlock/maintenance{name = "Quartermaster's Office"; req_access_txt = "41"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/quartermaster/qm)
|
||||
"bxX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/quartermaster/qm)
|
||||
"bxY" = (/obj/machinery/light{dir = 4},/turf/simulated/floor,/area/quartermaster/miningdock)
|
||||
"bxZ" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/closet/secure_closet/money_freezer,/turf/simulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/security/nuke_storage)
|
||||
"bxZ" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/closet/secure_closet/freezer/money,/turf/simulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/security/nuke_storage)
|
||||
"bya" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{tag = "icon-vault (SOUTHEAST)"; icon_state = "vault"; dir = 6},/area/security/nuke_storage)
|
||||
"byb" = (/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/security/nuke_storage)
|
||||
"byc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/obj/machinery/alarm{frequency = 1437; pixel_y = 23},/turf/simulated/floor{tag = "icon-vault (SOUTHWEST)"; icon_state = "vault"; dir = 10},/area/security/nuke_storage)
|
||||
@@ -5931,7 +5931,7 @@
|
||||
"ckc" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom)
|
||||
"ckd" = (/obj/item/weapon/reagent_containers/food/condiment/saltshaker,/obj/structure/table,/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/living)
|
||||
"cke" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living)
|
||||
"ckf" = (/obj/structure/closet/secure_closet/meat,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living)
|
||||
"ckf" = (/obj/item/weapon/reagent_containers/food/snacks/sliceable/meat,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living)
|
||||
"ckg" = (/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living)
|
||||
"ckh" = (/obj/structure/closet/crate/medical,/turf/unsimulated/floor{icon = 'shuttle.dmi'; icon_state = "floor3"},/area/syndicate_station/start)
|
||||
"cki" = (/obj/item/weapon/storage/firstaid/regular{pixel_x = 6; pixel_y = -5},/turf/unsimulated/floor{icon = 'shuttle.dmi'; icon_state = "floor3"},/area/syndicate_station/start)
|
||||
@@ -6431,8 +6431,8 @@
|
||||
"ctI" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
|
||||
"ctJ" = (/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
|
||||
"ctK" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
|
||||
"ctL" = (/obj/structure/closet/secure_closet/meat,/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
|
||||
"ctM" = (/obj/structure/closet/secure_closet/fridge,/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
|
||||
"ctL" = (/obj/item/weapon/reagent_containers/food/snacks/sliceable/meat,/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
|
||||
"ctM" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
|
||||
"ctN" = (/obj/structure/stool/bed/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
|
||||
"ctO" = (/obj/structure/disposalpipe/trunk,/obj/structure/disposaloutlet,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
|
||||
"ctP" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
|
||||
|
||||
Reference in New Issue
Block a user