From 2fef35d980014e818dc284d5fb13e309b484462d Mon Sep 17 00:00:00 2001 From: Dhaeleena Date: Thu, 26 Jan 2017 11:48:22 -0300 Subject: [PATCH] Lots of changes and Fluff fixes --- code/datums/autolathe/arms_vr.dm | 14 ++++ code/game/machinery/vending.dm | 2 +- .../closets/secure/security_vr.dm | 10 +++ code/game/objects/structures/morgue.dm | 4 +- code/game/objects/structures/morgue_vr.dm | 64 +++++++++++++++++++ code/modules/clothing/suits/armor_vr.dm | 25 +++++++- .../projectiles/projectile/bullets_vr.dm | 19 ++++++ .../vore/fluffstuff/custom_clothes_vr.dm | 3 + .../modules/vore/fluffstuff/custom_guns_vr.dm | 12 +++- maps/virgo-1.dmm | 2 +- vorestation.dme | 4 ++ 11 files changed, 151 insertions(+), 8 deletions(-) create mode 100644 code/datums/autolathe/arms_vr.dm create mode 100644 code/game/objects/structures/crates_lockers/closets/secure/security_vr.dm create mode 100644 code/game/objects/structures/morgue_vr.dm create mode 100644 code/modules/projectiles/projectile/bullets_vr.dm diff --git a/code/datums/autolathe/arms_vr.dm b/code/datums/autolathe/arms_vr.dm new file mode 100644 index 0000000000..fb0816876d --- /dev/null +++ b/code/datums/autolathe/arms_vr.dm @@ -0,0 +1,14 @@ +/datum/category_item/autolathe/arms/speedloader_357_flash + name = "speedloader (.357 flash)" + path =/obj/item/ammo_magazine/a357/flash + hidden = 1 + +/datum/category_item/autolathe/arms/speedloader_357_stun + name = "speedloader (.357 stun)" + path =/obj/item/ammo_magazine/a357/stun + hidden = 1 + +/datum/category_item/autolathe/arms/speedloader_357_rubber + name = "speedloader (.357 rubber)" + path =/obj/item/ammo_magazine/a357/rubber + hidden = 1 \ No newline at end of file diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 8069c547e9..9730d200a4 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -506,7 +506,7 @@ vend_ready = 1 currently_vending = null nanomanager.update_uis(src) - + return 1 /** * Add item to the machine diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security_vr.dm b/code/game/objects/structures/crates_lockers/closets/secure/security_vr.dm new file mode 100644 index 0000000000..a778ad802f --- /dev/null +++ b/code/game/objects/structures/crates_lockers/closets/secure/security_vr.dm @@ -0,0 +1,10 @@ +/obj/structure/closet/secure_closet/hos + name = "head of security's locker" + req_access = list(access_hos) + icon_state = "hossecure1" + icon_closed = "hossecure" + icon_locked = "hossecure1" + icon_opened = "hossecureopen" + icon_broken = "hossecurebroken" + icon_off = "hossecureoff" + storage_capacity = 3 * MOB_MEDIUM \ No newline at end of file diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index bd28078782..cfd187df66 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -264,9 +264,9 @@ else if (src.locked == 0) playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) src.connected = new /obj/structure/c_tray( src.loc ) - step(src.connected, SOUTH) + step(src.connected, dir) src.connected.layer = OBJ_LAYER - var/turf/T = get_step(src, SOUTH) + var/turf/T = get_step(src, dir) if (T.contents.Find(src.connected)) src.connected.connected = src src.icon_state = "crema0" diff --git a/code/game/objects/structures/morgue_vr.dm b/code/game/objects/structures/morgue_vr.dm new file mode 100644 index 0000000000..178f87446a --- /dev/null +++ b/code/game/objects/structures/morgue_vr.dm @@ -0,0 +1,64 @@ +/obj/structure/crematorium/vr + var/list/allowed_items = list(/obj/item/organ, + /obj/item/weapon/implant, + /obj/item/weapon/material/shard/shrapnel, + /mob/living) + + +/obj/structure/crematorium/vr/cremate(atom/A, mob/user as mob) + if(cremating) + return //don't let you cremate something twice or w/e + + if(contents.len <= 0) + for (var/mob/M in viewers(src)) + M.show_message("You hear a hollow crackle.", 1) + return + else + if(!isemptylist(src.search_contents_for(/obj/item/weapon/disk/nuclear))) + usr << "You get the feeling that you shouldn't cremate one of the items in the cremator." + return + + for(var/I in contents) + if(!(I in allowed_items)) + to_chat(user, "\The [src] cannot cremate while there are items inside!") + return + if(istype(I, /mob/living)) + var/mob/living/cremated = I + for(var/Z in cremated.contents) + world << "[Z]" + if(!(Z in allowed_items)) + to_chat(user, "\The [src] cannot cremate while there are items inside!") + return + + for (var/mob/M in viewers(src)) + M.show_message("You hear a roar as the crematorium activates.", 1) + + cremating = 1 + locked = 1 + + for(var/mob/living/M in contents) + if (M.stat!=2) + if (!iscarbon(M)) + M.emote("scream") + else + var/mob/living/carbon/C = M + if (C.can_feel_pain()) + C.emote("scream") + + //Logging for this causes runtimes resulting in the cremator locking up. Commenting it out until that's figured out. + //M.attack_log += "\[[time_stamp()]\] Has been cremated by [user]/[user.ckey]" //No point in this when the mob's about to be deleted + //user.attack_log +="\[[time_stamp()]\] Cremated [M]/[M.ckey]" + //log_attack("\[[time_stamp()]\] [user]/[user.ckey] cremated [M]/[M.ckey]") + M.death(1) + M.ghostize() + qdel(M) + + for(var/obj/O in contents) //obj instead of obj/item so that bodybags and ashes get destroyed. We dont want tons and tons of ash piling up + qdel(O) + + new /obj/effect/decal/cleanable/ash(src) + sleep(30) + cremating = 0 + locked = 0 + playsound(src.loc, 'sound/machines/ding.ogg', 50, 1) + return \ No newline at end of file diff --git a/code/modules/clothing/suits/armor_vr.dm b/code/modules/clothing/suits/armor_vr.dm index 1ddc7602b9..d9ce03e986 100644 --- a/code/modules/clothing/suits/armor_vr.dm +++ b/code/modules/clothing/suits/armor_vr.dm @@ -23,7 +23,7 @@ mob_can_equip(var/mob/living/carbon/human/H, slot, disable_warning = 0) if(..()) if(istype(H) && istype(H.tail_style, /datum/sprite_accessory/tail/taur/wolf)) - if(icon_state == "serdy_armor") //This is to prevent Serdy's custom armor from turning into heavy_wolf_armor + if(icon_state == "serdy_armor") //This is to prevent Serdy's custom armor from turning into heavy_wolf_armor return ..() icon_override = 'icons/mob/taursuits_vr.dmi' //Just in case icon_state = "heavy_wolf_armor" //Just in case @@ -32,3 +32,26 @@ else H << "You need to have a wolf-taur half to wear this." return 0 + +/obj/item/clothing/suit/storage/vest/hoscoat + name = "armored coat" + desc = "A greatcoat enhanced with a special alloy for some protection and style." + icon_state = "hos" + body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS + flags_inv = HIDEJUMPSUIT|HIDETIE|HIDEHOLSTER + armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 40, bio = 0, rad = 0) + +/obj/item/clothing/suit/storage/vest/hos + name = "head of security armor vest" + desc = "A simple kevlar plate carrier. This one has a gold badge clipped to the chest." + icon_state = "hosvest_nobadge" + item_state_slots = list(slot_r_hand_str = "armor", slot_l_hand_str = "armor") + icon_badge = "hosvest_badge" + icon_nobadge = "hosvest_nobadge" + armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 40, bio = 0, rad = 0) + +/obj/item/clothing/suit/storage/vest/hoscoat/jensen + name = "armored trenchcoat" + desc = "A trenchcoat augmented with a special alloy for some protection and style." + icon_state = "hostrench" + flags_inv = HIDEHOLSTER \ No newline at end of file diff --git a/code/modules/projectiles/projectile/bullets_vr.dm b/code/modules/projectiles/projectile/bullets_vr.dm new file mode 100644 index 0000000000..40f4d406fc --- /dev/null +++ b/code/modules/projectiles/projectile/bullets_vr.dm @@ -0,0 +1,19 @@ +/obj/item/projectile/bullet/pistol/rubber/strong //"rubber" bullets for revolvers and matebas + damage = 10 + agony = 60 + embed_chance = 0 + sharp = 0 + check_armour = "melee" + +/obj/item/projectile/energy/flash/strong + name = "chemical shell" + icon_state = "bullet" + damage = 10 + kill_count = 15 //if the shell hasn't hit anything after travelling this far it just explodes. + +/obj/item/projectile/energy/electrode/stunshot/strong + name = "stunshot" + icon_state = "bullet" + damage = 10 + taser_effect = 1 + agony = 100 \ No newline at end of file diff --git a/code/modules/vore/fluffstuff/custom_clothes_vr.dm b/code/modules/vore/fluffstuff/custom_clothes_vr.dm index e41ba10a8f..5a1264a129 100644 --- a/code/modules/vore/fluffstuff/custom_clothes_vr.dm +++ b/code/modules/vore/fluffstuff/custom_clothes_vr.dm @@ -415,6 +415,7 @@ icon_override = 'icons/vore/custom_clothes_vr.dmi' item_state = "tasaldsuit" + armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) // bwoincognito:Tasald Corlethian /obj/item/clothing/suit/storage/det_suit/fluff/tasald @@ -429,6 +430,7 @@ blood_overlay_type = "coat" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS + armor = list(melee = 40, bullet = 30, laser = 30, energy = 10, bomb = 10, bio = 0, rad = 0) // bwoincognito:Tasald Corlethian /obj/item/clothing/suit/storage/det_suit/fluff/tas_coat @@ -443,6 +445,7 @@ blood_overlay_type = "coat" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS + armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 40, bio = 0, rad = 0) //Event Costumes Below /obj/item/clothing/head/helmet/fluff/freddy diff --git a/code/modules/vore/fluffstuff/custom_guns_vr.dm b/code/modules/vore/fluffstuff/custom_guns_vr.dm index 43beae3e73..228942ed1c 100644 --- a/code/modules/vore/fluffstuff/custom_guns_vr.dm +++ b/code/modules/vore/fluffstuff/custom_guns_vr.dm @@ -118,6 +118,12 @@ update_icon() +/obj/item/weapon/gun/projectile/revolver/mateba/fluff/tasald_corlethian/attack_hand(mob/user as mob) + if(user.get_inactive_hand() == src) + unload_ammo(user, allow_dump = 1) + else + ..() + // wankersonofjerkin : Ryan Winz /obj/item/weapon/gun/projectile/revolver/fluff/ryan_winz_revolver name = "Ryan's 'Devilgun'" @@ -506,7 +512,7 @@ caliber = "357" icon = 'icons/obj/ammo_vr.dmi' icon_state = "stun357" - projectile_type = /obj/item/projectile/energy/electrode/stunshot + projectile_type = /obj/item/projectile/energy/electrode/stunshot/strong /obj/item/ammo_magazine/a357/rubber name = "speedloader (.357 rubber)" @@ -522,7 +528,7 @@ caliber = "357" icon = 'icons/obj/ammo_vr.dmi' icon_state = "rubber357" - projectile_type = /obj/item/projectile/bullet/pistol/rubber + projectile_type = /obj/item/projectile/bullet/pistol/rubber/strong /obj/item/ammo_magazine/a357/flash name = "speedloader (.357 flash)" @@ -538,4 +544,4 @@ caliber = "357" icon = 'icons/obj/ammo_vr.dmi' icon_state = "flash357" - projectile_type = /obj/item/projectile/energy/flash + projectile_type = /obj/item/projectile/energy/flash/strong diff --git a/maps/virgo-1.dmm b/maps/virgo-1.dmm index ebdf260382..991a0134b5 100644 --- a/maps/virgo-1.dmm +++ b/maps/virgo-1.dmm @@ -3220,7 +3220,7 @@ "bjV" = (/obj/structure/closet/wardrobe/science_white,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/effect/floor_decal/corner/purple/diagonal,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research_restroom) "bjW" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/dark,/area/rnd/lab) "bjX" = (/obj/structure/table/standard,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/gloves/latex,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/rnd/lab) -"bjY" = (/obj/machinery/autolathe,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/rnd/lab) +"bjY" = (/obj/machinery/autolathe{hacked = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/rnd/lab) "bjZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/shuttle/plating,/area/rnd/lab) "bka" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/shuttle/plating,/area/rnd/lab) "bkb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/rnd/lab) diff --git a/vorestation.dme b/vorestation.dme index 548f5654f2..a0795c9209 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -182,6 +182,7 @@ #include "code\datums\sun.dm" #include "code\datums\weakref.dm" #include "code\datums\autolathe\arms.dm" +#include "code\datums\autolathe\arms_vr.dm" #include "code\datums\autolathe\autolathe.dm" #include "code\datums\autolathe\devices.dm" #include "code\datums\autolathe\engineering.dm" @@ -974,6 +975,7 @@ #include "code\game\objects\structures\mirror.dm" #include "code\game\objects\structures\mop_bucket.dm" #include "code\game\objects\structures\morgue.dm" +#include "code\game\objects\structures\morgue_vr.dm" #include "code\game\objects\structures\musician.dm" #include "code\game\objects\structures\noticeboard.dm" #include "code\game\objects\structures\safe.dm" @@ -1017,6 +1019,7 @@ #include "code\game\objects\structures\crates_lockers\closets\secure\scientist.dm" #include "code\game\objects\structures\crates_lockers\closets\secure\secure_closets.dm" #include "code\game\objects\structures\crates_lockers\closets\secure\security.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\security_vr.dm" #include "code\game\objects\structures\stool_bed_chair_nest\bed.dm" #include "code\game\objects\structures\stool_bed_chair_nest\chairs.dm" #include "code\game\objects\structures\stool_bed_chair_nest\stools.dm" @@ -1953,6 +1956,7 @@ #include "code\modules\projectiles\projectile\beams.dm" #include "code\modules\projectiles\projectile\beams_vr.dm" #include "code\modules\projectiles\projectile\bullets.dm" +#include "code\modules\projectiles\projectile\bullets_vr.dm" #include "code\modules\projectiles\projectile\change.dm" #include "code\modules\projectiles\projectile\energy.dm" #include "code\modules\projectiles\projectile\force.dm"