From eef56aa6cc5b2ac82bb17f7b8f1e7c07bbe95f96 Mon Sep 17 00:00:00 2001 From: SoundScopes Date: Tue, 16 Jun 2015 12:44:17 +0100 Subject: [PATCH] Updated throw code to match DM beta release --- code/game/gamemodes/changeling/changeling_powers.dm | 5 +++-- code/game/objects/items/weapons/swords_axes_etc.dm | 2 +- code/modules/mob/living/carbon/carbon.dm | 8 ++++---- code/modules/mob/mob_grab.dm | 2 +- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/code/game/gamemodes/changeling/changeling_powers.dm b/code/game/gamemodes/changeling/changeling_powers.dm index a6a44189..eb08e8f7 100644 --- a/code/game/gamemodes/changeling/changeling_powers.dm +++ b/code/game/gamemodes/changeling/changeling_powers.dm @@ -338,6 +338,7 @@ O.make_changeling(1) O.verbs += /mob/proc/changeling_lesser_transform O.changeling_update_languages(changeling.absorbed_languages) + O.add_language("Changeling") feedback_add_details("changeling_powers","LF") del(C) @@ -904,7 +905,7 @@ var/list/datum/dna/hivemind_bank = list() del(src) return -/obj/item/weapon/melee/changeling/armblade/proc/throw() +/obj/item/weapon/melee/changeling/armblade/proc/weaponThrow() //This isn't even used what? ~Scopes del(src) return @@ -936,6 +937,6 @@ var/list/datum/dna/hivemind_bank = list() del(src) return -/obj/item/weapon/shield/riot/changelingshield/proc/throw() +/obj/item/weapon/shield/riot/changelingshield/proc/weaponThrow() //This isn't even used what? ~Scopes del(src) return \ No newline at end of file diff --git a/code/game/objects/items/weapons/swords_axes_etc.dm b/code/game/objects/items/weapons/swords_axes_etc.dm index eefd06c6..44a877b8 100644 --- a/code/game/objects/items/weapons/swords_axes_etc.dm +++ b/code/game/objects/items/weapons/swords_axes_etc.dm @@ -217,7 +217,7 @@ del(src) return -/obj/item/weapon/melee/energy/blade/proc/throw() +/obj/item/weapon/melee/energy/blade/proc/weaponThrow() //This isn't even used what? ~Scopes del(src) return diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index d0fddc9a..a7a71674 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -287,7 +287,7 @@ usr << "\red You have nothing to drop in your hand." return return drop_item() - + /mob/proc/throw_item(atom/target) return @@ -303,7 +303,7 @@ if (istype(item, /obj/item/weapon/grab)) var/obj/item/weapon/grab/G = item - item = G.throw() //throw the person instead of the grab + item = G.grabThrow() //throw the person instead of the grab if(ismob(item)) var/turf/start_T = get_turf(loc) //Get the start and target tile for the descriptors var/turf/end_T = get_turf(target) @@ -322,6 +322,8 @@ u_equip(item) update_icons() + if(!item) return //Some items have a chance of being deleted when dropped + if (istype(usr, /mob/living/carbon)) //Check if a carbon mob is throwing. Modify/remove this line as required. item.loc = src.loc if(src.client) @@ -339,14 +341,12 @@ src.inertia_dir = get_dir(target, src) step(src, inertia_dir) - /* if(istype(src.loc, /turf/space) || (src.flags & NOGRAV)) //they're in space, move em one space in the opposite direction src.inertia_dir = get_dir(target, src) step(src, inertia_dir) */ - item.throw_at(target, item.throw_range, item.throw_speed, src) /mob/living/carbon/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index 7d405a5d..92cf53ae 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -35,7 +35,7 @@ //Used by throw code to hand over the mob, instead of throwing the grab. The grab is then deleted by the throw code. -/obj/item/weapon/grab/proc/throw() +/obj/item/weapon/grab/proc/grabThrow() if(affecting) if(affecting.buckled) return null