diff --git a/code/_onclick/hud/alien.dm b/code/_onclick/hud/alien.dm index 6592bb3e229..763269c2af7 100644 --- a/code/_onclick/hud/alien.dm +++ b/code/_onclick/hud/alien.dm @@ -135,10 +135,9 @@ nightvisionicon.name = "night vision" nightvisionicon.screen_loc = ui_alien_nightvision - mymob.pullin = new /obj/screen() + mymob.pullin = new /obj/screen/pull() mymob.pullin.icon = 'icons/mob/screen1_alien.dmi' - mymob.pullin.icon_state = "pull0" - mymob.pullin.name = "pull" + mymob.pullin.update_icon(mymob) mymob.pullin.screen_loc = ui_pull_resist alien_plasma_display = new /obj/screen() @@ -171,4 +170,4 @@ mymob.client.screen += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.toxin, mymob.fire, mymob.healths, nightvisionicon, mymob.pullin, alien_plasma_display, mymob.pullin, mymob.blind, mymob.flash) //, mymob.hands, mymob.rest, mymob.sleep, mymob.mach ) mymob.client.screen += src.adding + src.other - mymob.client.screen += mymob.client.void \ No newline at end of file + mymob.client.screen += mymob.client.void \ No newline at end of file diff --git a/code/_onclick/hud/alien_larva.dm b/code/_onclick/hud/alien_larva.dm index f24d8c29c0c..4c9b7b651c1 100644 --- a/code/_onclick/hud/alien_larva.dm +++ b/code/_onclick/hud/alien_larva.dm @@ -56,10 +56,9 @@ nightvisionicon.name = "night vision" nightvisionicon.screen_loc = ui_alien_nightvision - mymob.pullin = new /obj/screen() + mymob.pullin = new /obj/screen/pull() mymob.pullin.icon = 'icons/mob/screen1_alien.dmi' - mymob.pullin.icon_state = "pull0" - mymob.pullin.name = "pull" + mymob.pullin.update_icon(mymob) mymob.pullin.screen_loc = ui_pull_resist mymob.blind = new /obj/screen() @@ -69,7 +68,7 @@ mymob.blind.screen_loc = "CENTER-7,CENTER-7" mymob.blind.layer = 0 mymob.blind.mouse_opacity = 0 - + mymob.flash = new /obj/screen() mymob.flash.icon = 'icons/mob/screen1_alien.dmi' mymob.flash.icon_state = "blank" diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm index 138af2ed822..f55951b5f37 100644 --- a/code/_onclick/hud/human.dm +++ b/code/_onclick/hud/human.dm @@ -422,10 +422,9 @@ mymob.nutrition_icon.name = "nutrition" mymob.nutrition_icon.screen_loc = ui_nutrition - mymob.pullin = new /obj/screen() + mymob.pullin = new /obj/screen/pull() mymob.pullin.icon = ui_style - mymob.pullin.icon_state = "pull0" - mymob.pullin.name = "pull" + mymob.pullin.update_icon(mymob) mymob.pullin.screen_loc = ui_pull_resist src.hotkeybuttons += mymob.pullin diff --git a/code/_onclick/hud/monkey.dm b/code/_onclick/hud/monkey.dm index e9f98c60b97..fce38a8b465 100644 --- a/code/_onclick/hud/monkey.dm +++ b/code/_onclick/hud/monkey.dm @@ -233,10 +233,9 @@ mymob.nutrition_icon.name = "nutrition" mymob.nutrition_icon.screen_loc = ui_nutrition - mymob.pullin = new /obj/screen() + mymob.pullin = new /obj/screen/pull() mymob.pullin.icon = ui_style - mymob.pullin.icon_state = "pull0" - mymob.pullin.name = "pull" + mymob.pullin.update_icon(mymob) mymob.pullin.screen_loc = ui_pull_resist src.hotkeybuttons += mymob.pullin @@ -299,6 +298,6 @@ mymob.client.screen += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.pressure, mymob.toxin, mymob.bodytemp, mymob.internals, mymob.fire, mymob.healths, mymob.healthdoll, mymob.nutrition_icon, mymob.pullin, mymob.blind, mymob.flash, mymob.damageoverlay, mymob.gun_setting_icon) //, mymob.hands, mymob.rest, mymob.sleep) //, mymob.mach ) mymob.client.screen += src.adding + src.hotkeybuttons - mymob.client.screen += mymob.client.void + mymob.client.screen += mymob.client.void return diff --git a/code/_onclick/hud/other_mobs.dm b/code/_onclick/hud/other_mobs.dm index a17611c99ff..e2923055324 100644 --- a/code/_onclick/hud/other_mobs.dm +++ b/code/_onclick/hud/other_mobs.dm @@ -18,10 +18,9 @@ mymob.healths.name = "health" mymob.healths.screen_loc = ui_health - mymob.pullin = new /obj/screen() + mymob.pullin = new /obj/screen/pull() mymob.pullin.icon = 'icons/mob/screen1_corgi.dmi' - mymob.pullin.icon_state = "pull0" - mymob.pullin.name = "pull" + mymob.pullin.update_icon(mymob) mymob.pullin.screen_loc = ui_construct_pull mymob.oxygen = new /obj/screen() @@ -67,4 +66,4 @@ mymob.client.screen = list() mymob.client.screen += list(blobpwrdisplay, blobhealthdisplay) - mymob.client.screen += mymob.client.void \ No newline at end of file + mymob.client.screen += mymob.client.void \ No newline at end of file diff --git a/code/_onclick/hud/robot.dm b/code/_onclick/hud/robot.dm index 7fe1f4594e3..bd782657ce9 100644 --- a/code/_onclick/hud/robot.dm +++ b/code/_onclick/hud/robot.dm @@ -125,10 +125,9 @@ mymob.fire.name = "fire" mymob.fire.screen_loc = ui_fire - mymob.pullin = new /obj/screen() + mymob.pullin = new /obj/screen/pull() mymob.pullin.icon = 'icons/mob/screen1_robot.dmi' - mymob.pullin.icon_state = "pull0" - mymob.pullin.name = "pull" + mymob.pullin.update_icon(mymob) mymob.pullin.screen_loc = ui_borg_pull mymob.blind = new /obj/screen() diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index ea5202fd03f..4b46be13722 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -170,6 +170,21 @@ overlays.Cut() overlays += image('icons/mob/zone_sel.dmi', "[selecting]") +/obj/screen/pull + name = "stop pulling" + icon = 'icons/mob/screen1_Midnight.dmi' + icon_state = "pull" + +/obj/screen/pull/Click() + usr.stop_pulling() + +/obj/screen/pull/update_icon(mob/mymob) + if(!mymob) return + if(mymob.pulling) + icon_state = "pull" + else + icon_state = "pull0" + /obj/screen/Click(location, control, params) if(!usr) return 1 @@ -347,9 +362,6 @@ if("disarm") usr.a_intent = I_DISARM usr.hud_used.action_intent.icon_state = "intent_disarm" - - if("pull") - usr.stop_pulling() if("throw") if(!usr.stat && isturf(usr.loc) && !usr.restrained()) usr:toggle_throw_mode() diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index cc5481e9be4..47a47cbd7e5 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -89,7 +89,6 @@ add_cell() add_iterators() removeVerb(/obj/mecha/verb/disconnect_from_port) - removeVerb(/atom/movable/verb/pull) log_message("[src.name] created.") loc.Entered(src) mechas_list += src //global mech list diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm index 38f67bf51be..2f0d1567624 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm @@ -7,8 +7,6 @@ var/propelled = 0 // Check for fire-extinguisher-driven chairs /obj/structure/stool/bed/chair/New() - if(anchored) - src.verbs -= /atom/movable/verb/pull ..() spawn(3) //sorry. i don't think there's a better way to do this. handle_rotation() diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index 26757340fc8..d565f163781 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -210,26 +210,7 @@ var/list/wood_icons = list("wood","wood-broken") var/obj/item/stack/tile/light/T = floor_tile T.on = !T.on update_icon() - if ((!( user.canmove ) || user.restrained() || !( user.pulling ))) - return - if (user.pulling.anchored || !isturf(user.pulling.loc)) - return - if ((user.pulling.loc != user.loc && get_dist(user, user.pulling) > 1)) - return - if (ismob(user.pulling)) - var/mob/M = user.pulling - -// if(M==user) //temporary hack to stop runtimes. ~Carn -// user.stop_pulling() //but...fixed the root of the problem -// return //shoudn't be needed now, unless somebody fucks with pulling again. - - var/mob/t = M.pulling - M.stop_pulling() - step(user.pulling, get_dir(user.pulling.loc, src)) - M.start_pulling(t) - else - step(user.pulling, get_dir(user.pulling.loc, src)) - return + ..() /turf/simulated/floor/proc/gets_drilled() return diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 30f3e69a5ad..699569bfe87 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -277,6 +277,7 @@ user << "\blue You push the wall but nothing happens!" playsound(src, 'sound/weapons/Genhit.ogg', 25, 1) src.add_fingerprint(user) + ..() return /turf/simulated/wall/attackby(obj/item/weapon/W as obj, mob/user as mob, params) diff --git a/code/game/turfs/simulated/walls_reinforced.dm b/code/game/turfs/simulated/walls_reinforced.dm index 09656143c3c..c7b992ec9b0 100644 --- a/code/game/turfs/simulated/walls_reinforced.dm +++ b/code/game/turfs/simulated/walls_reinforced.dm @@ -31,6 +31,7 @@ user << "\blue You push the wall but nothing happens!" playsound(src, 'sound/weapons/Genhit.ogg', 25, 1) src.add_fingerprint(user) + ..() return diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index 9cafaf48198..d2b75dd22c6 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -31,23 +31,6 @@ else set_light(0) -/turf/space/attack_hand(mob/user as mob) - if ((user.restrained() || !( user.pulling ))) - return - if (user.pulling.anchored || !isturf(user.pulling.loc)) - return - if ((user.pulling.loc != user.loc && get_dist(user, user.pulling) > 1)) - return - if (ismob(user.pulling)) - var/mob/M = user.pulling - var/atom/movable/t = M.pulling - M.stop_pulling() - step(user.pulling, get_dir(user.pulling.loc, src)) - M.start_pulling(t) - else - step(user.pulling, get_dir(user.pulling.loc, src)) - return - /turf/space/attackby(obj/item/C as obj, mob/user as mob, params) if (istype(C, /obj/item/stack/rods)) @@ -87,10 +70,10 @@ /turf/space/Entered(atom/movable/A as mob|obj) ..() - if ((!(A) || src != A.loc)) + if ((!(A) || src != A.loc)) return - if(destination_z) + if(destination_z) A.x = destination_x A.y = destination_y A.z = destination_z diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 09890dc7617..db30837c83d 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -52,6 +52,9 @@ ..() return QDEL_HINT_HARDDEL_NOW +/turf/attack_hand(mob/user as mob) + user.Move_Pulled(src) + /turf/ex_act(severity) return 0 diff --git a/code/game/turfs/unsimulated/floor.dm b/code/game/turfs/unsimulated/floor.dm index cd36c4a1bb5..b10885c7467 100644 --- a/code/game/turfs/unsimulated/floor.dm +++ b/code/game/turfs/unsimulated/floor.dm @@ -3,23 +3,6 @@ icon = 'icons/turf/floors.dmi' icon_state = "Floor3" -/turf/unsimulated/floor/attack_hand(var/mob/user as mob) - if ((!( user.canmove ) || user.restrained() || !( user.pulling ))) - return - if (user.pulling.anchored || !isturf(user.pulling.loc)) - return - if ((user.pulling.loc != user.loc && get_dist(user, user.pulling) > 1)) - return - if (ismob(user.pulling)) - var/mob/M = user.pulling - var/mob/t = M.pulling - M.stop_pulling() - step(user.pulling, get_dir(user.pulling.loc, src)) - M.start_pulling(t) - else - step(user.pulling, get_dir(user.pulling.loc, src)) - return - /turf/unsimulated/floor/grass icon_state = "grass1" diff --git a/code/game/vehicles/vehicle.dm b/code/game/vehicles/vehicle.dm index a61015cf6d6..04413a62f44 100644 --- a/code/game/vehicles/vehicle.dm +++ b/code/game/vehicles/vehicle.dm @@ -74,7 +74,6 @@ add_cell() add_iterators() removeVerb(/obj/mecha/verb/disconnect_from_port) - removeVerb(/atom/movable/verb/pull) log_message("[src.name]'s functions initialised. Work protocols active - Entering IDLE mode.") loc.Entered(src) return diff --git a/code/game/verbs/atom_verbs.dm b/code/game/verbs/atom_verbs.dm deleted file mode 100644 index 4f77bf52f4c..00000000000 --- a/code/game/verbs/atom_verbs.dm +++ /dev/null @@ -1,8 +0,0 @@ -/atom/movable/verb/pull() - set name = "Pull" - set category = null - set src in oview(1) - - if(Adjacent(usr)) - usr.start_pulling(src) - return diff --git a/code/modules/mob/living/carbon/alien/humanoid/life.dm b/code/modules/mob/living/carbon/alien/humanoid/life.dm index ce94cb4c8a2..2b6407398d2 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/life.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/life.dm @@ -230,13 +230,6 @@ else healths.icon_state = "health6" - if(pullin) - if(pulling) - pullin.icon_state = "pull" - else - pullin.icon_state = "pull0" - - if (toxin) toxin.icon_state = "tox[toxins_alert ? 1 : 0]" if (oxygen) oxygen.icon_state = "oxy[oxygen_alert ? 1 : 0]" if (fire) fire.icon_state = "fire[fire_alert ? 1 : 0]" diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 8967e1519d6..a1f7c39281d 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1289,12 +1289,6 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc if(pressure) pressure.icon_state = "pressure[pressure_alert]" - if(pullin) - if(pulling) pullin.icon_state = "pull1" - else pullin.icon_state = "pull0" -// if(rest) //Not used with new UI -// if(resting || lying || sleeping) rest.icon_state = "rest1" -// else rest.icon_state = "rest0" if(toxin) if(hal_screwyhud == 4 || toxins_alert) toxin.icon_state = "tox1" else toxin.icon_state = "tox0" diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index f3cb5145f78..3d7f30d87ff 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -26,6 +26,16 @@ current << "\red The fog clouding your mind clears. You remember nothing from the moment you were implanted until now..(You don't remember who enslaved you)" */ +//mob verbs are a lot faster than object verbs +//for more info on why this is not atom/pull, see examinate() in mob.dm +/mob/living/verb/pulled(atom/movable/AM as mob|obj in oview(1)) + set name = "Pull" + set category = "Object" + + if(AM.Adjacent(src)) + src.start_pulling(AM) + return + //same as above /mob/living/pointed(atom/A as mob|obj|turf in view()) if(src.stat || !src.canmove || src.restrained()) diff --git a/code/modules/mob/living/silicon/ai/freelook/eye.dm b/code/modules/mob/living/silicon/ai/freelook/eye.dm index 6a157225c2c..ef0e1f712f8 100644 --- a/code/modules/mob/living/silicon/ai/freelook/eye.dm +++ b/code/modules/mob/living/silicon/ai/freelook/eye.dm @@ -42,10 +42,6 @@ set src = usr.contents return 0 -/mob/aiEye/pull() - set popup_menu = 0 - set src = usr.contents - return 0 // Use this when setting the aiEye's location. // It will also stream the chunk that the new loc is in. diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index 5113c719dbb..4d0fc33ca06 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -65,7 +65,7 @@ for(var/V in components) var/datum/robot_component/C = components[V] C.consume_power() - + var/amt = Clamp((lamp_intensity - 2) * 2,1,cell.charge) //Always try to use at least one charge per tick, but allow it to completely drain the cell. cell.use(amt) //Usage table: 1/tick if off/lowest setting, 4 = 4/tick, 6 = 8/tick, 8 = 12/tick, 10 = 16/tick @@ -287,7 +287,6 @@ src.bodytemp.icon_state = "temp-2" - if(src.pullin) src.pullin.icon_state = "pull[src.pulling ? 1 : 0]" //Oxygen and fire does nothing yet!! // if (src.oxygen) src.oxygen.icon_state = "oxy[src.oxygen_alert ? 1 : 0]" // if (src.fire) src.fire.icon_state = "fire[src.fire_alert ? 1 : 0]" diff --git a/code/modules/mob/living/simple_animal/bees.dm b/code/modules/mob/living/simple_animal/bees.dm index 6d5cd3ba6bd..a7d07c8485c 100644 --- a/code/modules/mob/living/simple_animal/bees.dm +++ b/code/modules/mob/living/simple_animal/bees.dm @@ -30,7 +30,6 @@ /mob/living/simple_animal/bee/New(loc, var/obj/machinery/apiary/new_parent) ..() parent = new_parent - verbs -= /atom/movable/verb/pull /mob/living/simple_animal/bee/Destroy() if(parent) diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm index aa5568aafbd..b7e705e2079 100644 --- a/code/modules/mob/living/simple_animal/friendly/corgi.dm +++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm @@ -38,9 +38,6 @@ if(fire) if(fire_alert) fire.icon_state = "fire[fire_alert]" //fire_alert is either 0 if no alert, 1 for heat and 2 for cold. else fire.icon_state = "fire0" - if(pullin) - if(pulling) pullin.icon_state = "pull1" - else pullin.icon_state = "pull0" if(oxygen) if(oxygen_alert) oxygen.icon_state = "oxy1" else oxygen.icon_state = "oxy0" diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 084ff2d3935..10157afd00a 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -844,6 +844,30 @@ var/list/slot_equipment_priority = list( \ if(istype(M,/mob/living/silicon/ai)) return show_inv(usr) +//this and stop_pulling really ought to be /mob/living procs +/mob/proc/start_pulling(atom/movable/AM) + if ( !AM || !src || src==AM || !isturf(AM.loc) ) //if there's no person pulling OR the person is pulling themself OR the object being pulled is inside something: abort! + return + if (!( AM.anchored )) + AM.add_fingerprint(src) + + // If we're pulling something then drop what we're currently pulling and pull this instead. + if(pulling) + // Are we trying to pull something we are already pulling? Then just stop here, no need to continue. + if(AM == pulling) + return + stop_pulling() + + src.pulling = AM + AM.pulledby = src + if(pullin) + pullin.update_icon(src) + if(ismob(AM)) + var/mob/M = AM + if(!iscarbon(src)) + M.LAssailant = null + else + M.LAssailant = usr /mob/verb/stop_pulling() @@ -853,37 +877,8 @@ var/list/slot_equipment_priority = list( \ if(pulling) pulling.pulledby = null pulling = null - -/mob/proc/start_pulling(var/atom/movable/AM) - - if ( !AM || !usr || src==AM || !isturf(src.loc) ) //if there's no person pulling OR the person is pulling themself OR the object being pulled is inside something: abort! - return - - if (AM.anchored) - usr << "It won't budge!" - return - - var/mob/M = AM - if(ismob(AM)) - if(!iscarbon(src)) - M.LAssailant = null - else - M.LAssailant = usr - - if(pulling) - var/pulling_old = pulling - stop_pulling() - // Are we pulling the same thing twice? Just stop pulling. - if(pulling_old == AM) - return - - src.pulling = AM - AM.pulledby = src - - //Attempted fix for people flying away through space when cuffed and dragged. - if(ismob(AM)) - var/mob/pulled = AM - pulled.inertia_dir = 0 + if(pullin) + pullin.update_icon(src) /mob/proc/can_use_hands() return diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index f62186ba2f6..d8586c243c5 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -447,5 +447,27 @@ /mob/proc/mob_negates_gravity() return 0 +/mob/proc/Move_Pulled(atom/A) + if (!canmove || restrained() || !pulling) + return + if (pulling.anchored) + return + if (!pulling.Adjacent(src)) + return + if (A == loc && pulling.density) + return + if (!Process_Spacemove(get_dir(pulling.loc, A))) + return + if (ismob(pulling)) + var/mob/M = pulling + var/atom/movable/t = M.pulling + M.stop_pulling() + step(pulling, get_dir(pulling.loc, A)) + if(M) + M.start_pulling(t) + else + step(pulling, get_dir(pulling.loc, A)) + return + /mob/proc/update_gravity() return diff --git a/code/modules/power/engine.dm b/code/modules/power/engine.dm index 614a7393d9a..1d7a97406e4 100644 --- a/code/modules/power/engine.dm +++ b/code/modules/power/engine.dm @@ -1,20 +1,6 @@ /turf/simulated/floor/engine/attack_hand(var/mob/user as mob) - if ((!( user.canmove ) || user.restrained() || !( user.pulling ))) - return - if (user.pulling.anchored) - return - if ((user.pulling.loc != user.loc && get_dist(user, user.pulling) > 1)) - return - if (ismob(user.pulling)) - var/mob/M = user.pulling - var/atom/movable/t = M.pulling - M.stop_pulling() - step(user.pulling, get_dir(user.pulling.loc, src)) - M.start_pulling(t) - else - step(user.pulling, get_dir(user.pulling.loc, src)) - return + user.Move_Pulled(src) /turf/simulated/floor/engine/ex_act(severity) switch(severity) diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm index d736b89ce4c..c4ba69dc71a 100644 --- a/code/modules/recycling/conveyor2.dm +++ b/code/modules/recycling/conveyor2.dm @@ -124,21 +124,7 @@ // attack with hand, move pulled object onto conveyor /obj/machinery/conveyor/attack_hand(mob/user as mob) - if ((!( user.canmove ) || user.restrained() || !( user.pulling ))) - return - if (user.pulling.anchored) - return - if ((user.pulling.loc != user.loc && get_dist(user, user.pulling) > 1)) - return - if (ismob(user.pulling)) - var/mob/M = user.pulling - M.stop_pulling() - step(user.pulling, get_dir(user.pulling.loc, src)) - user.stop_pulling() - else - step(user.pulling, get_dir(user.pulling.loc, src)) - user.stop_pulling() - return + user.Move_Pulled(src) // make the conveyor broken diff --git a/code/modules/vehicle/train/trains/ambulance.dm b/code/modules/vehicle/train/trains/ambulance.dm index fea50fba521..f7094f10ad8 100644 --- a/code/modules/vehicle/train/trains/ambulance.dm +++ b/code/modules/vehicle/train/trains/ambulance.dm @@ -33,7 +33,6 @@ /obj/vehicle/train/ambulance/engine/New() ..() cell = new /obj/item/weapon/stock_parts/cell/high - verbs -= /atom/movable/verb/pull key = new() /obj/vehicle/train/ambulance/engine/Move() diff --git a/code/modules/vehicle/train/trains/cargo/cargo_train.dm b/code/modules/vehicle/train/trains/cargo/cargo_train.dm index 338432fabad..5933ada33d5 100644 --- a/code/modules/vehicle/train/trains/cargo/cargo_train.dm +++ b/code/modules/vehicle/train/trains/cargo/cargo_train.dm @@ -41,7 +41,6 @@ /obj/vehicle/train/cargo/engine/New() ..() cell = new /obj/item/weapon/stock_parts/cell/high - verbs -= /atom/movable/verb/pull key = new() var/image/I = new(icon = 'icons/obj/vehicles.dmi', icon_state = "cargo_engine_overlay", layer = src.layer + 0.2) //over mobs overlays += I @@ -279,10 +278,5 @@ if(!lead && !tow) anchored = 0 - if(verbs.Find(/atom/movable/verb/pull)) - return - else - verbs += /atom/movable/verb/pull else - anchored = 1 - verbs -= /atom/movable/verb/pull + anchored = 1 \ No newline at end of file diff --git a/icons/mob/screen1.dmi b/icons/mob/screen1.dmi index 38fc4dd06be..b6a84df335a 100644 Binary files a/icons/mob/screen1.dmi and b/icons/mob/screen1.dmi differ diff --git a/icons/mob/screen1_Midnight.dmi b/icons/mob/screen1_Midnight.dmi index 89723dc9363..808734a832e 100644 Binary files a/icons/mob/screen1_Midnight.dmi and b/icons/mob/screen1_Midnight.dmi differ diff --git a/icons/mob/screen1_NinjaHUD.dmi b/icons/mob/screen1_NinjaHUD.dmi index d4f554a0aa4..bbbf743533e 100644 Binary files a/icons/mob/screen1_NinjaHUD.dmi and b/icons/mob/screen1_NinjaHUD.dmi differ diff --git a/icons/mob/screen1_Orange.dmi b/icons/mob/screen1_Orange.dmi index bda7f98857b..15964ad65d0 100644 Binary files a/icons/mob/screen1_Orange.dmi and b/icons/mob/screen1_Orange.dmi differ diff --git a/icons/mob/screen1_Vampire.dmi b/icons/mob/screen1_Vampire.dmi index a5026a36fa2..6a30aa697d8 100644 Binary files a/icons/mob/screen1_Vampire.dmi and b/icons/mob/screen1_Vampire.dmi differ diff --git a/icons/mob/screen1_White.dmi b/icons/mob/screen1_White.dmi index b96463eee2b..b474f443445 100644 Binary files a/icons/mob/screen1_White.dmi and b/icons/mob/screen1_White.dmi differ diff --git a/icons/mob/screen1_corgi.dmi b/icons/mob/screen1_corgi.dmi index cfe8f62efa5..dafa9ae2b44 100644 Binary files a/icons/mob/screen1_corgi.dmi and b/icons/mob/screen1_corgi.dmi differ diff --git a/icons/mob/screen1_old.dmi b/icons/mob/screen1_old.dmi index 51dce681bf7..7da629f1dae 100644 Binary files a/icons/mob/screen1_old.dmi and b/icons/mob/screen1_old.dmi differ diff --git a/icons/mob/screen1_robot.dmi b/icons/mob/screen1_robot.dmi index cc2051ee1ce..9188e33ff5f 100644 Binary files a/icons/mob/screen1_robot.dmi and b/icons/mob/screen1_robot.dmi differ diff --git a/paradise.dme b/paradise.dme index 34ed30b4905..9139152a4c1 100644 --- a/paradise.dme +++ b/paradise.dme @@ -882,7 +882,6 @@ #include "code\game\vehicles\spacepods\parts.dm" #include "code\game\vehicles\spacepods\pod_fabricator.dm" #include "code\game\vehicles\spacepods\spacepod.dm" -#include "code\game\verbs\atom_verbs.dm" #include "code\game\verbs\ooc.dm" #include "code\game\verbs\suicide.dm" #include "code\game\verbs\who.dm"