diff --git a/code/game/objects/structures/crates_lockers/crates_vr.dm b/code/game/objects/structures/crates_lockers/crates_vr.dm new file mode 100644 index 00000000000..35ec2d41cd1 --- /dev/null +++ b/code/game/objects/structures/crates_lockers/crates_vr.dm @@ -0,0 +1,41 @@ +/obj/structure/closet/crate/secure + var/tamper_proof = 0 + +/obj/structure/closet/crate/secure/bullet_act(var/obj/item/projectile/Proj) + if(!(Proj.damage_type == BRUTE || Proj.damage_type == BURN)) + return + + health -= Proj.damage + + ..() + + if(locked && tamper_proof && health <= 0) + if(tamper_proof == 2) // Mainly used for events to prevent any chance of opening the box improperly. + visible_message("The anti-tamper mechanism of [src] triggers an explosion!") + var/turf/T = get_turf(src.loc) + explosion(T, 0, 0, 0, 1) // Non-damaging, but it'll alert security. + qdel(src) + return + var/open_chance = rand(1,5) + switch(open_chance) + if(1) + visible_message("The anti-tamper mechanism of [src] causes an explosion!") + var/turf/T = get_turf(src.loc) + explosion(T, 0, 0, 0, 1) // Non-damaging, but it'll alert security. + qdel(src) + if(2 to 4) + visible_message("The anti-tamper mechanism of [src] causes a small fire!") + for(var/atom/movable/A as mob|obj in src) // For every item in the box, we spawn a pile of ash. + new /obj/effect/decal/cleanable/ash(src.loc) + new /obj/fire(src.loc) + qdel(src) + if(5) + visible_message("The anti-tamper mechanism of [src] fails!") + return + + if(health <= 0) + for(var/atom/movable/A as mob|obj in src) + A.loc = src.loc + qdel(src) + + return \ No newline at end of file diff --git a/code/modules/mining/abandonedcrates_vr.dm b/code/modules/mining/abandonedcrates_vr.dm new file mode 100644 index 00000000000..983a078b870 --- /dev/null +++ b/code/modules/mining/abandonedcrates_vr.dm @@ -0,0 +1,2 @@ +/obj/structure/closet/crate/secure/loot + tamper_proof = 1 \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/species/station/station_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_vr.dm index 72f9e658234..b58b30e8850 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_vr.dm @@ -30,7 +30,7 @@ primitive_form = "Farwa" //POLARISTODO - Add other monkeytypes - spawn_flags = CAN_JOIN + spawn_flags = SPECIES_CAN_JOIN appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR flesh_color = "#AFA59E" @@ -75,7 +75,7 @@ primitive_form = "Farwa" //POLARISTODO - Add other monkeytypes - spawn_flags = CAN_JOIN + spawn_flags = SPECIES_CAN_JOIN appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR flesh_color = "#AFA59E" @@ -108,7 +108,7 @@ primitive_form = "Farwa" //POLARISTODO - Add other monkeytypes - spawn_flags = CAN_JOIN + spawn_flags = SPECIES_CAN_JOIN appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR flesh_color = "#AFA59E" diff --git a/vorestation.dme b/vorestation.dme index 9520d6fa1b2..031ee233b2e 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -807,6 +807,7 @@ #include "code\game\objects\structures\window_spawner.dm" #include "code\game\objects\structures\crates_lockers\closets.dm" #include "code\game\objects\structures\crates_lockers\crates.dm" +#include "code\game\objects\structures\crates_lockers\crates_vr.dm" #include "code\game\objects\structures\crates_lockers\largecrate.dm" #include "code\game\objects\structures\crates_lockers\closets\coffin.dm" #include "code\game\objects\structures\crates_lockers\closets\crittercrate.dm" @@ -1239,6 +1240,7 @@ #include "code\modules\materials\material_synth.dm" #include "code\modules\materials\materials.dm" #include "code\modules\mining\abandonedcrates.dm" +#include "code\modules\mining\abandonedcrates_vr.dm" #include "code\modules\mining\alloys.dm" #include "code\modules\mining\coins.dm" #include "code\modules\mining\machine_input_output_plates.dm" @@ -1385,8 +1387,8 @@ #include "code\modules\mob\living\carbon\human\species\species_getters.dm" #include "code\modules\mob\living\carbon\human\species\species_helpers.dm" #include "code\modules\mob\living\carbon\human\species\species_hud.dm" -#include "code\modules\mob\living\carbon\human\species\species_vr.dm" #include "code\modules\mob\living\carbon\human\species\species_shapeshift.dm" +#include "code\modules\mob\living\carbon\human\species\species_vr.dm" #include "code\modules\mob\living\carbon\human\species\outsider\shadow.dm" #include "code\modules\mob\living\carbon\human\species\station\golem.dm" #include "code\modules\mob\living\carbon\human\species\station\monkey.dm"