mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-01-06 07:23:16 +00:00
Merge branch 'master' of https://github.com/VOREStation/VOREStation
# Conflicts: # config/custom_items.txt
This commit is contained in:
@@ -352,6 +352,11 @@
|
||||
"You hear something slam into \the [landing].")
|
||||
playsound(loc, "punch", 25, 1, -1)
|
||||
var/damage = 15 // Because wounds heal rather quickly, 15 should be enough to discourage jumping off but not be enough to ruin you, at least for the first time.
|
||||
var/mob/living/carbon/human/pred = src //VOREStation Edit Start
|
||||
var/belly = src.vore_selected
|
||||
var/datum/belly/belly_target = pred.vore_organs[belly]
|
||||
if(belly_target && belly_target.internal_contents.len != 0)
|
||||
damage = 5 //VOREStation Edit End
|
||||
apply_damage(rand(0, damage), BRUTE, BP_HEAD)
|
||||
apply_damage(rand(0, damage), BRUTE, BP_TORSO)
|
||||
apply_damage(rand(0, damage), BRUTE, BP_L_LEG)
|
||||
|
||||
60
code/modules/multiz/movement_vr.dm
Normal file
60
code/modules/multiz/movement_vr.dm
Normal file
@@ -0,0 +1,60 @@
|
||||
|
||||
/mob/living/handle_fall(var/turf/landing)
|
||||
var/mob/drop_mob= locate(/mob, loc)
|
||||
|
||||
if(locate(/obj/structure/stairs) in landing)
|
||||
for(var/atom/A in landing)
|
||||
if(!A.CanPass(src, src.loc, 1, 0))
|
||||
return FALSE
|
||||
Move(landing)
|
||||
return 1
|
||||
|
||||
if(drop_mob && drop_mob != src && ismob(drop_mob)) //Shitload of checks. This is because the game finds various ways to screw me over.
|
||||
drop_mob.fall_impact(src)
|
||||
|
||||
// Then call parent to have us actually fall
|
||||
return ..()
|
||||
/mob/CheckFall(var/atom/movable/falling_atom)
|
||||
return falling_atom.fall_impact(src)
|
||||
/* //Leaving this here to show my previous iterations which failed.
|
||||
/mob/living/fall_impact(var/atom/hit_atom) //This is called even when a humanoid falls. Dunno why, it just does.
|
||||
if(isliving(hit_atom)) //THIS WEAKENS THE PERSON FALLING & NOMS THE PERSON FALLEN ONTO. SRC is person fallen onto. hit_atom is the person falling. Confusing.
|
||||
var/mob/living/pred = hit_atom
|
||||
pred.visible_message("<span class='danger'>\The [pred] falls onto \the [src]! FALL IMPACT MOB</span>")
|
||||
pred.Weaken(8) //Stun the person you're dropping onto! You /are/ suffering massive damage for a single stun.
|
||||
if(isliving(hit_atom) && isliving(src))
|
||||
var/mob/living/prey = src
|
||||
if(pred.can_be_drop_pred && prey.can_be_drop_prey) //Is person falling pred & person being fallen onto prey?
|
||||
pred.feed_grabbed_to_self_falling_nom(pred,prey)
|
||||
else if(prey.can_be_drop_pred && pred.can_be_drop_prey) //Is person being fallen onto pred & person falling prey
|
||||
pred.feed_grabbed_to_self_falling_nom(prey,pred) //oh, how the tables have turned.
|
||||
*/
|
||||
/mob/zshadow/fall_impact(var/atom/hit_atom) //You actually "fall" onto their shadow, first.
|
||||
/*
|
||||
var/floor_below = src.loc.below //holy fuck
|
||||
for(var/mob/M in floor_below.contents)
|
||||
if(M && M != src) //THIS WEAKENS THE MOBS YOU'RE FALLING ONTO
|
||||
M.visible_message("<span class='danger'>\The [src] drops onto \the [M]! FALL IMPACT SHADOW WEAKEN 8</span>")
|
||||
M.Weaken(8)
|
||||
*/
|
||||
if(isliving(hit_atom)) //THIS WEAKENS THE PERSON FALLING & NOMS THE PERSON FALLEN ONTO. SRC is person fallen onto. hit_atom is the person falling. Confusing.
|
||||
var/mob/living/pred = hit_atom
|
||||
pred.visible_message("<span class='danger'>\The [hit_atom] falls onto \the [src]!</span>")
|
||||
pred.Weaken(8) //Stun the person you're dropping onto! You /are/ suffering massive damage for a single stun.
|
||||
var/mob/living/prey = src.owner //The shadow's owner
|
||||
if(isliving(prey))
|
||||
if(pred.can_be_drop_pred && prey.can_be_drop_prey) //Is person falling pred & person being fallen onto prey?
|
||||
pred.feed_grabbed_to_self_falling_nom(pred,prey)
|
||||
else if(prey.can_be_drop_pred && pred.can_be_drop_prey) //Is person being fallen onto pred & person falling prey
|
||||
pred.feed_grabbed_to_self_falling_nom(prey,pred) //oh, how the tables have turned.
|
||||
else
|
||||
prey.Weaken(8) //Just fall onto them if neither of the above apply.
|
||||
|
||||
/mob/proc/CanZPass(atom/A, direction)
|
||||
if(z == A.z) //moving FROM this turf
|
||||
return direction == UP //can't go below
|
||||
else
|
||||
if(direction == UP) //on a turf below, trying to enter
|
||||
return 0
|
||||
if(direction == DOWN) //on a turf above, trying to enter
|
||||
return 1
|
||||
Reference in New Issue
Block a user