mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-30 16:48:12 +01:00
[MIRROR] initial throw fixing (#12231)
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com> Co-authored-by: C.L. <killer65311@gmail.com>
This commit is contained in:
co-authored by
Kashargul
C.L.
parent
4693238765
commit
441ee14971
@@ -355,7 +355,6 @@
|
||||
return
|
||||
|
||||
src.pickup(user)
|
||||
src.throwing = 0
|
||||
if (src.loc == user)
|
||||
if(!user.unEquip(src))
|
||||
return
|
||||
@@ -415,7 +414,7 @@
|
||||
else
|
||||
return 0
|
||||
|
||||
/obj/item/throw_impact(atom/hit_atom, var/speed)
|
||||
/obj/item/throw_impact(atom/hit_atom)
|
||||
..()
|
||||
if(isliving(hit_atom) && !hit_atom.is_incorporeal()) //Living mobs handle hit sounds differently.
|
||||
var/volume = get_volume_by_throwforce_and_or_w_class()
|
||||
|
||||
@@ -364,7 +364,7 @@
|
||||
//If the crystal hasn't been set up, it does this
|
||||
/obj/item/capture_crystal/proc/activate(mob/living/user, target)
|
||||
if(!cooldown_check()) //Are we ready to do things yet?
|
||||
to_chat(thrower, span_notice("\The [src] clicks unsatisfyingly... It is not ready yet."))
|
||||
to_chat(user, span_notice("\The [src] clicks unsatisfyingly... It is not ready yet."))
|
||||
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
|
||||
return
|
||||
if(spawn_mob_type && !bound_mob) //We don't already have a mob, but we know what kind of mob we want
|
||||
@@ -424,7 +424,7 @@
|
||||
//We're using the crystal, but what will it do?
|
||||
/obj/item/capture_crystal/proc/determine_action(mob/living/U, T)
|
||||
if(!cooldown_check()) //Are we ready yet?
|
||||
to_chat(thrower, span_notice("\The [src] clicks unsatisfyingly... It is not ready yet."))
|
||||
to_chat(U, span_notice("\The [src] clicks unsatisfyingly... It is not ready yet."))
|
||||
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
|
||||
return //No
|
||||
if(bound_mob in contents) //Do we have our mob?
|
||||
@@ -917,7 +917,7 @@
|
||||
|
||||
/obj/item/capture_crystal/cheap/activate(mob/living/user, target)
|
||||
if(!cooldown_check()) //Are we ready to do things yet?
|
||||
to_chat(thrower, span_notice("\The [src] clicks unsatisfyingly... It is not ready yet."))
|
||||
to_chat(user, span_notice("\The [src] clicks unsatisfyingly... It is not ready yet."))
|
||||
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
|
||||
return
|
||||
if(spawn_mob_type && !bound_mob) //We don't already have a mob, but we know what kind of mob we want
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
healthcheck()
|
||||
return
|
||||
|
||||
/obj/structure/alien/hitby(atom/movable/source)
|
||||
/obj/structure/alien/hitby(atom/movable/source, datum/thrownthing/throwingdatum)
|
||||
..()
|
||||
visible_message(span_danger("\The [src] was hit by \the [source]."))
|
||||
var/tforce
|
||||
|
||||
@@ -285,14 +285,14 @@
|
||||
tail_image.layer = BODY_LAYER + ((dir in tail_lower_dirs) ? TAIL_LOWER_LAYER : tail_layering)
|
||||
add_overlay(tail_image)
|
||||
|
||||
/obj/structure/gargoyle/hitby(atom/movable/source ,var/speed = THROWFORCE_SPEED_DIVISOR)
|
||||
/obj/structure/gargoyle/hitby(atom/movable/source, datum/thrownthing/throwingdatum)
|
||||
var/mob/living/carbon/human/gargoyle = WR_gargoyle.resolve()
|
||||
if(!gargoyle)
|
||||
return
|
||||
if(isitem(source) && gargoyle.vore_selected && gargoyle.trash_catching)
|
||||
var/obj/item/I = source
|
||||
if(gargoyle.adminbus_trash || is_type_in_list(I, GLOB.edible_trash) && I.trash_eatable && !is_type_in_list(I, GLOB.item_vore_blacklist))
|
||||
gargoyle.hitby(source, speed)
|
||||
gargoyle.hitby(source, throwingdatum)
|
||||
return
|
||||
else if(isliving(source))
|
||||
var/mob/living/L = source
|
||||
@@ -301,7 +301,7 @@
|
||||
if(gargoyle.can_be_drop_prey)
|
||||
drop_prey_temp = TRUE
|
||||
gargoyle.can_be_drop_prey = FALSE //Making sure the original gargoyle body is not the one getting throwvored instead.
|
||||
gargoyle.hitby(L, speed)
|
||||
gargoyle.hitby(L, throwingdatum)
|
||||
if(drop_prey_temp)
|
||||
gargoyle.can_be_drop_prey = TRUE
|
||||
return
|
||||
|
||||
@@ -257,9 +257,10 @@
|
||||
take_damage(damage)
|
||||
return
|
||||
|
||||
/obj/structure/low_wall/hitby(atom/movable/source, var/speed)
|
||||
/obj/structure/low_wall/hitby(atom/movable/source, datum/thrownthing/throwingdatum)
|
||||
..()
|
||||
var/tforce = 0
|
||||
var/speed = throwingdatum?.speed || THROWFORCE_SPEED_DIVISOR
|
||||
if(ismob(source)) // All mobs have a multiplier and a size according to mob_defines.dm
|
||||
var/mob/I = source
|
||||
tforce = I.mob_size * (speed/THROWFORCE_SPEED_DIVISOR)
|
||||
|
||||
@@ -165,7 +165,7 @@
|
||||
return !anchored // If it's anchored, it'll block air.
|
||||
return TRUE // Don't stop airflow from the other sides.
|
||||
|
||||
/obj/structure/window/hitby(atom/movable/source)
|
||||
/obj/structure/window/hitby(atom/movable/source, datum/thrownthing/throwingdatum)
|
||||
..()
|
||||
visible_message(span_danger("[src] was hit by [source]."))
|
||||
var/tforce = 0
|
||||
|
||||
Reference in New Issue
Block a user