restores drink flinging

This commit is contained in:
ancientpower
2020-02-04 15:48:03 -06:00
parent 937f6356ab
commit 524836c2b2
3 changed files with 26 additions and 1 deletions
+9 -1
View File
@@ -763,4 +763,12 @@
for(var/datum/action/A in M.actions)
if(istype(A, action_type))
return A
return
return
/proc/find_active_innate_action(mob/M, var/action_type)
var/datum/action/innate/A = get_action_of_type(M, action_type)
if(!istype(A))
return FALSE
if(A.active)
return TRUE
return FALSE
@@ -111,6 +111,8 @@
return
if(QDELING(src) || (ranged && !target))
return
if(ranged && bartender_check(target))
return
var/obj/item/broken_bottle/B = new (loc)
B.icon_state = icon_state
var/icon/I = new('icons/obj/drinks.dmi', src.icon_state)
@@ -102,6 +102,14 @@
. = ..()
SplashReagents(hit_atom, TRUE)
/obj/item/reagent_containers/proc/bartender_check(atom/target)
. = FALSE
var/turf/T = get_turf(src)
if(!T || target.CanPass(src, T) || !thrownby || !thrownby.actions)
return
if(find_active_innate_action(thrownby, /datum/action/innate/drink_fling))
return TRUE
/obj/item/reagent_containers/proc/ForceResetRotation()
transform = initial(transform)
@@ -123,6 +131,13 @@
log_combat(thrownby, M, "splashed", R)
reagents.reaction(target, TOUCH)
else if(bartender_check(target) && thrown)
visible_message("<span class='notice'>[src] lands onto the [target.name] without spilling a single drop.</span>")
transform = initial(transform)
addtimer(CALLBACK(src, .proc/ForceResetRotation), 1)
return
else
if(isturf(target) && reagents.reagent_list.len && thrownby)
log_combat(thrownby, target, "splashed (thrown) [english_list(reagents.reagent_list)]", "in [AREACOORD(target)]")