Files
Bubberstation/code/__DEFINES/vehicles.dm
TimandGitHub 2034800f3a Refactor VIM vehicles into mech (#96571)
## About The Pull Request
- Fixes https://github.com/tgstation/tgstation/issues/96553

This refactors the VIM vehicles used for pets and critters into a
functional mech. It also fixes the vehicle missing a sealed air
compartment, which meant they weren't initially spaceproof despite using
spacesuits for their crafting recipe and apart of their sprite.

The VIM mech features:
- No arms and thus cannot be equipped with any weapons
- Room for 1 armor module
- Room for 3 utility modules (jetpack, radio, etc.)
- Cannot be used by silicons, AI, carbon mobs, or large mob types. (only
small-sized simple/basic mobs)
- Can pass underneath mobs and tables since it is tiny
- Can only be crafted via the crafting recipe (cannot be made from
robotics fab or researched)

## Why It's Good For The Game
<img width="1920" height="1080" alt="WIyLe0jcll"
src="https://github.com/user-attachments/assets/b642ba87-d09d-488b-92eb-dc0d3df41122"
/>

The cat NTOS theme is so cute. 

## Changelog
🆑
fix: Fix VIM not being spaceproof
refactor: Refactor VIM vehicles into mech
/🆑
2026-06-21 19:39:10 +00:00

46 lines
1.6 KiB
Plaintext

//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 used for riding cyborgs, and 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)
// For fireman carries, the carrying human needs an arm
#define CARRIER_NEEDS_ARM (1<<4)
// This rider must be our friend
#define JUST_FRIEND_RIDERS (1<<5)
///Flags relating to our AI controller when ridden
//do we halt planning while ridden?
#define RIDING_PAUSE_AI_PLANNING (1<<0)
//do we halt movement while ridden?
#define RIDING_PAUSE_AI_MOVEMENT (1<<1)
//car_traits flags
///Will this car kidnap people by ramming into them?
#define CAN_KIDNAP (1<<0)
#define CLOWN_CANNON_INACTIVE 0
#define CLOWN_CANNON_BUSY 1
#define CLOWN_CANNON_READY 2