From 9318d806d7150dd6be5b2d8f6e5338ec92997f81 Mon Sep 17 00:00:00 2001 From: Anewbe Date: Sat, 4 Nov 2017 03:47:49 -0500 Subject: [PATCH 1/3] Adds a ling ability to slip cuffs --- .../gamemodes/changeling/changeling_powers.dm | 1 + .../changeling/powers/escape_restraints.dm | 63 +++++++++++++++++++ polaris.dme | 1 + 3 files changed, 65 insertions(+) create mode 100644 code/game/gamemodes/changeling/powers/escape_restraints.dm diff --git a/code/game/gamemodes/changeling/changeling_powers.dm b/code/game/gamemodes/changeling/changeling_powers.dm index 7c6a9cc7afc..82976e075fc 100644 --- a/code/game/gamemodes/changeling/changeling_powers.dm +++ b/code/game/gamemodes/changeling/changeling_powers.dm @@ -22,6 +22,7 @@ var/global/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","E var/recursive_enhancement = 0 //Used to power up other abilities from the ling power with the same name. var/list/purchased_powers_history = list() //Used for round-end report, includes respec uses too. var/last_shriek = null // world.time when the ling last used a shriek. + var/next_escape = 0 // world.time when the ling can next use Escape Restraints /datum/changeling/New(var/gender=FEMALE) ..() diff --git a/code/game/gamemodes/changeling/powers/escape_restraints.dm b/code/game/gamemodes/changeling/powers/escape_restraints.dm new file mode 100644 index 00000000000..431b0468d52 --- /dev/null +++ b/code/game/gamemodes/changeling/powers/escape_restraints.dm @@ -0,0 +1,63 @@ +/datum/power/changeling/escape_restraints + name = "Escape Restraints" + desc = "We evolve more complex joints" + helptext = "We can instantly escape from most restraints and bindings, but we cannot do it often." + enhancedtext = "More frequent escapes." + ability_icon_state = "ling_epinepherine_overdose" + genomecost = 2 + verbpath = /mob/proc/changeling_escape_restraints + +//Escape Cuffs +/mob/proc/changeling_escape_restraints() + set category = "Changeling" + set name = "Escape Restraints (40)" + set desc = "Removes handcuffs and legcuffs instantly." + + var/escape_cooldown = 5 MINUTES //This is used later to prevent spamming + var/mob/living/carbon/human/C = src + var/datum/changeling/changeling = changeling_power(40,0,100,CONSCIOUS) + if(!changeling) + return 0 + if(world.time < changeling.next_escape) + to_chat(src, "We are still recovering from our last escape...") + return 0 + if(!(C.handcuffed || C.legcuffed)) // No need to waste chems if there's nothing to break out of + to_chat(C, "We are are not restrained in a way we can escape...") + return 0 + + changeling.chem_charges -= 40 + + to_chat(C,"We slip contort our extremities and slip our cuffs.") + playsound(src, 'sound/effects/blobattack.ogg', 30, 1) + if(C.handcuffed) + var/obj/item/weapon/W = C.handcuffed + C.handcuffed = null + if(C.buckled && C.buckled.buckle_require_restraints) + C.buckled.unbuckle_mob() + C.update_inv_handcuffed() + if (C.client) + C.client.screen -= W + if(W) + W.loc = C.loc + W.dropped(C) + if(W) + W.layer = initial(W.layer) + if(C.legcuffed) + var/obj/item/weapon/W = C.legcuffed + C.legcuffed = null + C.update_inv_legcuffed() + if(C.client) + C.client.screen -= W + if(W) + W.loc = C.loc + W.dropped(C) + if(W) + W.layer = initial(W.layer) + + if(src.mind.changeling.recursive_enhancement) + escape_cooldown *= 0.5 + + changeling.next_escape = world.time + escape_cooldown //And now we set the timer + + feedback_add_details("changeling_powers","ESR") + return 1 \ No newline at end of file diff --git a/polaris.dme b/polaris.dme index 5e95e08499e..a9c79da700c 100644 --- a/polaris.dme +++ b/polaris.dme @@ -402,6 +402,7 @@ #include "code\game\gamemodes\changeling\powers\enfeebling_string.dm" #include "code\game\gamemodes\changeling\powers\engorged_glands.dm" #include "code\game\gamemodes\changeling\powers\epinephrine_overdose.dm" +#include "code\game\gamemodes\changeling\powers\escape_restraints.dm" #include "code\game\gamemodes\changeling\powers\extract_dna_sting.dm" #include "code\game\gamemodes\changeling\powers\fabricate_clothing.dm" #include "code\game\gamemodes\changeling\powers\fake_death.dm" From d04a5797ff4d2eed3fdf79c40682be2af1809ae8 Mon Sep 17 00:00:00 2001 From: Anewbe Date: Sun, 5 Nov 2017 14:30:18 -0600 Subject: [PATCH 2/3] Fixes a thing, clarifies a comment --- code/game/gamemodes/changeling/powers/escape_restraints.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/gamemodes/changeling/powers/escape_restraints.dm b/code/game/gamemodes/changeling/powers/escape_restraints.dm index 431b0468d52..cd6f897c5ac 100644 --- a/code/game/gamemodes/changeling/powers/escape_restraints.dm +++ b/code/game/gamemodes/changeling/powers/escape_restraints.dm @@ -7,7 +7,7 @@ genomecost = 2 verbpath = /mob/proc/changeling_escape_restraints -//Escape Cuffs +//Escape Cuffs. By design this does not escape from straight jackets /mob/proc/changeling_escape_restraints() set category = "Changeling" set name = "Escape Restraints (40)" @@ -27,7 +27,7 @@ changeling.chem_charges -= 40 - to_chat(C,"We slip contort our extremities and slip our cuffs.") + to_chat(C,"We contort our extremities and slip our cuffs.") playsound(src, 'sound/effects/blobattack.ogg', 30, 1) if(C.handcuffed) var/obj/item/weapon/W = C.handcuffed From 61cb829dc1d74933e0ccd1ea85a477a3944d3423 Mon Sep 17 00:00:00 2001 From: Anewbe Date: Sun, 19 Nov 2017 02:34:40 -0600 Subject: [PATCH 3/3] Adds an actual icon for Escape Restraints --- .../changeling/powers/escape_restraints.dm | 2 +- icons/mob/screen_spells.dmi | Bin 63695 -> 64004 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/changeling/powers/escape_restraints.dm b/code/game/gamemodes/changeling/powers/escape_restraints.dm index cd6f897c5ac..4e6ed4e5cf8 100644 --- a/code/game/gamemodes/changeling/powers/escape_restraints.dm +++ b/code/game/gamemodes/changeling/powers/escape_restraints.dm @@ -3,7 +3,7 @@ desc = "We evolve more complex joints" helptext = "We can instantly escape from most restraints and bindings, but we cannot do it often." enhancedtext = "More frequent escapes." - ability_icon_state = "ling_epinepherine_overdose" + ability_icon_state = "ling_escape_restraints" genomecost = 2 verbpath = /mob/proc/changeling_escape_restraints diff --git a/icons/mob/screen_spells.dmi b/icons/mob/screen_spells.dmi index 62e3a406d53a79856a3468b1a41228c5803dbf8d..2e3aab854518dc4a14213be59e20bdaecaab1a22 100644 GIT binary patch delta 5843 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 pDHD+FO3V6sw8yKVp)r2=f0_%i5lOIy=