Skip to content

Commit

Permalink
Adds sscooters and skateboards [serious pr do not close after AFD] (P…
Browse files Browse the repository at this point in the history
…aradiseSS13#24934)

* WORLD WIDE NOISE

* Makes it pass CI, tweaks values, glass table hoverboard, and railing grinding

* grind on pipes

* https://youtu.be/cTiM1MJ1o7c?feature=shared

* https://youtu.be/Jc6CHI9f6cM?feature=shared

* temporary change for icon conflicts (hopefully)

* Apply suggestions from code review

Co-authored-by: DGamerL <[email protected]>
Co-authored-by: Henri215 <[email protected]>
Signed-off-by: Qwertytoforty <[email protected]>

* Apply suggestions from code review

Co-authored-by: Luc <[email protected]>
Co-authored-by: Matt <[email protected]>
Signed-off-by: Qwertytoforty <[email protected]>

* The rest of the fun loving owl

* missed this one

* Apply suggestions from code review

Co-authored-by: Luc <[email protected]>
Signed-off-by: Qwertytoforty <[email protected]>

* changes

* Apply suggestions from code review

Co-authored-by: Ryan <[email protected]>
Signed-off-by: Qwertytoforty <[email protected]>

* Update code/modules/vehicle/tg_vehicles/tg_vehicles.dm

Co-authored-by: Luc <[email protected]>
Signed-off-by: Qwertytoforty <[email protected]>

* I love stealth conflicts!

* purge lines

* Apply suggestions from code review

Co-authored-by: DGamerL <[email protected]>
Signed-off-by: Qwertytoforty <[email protected]>

* Update tg_vehicles.dm

* works works works

* Update code/modules/vehicle/tg_vehicles/tg_vehicles.dm

Co-authored-by: DGamerL <[email protected]>
Signed-off-by: Qwertytoforty <[email protected]>

---------

Signed-off-by: Qwertytoforty <[email protected]>
Co-authored-by: DGamerL <[email protected]>
Co-authored-by: Henri215 <[email protected]>
Co-authored-by: Luc <[email protected]>
Co-authored-by: Matt <[email protected]>
Co-authored-by: Ryan <[email protected]>
  • Loading branch information
6 people committed Jun 25, 2024
1 parent d88ddea commit f6b8d87
Show file tree
Hide file tree
Showing 34 changed files with 1,661 additions and 15 deletions.
20 changes: 20 additions & 0 deletions code/__DEFINES/dcs/signals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,9 @@
#define COMSIG_ATOM_START_PULL "movable_start_pull"
///called on /living when someone starts pulling it (atom/movable/puller, state, force)
#define COMSIG_LIVING_START_PULL "living_start_pull"
///called on /living, when pull is attempted, but before it completes, from base of [/mob/living/start_pulling]: (atom/movable/thing, force)
#define COMSIG_LIVING_TRY_PULL "living_try_pull"
#define COMSIG_LIVING_CANCEL_PULL (1 << 0)

/////////////////

Expand Down Expand Up @@ -301,10 +304,16 @@
#define COMPONENT_MOVABLE_IMPACT_NEVERMIND (1<<1) //return true if you destroyed whatever it was you're impacting and there won't be anything for hitby() to run on
///from base of mob/living/hitby(): (mob/living/target, hit_zone)
#define COMSIG_MOVABLE_IMPACT_ZONE "item_impact_zone"
///from /atom/movable/proc/buckle_mob(): (mob/living/M, force, check_loc, buckle_mob_flags)
#define COMSIG_MOVABLE_PREBUCKLE "prebuckle" // this is the last chance to interrupt and block a buckle before it finishes
#define COMPONENT_BLOCK_BUCKLE (1<<0)
///from base of atom/movable/buckle_mob(): (mob, force)
#define COMSIG_MOVABLE_BUCKLE "buckle"
///from base of atom/movable/unbuckle_mob(): (mob, force)
#define COMSIG_MOVABLE_UNBUCKLE "unbuckle"
///from /obj/vehicle/proc/driver_move, caught by the riding component to check and execute the driver trying to drive the vehicle
#define COMSIG_RIDDEN_DRIVER_MOVE "driver_move"
#define COMPONENT_DRIVER_BLOCK_MOVE (1<<0)
///from base of atom/movable/throw_at(): (list/args)
#define COMSIG_MOVABLE_PRE_THROW "movable_pre_throw"
#define COMPONENT_CANCEL_THROW (1<<0)
Expand Down Expand Up @@ -338,6 +347,10 @@
///called when the movable is removed from a disposal holder object: /obj/structure/disposalpipe/proc/expel(): (obj/structure/disposalholder/H, turf/T, direction)
#define COMSIG_MOVABLE_EXIT_DISPOSALS "movable_exit_disposals"

/// from base of atom/movable/Process_Spacemove(): (movement_dir, continuous_move)
#define COMSIG_MOVABLE_SPACEMOVE "spacemove"
#define COMSIG_MOVABLE_STOP_SPACEMOVE (1<<0)

// /datum/mind signals

///from base of /datum/mind/proc/transfer_to(mob/living/new_character)
Expand Down Expand Up @@ -442,6 +455,9 @@
#define COMSIG_MOB_AUTOMUTE_CHECK "automute_check"
#define WAIVE_AUTOMUTE_CHECK (1<<0)

///Called when movement intent is toggled.
#define COMSIG_MOVE_INTENT_TOGGLED "move_intent_toggled"

// /mob/living signals

///from base of mob/living/resist() (/mob/living)
Expand Down Expand Up @@ -1060,6 +1076,10 @@
/// from /obj/structure/cursed_slot_machine/determine_victor() when someone finally wins.
#define COMSIG_GLOB_CURSED_SLOT_MACHINE_WON "cursed_slot_machine_won"

/// from base of /obj/item/slimepotion/speed/afterattack(): (obj/target, /obj/src, mob/user)
#define COMSIG_SPEED_POTION_APPLIED "speed_potion"
#define SPEED_POTION_STOP (1<<0)

// Signal types for the cargo shuttle

// Sent before the shuttle scans its contents.
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/is_helpers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@ GLOBAL_LIST_INIT(glass_sheet_types, typecacheof(list(

// Vehicles
#define isvehicle(A) istype(A, /obj/vehicle)
#define istgvehicle(A) istype(A, /obj/tgvehicle)

// Misc
#define isclient(A) istype(A, /client)
Expand Down
38 changes: 38 additions & 0 deletions code/__DEFINES/vehicle_defines.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
//Vehicle control flags. control flags describe access to actions in a vehicle.

///controls the vehicles movement
#define VEHICLE_CONTROL_DRIVE (1<<0)
///Can't leave vehicle voluntarily, has to resist.
#define VEHICLE_CONTROL_KIDNAPPED (1<<1)
///melee attacks/shoves a vehicle may have
#define VEHICLE_CONTROL_MELEE (1<<2)
///using equipment/weapons on the vehicle
#define VEHICLE_CONTROL_EQUIPMENT (1<<3)
///changing around settings and the like.
#define VEHICLE_CONTROL_SETTINGS (1<<4)

///ez define for giving a single pilot mech all the flags it needs.
#define FULL_MECHA_CONTROL ALL

//Ridden vehicle flags

/// Does our vehicle require arms to operate? Also used for piggybacking on humans to reserve arms on the rider
#define RIDER_NEEDS_ARMS (1<<0)
// As above but only reserves 1 arm instead of 2
#define RIDER_NEEDS_ARM (1<<1)
/// Do we need legs to ride this (checks against TRAIT_FLOORED)
#define RIDER_NEEDS_LEGS (1<<2)
/// If the rider is disabled or loses their needed limbs, do they fall off?
#define UNBUCKLE_DISABLED_RIDER (1<<3)


/// The vehicle being ridden requires pixel offsets for all directions
#define RIDING_OFFSET_ALL "ALL"

///Broken down, here's what this does:
/// divides the world icon_size (32) by delay divided by ticklag to get the number of pixels something should be moving each tick.
/// The division result is given a min value of 1 to prevent obscenely slow glide sizes from being set
/// Then that's multiplied by the global glide size multiplier. 1.25 by default feels pretty close to spot on. This is just to try to get byond to behave.
/// The whole result is then clamped to within the range above.
/// Not very readable but it works
#define DELAY_TO_GLIDE_SIZE(delay) (clamp(((world.icon_size / max((delay) / world.tick_lag, 1))), 1, 32))
5 changes: 5 additions & 0 deletions code/__HELPERS/trait_helpers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -286,10 +286,15 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
///An organ that was inserted into a dead mob, that has not been revived yet
#define TRAIT_ORGAN_INSERTED_WHILE_DEAD "organ_inserted_while_dead"

//****** OBJ TRAITS *****//

///An /obj that should not increase the "depth" of the search for adjacency,
///e.g. a storage container or a modsuit.
#define TRAIT_ADJACENCY_TRANSPARENT "adjacency_transparent"

/// A trait for items that will not break glass tables if the user is buckled to them.
#define TRAIT_NO_BREAK_GLASS_TABLES "no_break_glass_tables"

//****** ATOM/MOVABLE TRAITS *****//
/// A trait for determining if a atom/movable is currently crossing into another z-level by using of /turf/space z-level "destination-xyz" transfers
#define TRAIT_CURRENTLY_Z_MOVING "currently_z_moving" // please dont adminbus this
Expand Down
1 change: 1 addition & 0 deletions code/_globalvars/traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(

/obj = list(
"TRAIT_ADJACENCY_TRANSPARENT" = TRAIT_ADJACENCY_TRANSPARENT,
"TRAIT_NO_BREAK_GLASS_TABLES" = TRAIT_NO_BREAK_GLASS_TABLES
),

/obj/item = list(
Expand Down
Loading

0 comments on commit f6b8d87

Please sign in to comment.