Flammable Items, Abstractness, and hypnosis (#19267)

* Laser Eyes

* Update dna.dm

* Mecha

* Update positive_genes.dm

* These

* These 2

* yeh

* Rest of these

* Update turf.dm

* Update food.dm

* Some moar

* mooove

* Update vorestation.dme

* Update burning.dm

* firesuit

* flags

* HYPNOCOLOR

* xd

* no filter

* dc

* Update ore_bag.dm

* Update misc.dm

* Update misc.dm
This commit is contained in:
Cameron Lennox
2026-04-13 00:30:02 -04:00
committed by GitHub
parent ee2fd148ae
commit d8c1932cb9
145 changed files with 791 additions and 203 deletions
+20
View File
@@ -1,6 +1,26 @@
/// 33554431 (2^24 - 1) is the maximum value our bitflags can reach.
#define MAX_BITFLAG_DIGITS 8
//Fire and Acid stuff, for resistance_flags
#define LAVA_PROOF (1<<0)
/// 100% immune to fire damage (but not necessarily to lava or heat)
#define FIRE_PROOF (1<<1)
/// atom is flammable and can have the burning component
#define FLAMMABLE (1<<2)
/// currently burning
#define ON_FIRE (1<<3)
/// acid can't even appear on it, let alone melt it.
#define UNACIDABLE (1<<4)
/// acid stuck on it doesn't melt it.
#define ACID_PROOF (1<<5)
/// doesn't take damage
#define INDESTRUCTIBLE (1<<6)
/// can't be frozen
#define FREEZE_PROOF (1<<7)
/// can't be shuttle crushed.
#define SHUTTLE_CRUSH_PROOF (1<<8)
/// can't be destroyed by bombs
#define BOMB_PROOF (1<<9)
///Object will protect itself.
#define EMP_PROTECT_SELF (1<<0)
///Object will protect its contents from being EMPed.
+3
View File
@@ -100,3 +100,6 @@
#define TANK_MAX_RELEASE_PRESSURE (3*ONE_ATMOSPHERE)
#define TANK_DEFAULT_RELEASE_PRESSURE ONE_ATMOSPHERE
#define MAX_ATMOS_TEMPERATURE 1e30 //Without having a max temp, you can get .inf temps
///Minimum temperature for items on fire
#define BURNING_ITEM_MINIMUM_TEMPERATURE (150+T0C)
+28
View File
@@ -0,0 +1,28 @@
//We will round to this value in damage calculations.
#define DAMAGE_PRECISION 0.1
//Damage flag defines //
/// Involves corrosive substances.
#define ACID "acid"
/// Involved in checking whether a disease can infect or spread. Also involved in xeno neurotoxin.
#define BIO "bio"
/// Involves a shockwave, usually from an explosion.
#define BOMB "bomb"
/// Involves a solid projectile.
#define BULLET "bullet"
/// Involves being eaten
#define CONSUME "consume"
/// Involves an EMP or energy-based projectile.
#define ENERGY "energy"
/// Involves fire or temperature extremes.
#define FIRE "fire"
/// Involves a laser.
#define LASER "laser"
/// Involves a melee attack or a thrown object.
#define MELEE "melee"
/// Involved in checking the likelihood of applying a wound to a mob.
#define WOUND "wound"
/// Calculates the new armour value after armour penetration. Can return negative values, and those must be caught.
#define PENETRATE_ARMOUR(armour, penetration) (penetration >= 100 ? 0 : 100 * (armour - penetration) / (100 - penetration))
+1 -1
View File
@@ -11,7 +11,7 @@
#define FAT 6
#define HUSK 7
#define NOCLONE 8
#define LASER 9 // Harm intent - click anywhere to shoot lasers from eyes.
#define LASER_EYES 9 // Harm intent - click anywhere to shoot lasers from eyes.
#define HEAL 10 // Healing people with hands.
#define FLASHPROOF 11 // Flashproof eyes.
+7
View File
@@ -50,6 +50,13 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
#define INFINITE_AIR (1<<6) // Provides an infinite air supply.
#define NOSTRIP (1<<7) // Items that should never get stripped
#define DROPDEL (1<<8) // Items that delete upon being dropped
/**
* for all things that are technically items but don't want to be treated as such, given on a case-by-case basis
* examples of use are hand items, omni-toolsets, non-limb limbs (hand eater, mounted chainsaw, many null rods), borg modules, bodyparts, organs, etc.
* This is used for general exclusion, such as preventing insertions into other items
* Basically, these aren't "real" items. <= wow thanks for the fucking insight sherlock
*/
#define ABSTRACT (1<<9)
// Flags for pass_flags. - Used in /atom/var/pass_flags
#define PASSTABLE (1<<0)
+1 -1
View File
@@ -8,7 +8,7 @@
#define MECHA_PROC_DAMAGE 2
#define MECHA_PROC_INT_TEMP 4
#define MELEE 1
#define MECH_MELEE 1
#define RANGED 2
#define MECH_FACTION_NT "nano"
+32
View File
@@ -1,3 +1,35 @@
// Flags for the obj_flags var on /obj
/// Object has been affected by a cryptographic sequencer (EMAG) disabling it or causing other malicious effects
#define EMAGGED (1<<0)
/// Can this be bludgeoned by items
#define CAN_BE_HIT (1<<1)
/// Admin possession yes/no
#define DANGEROUS_POSSESSION (1<<2)
/// Can you customize the description/name of the thing
#define UNIQUE_RENAME (1<<3)
/// If it can be renamed, is its description excluded
#define RENAME_NO_DESC (1<<4)
/// Should this object block z falling from loc
#define BLOCK_Z_OUT_DOWN (1<<5)
/// Should this object block z uprise from loc
#define BLOCK_Z_OUT_UP (1<<6)
/// Should this object block z falling from above
#define BLOCK_Z_IN_DOWN (1<<7)
/// Should this object block z uprise from below
#define BLOCK_Z_IN_UP (1<<8)
/// Does this object prevent things from being built on it
#define BLOCKS_CONSTRUCTION (1<<9)
/// Does this object prevent same-direction things from being built on it
#define BLOCKS_CONSTRUCTION_DIR (1<<10)
/// Can we ignore density when building on this object (for example, directional windows and grilles)
#define IGNORE_DENSITY (1<<11)
/// Can this object conduct electricity
#define CONDUCTS_ELECTRICITY (1<<12)
/// Atoms don't spawn anything when deconstructed (they just vanish)
#define NO_DEBRIS_AFTER_DECONSTRUCTION (1<<13)
/// Flag which tells an object to hang onto an support atom on late initialize. Usefull only during mapload and supported by some atoms only
#define MOUNT_ON_LATE_INITIALIZE (1<<14)
/// Flags for specifically what kind of items to get in get_equipped_items
#define INCLUDE_POCKETS (1<<0)
#define INCLUDE_ACCESSORIES (1<<1)
+2
View File
@@ -163,6 +163,8 @@
#define span_lightpurple(str) ("<span class='lightpurple'>" + str + "</span>")
#define span_darkpink(str) ("<span class='darkpink'>" + str + "</span>")
#define span_rose(str) ("<span class='rose'>" + str + "</span>")
#define span_hypnophrase(str) ("<span class='hypnophrase'>" + str + "</span>")
/* System and Debug */
// System filter
+1
View File
@@ -131,6 +131,7 @@
#define FIRE_PRIORITY_CHARSETUP 25
#define FIRE_PRIORITY_AIRFLOW 30
#define FIRE_PRIORITY_AIR 35
#define FIRE_PRIORITY_BURNING 40
#define FIRE_PRIORITY_OBJ 40
#define FIRE_PRIORITY_PROCESS 45
#define FIRE_PRIORITY_THROWING 45
+5
View File
@@ -57,6 +57,11 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_ELECTROVORE_OBLIGATE "electrovore_obligate"
// adds wet stacks when licking someone
#define TRAIT_SLOBBER "slobber"
/// Trait from being under the floor in some manner
#define TRAIT_UNDERFLOOR "underfloor"
#define TRAIT_RESISTHEAT "resist_heat"
/// For when you want to be able to touch hot things, but still want fire to be an issue.
#define TRAIT_RESISTHEATHANDS "resist_heat_handsonly"
// Owner will be considered a tiny mob for some interactions, such as airlocks not opening unless they have a client, or being vacuumed up by the vacpack
#define TRAIT_AMBIENT_PEST_MOB "ambient_pest_mob"
///Trait given by /datum/component/germ_sensitive