The real slips rewrite (#22490)

* Fix a bug in forceMove

Don't call Exited/Entered if the loc is the same

* Added forced_movement

* Remove usages comment

Fixed a parameters bug

* Refactor slips

* Refactors meathook

* Negative check

* Shittier syntax, more performance

* Seperation of src and args

* Sanity check

Because you know someone will fuck it up

* X to Y is inclusive

* Bettter diagonals

* Remove unused var

* Better suggestion

* This was never used, why was it here?

* Arg prefixing...

* Better cleanup

* Do not touch the self managing var

* Cleanup

* More cleanup

* Missed 2

* Added callbacks

* Fix ice again

* Sanity checks

* Applied to larva/attack_hulk

* Fix the chain's usage

* LDFJAHDJKAGFHLJKDSAGHJKLSDAGBLKJADGFHKLJADGNLKAMDFNBJK:ANFDJKLADSNLSJKDFHNASFADSFLK:AJFL:KASJFKLASJF:LAJSF:LKJASKFMSALKF
This commit is contained in:
Cyberboss
2017-01-12 13:57:23 +13:00
committed by oranges
parent 03e659b18c
commit de454f5a35
10 changed files with 122 additions and 33 deletions
@@ -22,10 +22,7 @@
if(user.a_intent == INTENT_HARM)
..(user, 1)
adjustBruteLoss(5 + rand(1,9))
spawn()
step_away(src,user,15)
sleep(1)
step_away(src,user,15)
new /datum/forced_movement(src, get_step_away(user,src, 30), 1)
return 1
/mob/living/carbon/alien/larva/do_attack_animation(atom/A, visual_effect_icon, obj/item/used_item, no_effect, end_pixel_y)
+1 -1
View File
@@ -519,7 +519,7 @@
if (AM.density && AM.anchored)
pressure_resistance_prob_delta -= 20
break
if(!slipping)
if(!force_moving)
..(pressure_difference, direction, pressure_resistance_prob_delta)
/mob/living/verb/resist()
@@ -74,6 +74,4 @@
var/list/status_effects //a list of all status effects the mob has
var/slipping = FALSE
var/list/implants = null
+2 -2
View File
@@ -127,10 +127,10 @@
return 0
if(moving)
return 0
if(mob.force_moving)
return 0
if(isliving(mob))
var/mob/living/L = mob
if(L.slipping)
return 0
if(L.incorporeal_move) //Move though walls
Process_Incorpmove(direct)
return 0