From 26983350dd71002ef9582bdd9d0369b1e16ad9aa Mon Sep 17 00:00:00 2001 From: TheFurryFeline <38586851+TheFurryFeline@users.noreply.github.com> Date: Sun, 14 Apr 2019 17:31:05 -0400 Subject: [PATCH 01/11] Wallet/Micro Fun For Roboticists! Allow use of micros/wallets for unlocking borgs. Ported from https://github.com/VOREStation/VOREStation/pull/4990 --- code/modules/mob/living/silicon/robot/robot.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index c58e9cb834..98076e32a0 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -615,8 +615,8 @@ radio.attackby(W,user)//GTFO, you have your own procs else user << "Unable to locate a radio." - - else if (istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda)||istype(W, /obj/item/weapon/card/robot)) // trying to unlock the interface with an ID card +//TFF 14/4/19: Port VoreStation edit - Wallet/Micro usage to unlock borgs. + else if (W.GetID()) // trying to unlock the interface with an ID card if(emagged)//still allow them to open the cover user << "The interface seems slightly damaged" if(opened) @@ -698,15 +698,15 @@ return 1 return 0 -//TFF: Ports VoreStation edit for fixing PDA usage /mob/living/silicon/robot/proc/check_access(obj/item/I) if(!istype(req_access, /list)) //something's very wrong return 1 +//TFF 14/4/19: Port VoreStation edit - wallet/micro usage to unlock borgs var/list/L = req_access if(!L.len) //no requirements return 1 - if(!I || !(istype(I, /obj/item/weapon/card/id) || istype(I, /obj/item/device/pda))) //not ID or PDA + if(!I) //nothing to check with..? return 0 var/access_found = I.GetAccess() for(var/req in req_access) From 1a339cdcde7141fc828d794df85e524574e0ac81 Mon Sep 17 00:00:00 2001 From: TheFurryFeline <38586851+TheFurryFeline@users.noreply.github.com> Date: Thu, 18 Apr 2019 20:56:54 -0400 Subject: [PATCH 02/11] Prommy Lunchboxes Keep Mice Forces a mouse to spawn with you **inside** the lunchbox a Prommy spawns with. Fix ported from https://github.com/VOREStation/VOREStation/pull/5093 --- .../carbon/human/species/station/prometheans.dm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/species/station/prometheans.dm b/code/modules/mob/living/carbon/human/species/station/prometheans.dm index a9d8d9d822..699f04e797 100644 --- a/code/modules/mob/living/carbon/human/species/station/prometheans.dm +++ b/code/modules/mob/living/carbon/human/species/station/prometheans.dm @@ -113,10 +113,19 @@ var/datum/species/shapeshifter/promethean/prometheans prometheans = src /datum/species/shapeshifter/promethean/equip_survival_gear(var/mob/living/carbon/human/H) - var/boxtype = pick(typesof(/obj/item/weapon/storage/toolbox/lunchbox)) +//TFF 18/4/19: Add a proper list of randomly chosen lunchboxes + var/boxtype = pick(list(/obj/item/weapon/storage/toolbox/lunchbox, + /obj/item/weapon/storage/toolbox/lunchbox/heart, + /obj/item/weapon/storage/toolbox/lunchbox/cat, + /obj/item/weapon/storage/toolbox/lunchbox/nt, + /obj/item/weapon/storage/toolbox/lunchbox/mars, + /obj/item/weapon/storage/toolbox/lunchbox/cti, + /obj/item/weapon/storage/toolbox/lunchbox/nymph, + /obj/item/weapon/storage/toolbox/lunchbox/syndicate)) //Only pick the empty types var/obj/item/weapon/storage/toolbox/lunchbox/L = new boxtype(get_turf(H)) var/mob/living/simple_animal/mouse/mouse = new (L) var/obj/item/weapon/holder/holder = new (L) + holder.held_mob = mouse //TFF 18/4/19: Make Prommies hold a mouse on spawning. mouse.forceMove(holder) holder.sync(mouse) if(H.backbag == 1) From 0cbb17273979653edabf8d4bf676a3909c27a44f Mon Sep 17 00:00:00 2001 From: TheFurryFeline <38586851+TheFurryFeline@users.noreply.github.com> Date: Thu, 18 Apr 2019 21:11:53 -0400 Subject: [PATCH 03/11] Light Shall Not Pass! Prevents laser points from shining light through the hecking wall. Ported from https://github.com/VOREStation/VOREStation/pull/5095 --- code/game/objects/items/devices/laserpointer.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm index 69905f0cb8..2bf0c8e768 100644 --- a/code/game/objects/items/devices/laserpointer.dm +++ b/code/game/objects/items/devices/laserpointer.dm @@ -71,6 +71,8 @@ /obj/item/device/laser_pointer/proc/laser_act(var/atom/target, var/mob/living/user) if(!(user in (viewers(world.view,target)))) return + if(!(target in view(user, world.view))) ///TFF 18/4/19: VOREStation port - prevent laser light reaching the other side of a wall. + return if(!(world.time - last_used_time >= cooldown)) return if (!diode) From 279e0c15f6bbabc713206db1a63719fc9ea134b1 Mon Sep 17 00:00:00 2001 From: TheFurryFeline <38586851+TheFurryFeline@users.noreply.github.com> Date: Thu, 18 Apr 2019 21:40:34 -0400 Subject: [PATCH 04/11] Nerf Mach 5 Wheelchairs This one really makes the wheelchairs nerfed this time. You're welcome, Jon. Ported from https://github.com/VOREStation/VOREStation/pull/5087 --- code/modules/mob/mob_movement.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 2cf73080f4..c7e10082d2 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -288,7 +288,8 @@ tickcomp = ((1/(world.tick_lag))*1.3) - 1.3 move_delay = move_delay + tickcomp - if(istype(mob.buckled))// VOREStation Removal - , /obj/vehicle)) + //TFF 18/4/19: Port VOREStation wheelchair speed nerf fix + if(istype(mob.buckled, /obj/vehicle) || istype(mob.buckled, /mob)) //VOREStation Edit: taur riding. I think. //manually set move_delay for vehicles so we don't inherit any mob movement penalties //specific vehicle move delays are set in code\modules\vehicles\vehicle.dm move_delay = world.time + tickcomp @@ -567,4 +568,4 @@ /obj/item/weapon/storage/on_loc_moved(atom/oldloc) for(var/obj/O in contents) - O.on_loc_moved(oldloc) \ No newline at end of file + O.on_loc_moved(oldloc) From 081fc951424611168bae3d6395d9a6972ac70b16 Mon Sep 17 00:00:00 2001 From: TheFurryFeline <38586851+TheFurryFeline@users.noreply.github.com> Date: Thu, 18 Apr 2019 22:28:38 -0400 Subject: [PATCH 05/11] No More Sleeping! Fixes Cryopods so you can change your mind while inside and eject yourself. Ported from https://github.com/VOREStation/VOREStation/pull/5078 --- code/game/machinery/cryopod.dm | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 2572e94a42..bd3f075866 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -231,7 +231,7 @@ var/obj/machinery/computer/cryopod/control_computer var/last_no_computer_message = 0 - var/applies_stasis = 1 + var/applies_stasis = 0 ///TFF 18/4/19: change var from 1 to 0 so that you're able to get back out if you don't want to cryo out in the first place. /obj/machinery/cryopod/robot name = "robotic storage unit" @@ -506,11 +506,6 @@ //visible_message("\The [initial(name)] hums and hisses as it moves [to_despawn.real_name] into storage.", 3) visible_message("\The [initial(name)] [on_store_visible_message_1] [to_despawn.real_name] [on_store_visible_message_2].", 3) -//TFF: Port Vorestation fix for people getting kicked while inside a belly. - if(to_despawn.client && to_despawn.stat<2) - var/mob/observer/dead/newghost = to_despawn.ghostize() - newghost.timeofdeath = world.time - //This should guarantee that ghosts don't spawn. to_despawn.ckey = null From 6178fcf6a7970fb0fb9c86c73554963ae2514292 Mon Sep 17 00:00:00 2001 From: TheFurryFeline <38586851+TheFurryFeline@users.noreply.github.com> Date: Thu, 18 Apr 2019 22:34:35 -0400 Subject: [PATCH 06/11] No More Dust on Voidsuits You can now assemble your voidsuits while holding them in paw. Ported from https://github.com/Baystation12/Baystation12/pull/19482 --- code/modules/clothing/spacesuits/void/void.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/clothing/spacesuits/void/void.dm b/code/modules/clothing/spacesuits/void/void.dm index ef78d32f03..8ee276e341 100644 --- a/code/modules/clothing/spacesuits/void/void.dm +++ b/code/modules/clothing/spacesuits/void/void.dm @@ -213,7 +213,7 @@ if(istype(W,/obj/item/clothing/accessory) || istype(W, /obj/item/weapon/hand_labeler)) return ..() - if(istype(src.loc,/mob/living)) + if(user.get_inventory_slot(src) == slot_wear_suit) //TFF 18/4/19: Port Polaris QoL edit - allow attaching voidsuit parts WHILE holding it! user << "You cannot modify \the [src] while it is being worn." return From 80966bba6de788701bdc41168088887672315eab Mon Sep 17 00:00:00 2001 From: TheFurryFeline <38586851+TheFurryFeline@users.noreply.github.com> Date: Thu, 18 Apr 2019 22:42:46 -0400 Subject: [PATCH 07/11] *Emits an Affirmative Blip* Fixes emotes so that synths can use the *yes emote without it just doing squat. Ported from https://github.com/VOREStation/VOREStation/pull/5076 --- code/modules/mob/living/carbon/human/emote.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index dc339c1f3f..2c4eb0780d 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -1,6 +1,6 @@ /mob/living/carbon/human/emote(var/act,var/m_type=1,var/message = null) var/param = null - + var/datum/gender/T = gender_datums[get_visible_gender()] if (findtext(act, "-", 1, null)) @@ -29,7 +29,7 @@ m_type = 1 //Machine-only emotes - if("ping", "beep", "buzz", "yes", "no", "rcough", "rsneeze") + if("ping", "beep", "buzz", "yes", "ye", "no", "rcough", "rsneeze") //TFF 18/4/19: Polaris fix - make synths able to use *yes emote if(!isSynthetic()) src << "You are not a synthetic." @@ -52,7 +52,7 @@ else if(act == "ping") display_msg = "pings" use_sound = 'sound/machines/ping.ogg' - else if(act == "yes") + else if(act == "yes"||act == "ye") //TFF 18/4/19: Polaris fix - make synths able to use *yes emote display_msg = "emits an affirmative blip" use_sound = 'sound/machines/synth_yes.ogg' else if(act == "no") @@ -557,7 +557,7 @@ if ("weh") message = "lets out a weh." m_type = 1 - + if ("whimper") if (miming) message = "appears hurt." @@ -743,7 +743,7 @@ set name = "Set Pose" set desc = "Sets a description which will be shown when someone examines you." set category = "IC" - + var/datum/gender/T = gender_datums[get_visible_gender()] pose = sanitize(input(usr, "This is [src]. [T.he]...", "Pose", null) as text) From 44363f05e24a8fdb5b3fddb12736ec5e2175e85d Mon Sep 17 00:00:00 2001 From: TheFurryFeline <38586851+TheFurryFeline@users.noreply.github.com> Date: Thu, 18 Apr 2019 22:42:50 -0400 Subject: [PATCH 08/11] *Emits an Affirmative Blip* Fixes emotes so that synths can use the *yes emote without it just doing squat. Ported from https://github.com/VOREStation/VOREStation/pull/5076 --- code/modules/mob/living/silicon/robot/emote.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/robot/emote.dm b/code/modules/mob/living/silicon/robot/emote.dm index c34b802f4f..3e0ccb470f 100644 --- a/code/modules/mob/living/silicon/robot/emote.dm +++ b/code/modules/mob/living/silicon/robot/emote.dm @@ -185,7 +185,7 @@ playsound(src.loc, 'sound/machines/buzz-sigh.ogg', 50, 0) m_type = 1 - if("yes") + if("yes", "ye") //TFF 18/4/19: Polaris fix - make synths able to use *yes emote var/M = null if(param) for (var/mob/A in view(null, null)) From c881e5e39e72708a63c297df3faa51b726e88ea3 Mon Sep 17 00:00:00 2001 From: TheFurryFeline <38586851+TheFurryFeline@users.noreply.github.com> Date: Thu, 18 Apr 2019 22:57:43 -0400 Subject: [PATCH 09/11] Fix For Signaler Circuit On the tin, prevents them pinging everyone. Ported from https://github.com/PolarisSS13/Polaris/pull/6089 --- code/modules/integrated_electronics/subtypes/input.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/integrated_electronics/subtypes/input.dm b/code/modules/integrated_electronics/subtypes/input.dm index ac9a0e13f9..5333ece78d 100644 --- a/code/modules/integrated_electronics/subtypes/input.dm +++ b/code/modules/integrated_electronics/subtypes/input.dm @@ -394,8 +394,9 @@ activate_pin(3) - for(var/mob/O in hearers(1, get_turf(src))) - O.show_message(text("\icon[] *beep* *beep*", src), 3, "*beep* *beep*", 2) + if(loc) //TFF 18/4/19: Polaris fix - signaller circuit no long pings all alive. + for(var/mob/O in hearers(1, get_turf(src))) + O.show_message(text("\icon[] *beep* *beep*", src), 3, "*beep* *beep*", 2) /obj/item/integrated_circuit/input/EPv2 name = "\improper EPv2 circuit" From 15a7dc48bc879dc83a0ecb1afe5658ad5bc21f70 Mon Sep 17 00:00:00 2001 From: TheFurryFeline <38586851+TheFurryFeline@users.noreply.github.com> Date: Thu, 18 Apr 2019 22:57:46 -0400 Subject: [PATCH 10/11] Frequency Transference Fix On the tin, just makes them transfer the frequency to another signaler properly. Ported from https://github.com/PolarisSS13/Polaris/pull/6089 --- code/modules/assembly/signaler.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index cd4c253f66..2a709a9cf5 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -103,7 +103,7 @@ Code: var/obj/item/device/assembly/signaler/signaler2 = W if(secured && signaler2.secured) code = signaler2.code - frequency = signaler2.frequency + set_frequency(signaler2.frequency) //TFF 18/4/19: Polaris fix - frequency transfer to other signalers to_chat(user, "You transfer the frequency and code of [signaler2] to [src].") else ..() From 52f9805971a4984e4487158e4117a0123aeff1dc Mon Sep 17 00:00:00 2001 From: TheFurryFeline <38586851+TheFurryFeline@users.noreply.github.com> Date: Thu, 18 Apr 2019 23:03:01 -0400 Subject: [PATCH 11/11] APC Frames Deconstruction Fix No more of getting more steel from the frame than what's actually used. Two sheets for two sheets. Not two sheets, then get five back. Ported from https://github.com/VOREStation/VOREStation/pull/5061 --- code/game/objects/items/apc_frame.dm | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/code/game/objects/items/apc_frame.dm b/code/game/objects/items/apc_frame.dm index fd2ea3e94b..54141ec119 100644 --- a/code/game/objects/items/apc_frame.dm +++ b/code/game/objects/items/apc_frame.dm @@ -6,12 +6,7 @@ icon = 'icons/obj/apc_repair.dmi' icon_state = "apc_frame" flags = CONDUCT - -/obj/item/frame/apc/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if (istype(W, /obj/item/weapon/wrench)) - new /obj/item/stack/material/steel( get_turf(src.loc), 2 ) - qdel(src) + refund_amt = 2 //TFF 18/4/19: Polaris fix for APC frames giving more steel than used when made. /obj/item/frame/apc/try_build(turf/on_wall, mob/user as mob) if (get_dist(on_wall, user)>1)