diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index e041e4b99c..95ff97e289 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -210,7 +210,7 @@ return list(access_medical, access_morgue, access_tox, access_tox_storage, access_chemistry, access_genetics, access_court, access_teleporter, access_heads, access_tech_storage, access_security, access_sec_doors, access_brig, access_atmospherics, access_maint_tunnels, access_bar, access_janitor, access_kitchen, access_robotics, access_armory, access_hydroponics, - access_theatre, access_research, access_hos, access_RC_announce, access_forensics_lockers, access_keycard_auth) + access_theatre, access_research, access_hos, access_RC_announce, access_forensics_lockers, access_keycard_auth, access_gateway) if("Head of Personnel") return list(access_security, access_sec_doors, access_brig, access_court, access_forensics_lockers, access_tox, access_tox_storage, access_chemistry, access_medical, access_genetics, access_engine, diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 341338b02a..d0ee91bd43 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -488,6 +488,10 @@ if(!disable_warning) usr << "You somehow have a suit with no defined allowed items for suit storage, stop that." return 0 + if(src.w_class > 3) + if(!disable_warning) + usr << "The [name] is too big to attach." + return 0 if( istype(src, /obj/item/device/pda) || istype(src, /obj/item/weapon/pen) || is_type_in_list(src, H.wear_suit.allowed) ) return 1 return 0 diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 0f0e509e2a..06e7e3107c 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -152,4 +152,12 @@ obj/item/weapon/gun/energy/staff icon = 'icons/obj/bureaucracy.dmi' icon_state = "pen" item_state = "pen" - w_class = 1 \ No newline at end of file + w_class = 1 + + +/obj/item/weapon/gun/energy/mindflayer + name = "mind flayer" + desc = "A prototype weapon recovered from the ruins of Research-Station Epsilon." + icon_state = "xray" + projectile_type = "/obj/item/projectile/beam/mindflayer" + fire_sound = 'sound/weapons/Laser.ogg' \ No newline at end of file diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm index 7225b022cf..f3c602ad5b 100644 --- a/code/modules/projectiles/projectile/special.dm +++ b/code/modules/projectiles/projectile/special.dm @@ -122,4 +122,14 @@ else if (istype(target, /mob/living/carbon/)) M.show_message("\blue The radiation beam dissipates harmlessly through your body.") else - return 1 \ No newline at end of file + return 1 + + +/obj/item/projectile/beam/mindflayer + name = "flayer ray" + + on_hit(var/atom/target, var/blocked = 0) + if(ishuman(target)) + var/mob/living/carbon/human/M = target + M.adjustBrainLoss(20) + M.hallucination += 20 diff --git a/maps/RandomZLevels/stationCollision.dm b/maps/RandomZLevels/stationCollision.dm index e2bd104f7d..1b2fe2a7d8 100644 --- a/maps/RandomZLevels/stationCollision.dm +++ b/maps/RandomZLevels/stationCollision.dm @@ -156,10 +156,10 @@ var/sc_safecode5 = "[rand(0,9)]" ..() l_code = "[sc_safecode1][sc_safecode2][sc_safecode3][sc_safecode4][sc_safecode5]" l_set = 1 - new /obj/item/weapon/gun/energy/pulse_rifle(src) + new /obj/item/weapon/gun/energy/mindflayer(src) new /obj/item/device/soulstone(src) - new /obj/item/clothing/head/helmet/space/cult - new /obj/item/clothing/suit/space/cult + new /obj/item/clothing/head/helmet/space/cult(src) + new /obj/item/clothing/suit/space/cult(src) //new /obj/item/weapon/teleportation_scroll(src) new /obj/item/weapon/ore/diamond(src)