mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-11 01:13:18 +00:00
164 lines
5.9 KiB
Plaintext
164 lines
5.9 KiB
Plaintext
/*ALL DEFINES RELATED TO INVENTORY OBJECTS, MANAGEMENT, ETC, GO HERE*/
|
|
|
|
//ITEM INVENTORY WEIGHT, FOR w_class
|
|
#define WEIGHT_CLASS_TINY 1 //Usually items smaller then a human hand, ex: Playing Cards, Lighter, Scalpel, Coins/Money
|
|
#define WEIGHT_CLASS_SMALL 2 //Pockets can hold small and tiny items, ex: Flashlight, Multitool, Grenades, GPS Device
|
|
#define WEIGHT_CLASS_NORMAL 3 //Standard backpacks can carry tiny, small & normal items, ex: Fire extinguisher, Stunbaton, Gas Mask, Metal Sheets
|
|
#define WEIGHT_CLASS_BULKY 4 //Items that can be weilded or equipped but not stored in an inventory, ex: Defibrillator, Backpack, Space Suits
|
|
#define WEIGHT_CLASS_HUGE 5 //Usually represents objects that require two hands to operate, ex: Shotgun, Two Handed Melee Weapons
|
|
#define WEIGHT_CLASS_GIGANTIC 6 //Essentially means it cannot be picked up or placed in an inventory, ex: Mech Parts, Safe
|
|
|
|
//Inventory depth: limits how many nested storage items you can access directly.
|
|
//1: stuff in mob, 2: stuff in backpack, 3: stuff in box in backpack, etc
|
|
#define INVENTORY_DEPTH 3
|
|
#define STORAGE_VIEW_DEPTH 2
|
|
|
|
//ITEM INVENTORY SLOT BITMASKS
|
|
#define SLOT_OCLOTHING 1
|
|
#define SLOT_ICLOTHING 2
|
|
#define SLOT_GLOVES 4
|
|
#define SLOT_EYES 8
|
|
#define SLOT_EARS 16
|
|
#define SLOT_MASK 32
|
|
#define SLOT_HEAD 64
|
|
#define SLOT_FEET 128
|
|
#define SLOT_ID 256
|
|
#define SLOT_BELT 512
|
|
#define SLOT_BACK 1024
|
|
#define SLOT_POCKET 2048 // this is to allow items with a w_class of WEIGHT_CLASS_NORMAL or WEIGHT_CLASS_BULKY to fit in pockets.
|
|
#define SLOT_DENYPOCKET 4096 // this is to deny items with a w_class of WEIGHT_CLASS_SMALL or WEIGHT_CLASS_TINY to fit in pockets.
|
|
#define SLOT_NECK 8192
|
|
|
|
//SLOTS
|
|
#define slot_back 1
|
|
#define slot_wear_mask 2
|
|
#define slot_handcuffed 3
|
|
#define slot_hands 4 //wherever you provide a slot for hands you provide slot_hands
|
|
//slot_hands as a slot will pick ANY available hand
|
|
#define slot_belt 5
|
|
#define slot_wear_id 6
|
|
#define slot_ears 7
|
|
#define slot_glasses 8
|
|
#define slot_gloves 9
|
|
#define slot_neck 10
|
|
#define slot_head 11
|
|
#define slot_shoes 12
|
|
#define slot_wear_suit 13
|
|
#define slot_w_uniform 14
|
|
#define slot_l_store 15
|
|
#define slot_r_store 16
|
|
#define slot_s_store 17
|
|
#define slot_in_backpack 18
|
|
#define slot_legcuffed 19
|
|
#define slot_generic_dextrous_storage 20
|
|
|
|
#define slots_amt 20 // Keep this up to date!
|
|
|
|
//I hate that this has to exist
|
|
/proc/slotdefine2slotbit(slotdefine) //Keep this up to date with the value of SLOT BITMASKS and SLOTS (the two define sections above)
|
|
. = 0
|
|
switch(slotdefine)
|
|
if(slot_back)
|
|
. = SLOT_BACK
|
|
if(slot_wear_mask)
|
|
. = SLOT_MASK
|
|
if(slot_neck)
|
|
. = SLOT_NECK
|
|
if(slot_belt)
|
|
. = SLOT_BELT
|
|
if(slot_wear_id)
|
|
. = SLOT_ID
|
|
if(slot_ears)
|
|
. = SLOT_EARS
|
|
if(slot_glasses)
|
|
. = SLOT_EYES
|
|
if(slot_gloves)
|
|
. = SLOT_GLOVES
|
|
if(slot_head)
|
|
. = SLOT_HEAD
|
|
if(slot_shoes)
|
|
. = SLOT_FEET
|
|
if(slot_wear_suit)
|
|
. = SLOT_OCLOTHING
|
|
if(slot_w_uniform)
|
|
. = SLOT_ICLOTHING
|
|
if(slot_l_store, slot_r_store)
|
|
. = SLOT_POCKET
|
|
|
|
|
|
//Bit flags for the flags_inv variable, which determine when a piece of clothing hides another. IE a helmet hiding glasses.
|
|
#define HIDEGLOVES 1
|
|
#define HIDESUITSTORAGE 2
|
|
#define HIDEJUMPSUIT 4 //these first four are only used in exterior suits
|
|
#define HIDESHOES 8
|
|
#define HIDEMASK 16 //these last six are only used in masks and headgear.
|
|
#define HIDEEARS 32 // (ears means headsets and such)
|
|
#define HIDEEYES 64 // Whether eyes and glasses are hidden
|
|
#define HIDEFACE 128 // Whether we appear as unknown.
|
|
#define HIDEHAIR 256
|
|
#define HIDEFACIALHAIR 512
|
|
#define HIDENECK 1024
|
|
|
|
//bitflags for clothing coverage - also used for limbs
|
|
#define HEAD 1
|
|
#define CHEST 2
|
|
#define GROIN 4
|
|
#define LEG_LEFT 8
|
|
#define LEG_RIGHT 16
|
|
#define LEGS 24
|
|
#define FOOT_LEFT 32
|
|
#define FOOT_RIGHT 64
|
|
#define FEET 96
|
|
#define ARM_LEFT 128
|
|
#define ARM_RIGHT 256
|
|
#define ARMS 384
|
|
#define HAND_LEFT 512
|
|
#define HAND_RIGHT 1024
|
|
#define HANDS 1536
|
|
#define NECK 2048
|
|
#define FULL_BODY 4095
|
|
|
|
// bitflags for the percentual amount of protection a piece of clothing which covers the body part offers.
|
|
// Used with human/proc/get_heat_protection() and human/proc/get_cold_protection()
|
|
// The values here should add up to 1.
|
|
// Hands and feet have 2.5%, arms and legs 7.5%, each of the torso parts has 15% and the head has 30%
|
|
#define THERMAL_PROTECTION_HEAD 0.3
|
|
#define THERMAL_PROTECTION_CHEST 0.15
|
|
#define THERMAL_PROTECTION_GROIN 0.15
|
|
#define THERMAL_PROTECTION_LEG_LEFT 0.075
|
|
#define THERMAL_PROTECTION_LEG_RIGHT 0.075
|
|
#define THERMAL_PROTECTION_FOOT_LEFT 0.025
|
|
#define THERMAL_PROTECTION_FOOT_RIGHT 0.025
|
|
#define THERMAL_PROTECTION_ARM_LEFT 0.075
|
|
#define THERMAL_PROTECTION_ARM_RIGHT 0.075
|
|
#define THERMAL_PROTECTION_HAND_LEFT 0.025
|
|
#define THERMAL_PROTECTION_HAND_RIGHT 0.025
|
|
|
|
//flags for female outfits: How much the game can safely "take off" the uniform without it looking weird
|
|
#define NO_FEMALE_UNIFORM 0
|
|
#define FEMALE_UNIFORM_FULL 1
|
|
#define FEMALE_UNIFORM_TOP 2
|
|
|
|
//flags for alternate styles: These are hard sprited so don't set this if you didn't put the effort in
|
|
#define NORMAL_STYLE 0
|
|
#define ALT_STYLE 1
|
|
#define DIGITIGRADE_STYLE 2
|
|
|
|
//flags for outfits that have mutantrace variants (try not to use this): Currently only needed if you're trying to add tight fitting bootyshorts
|
|
#define NO_MUTANTRACE_VARIATION 0
|
|
#define MUTANTRACE_VARIATION 1
|
|
|
|
#define NOT_DIGITIGRADE 0
|
|
#define FULL_DIGITIGRADE 1
|
|
#define SQUISHED_DIGITIGRADE 2
|
|
|
|
//flags for covering body parts
|
|
#define GLASSESCOVERSEYES 1
|
|
#define MASKCOVERSEYES 2 // get rid of some of the other retardation in these flags
|
|
#define HEADCOVERSEYES 4 // feel free to realloc these numbers for other purposes
|
|
#define MASKCOVERSMOUTH 8 // on other items, these are just for mask/head
|
|
#define HEADCOVERSMOUTH 16
|
|
|
|
#define TINT_DARKENED 2 //Threshold of tint level to apply weld mask overlay
|
|
#define TINT_BLIND 3 //Threshold of tint level to obscure vision fully
|