From 8e44118a78af6497637c1fe4ab98d217e5db03da Mon Sep 17 00:00:00 2001 From: Markolie Date: Sun, 23 Nov 2014 09:35:24 +0100 Subject: [PATCH 1/4] Add confirmation to Syndiborg --- code/game/gamemodes/antag_spawner.dm | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/code/game/gamemodes/antag_spawner.dm b/code/game/gamemodes/antag_spawner.dm index 16b94310c64..3bfe57e6e16 100644 --- a/code/game/gamemodes/antag_spawner.dm +++ b/code/game/gamemodes/antag_spawner.dm @@ -17,18 +17,35 @@ icon = 'icons/obj/device.dmi' icon_state = "locator" var/TC_cost = 0 + var/checking = 0 /obj/item/weapon/antag_spawner/borg_tele/attack_self(mob/user as mob) if(used) user << "The teleporter is out of power." return - var/list/borg_candicates = get_candidates(BE_OPERATIVE) - if(borg_candicates.len > 0) - used = 1 - var/client/C = pick(borg_candicates) - spawn_antag(C, get_turf(src.loc), "syndieborg") + if(!checking) + checking = 1 + get_candidate_answer(user, get_candidates(BE_OPERATIVE)) else + user << "The device is already checking for possible candidates." + return + +/obj/item/weapon/antag_spawner/borg_tele/proc/get_candidate_answer(mob/user as mob, var/list/possiblecandidates = list()) + if(possiblecandidates.len <= 0) + checking = 0 user << "Unable to connect to Syndicate Command. Please wait and try again later or use the teleporter on your uplink to get your points refunded." + return + else + var/possibleborg = pick(possiblecandidates) + var/input = alert(possibleborg,"Do you want to spawn in as a cyborg for the Syndicate operatives?","Syndicate Cyborg","Yes","No") + if(input == "Yes" && used == 0) + possiblecandidates -= possibleborg + used = 1 + checking = 0 + spawn_antag(possibleborg, get_turf(src.loc), "syndieborg") + else + possiblecandidates -= possibleborg + get_candidate_answer(user, possiblecandidates) /obj/item/weapon/antag_spawner/borg_tele/spawn_antag(var/client/C, var/turf/T, var/type = "") var/datum/effect/effect/system/spark_spread/S = new /datum/effect/effect/system/spark_spread From d4891b3d9a4f3d5bf275bb410cf3b4343432dcd8 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Sun, 23 Nov 2014 09:52:09 +0100 Subject: [PATCH 2/4] Change default value for Syndiborg --- code/game/gamemodes/antag_spawner.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/gamemodes/antag_spawner.dm b/code/game/gamemodes/antag_spawner.dm index 3bfe57e6e16..b2e4ade1a8f 100644 --- a/code/game/gamemodes/antag_spawner.dm +++ b/code/game/gamemodes/antag_spawner.dm @@ -37,7 +37,7 @@ return else var/possibleborg = pick(possiblecandidates) - var/input = alert(possibleborg,"Do you want to spawn in as a cyborg for the Syndicate operatives?","Syndicate Cyborg","Yes","No") + var/input = alert(possibleborg,"Do you want to spawn in as a cyborg for the Syndicate operatives?","Syndicate Cyborg","No","Yes") if(input == "Yes" && used == 0) possiblecandidates -= possibleborg used = 1 @@ -56,4 +56,4 @@ ticker.mode.syndicates += R.mind ticker.mode.update_synd_icons_added(R.mind) R.mind.special_role = "syndicate" - R.faction = list("syndicate") \ No newline at end of file + R.faction = list("syndicate") From 3396aafeb1d81293a2c7bd4a43b019974e108cab Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Sun, 23 Nov 2014 09:53:47 +0100 Subject: [PATCH 3/4] Update antag_spawner.dm --- code/game/gamemodes/antag_spawner.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/gamemodes/antag_spawner.dm b/code/game/gamemodes/antag_spawner.dm index b2e4ade1a8f..fb2e1f00ebe 100644 --- a/code/game/gamemodes/antag_spawner.dm +++ b/code/game/gamemodes/antag_spawner.dm @@ -25,6 +25,7 @@ return if(!checking) checking = 1 + user << "The device is now checking for possible candidates." get_candidate_answer(user, get_candidates(BE_OPERATIVE)) else user << "The device is already checking for possible candidates." From 70f804610572e3e324944c14482565b8eea85c4d Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Sun, 23 Nov 2014 09:56:08 +0100 Subject: [PATCH 4/4] Update uplinks.dm --- code/game/objects/items/devices/uplinks.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/devices/uplinks.dm b/code/game/objects/items/devices/uplinks.dm index 17552882d66..d83c1b56ede 100644 --- a/code/game/objects/items/devices/uplinks.dm +++ b/code/game/objects/items/devices/uplinks.dm @@ -254,22 +254,22 @@ var/list/world_uplinks = list() /obj/item/device/radio/headset/syndicate/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/antag_spawner/borg_tele)) var/obj/item/weapon/antag_spawner/borg_tele/S = W - if(!S.used) + if(!S.used && !S.checking) hidden_uplink.uses += S.TC_cost qdel(S) user << "Teleporter refunded." else - user << "This teleporter is already used." + user << "This teleporter is already used, or is currently being used." /obj/item/device/radio/uplink/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/antag_spawner/borg_tele)) var/obj/item/weapon/antag_spawner/borg_tele/S = W - if(!S.used) + if(!S.used && !S.checking) hidden_uplink.uses += S.TC_cost qdel(S) user << "Teleporter refunded." else - user << "This teleporter is already used." + user << "This teleporter is already used, or is currently being used." // PRESET UPLINKS // A collection of preset uplinks.