diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm
index 83b3fcadc76..e7f606789e5 100644
--- a/code/_onclick/other_mobs.dm
+++ b/code/_onclick/other_mobs.dm
@@ -23,10 +23,6 @@
*/
/mob/living/carbon/RestrainedClickOn(var/atom/A)
- var/obj/item/I = get_active_hand()
- if(I != null && I.flags&ABSTRACT)
- I.afterattack(A)
- return 1
return 0
/mob/living/carbon/human/RangedAttack(var/atom/A)
diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm
index 1cfb4c0a350..be0b2314f2c 100644
--- a/code/game/gamemodes/changeling/changeling.dm
+++ b/code/game/gamemodes/changeling/changeling.dm
@@ -222,7 +222,7 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon"
var/absorbedcount = 0
var/chem_charges = 20
var/chem_storage = 50
- var/chem_recharge_rate = 1
+ var/chem_recharge_rate = 0.5
var/sting_range = 2
var/changelingID = "Changeling"
var/geneticdamage = 0
diff --git a/code/game/gamemodes/changeling/changeling_powers.dm b/code/game/gamemodes/changeling/changeling_powers.dm
index f5a625bbfbc..f84cb8a428c 100644
--- a/code/game/gamemodes/changeling/changeling_powers.dm
+++ b/code/game/gamemodes/changeling/changeling_powers.dm
@@ -28,7 +28,8 @@
//removes our changeling verbs
/mob/proc/remove_changeling_powers()
- src:unset_sting()
+ var/mob/living/carbon/C = src
+ C.unset_sting()
for(var/datum/power/changeling/P in powerinstances)
if(P.isVerb)
verbs -= P.verbpath
@@ -185,51 +186,6 @@
. = 1
del(src)
return
-/*
-/mob/living/carbon/proc/changeling_greater_form()
- set category = "Changeling"
- set name = "Greater Form ON (45)"
-
- var/datum/changeling/changeling = changeling_power(45,0,1)
- if(!changeling) return
-
- changeling.chem_charges -= 45
- changeling.geneticdamage = 5
- src << "Our genes cry out!"
- mutations.Add(HULK, XRAY, COLD_RESISTANCE)
- update_mutations()
- src.mind.changeling.chem_storage -= 45
- src.mind.changeling.chem_recharge_rate /= 2
- verbs -= /mob/living/carbon/proc/changeling_greater_form
- verbs -= /mob/living/carbon/proc/changeling_lesser_form
- verbs += /mob/living/carbon/proc/changeling_greater_form_off
- feedback_add_details("changeling_powers","GF")
- . = 1
- return
-
-/mob/living/carbon/proc/changeling_greater_form_off()
- set category = "Changeling"
- set name = "Greater Form OFF (5)"
-
- var/datum/changeling/changeling = changeling_power(5,0,1)
- if(!changeling) return
-
- changeling.chem_charges -= 5
- changeling.geneticdamage = 5
- src << "Our genes cry out!"
- mutations.Remove(HULK, XRAY, COLD_RESISTANCE)
- update_mutations()
- src.mind.changeling.chem_storage += 45
- src.mind.changeling.chem_recharge_rate *= 2
- verbs += /mob/living/carbon/proc/changeling_greater_form
- verbs -= /mob/living/carbon/proc/changeling_greater_form_off
- for(var/datum/power/changeling/lesser_form in mind.changeling.purchasedpowers)
- verbs += /mob/living/carbon/proc/changeling_lesser_form
- feedback_add_details("changeling_powers","NF")
- . = 1
- return
-*/
-
//Transform into a human
/mob/living/carbon/proc/changeling_human_form()
@@ -571,18 +527,6 @@ var/list/datum/dna/hivemind_bank = list()
if(src && src.mind && src.mind.changeling)
src.mind.changeling.mimicing = ""
-/mob/living/carbon/proc/retract_stinger()
- set category = "Changeling"
- set name = "-Retract stinger-" //essential enough to be always second after evolution
- set desc = "Retracts the stinger, making hands useful again."
-
- if(!src.mind.changeling.chosen_sting)
- src << "Our stinger is already retracted."
- return 0
- unset_sting()
- src << "We retract our stinger."
- return 1
-
//////////
//STINGS// //They get a pretty header because there's just so fucking many of them ;_;
//////////
@@ -599,7 +543,7 @@ var/list/datum/dna/hivemind_bank = list()
hud_used.lingstingdisplay.icon_state = null
hud_used.lingstingdisplay.invisibility = 101
-/mob/living/carbon/proc/sting_can_reach(mob/living/carbon/C, chem_cost) //handles all the checks there is
+/mob/living/carbon/proc/sting_can_reach(mob/living/carbon/C, chem_cost) //handles all the checks there are
if(!isturf(src.loc)) return 0
if(get_dist(src, C) > (src.mind.changeling.sting_range)) return 0 //sanity check as AStar is still throwing insane stunts
if(!AStar(src.loc, C.loc, /turf/proc/AdjacentTurfs, /turf/proc/Distance, src.mind.changeling.sting_range)) return 0 //hope this ancient magic still works
@@ -646,7 +590,6 @@ var/list/datum/dna/hivemind_bank = list()
feedback_add_details("changeling_powers","TS")
return 1
-
/mob/living/carbon/proc/changeling_extract_dna_sting()
set category = "Changeling"
set name = "Extract DNA Sting (25)"
@@ -665,7 +608,6 @@ var/list/datum/dna/hivemind_bank = list()
feedback_add_details("changeling_powers","ED")
return 1
-
/mob/living/carbon/proc/changeling_mute_sting()
set category = "Changeling"
set name = "Mute sting (20)"
@@ -680,13 +622,6 @@ var/list/datum/dna/hivemind_bank = list()
feedback_add_details("changeling_powers","MS")
return 1
-/mob/living/carbon/proc/changeling_poison_sting()
- set category = "Changeling"
- set name = "Poison sting (15)"
- set desc= "Poisons target and gives them brain damage."
-
- set_sting(/mob/living/carbon/proc/sting_effect_poison, "sting_poison")
-
/mob/living/carbon/proc/sting_effect_poison(mob/living/carbon/T)
if(!sting_can_reach(T, 15))
return 0
diff --git a/code/game/gamemodes/changeling/modularchangling.dm b/code/game/gamemodes/changeling/modularchangling.dm
index f7533b6ef84..68450590a44 100644
--- a/code/game/gamemodes/changeling/modularchangling.dm
+++ b/code/game/gamemodes/changeling/modularchangling.dm
@@ -33,13 +33,6 @@ var/list/powerinstances
genomecost = 0
verbpath = /mob/living/carbon/proc/changeling_transform
-/datum/power/changeling/retract
- name = "Retract stinger"
- desc = "We retract our stinger, making possible to use hands."
- genomecost = 0
- allowduringlesserform = 1
- verbpath = /mob/living/carbon/proc/retract_stinger
-
/datum/power/changeling/fakedeath
name = "Regenerative Stasis"
desc = "We become weakened to a death-like state, where we will rise again from death."
@@ -115,15 +108,6 @@ var/list/powerinstances
genomecost = 1
verbpath = /mob/living/carbon/proc/changeling_fleshmend
-/*
-/datum/power/changeling/greater_form
- name = "Greater form"
- desc = "We become very strong, resistant and perceptive."
- helptext = "Gives you a hulk, cold resistance and x-ray while active."
- genomecost = 2
- verbpath = /mob/living/carbon/proc/changeling_greater_form
-*/
-
/datum/power/changeling/panacea
name = "Anatomic Panacea"
desc = "Expels impurifications from our form; curing diseases, genetic disabilities, and removing toxins and radiation."
@@ -154,13 +138,6 @@ var/list/powerinstances
allowduringlesserform = 1
verbpath = /mob/living/carbon/proc/changeling_lsd_sting
-/datum/power/changeling/poison_sting
- name = "Poison sting"
- desc = "We evolve the ability to sting a target with a poisonous chemical, causing toxic and brain damage."
- genomecost = 1
- allowduringlesserform = 1
- verbpath = /mob/living/carbon/proc/changeling_poison_sting
-
/datum/power/changeling/blind_sting
name = "Blind Sting"
desc = "We silently sting a human, completely blinding them for a short time."
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index bffea2cde29..2a06ec24238 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -46,10 +46,8 @@
visible_message("[M] bursts out of [src]!")
. = ..()
-/mob/living/carbon/ClickOn(var/atom/A, var/params)
- var/list/L = params2list(params)
- L.Remove("left", "icon-y", "icon-x", "screen-loc") //remove all the default params
- if(L["alt"] && src.mind.changeling && src.mind.changeling.chosen_sting && (istype(A, /mob/living/carbon)) && (A != src)) //checks for alt+click
+/mob/living/carbon/AltClickOn(var/atom/A)
+ if(!src.stat && src.mind.changeling && src.mind.changeling.chosen_sting && (istype(A, /mob/living/carbon)) && (A != src))
if(world.time <= next_click)
return
next_click = world.time + 5
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 38d3720d989..d9941e57a35 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -713,10 +713,8 @@ note dizziness decrements automatically in the mob's Life() proc.
if(lying)
density = 0
- if(r_hand && !(r_hand.flags&ABSTRACT))
- drop_r_hand()
- if(l_hand && !(l_hand.flags&ABSTRACT))
- drop_l_hand()
+ drop_r_hand()
+ drop_l_hand()
else
density = 1
diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm
index 62252ab6767..bca7be9241e 100644
--- a/code/modules/mob/transform_procs.dm
+++ b/code/modules/mob/transform_procs.dm
@@ -2,10 +2,6 @@
if (monkeyizing)
return
//Handle items on mob
- var/obj/item/rHand = r_hand
- var/obj/item/lHand = l_hand
- var/obj/item/Mask = wear_mask
- var/obj/item/Back = back
//first implants
var/list/implants = list()
@@ -17,17 +13,6 @@
for(var/obj/item/W in (src.contents-implants))
drop_from_inventory(W)
- if(tr_flags & TR_KEEPITEMS)
- if(rHand)
- rHand.loc = src
- if(lHand)
- lHand.loc = src
- if(Back)
- Back.loc = src
- if(Mask)
- Mask.loc = src
-
-
//Make mob invisible and spawn animation
regenerate_icons()
monkeyizing = 1
@@ -43,15 +28,6 @@
sleep(22)
//animation = null
var/mob/living/carbon/monkey/O = new /mob/living/carbon/monkey( loc )
- if(tr_flags & TR_KEEPITEMS)
- if(rHand)
- O.equip_to_slot(rHand, slot_r_hand)
- if(lHand)
- O.equip_to_slot(lHand, slot_l_hand)
- if(Mask)
- O.equip_to_slot(Mask, slot_wear_mask)
- if(Back)
- O.equip_to_slot(Back, slot_back)
del(animation)