mirror of
https://github.com/Skyrat-SS13/Skyrat-tg.git
synced 2026-08-22 20:39:06 +01:00
3591 individual conflicts Update build.js Update install_node.sh Update byond.js oh my fucking god hat slow huh holy shit we all fall down 2 more I missed 2900 individual conflicts 2700 Individual conflicts replaces yarn file with tg version, bumping us down to 2200-ish Down to 2000 individual conflicts 140 down mmm aaaaaaaaaaaaaaaaaaa not yt 575 soon 900 individual conflicts 600 individual conflicts, 121 file conflicts im not okay 160 across 19 files 29 in 4 files 0 conflicts, compiletime fix time some minor incap stuff missed ticks weird dupe definition stuff missed ticks 2 incap fixes undefs and pie fix Radio update and some extra minor stuff returns a single override no more dupe definitions, 175 compiletime errors Unticked file fix sound and emote stuff honk and more radio stuff
268 lines
9.8 KiB
Plaintext
268 lines
9.8 KiB
Plaintext
/obj/structure/closet/crate/secure
|
|
desc = "A secure crate."
|
|
name = "secure crate"
|
|
icon_state = "securecrate"
|
|
base_icon_state = "securecrate"
|
|
secure = TRUE
|
|
locked = TRUE
|
|
max_integrity = 500
|
|
armor_type = /datum/armor/crate_secure
|
|
damage_deflection = 25
|
|
|
|
var/tamperproof = 0
|
|
|
|
/datum/armor/crate_secure
|
|
melee = 30
|
|
bullet = 50
|
|
laser = 50
|
|
energy = 100
|
|
fire = 80
|
|
acid = 80
|
|
|
|
/obj/structure/closet/crate/secure/Initialize(mapload)
|
|
. = ..()
|
|
ADD_TRAIT(src, TRAIT_NO_MISSING_ITEM_ERROR, TRAIT_GENERIC)
|
|
ADD_TRAIT(src, TRAIT_NO_MANIFEST_CONTENTS_ERROR, TRAIT_GENERIC)
|
|
|
|
/obj/structure/closet/crate/secure/take_damage(damage_amount, damage_type = BRUTE, damage_flag = "", sound_effect = TRUE, attack_dir, armour_penetration = 0)
|
|
if(prob(tamperproof) && damage_amount >= DAMAGE_PRECISION)
|
|
boom()
|
|
else
|
|
return ..()
|
|
|
|
/obj/structure/closet/crate/secure/proc/boom(mob/user)
|
|
if(user)
|
|
to_chat(user, span_danger("The crate's anti-tamper system activates!"))
|
|
log_bomber(user, "has detonated a", src)
|
|
dump_contents()
|
|
explosion(src, heavy_impact_range = 1, light_impact_range = 5, flash_range = 5)
|
|
qdel(src)
|
|
|
|
/obj/structure/closet/crate/secure/weapon
|
|
desc = "A secure weapons crate."
|
|
name = "weapons crate"
|
|
icon_state = "weaponcrate"
|
|
base_icon_state = "weaponcrate"
|
|
|
|
/obj/structure/closet/crate/secure/gorlex_weapons
|
|
desc = "A secure weapons crate of Gorlex Marauders."
|
|
name = "weapons crate"
|
|
icon_state = "gorlex_weaponcrate"
|
|
base_icon_state = "gorlex_weaponcrate"
|
|
|
|
/obj/structure/closet/crate/secure/gorlex_weapons/jammed
|
|
desc = "A beaten up, jammed open weapon crate of Gorlex Marauders."
|
|
name = "jammed weapons crate"
|
|
locked = FALSE
|
|
|
|
/obj/structure/closet/crate/secure/plasma
|
|
desc = "A secure plasma crate."
|
|
name = "plasma crate"
|
|
icon_state = "plasmacrate"
|
|
base_icon_state = "plasmacrate"
|
|
|
|
/obj/structure/closet/crate/secure/gear
|
|
desc = "A secure gear crate."
|
|
name = "gear crate"
|
|
icon_state = "secgearcrate"
|
|
base_icon_state = "secgearcrate"
|
|
|
|
/obj/structure/closet/crate/secure/hydroponics
|
|
desc = "A crate with a lock on it, painted in the scheme of the station's botanists."
|
|
name = "secure hydroponics crate"
|
|
icon_state = "hydrosecurecrate"
|
|
base_icon_state = "hydrosecurecrate"
|
|
|
|
/obj/structure/closet/crate/secure/freezer //for consistency with other "freezer" closets/crates
|
|
desc = "An icebox with a lock on it, used to secure perishables."
|
|
name = "secure kitchen icebox"
|
|
icon_state = "kitchen_secure_crate"
|
|
base_icon_state = "kitchen_secure_crate"
|
|
paint_jobs = null
|
|
|
|
/obj/structure/closet/crate/secure/freezer/pizza
|
|
name = "secure pizza crate"
|
|
desc = "An insulated crate with a lock on it, used to secure pizza."
|
|
tamperproof = 10
|
|
req_access = list(ACCESS_KITCHEN)
|
|
|
|
/obj/structure/closet/crate/secure/freezer/pizza/PopulateContents()
|
|
. = ..()
|
|
new /obj/effect/spawner/random/food_or_drink/pizzaparty(src)
|
|
|
|
/obj/structure/closet/crate/secure/centcom
|
|
name = "secure centcom crate"
|
|
icon_state = "centcom_secure"
|
|
base_icon_state = "centcom_secure"
|
|
|
|
/obj/structure/closet/crate/secure/cargo
|
|
name = "secure cargo crate"
|
|
icon_state = "cargo_secure"
|
|
base_icon_state = "cargo_secure"
|
|
|
|
/obj/structure/closet/crate/secure/cargo/mining
|
|
name = "secure mining crate"
|
|
icon_state = "mining_secure"
|
|
base_icon_state = "mining_secure"
|
|
|
|
/obj/structure/closet/crate/secure/radiation
|
|
name = "secure radioation crate"
|
|
icon_state = "radiation_secure"
|
|
base_icon_state = "radiation_secure"
|
|
|
|
/obj/structure/closet/crate/secure/engineering
|
|
desc = "A crate with a lock on it, painted in the scheme of the station's engineers."
|
|
name = "secure engineering crate"
|
|
icon_state = "engi_secure_crate"
|
|
base_icon_state = "engi_secure_crate"
|
|
|
|
/obj/structure/closet/crate/secure/engineering/atmos
|
|
name = "secure atmospherics crate"
|
|
desc = "A crate with a lock on it, painted in the scheme of the station's atmospherics engineers."
|
|
icon_state = "atmos_secure"
|
|
base_icon_state = "atmos_secure"
|
|
|
|
/obj/structure/closet/crate/secure/science
|
|
name = "secure science crate"
|
|
desc = "A crate with a lock on it, painted in the scheme of the station's scientists."
|
|
icon_state = "scisecurecrate"
|
|
base_icon_state = "scisecurecrate"
|
|
|
|
/obj/structure/closet/crate/secure/science/robo
|
|
name = "robotics science crate"
|
|
icon_state = "robo_secure"
|
|
base_icon_state = "robo_secure"
|
|
|
|
/obj/structure/closet/crate/secure/trashcart
|
|
desc = "A heavy, metal trashcart with wheels. It has an electronic lock on it."
|
|
name = "secure trash cart"
|
|
max_integrity = 250
|
|
damage_deflection = 10
|
|
icon_state = "securetrashcart"
|
|
base_icon_state = "securetrashcart"
|
|
paint_jobs = null
|
|
req_access = list(ACCESS_JANITOR)
|
|
|
|
/obj/structure/closet/crate/secure/trashcart/filled
|
|
|
|
/obj/structure/closet/crate/secure/trashcart/filled/PopulateContents()
|
|
. = ..()
|
|
for(var/i in 1 to rand(8,12))
|
|
new /obj/effect/spawner/random/trash/deluxe_garbage(src)
|
|
if(prob(35))
|
|
new /obj/effect/spawner/random/trash/garbage(src)
|
|
for(var/i in 1 to rand(4,6))
|
|
if(prob(30))
|
|
new /obj/item/storage/bag/trash/filled(src)
|
|
|
|
/obj/structure/closet/crate/secure/owned
|
|
name = "private crate"
|
|
desc = "A crate cover designed to only open for who purchased its contents."
|
|
icon_state = "privatecrate"
|
|
base_icon_state = "privatecrate"
|
|
///Account of the person buying the crate if private purchasing.
|
|
var/datum/bank_account/buyer_account
|
|
///Department of the person buying the crate if buying via the NIRN app.
|
|
var/datum/bank_account/department/department_account
|
|
///Is the secure crate opened or closed?
|
|
var/privacy_lock = TRUE
|
|
///Is the crate being bought by a person, or a budget card?
|
|
var/department_purchase = FALSE
|
|
|
|
/obj/structure/closet/crate/secure/owned/examine(mob/user)
|
|
. = ..()
|
|
. += span_notice("It's locked with a privacy lock, and can only be unlocked by the buyer's ID.")
|
|
|
|
/obj/structure/closet/crate/secure/owned/Initialize(mapload, datum/bank_account/_buyer_account)
|
|
. = ..()
|
|
buyer_account = _buyer_account
|
|
if(IS_DEPARTMENTAL_ACCOUNT(buyer_account))
|
|
department_purchase = TRUE
|
|
department_account = buyer_account
|
|
|
|
/obj/structure/closet/crate/secure/owned/togglelock(mob/living/user, silent)
|
|
if(privacy_lock)
|
|
if(!broken)
|
|
var/obj/item/card/id/id_card = user.get_idcard(TRUE)
|
|
if(id_card)
|
|
if(id_card.registered_account)
|
|
if(id_card.registered_account == buyer_account || (department_purchase && (id_card.registered_account?.account_job?.paycheck_department) == (department_account.department_id)))
|
|
if(iscarbon(user))
|
|
add_fingerprint(user)
|
|
locked = !locked
|
|
user.visible_message(span_notice("[user] unlocks [src]'s privacy lock."),
|
|
span_notice("You unlock [src]'s privacy lock."))
|
|
privacy_lock = FALSE
|
|
update_appearance()
|
|
else if(!silent)
|
|
to_chat(user, span_warning("Bank account does not match with buyer!"))
|
|
else if(!silent)
|
|
to_chat(user, span_warning("No linked bank account detected!"))
|
|
else if(!silent)
|
|
to_chat(user, span_warning("No ID detected!"))
|
|
else if(!silent)
|
|
to_chat(user, span_warning("[src] is broken!"))
|
|
else ..()
|
|
|
|
/obj/structure/closet/crate/secure/interdyne
|
|
name = "interdyne crate"
|
|
desc = "Crate belonging to Interdyne Pharmaceutics. Hopefully doesn't have bioweapons inside..."
|
|
icon_state = "interdynecrate"
|
|
base_icon_state = "interdynecrate"
|
|
|
|
/obj/structure/closet/crate/secure/tiger
|
|
name = "tiger co-op crate"
|
|
icon_state = "tigercrate"
|
|
base_icon_state = "tigercrate"
|
|
|
|
/obj/structure/closet/crate/secure/self
|
|
name = "s.e.l.f. crate"
|
|
desc = "A secure crate locked from the inside with a scanning panel above it and holographic display of lock's status. Sentient Engine Liberation Front engineers are quite the show-offs."
|
|
icon_state = "selfcrate"
|
|
base_icon_state = "selfcrate"
|
|
|
|
/obj/structure/closet/crate/secure/m13
|
|
name = "mysterious secure crate"
|
|
desc = "A secure crate. Lacks any obvious logos or even codes for where it arrived from, but looks like taken straight from a spy movie."
|
|
icon_state = "mithirteencrate"
|
|
base_icon_state = "mithirteencrate"
|
|
|
|
/obj/structure/closet/crate/secure/arc
|
|
name = "animal rights consortium crate"
|
|
icon_state = "arccrate"
|
|
base_icon_state = "arccrate"
|
|
|
|
/obj/structure/closet/crate/secure/cybersun
|
|
name = "cybersun crate"
|
|
|
|
/obj/structure/closet/crate/secure/cybersun/dawn
|
|
desc = "A secure crate from Cybersun Industries. It has distinct orange-green colouring, probably of some departament or division, but you cannot tell what is it."
|
|
icon_state = "cyber_dawncrate"
|
|
base_icon_state = "cyber_dawncrate"
|
|
|
|
/obj/structure/closet/crate/secure/cybersun/noon
|
|
desc = "A secure crate from Cybersun Industries. It has distinct yellow-orange colouring, probably of some departament or division, but you cannot tell what is it."
|
|
icon_state = "cyber_nooncrate"
|
|
base_icon_state = "cyber_nooncrate"
|
|
|
|
/obj/structure/closet/crate/secure/cybersun/dusk
|
|
desc = "A secure crate from Cybersun Industries. It has distinct purple-green colouring, probably of some departament or division, but you cannot tell what is it."
|
|
icon_state = "cyber_duskcrate"
|
|
base_icon_state = "cyber_duskcrate"
|
|
|
|
/obj/structure/closet/crate/secure/cybersun/night
|
|
desc = "A secure crate from Cybersun Industries. This one blatantly adorns syndicate colours. You can only guess it contains equipement for syndicate operatives."
|
|
icon_state = "cyber_nightcrate"
|
|
base_icon_state = "cyber_nightcrate"
|
|
|
|
/obj/structure/closet/crate/secure/wafflecorp
|
|
name = "wafflecorp crate"
|
|
desc = "A very outdated model and design of shipment crate with a modern lock strapped on it, how befitting of its brand owner, Waffle Corporation. Golden lettering written in cursive by the logo reads 'bringing you consecutively top five world-wide rated* breakfast since 2055. A much smaller fineprint, also in cursive, clarifies: '*in years 2099-2126'... It's year 2563 now, however."
|
|
icon_state = "wafflecrate"
|
|
base_icon_state = "wafflecrate"
|
|
|
|
/obj/structure/closet/crate/secure/gorlex
|
|
name = "gorlex marauders crate"
|
|
icon_state = "gorlexcrate"
|
|
base_icon_state = "gorlexcrate"
|