Alcatraz Revisited (#26476)

* Alcatraz Revisited

* Damian's Due

* more flex
This commit is contained in:
Kurfursten
2020-05-18 16:18:27 -05:00
committed by GitHub
parent 6fcce370c0
commit 4d588773ec
13 changed files with 188 additions and 47 deletions

View File

@@ -40,6 +40,51 @@
max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE
species_fit = list(VOX_SHAPED)
/obj/item/clothing/gloves/swat/operator
name = "operator gloves"
desc = "Once you touch down in the LZ at the FOB, locate the IEDs and don't put up with any FNGs."
/obj/item/clothing/gloves/swat/operator/examine(mob/user)
..()
if(locate(/obj/item/weapon/implant/loyalty) in user)
to_chat(user,"<span class='info'>These gloves can be used to convey messages to other loyalty implanted crew. Use an open hand on yourself while wearing them.</span>")
/obj/item/clothing/gloves/swat/operator/Touch(var/atom/A, mob/user, proximity)
if(A == user && !user.incapacitated())
if(user.is_implanted(/obj/item/weapon/implant/loyalty))
var/list/choices = list(
list("Stick together!", "radial_group"),
list("Split up!", "radial_split"),
list("Wait here!", "radial_waithere"),
list("Busy, cover!", "radial_busy")
)
var/sign = show_radial_menu(user,user,choices)
if(!sign)
return 0 //if they don't want to sign, let them check their own status
signal(sign,user)
return 1 //exit the attack_hand
return ..()
/obj/item/clothing/gloves/swat/operator/proc/signal(var/sign, mob/user)
if(user.incapacitated())
return
for(var/mob/M in view(7, user))
if(!M.client)
continue //Don't bother, no one to show it to
if(M.isUnconscious() || M.eye_blind || M.blinded)
continue //can't perceive this message
if(M.is_implanted(/obj/item/weapon/implant/loyalty) || istype(M, /mob/dead/observer))
to_chat(M,"[bicon(src)] <span class='info'>[user] signals, <B>[sign]</B></span>")
continue
else if(isrobot(M))
var/mob/living/silicon/robot/robit = M
if(HAS_MODULE_QUIRK(robit, MODULE_IS_THE_LAW))
to_chat(M,"[bicon(src)] <span class='info'>[user] signals, <B>[sign]</B></span>")
continue
to_chat(M,"<span class='notice'>[user] makes strange hand symbols.</span>")
/obj/item/clothing/gloves/combat //Combined effect of SWAT gloves and insulated gloves
desc = "These tactical gloves are somewhat fire and impact resistant."
name = "combat gloves"

View File

@@ -264,6 +264,19 @@ var/paperwork_library
name = "promotional Nanotrasen pen"
desc = "Just a cheap plastic pen. It reads: \"For our most valued customers\". They probably meant 'employees'."
/obj/item/weapon/pen/tactical
name = "tacpen"
desc = "Tactical pen. The tip is self heating and can light things, the reverse can be used as a screwdriver. It contains a one-time reservoir of biofoam that cannot be refilled."
sharpness_flags = SHARP_TIP | HOT_EDGE
/obj/item/weapon/pen/tactical/New()
..()
create_reagents(9)
reagents.add_reagent(BIOFOAM, 9) //90 ticks, about 3 minutes
/obj/item/weapon/pen/tactical/is_screwdriver(mob/user)
return TRUE
/obj/item/weapon/pen/attack(mob/M as mob, mob/user as mob)
if(!ismob(M))
return
@@ -276,7 +289,8 @@ var/paperwork_library
M.LAssailant = null
else
M.LAssailant = user
return
if(reagents && reagents.total_volume)
reagents.trans_to(M,50)
/*
@@ -294,16 +308,6 @@ var/paperwork_library
create_reagents(30) // Used to be 300
reagents.add_reagent(CHLORALHYDRATE, 22) // Used to be 100 sleep toxin // 30 Chloral seems to be fatal, reducing it to 22. /N
/obj/item/weapon/pen/sleepypen/attack(mob/M as mob, mob/user as mob)
if(!(istype(M,/mob)))
return
..()
if(reagents.total_volume)
if(M.reagents)
reagents.trans_to(M, 50) //used to be 150
return
/*
* Parapens
*/
@@ -312,17 +316,6 @@ var/paperwork_library
slot_flags = SLOT_BELT
origin_tech = Tc_MATERIALS + "=2;" + Tc_SYNDICATE + "=5"
/obj/item/weapon/pen/paralysis/attack(mob/M as mob, mob/user as mob)
if(!(istype(M,/mob)))
return
..()
if(reagents.total_volume)
if(M.reagents)
reagents.trans_to(M, 50)
return
/obj/item/weapon/pen/paralysis/New()
var/datum/reagents/R = new/datum/reagents(25)
reagents = R
@@ -330,4 +323,3 @@ var/paperwork_library
R.add_reagent(ZOMBIEPOWDER, 10)
R.add_reagent(CRYPTOBIOLIN, 15)
..()
return

View File

@@ -65,3 +65,8 @@
pixely = -1
var/image/shell_image = image("icon" = S.icon, "icon_state" = S.icon_state, "pixel_x" = pixelx, "pixel_y" = pixely)
overlays += shell_image
/obj/item/ammo_storage/speedloader/energy
name = "energy speedloader"
desc = "A speedloader designed to quick-charge an energy weapon."
icon_state = "energy_speedloader"

View File

@@ -91,3 +91,12 @@
to_chat(M, "<span class='warning'>\The [src] buzzes.</span>")
return 1
return ..()
/obj/item/weapon/gun/energy/attackby(obj/item/I, mob/user)
..()
if(istype(I,/obj/item/ammo_storage/speedloader/energy) && power_supply.charge < power_supply.maxcharge)
power_supply.give(charge_cost*2) //worth 2 more shots
qdel(I)
update_icon()
to_chat(user,"<span class='notice'>\The [I] transfers some power to \the [src].</span>")
playsound(src, 'sound/machines/charge_finish.ogg', 50)

View File

@@ -701,6 +701,18 @@
name = "Frosted Jelly Donut"
reagents.add_reagent(SPRINKLES, 2)
/obj/item/weapon/reagent_containers/food/snacks/donutiron //not a subtype of donuts to avoid inheritance
name = "ironman donut"
icon_state = "irondonut"
desc = "An ironman donut will keep you cool when things heat up."
bitesize = 3
/obj/item/weapon/reagent_containers/food/snacks/donutiron/New()
..()
reagents.add_reagent(NUTRIMENT, 6)
reagents.add_reagent(LEPORAZINE, 6)
reagents.add_reagent(IRON, 6)
/obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly
name = "jelly donut"
desc = "You jelly?"