Advertisement
Guest User

Untitled

a guest
Dec 14th, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.51 KB | None | 0 0
  1. /mob/living/carbon/human/MouseDrop(mob/over)
  2. . = ..()
  3. if(!ishuman(over))
  4. return
  5. var/mob/living/carbon/human/H = over // curbstomp, ported from PP with modifications
  6. if(zone_selected == BODY_ZONE_HEAD || zone_selected == BODY_ZONE_PRECISE_GROIN)
  7. return // targeting head or targeting groin
  8. if(a_intent != INTENT_HELP)
  9. return // in not help / harm intent
  10. if !(H.mobility_flags & MOBILITY_STAND)
  11. return // target is not standing
  12. if(is_busy || get_turf(src) == get_turf(H))//are they on the same space
  13. return
  14. is_busy = TRUE
  15. //top set is checks to ensure all the correct parameters are met
  16. ifif(!do_mob(src,T,25) || src.zone_selected != BODY_ZONE_HEAD || src.zone_selected != BODY_ZONE_PRECISE_GROIN || get_turf(src) != get_turf(T) || (T.mobility_flags & MOBILITY_STAND) || src.a_intent == INTENT_HELP) //wait 30ds and make sure the stars still align
  17. src.is_busy = FALSE
  18. return
  19. //bottom set is to ensure they are by checking the opposite
  20. T.Stun(6)
  21.  
  22. var/increment = (T.lying/90)-2
  23. setDir(increment > 0 ? WEST : EAST)
  24. for(var/i in 1 to 5)
  25. src.pixel_y += 8-i
  26. src.pixel_x -= increment
  27. sleep(0.2)
  28. for(var/i in 1 to 5)
  29. src.pixel_y -= 8-i
  30. src.pixel_x -= increment
  31. sleep(0.2)
  32.  
  33. playsound(src, 'sound/effects/hit_kick.ogg', 80, 1, -1)
  34. playsound(src, 'sound/weapons/punch2.ogg', 80, 1, -1)
  35.  
  36. if(src.zone_selected == BODY_ZONE_HEAD)
  37. var/obj/item/bodypart/BP = T.get_bodypart(BODY_ZONE_HEAD)
  38. if(BP)
  39. BP.receive_damage(36) //so 3 toolbox hits
  40. log_combat(src, T, "curbstomped")
  41. T.visible_message("<span class='warning'>[src] curbstomps [T]!</span>", "<span class='warning'>[src] curbstomps you!</span>")
  42. else
  43. return 0
  44. else
  45. return 0
  46.  
  47. if(src.zone_selected == BODY_ZONE_PRECISE_GROIN)
  48. var/obj/item/bodypart/BP = T.get_bodypart(BODY_ZONE_CHEST)
  49. if(BP)
  50. if(T.gender == MALE && (ishuman(T)) || (iscatperson(T)) || (islizard(T))) //Conditional damage due to the old twig and berries as well as species that has said twig and berries
  51. BP.receive_damage(30)
  52. else
  53. BP.receive_damage(20)
  54. T.visible_message("<span class='warning'> [src] kicks [T] in the groin", "<span class='warning> [src] has kicked you in the groin!'")
  55. log_combat(src, T, "groinkicked")
  56. else
  57. return 0
  58. else
  59. return 0
  60.  
  61. src.pixel_x = 0
  62. src.pixel_y = 0 //just to make sure
  63.  
  64. log_combat(src, T, "curbstomped")
  65. src.is_busy = FALSE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement