From 6aaffeb1fb187eac39455ced0a34b406980359fb Mon Sep 17 00:00:00 2001 From: smellie Date: Tue, 22 Jul 2025 11:08:52 +0100 Subject: [PATCH] Adds a Football (#20938) Adds a football: 1. Walk into on Help intent to kick normally 2. Alt+Click or Walk into on non-Help intent to kick powerfully 3. Drag onto character sprite to pick up ![image](https://github.com/user-attachments/assets/5ac378f2-f085-4817-90be-209fa6cff470) --------- Signed-off-by: smellie Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com> --- code/game/objects/items/toys.dm | 71 ++++++++++++++++++ .../objects/items/weapons/surgery_tools.dm | 4 +- .../preference_setup/loadout/items/toy.dm | 7 ++ html/changelogs/kermit-football.yml | 7 ++ icons/obj/toy.dmi | Bin 78334 -> 79001 bytes 5 files changed, 86 insertions(+), 3 deletions(-) create mode 100644 html/changelogs/kermit-football.yml diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 01961ce5e1c..11d7a965add 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -1582,3 +1582,74 @@ volume = 50 if(volume) playsound(src.loc, squeeze_sound, volume, TRUE) + +/obj/item/toy/football + name = "football" + desc = "A classic, white and black football for kicking. Also known as a soccerball on Biesel and some parts of Earth." + desc_mechanics = "Click to kick the ball. Alt+Click or use a non-Help intent to deliver a powerful kick. Drag the ball onto your character sprite to pick it up." + w_class = WEIGHT_CLASS_NORMAL + icon_state = "football" + item_state = "football" + drop_sound = 'sound/items/drop/rubber.ogg' + pickup_sound = 'sound/items/drop/rubber.ogg' + + /// The base distance in tiles the football is kicked. + var/base_kick_distance = 1 + +/obj/item/toy/football/Initialize() + . = ..() + + var/static/list/loc_connections = list( + COMSIG_ATOM_ENTERED = PROC_REF(on_walk_into), + ) + + AddElement(/datum/element/connect_loc, loc_connections) + +/obj/item/toy/football/proc/on_walk_into(datum/source, atom/movable/arrived, atom/old_loc, list/atom/old_locs) + SIGNAL_HANDLER + + if(!isliving(arrived)) + return + + var/mob/living/user = arrived + + if(!isturf(loc)) + to_chat(user, SPAN_NOTICE("\The [src] has to be on the floor to kick it!")) + return + + if(!(user?.a_intent == I_HELP)) + user.visible_message(SPAN_WARNING("[user] forcefully kicks \the [src]!")) + throw_at(get_edge_target_turf(user, get_dir(old_loc, src)), base_kick_distance+(rand(2,5)), 1) + return + + user.visible_message(SPAN_NOTICE("[user] kicks \the [src].")) + throw_at(get_edge_target_turf(user, get_dir(old_loc, src)), base_kick_distance+(rand(1,2)), 1) + +/obj/item/toy/football/AltClick(var/mob/user) + if(use_check(user)) + return + + if(!isturf(loc)) + to_chat(user, SPAN_NOTICE("\The [src] has to be on the floor to kick it!")) + return + + user.visible_message(SPAN_WARNING("[user] forcefully kicks \the [src]!")) + throw_at(get_edge_target_turf(user, get_dir(user, src)), base_kick_distance+(rand(2,5)), 1) + +/obj/item/toy/football/mouse_drop_dragged(atom/over, mob/user, src_location, over_location, params) //ripped from box/fancy/tray + if((over && (!use_check(over))) && (over.contents.Find(src) || in_range(src, over))) + var/mob/dropped_onto_mob = over + if(ishuman(dropped_onto_mob) && !dropped_onto_mob.get_active_hand()) + var/mob/living/carbon/human/H = user + var/obj/item/organ/external/temp = H.organs_by_name[H.hand?BP_L_HAND:BP_R_HAND] + + if(temp && !temp.is_usable()) + to_chat(user, SPAN_NOTICE("You try to move your [temp.name], but cannot!")) + return + + to_chat(user, SPAN_NOTICE("You pick up \the [src].")) + pixel_x = 0 + pixel_y = 0 + forceMove(get_turf(user)) + user.put_in_hands(src) + return diff --git a/code/game/objects/items/weapons/surgery_tools.dm b/code/game/objects/items/weapons/surgery_tools.dm index 41a0d761f07..434ae9617a2 100644 --- a/code/game/objects/items/weapons/surgery_tools.dm +++ b/code/game/objects/items/weapons/surgery_tools.dm @@ -272,10 +272,8 @@ var/mob/dropped_onto_mob = over if(ishuman(dropped_onto_mob) && !dropped_onto_mob.get_active_hand()) var/mob/living/carbon/human/H = user - var/obj/item/organ/external/temp = H.organs_by_name[BP_R_HAND] + var/obj/item/organ/external/temp = H.organs_by_name[H.hand?BP_L_HAND:BP_R_HAND] - if (H.hand) - temp = H.organs_by_name[BP_L_HAND] if(temp && !temp.is_usable()) to_chat(H, SPAN_NOTICE("You try to move your [temp.name], but cannot!")) return diff --git a/code/modules/client/preference_setup/loadout/items/toy.dm b/code/modules/client/preference_setup/loadout/items/toy.dm index 881a5534bfb..a9fafc9bf8c 100644 --- a/code/modules/client/preference_setup/loadout/items/toy.dm +++ b/code/modules/client/preference_setup/loadout/items/toy.dm @@ -182,3 +182,10 @@ if(path) // repeat 3 times for each item for(i = 0, i < 3, ++i) new path(sheet) + +/datum/gear/toy/football + display_name = "football" + description = "A classic, black and white football for kicking. Also known as a soccerball on Biesel and some parts of Earth for some reason." + cost = 1 + allowed_roles = list("Off-Duty Crew Member", "Passenger") + path = /obj/item/toy/football diff --git a/html/changelogs/kermit-football.yml b/html/changelogs/kermit-football.yml new file mode 100644 index 00000000000..08ba8c8e507 --- /dev/null +++ b/html/changelogs/kermit-football.yml @@ -0,0 +1,7 @@ +author: kermit, cometblaze + +delete-after: True + +changes: + - rscadd: "Adds a football to the game. Available only to off-duty and passenger loadouts only right now." + - imageadd: "Football sprite by Comet." diff --git a/icons/obj/toy.dmi b/icons/obj/toy.dmi index 09683d07402b4a100fd1d736ff80802ac896697d..59e45a01ea1baae587bd0cc66aaae55ace751155 100644 GIT binary patch delta 18226 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 delta 17554 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