Tg 2 11 sync (#215)

* first series of updates

* datums

* games folder

* admin and atmosia stuffs

* moar

* mob updates borg riding

* sprites and stuff

* fixes for various things

* oops. some missed fixes
This commit is contained in:
Poojawa
2017-02-12 03:56:14 -06:00
committed by GitHub
parent 30b3dff395
commit 6674f9fc15
153 changed files with 1651 additions and 1368 deletions
+72
View File
@@ -297,3 +297,75 @@
handle_vehicle_offsets()
else
user << "<span class='notice'>You'll need something to guide the [ridden.name].</span>"
//CYBORGS. NO, THEY ARE NOT ANIMALS.
/datum/riding/cyborg
keytype = null
vehicle_move_delay = 1
/datum/riding/cyborg/proc/ride_check(mob/user)
if(user.incapacitated())
var/kick = TRUE
if(istype(ridden, /mob/living/silicon/robot))
var/mob/living/silicon/robot/R = ridden
if(R.module && R.module.ride_allow_incapacitated)
kick = FALSE
if(kick)
user << "<span class='userdanger'>You fall off of [ridden]!</span>"
ridden.unbuckle_mob(user)
return
if(istype(user, /mob/living/carbon))
var/mob/living/carbon/carbonuser = user
if(!carbonuser.get_num_arms())
ridden.unbuckle_mob(user)
user << "<span class='userdanger'>You can't grab onto [ridden] with no hands!</span>"
return
/datum/riding/cyborg/handle_vehicle_layer()
if(ridden.dir == SOUTH)
ridden.layer = ABOVE_MOB_LAYER
else
ridden.layer = OBJ_LAYER
if(!ridden.buckled_mobs)
ridden.layer = MOB_LAYER
/datum/riding/cyborg/handle_vehicle_offsets()
if(ridden.has_buckled_mobs())
for(var/mob/living/M in ridden.buckled_mobs)
M.setDir(ridden.dir)
if(iscyborg(ridden))
var/mob/living/silicon/robot/R = ridden
if(istype(R.module))
M.pixel_x = R.module.ride_offset_x[dir2text(ridden.dir)]
M.pixel_y = R.module.ride_offset_y[dir2text(ridden.dir)]
else
switch(ridden.dir)
if(NORTH)
M.pixel_x = 0
M.pixel_y = 4
if(SOUTH)
M.pixel_x = 0
M.pixel_y = 4
if(EAST)
M.pixel_x = -6
M.pixel_y = 3
if(WEST)
M.pixel_x = 6
M.pixel_y = 3
/datum/riding/cyborg/proc/on_vehicle_move()
for(var/mob/living/M in ridden.buckled_mobs)
ride_check(M)
handle_vehicle_offsets()
handle_vehicle_layer()
/datum/riding/cyborg/proc/force_dismount()
for(var/mob/living/M in ridden.buckled_mobs)
ridden.unbuckle_mob(M)
var/turf/target = get_edge_target_turf(ridden, ridden.dir)
var/turf/targetm = get_step(get_turf(ridden), ridden.dir)
M.Move(targetm)
M.visible_message("<span class='boldwarning'>[M] is thrown clear of [ridden] by rapid spinning!</span>")
M.throw_at(target, 14, 5, ridden)
M.Weaken(3)