diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 332abc11bd..e56aa9b588 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -5625,7 +5625,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, /area/security/brig) @@ -61634,7 +61633,6 @@ /area/security/prison/upper) "qtw" = ( /obj/machinery/door/airlock/external{ - dir = 2; name = "Port Docking Bay 4" }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ diff --git a/_maps/map_files/LambdaStation/dorms.dmm b/_maps/map_files/LambdaStation/dorms.dmm index e1133584b8..d52c4e7870 100644 --- a/_maps/map_files/LambdaStation/dorms.dmm +++ b/_maps/map_files/LambdaStation/dorms.dmm @@ -365,13 +365,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/plasteel, /area/hallway/primary/central) -"aQ" = ( -/obj/machinery/door/airlock/hatch{ - name = "Telecomms Control Room"; - req_one_access_txt = "19; 61" - }, -/turf/open/floor/plating/airless, -/area/tcommsat/chamber) "aR" = ( /obj/item/electropack/shockcollar, /obj/item/assembly/signaler, @@ -3201,6 +3194,12 @@ }, /turf/open/floor/plasteel, /area/service/hydroponics/garden/monastery) +"iA" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) "iC" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -5602,6 +5601,12 @@ }, /turf/open/floor/plating, /area/maintenance/solars/starboard) +"ox" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) "oy" = ( /obj/structure/railing{ dir = 4; @@ -7714,12 +7719,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/carpet/blue, /area/commons/vacant_room/office) -"tS" = ( -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating/airless, -/area/tcommsat/chamber) "tT" = ( /obj/structure/cable{ icon_state = "1-2" @@ -14697,6 +14696,15 @@ }, /turf/open/floor/plasteel, /area/commons/fitness/recreation) +"LG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) "LH" = ( /obj/structure/cable{ icon_state = "4-8" @@ -37240,11 +37248,11 @@ lQ Yv Yv Yv -dh -Yv -Yv -aQ -tS +LG +ox +ox +kF +iA kF Gq LC diff --git a/_maps/map_files/LambdaStation/lambda.dmm b/_maps/map_files/LambdaStation/lambda.dmm index e4aee6ffd6..e676dea0e5 100644 --- a/_maps/map_files/LambdaStation/lambda.dmm +++ b/_maps/map_files/LambdaStation/lambda.dmm @@ -13476,24 +13476,6 @@ }, /turf/open/floor/plasteel/dark, /area/ai_monitored/security/armory) -"ayl" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/item/storage/secure/briefcase{ - pixel_x = -2 - }, -/obj/item/book/manual/wiki/security_space_law, -/obj/item/cartridge/detective, -/obj/machinery/power/apc{ - areastring = "/area/command/heads_quarters/hos"; - dir = 1; - name = "Head of Security's Office APC"; - pixel_y = 23 - }, -/turf/open/floor/plasteel/dark, -/area/command/heads_quarters/hos) "aym" = ( /obj/structure/table/wood, /obj/effect/turf_decal/tile/red{ @@ -14825,15 +14807,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel/dark, /area/command/heads_quarters/hos) -"aAy" = ( -/obj/machinery/computer/prisoner{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/command/heads_quarters/hos) "aAz" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -34520,13 +34493,6 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"bpO" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/hallway/secondary/exit/departure_lounge) "bpP" = ( /obj/structure/lattice/catwalk, /obj/item/wrench, @@ -49053,18 +49019,6 @@ }, /turf/open/floor/plasteel, /area/engineering/main) -"cgv" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/power/apc/highcap/fifteen_k{ - areastring = "/area/engineering/main"; - dir = 1; - name = "Engine Room APC"; - pixel_y = 23 - }, -/turf/open/floor/plasteel, -/area/engineering/main) "cgw" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -63058,6 +63012,37 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/plasteel, /area/security/prison) +"cZR" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/hallway/secondary/exit/departure_lounge) +"dbH" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/item/storage/secure/briefcase{ + pixel_x = -2 + }, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/cartridge/detective, +/obj/machinery/power/apc{ + areastring = "/area/command/heads_quarters/hos"; + dir = 1; + name = "Head of Security's Office APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hos) "dcB" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -64982,6 +64967,21 @@ /obj/structure/stairs/south, /turf/open/floor/plasteel, /area/maintenance/department/cargo) +"gci" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/power/apc/highcap/fifteen_k{ + areastring = "/area/engineering/main"; + dir = 1; + name = "Engine Room APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel, +/area/engineering/main) "gcM" = ( /obj/effect/turf_decal/tile/red{ dir = 8 @@ -66100,6 +66100,15 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) +"igd" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/computer/secure_data{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hos) "igf" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, @@ -117845,7 +117854,7 @@ axW awm axd axF -ayl +dbH azp aAr aBS @@ -119645,7 +119654,7 @@ ayO aCD axF ays -aAy +igd aBz cAp cJw @@ -120782,7 +120791,7 @@ lQs ceh ceP cXQ -cgv +gci chh cia cku @@ -128946,7 +128955,7 @@ bnL bot boJ blZ -bpO +cZR bqG brm blZ @@ -129202,7 +129211,7 @@ jqb bnL bot eec -bpO +cZR bip bqH brn diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index cc78b62bdc..1a70bdbc4c 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -1504,7 +1504,6 @@ areastring = "/area/security/prison/upper"; damage_deflection = 21; desc = "A control terminal for the area's electrical systems. It's secured with a durable antitampering plasteel cage."; - dir = 2; name = "Armored Prison Wing Cells APC"; pixel_y = -26 }, @@ -12552,9 +12551,7 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "aWV" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 2 - }, +/obj/effect/turf_decal/stripes/corner, /turf/open/floor/plasteel, /area/hallway/secondary/entry) "aWW" = ( @@ -43635,7 +43632,8 @@ idDoor = "xeno_airlock_exterior"; idSelf = "xeno_airlock_control"; name = "Access Button"; - pixel_x = -24 + pixel_x = -24; + req_access_txt = "47" }, /obj/structure/cable/yellow{ icon_state = "1-2" @@ -45280,7 +45278,7 @@ /turf/open/floor/plating, /area/maintenance/starboard) "dbl" = ( -/obj/structure/easel, +/obj/structure/loot_pile/maint, /turf/open/floor/plating, /area/maintenance/starboard/aft) "dbo" = ( @@ -45465,7 +45463,8 @@ idSelf = "xeno_airlock_control"; name = "Access Button"; pixel_x = 29; - pixel_y = -8 + pixel_y = -8; + req_access_txt = "47" }, /obj/machinery/firealarm{ pixel_y = 24 @@ -45640,7 +45639,8 @@ idSelf = "xeno_airlock_control"; name = "Access Console"; pixel_x = -25; - pixel_y = -25 + pixel_y = -25; + req_access_txt = "47" }, /obj/effect/turf_decal/tile/purple{ dir = 1 @@ -46619,10 +46619,10 @@ /turf/open/floor/plating, /area/maintenance/fore) "dht" = ( -/obj/item/cigbutt, /obj/structure/sign/poster/contraband/random{ pixel_x = -32 }, +/obj/structure/loot_pile/maint, /turf/open/floor/plating, /area/maintenance/starboard/fore) "dhu" = ( @@ -52041,6 +52041,7 @@ /obj/structure/extinguisher_cabinet{ pixel_y = -30 }, +/obj/structure/loot_pile/maint, /turf/open/floor/plating, /area/maintenance/port/aft) "fpg" = ( @@ -56725,6 +56726,13 @@ }, /turf/open/floor/plasteel, /area/service/hydroponics) +"iaH" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/obj/structure/loot_pile/maint, +/turf/open/floor/plating, +/area/maintenance/starboard) "ibn" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -65226,6 +65234,10 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, /area/cargo/storage) +"mKY" = ( +/obj/structure/loot_pile/maint, +/turf/open/floor/plating, +/area/maintenance/port) "mLh" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -67942,6 +67954,10 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall, /area/security/brig) +"osn" = ( +/obj/structure/loot_pile/maint, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) "osB" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/external{ @@ -73549,7 +73565,6 @@ /area/commons/fitness/recreation) "rta" = ( /obj/machinery/door/airlock/external{ - dir = 2; name = "Public Mining Dock" }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -74329,6 +74344,10 @@ }, /turf/open/floor/plasteel/dark, /area/command/bridge) +"rPp" = ( +/obj/structure/loot_pile/maint, +/turf/open/floor/plating, +/area/maintenance/port/fore) "rPB" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -78146,7 +78165,6 @@ /obj/structure/bed/roller, /obj/machinery/camera{ c_tag = "Prison Hallway Fore"; - dir = 2; network = list("ss13","prison") }, /turf/open/floor/plasteel, @@ -99568,7 +99586,7 @@ arX dne dne dne -aRG +rPp aoc drQ dne @@ -99866,7 +99884,7 @@ auF bCJ tUa alK -apz +mKY aob alC aqK @@ -104958,7 +104976,7 @@ aji dnd alE vhj -aRG +rPp alE dou dne @@ -122203,7 +122221,7 @@ nQW yeJ pSY avD -dnR +osn dtS tMD eoN @@ -125064,7 +125082,7 @@ alq diu bWZ bYs -bZB +iaH bZE ccG ceb diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 17f21e98f5..acf6c66e25 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -9261,9 +9261,6 @@ /turf/open/floor/plasteel, /area/hallway/primary/fore) "axH" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = 30 - }, /obj/effect/turf_decal/tile/red{ dir = 4 }, @@ -9274,11 +9271,15 @@ /turf/open/floor/plasteel, /area/hallway/primary/fore) "axI" = ( -/obj/machinery/airalarm{ - pixel_y = 22 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 }, /obj/effect/turf_decal/tile/red{ - dir = 4 + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 }, /turf/open/floor/plasteel, /area/hallway/primary/fore) @@ -10265,6 +10266,9 @@ dir = 8 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/structure/extinguisher_cabinet{ + pixel_y = -32 + }, /turf/open/floor/plasteel, /area/hallway/primary/fore) "aAg" = ( @@ -80965,7 +80969,7 @@ aaa aaa aaa aaa -syn +aaa aaa aaa aaa @@ -81222,7 +81226,7 @@ aaa aaa aaa aaa -aaa +syn aaa aaa aaa @@ -85595,7 +85599,7 @@ avv xgz gZF ayL -pFy +axI aBd aCi aDo @@ -86364,7 +86368,7 @@ ajM quY uFZ nDM -axI +axL axG aAh aBf diff --git a/code/__DEFINES/_flags/_flags.dm b/code/__DEFINES/_flags/_flags.dm index 6f8ea6cda7..5f591b429b 100644 --- a/code/__DEFINES/_flags/_flags.dm +++ b/code/__DEFINES/_flags/_flags.dm @@ -5,10 +5,6 @@ #define NONE 0 //for convenience -#define ENABLE_BITFIELD(variable, flag) (variable |= (flag)) -#define DISABLE_BITFIELD(variable, flag) (variable &= ~(flag)) -#define CHECK_BITFIELD(variable, flag) (variable & (flag)) -#define TOGGLE_BITFIELD(variable, flag) (variable ^= (flag)) #define COPY_SPECIFIC_BITFIELDS(a,b,flags)\ do{\ var/_old = a & ~(flags);\ @@ -154,7 +150,7 @@ GLOBAL_LIST_INIT(bitflags, list( //Mob mobility var flags /// any flag -#define CHECK_MOBILITY(target, flags) CHECK_BITFIELD(target.mobility_flags, flags) +#define CHECK_MOBILITY(target, flags) (target.mobility_flags & flags) #define CHECK_ALL_MOBILITY(target, flags) CHECK_MULTIPLE_BITFIELDS(target.mobility_flags, flags) /// can move diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm index 966138eab7..f045b5e9aa 100644 --- a/code/__HELPERS/_lists.dm +++ b/code/__HELPERS/_lists.dm @@ -190,8 +190,7 @@ /proc/typecache_filter_list(list/atoms, list/typecache) RETURN_TYPE(/list) . = list() - for(var/thing in atoms) - var/atom/A = thing + for(var/atom/A as anything in atoms) if (typecache[A.type]) . += A diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 888aec5a85..56e1976990 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -59,7 +59,7 @@ for(var/gpath in subtypesof(/obj/item/organ/genital)) var/obj/item/organ/genital/G = gpath - if(!CHECK_BITFIELD(initial(G.genital_flags), GENITAL_BLACKLISTED)) + if(!(initial(G.genital_flags) & GENITAL_BLACKLISTED)) GLOB.genitals_list[initial(G.name)] = gpath //END OF CIT CHANGES diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 496a9611e9..7646297163 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -318,7 +318,7 @@ var/obj/item/clothing/mask/M = check if(M.mask_adjusted) M.adjustmask(C) - if(CHECK_BITFIELD(check.clothing_flags, ALLOWINTERNALS)) + if((check.clothing_flags & ALLOWINTERNALS)) internals = TRUE if(!internals) to_chat(C, span_warning("You are not wearing an internals mask!")) diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 1618e351ec..8f3a7ef02c 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -260,7 +260,7 @@ return clamp((1.5 + (w_class/5)) * ((force_override || force) / 1.5), 0, 10 SECONDS) * CONFIG_GET(number/melee_stagger_factor) /obj/item/proc/do_stagger_action(mob/living/target, mob/living/user, force_override) - if(!CHECK_BITFIELD(target.status_flags, CANSTAGGER)) + if(!(target.status_flags & CANSTAGGER)) return FALSE if(target.combat_flags & COMBAT_FLAG_SPRINT_ACTIVE) target.do_staggered_animation() diff --git a/code/datums/components/anti_magic.dm b/code/datums/components/anti_magic.dm index 6f289af1fc..638be08717 100644 --- a/code/datums/components/anti_magic.dm +++ b/code/datums/components/anti_magic.dm @@ -29,7 +29,7 @@ expire = _expire /datum/component/anti_magic/proc/on_equip(datum/source, mob/equipper, slot) - if(!CHECK_BITFIELD(allowed_slots, slotdefine2slotbit(slot))) //Check that the slot is valid for antimagic + if(!(allowed_slots & slotdefine2slotbit(slot))) //Check that the slot is valid for antimagic UnregisterSignal(equipper, COMSIG_MOB_RECEIVE_MAGIC) return RegisterSignal(equipper, COMSIG_MOB_RECEIVE_MAGIC, .proc/protect, TRUE) diff --git a/code/datums/elements/wuv.dm b/code/datums/elements/wuv.dm index d4f1955afc..854bfdf8dd 100644 --- a/code/datums/elements/wuv.dm +++ b/code/datums/elements/wuv.dm @@ -52,7 +52,7 @@ new /obj/effect/temp_visual/heart(target.loc) if(pet_emote) target.emote("me", pet_type, pet_emote) - if(pet_moodlet && !CHECK_BITFIELD(target.flags_1, HOLOGRAM_1)) //prevents unlimited happiness petting park exploit. + if(pet_moodlet && !(target.flags_1 & HOLOGRAM_1)) //prevents unlimited happiness petting park exploit. SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, target, pet_moodlet, target) /datum/element/wuv/proc/kick_the_dog(mob/target, mob/user) @@ -60,5 +60,5 @@ return if(punt_emote) target.emote("me", punt_type, punt_emote) - if(punt_moodlet && !CHECK_BITFIELD(target.flags_1, HOLOGRAM_1)) + if(punt_moodlet && !(target.flags_1 & HOLOGRAM_1)) SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, target, punt_moodlet, target) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index fdd4564eec..b33f7532df 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -141,7 +141,7 @@ if(isliving(new_character)) //New humans and such are by default enabled arousal. Let's always use the new mind's prefs. var/mob/living/L = new_character if(L.client?.prefs && L.client.prefs.auto_ooc && L.client.prefs.chat_toggles & CHAT_OOC) - DISABLE_BITFIELD(L.client.prefs.chat_toggles,CHAT_OOC) + L.client.prefs.chat_toggles &= ~(CHAT_OOC) hide_ckey = current.client?.prefs?.hide_ckey diff --git a/code/datums/radiation_wave.dm b/code/datums/radiation_wave.dm index 8dc3b64e16..ebb1f58a20 100644 --- a/code/datums/radiation_wave.dm +++ b/code/datums/radiation_wave.dm @@ -112,7 +112,7 @@ )) if(!can_contaminate || blacklisted[thing.type]) continue - if(CHECK_BITFIELD(thing.rad_flags, RAD_NO_CONTAMINATE) || SEND_SIGNAL(thing, COMSIG_ATOM_RAD_CONTAMINATING, strength) & COMPONENT_BLOCK_CONTAMINATION) + if((thing.rad_flags & RAD_NO_CONTAMINATE) || SEND_SIGNAL(thing, COMSIG_ATOM_RAD_CONTAMINATING, strength) & COMPONENT_BLOCK_CONTAMINATION) continue contam_atoms += thing var/did_contam = 0 diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index a28d558454..6ad95c8b56 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -319,38 +319,38 @@ GLOBAL_LIST_EMPTY(teleportlocs) * * Sends to all ai players, alert consoles, drones and alarm monitor programs in the world */ -/area/proc/poweralert(state, obj/source) +/area/proc/poweralert(set_alarm, obj/source) if (area_flags & NO_ALERTS) return - if (state != poweralm) - poweralm = state + if (set_alarm != poweralm) + poweralm = set_alarm if(istype(source)) //Only report power alarms on the z-level where the source is located. for (var/item in GLOB.silicon_mobs) var/mob/living/silicon/aiPlayer = item - if (state == 1) - aiPlayer.cancelAlarm("Power", src, source) - else + if (set_alarm) aiPlayer.triggerAlarm("Power", src, cameras, source) + else + aiPlayer.cancelAlarm("Power", src, source) for (var/item in GLOB.alert_consoles) var/obj/machinery/computer/station_alert/a = item - if(state == 1) - a.cancelAlarm("Power", src, source) - else + if (set_alarm) a.triggerAlarm("Power", src, cameras, source) + else + a.cancelAlarm("Power", src, source) for (var/item in GLOB.drones_list) var/mob/living/simple_animal/drone/D = item - if(state == 1) - D.cancelAlarm("Power", src, source) - else + if (set_alarm) D.triggerAlarm("Power", src, cameras, source) + else + D.cancelAlarm("Power", src, source) for(var/item in GLOB.alarmdisplay) var/datum/computer_file/program/alarm_monitor/p = item - if(state == 1) - p.cancelAlarm("Power", src, source) - else + if (set_alarm) p.triggerAlarm("Power", src, cameras, source) + else + p.cancelAlarm("Power", src, source) /area/proc/atmosalert(danger_level, obj/source) if (area_flags & NO_ALERTS) diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm index 76f09793fb..a719ec6198 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm @@ -63,7 +63,7 @@ required_candidates = 1 weight = 7 cost = 5 - requirements = list(40,30,20,10,10,10,10,10,10,10) + requirements = list(101,40,25,20,15,10,10,10,10,10) repeatable = TRUE ////////////////////////////////////////////// @@ -159,5 +159,5 @@ required_candidates = 1 weight = 4 cost = 10 - requirements = list(101,101,101,50,40,10,10,10,10,10) + requirements = list(101,101,101,50,40,20,20,15,10,10) repeatable = TRUE diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm index a89ca65e3a..b62befc88c 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm @@ -254,7 +254,7 @@ antag_flag = ROLE_MALF enemy_roles = list("Security Officer", "Warden","Detective","Head of Security", "Captain", "Scientist", "Chemist", "Research Director", "Chief Engineer") exclusive_roles = list("AI") - required_enemies = list(4,4,4,4,4,4,2,2,2,0) + required_enemies = list(0,0,0,0,0,0,0,0,0,0) required_candidates = 1 weight = 3 cost = 35 @@ -304,11 +304,11 @@ antag_flag = "wizard mid" antag_flag_override = ROLE_WIZARD enemy_roles = list("Security Officer","Detective","Head of Security", "Captain") - required_enemies = list(2,2,1,1,1,1,1,0,0,0) + required_enemies = list(0,0,0,0,0,0,0,0,0,0) required_candidates = 1 weight = 2 cost = 20 - requirements = list(101,101,100,80,50,30,20,10,10,10) + requirements = list(101,101,100,60,40,20,20,20,10,10) repeatable = TRUE var/datum/mind/wizard @@ -351,11 +351,11 @@ antag_datum = /datum/antagonist/nukeop antag_flag_override = ROLE_OPERATIVE enemy_roles = list("AI", "Cyborg", "Security Officer", "Warden","Detective","Head of Security", "Captain") - required_enemies = list(3,3,3,3,3,2,1,1,0,0) + required_enemies = list(0,0,0,0,0,0,0,0,0,0) required_candidates = 5 weight = 3 cost = 35 - requirements = list(101,101,101,80,50,40,30,15,10,10) + requirements = list(101,101,101,60,40,30,20,15,10,10) var/list/operative_cap = list(2,2,3,3,3,4,5,5,5,5) var/datum/team/nuclear/nuke_team flags = HIGH_IMPACT_RULESET @@ -393,11 +393,11 @@ antag_datum = /datum/antagonist/blob antag_flag = ROLE_BLOB enemy_roles = list("Security Officer", "Detective", "Head of Security", "Captain") - required_enemies = list(2,2,1,1,1,1,1,0,0,0) + required_enemies = list(0,0,0,0,0,0,0,0,0,0) required_candidates = 1 weight = 2 cost = 10 - requirements = list(101,101,101,101,70,40,25,20,10,10) + requirements = list(101,101,101,101,50,40,30,20,10,10) repeatable = TRUE /datum/dynamic_ruleset/midround/from_ghosts/blob/generate_ruleset_body(mob/applicant) @@ -412,11 +412,11 @@ protected_roles = list("Prisoner", "Security Officer", "Warden", "Detective", "Head of Security", "Captain") restricted_roles = list("Cyborg", "AI", "Positronic Brain") enemy_roles = list("Security Officer", "Detective", "Head of Security", "Captain") - required_enemies = list(2,2,1,1,1,1,1,0,0,0) + required_enemies = list(0,0,0,0,0,0,0,0,0,0) required_candidates = 1 weight = 2 cost = 10 - requirements = list(101,101,101,101,70,40,25,20,10,10) + requirements = list(101,101,101,101,50,40,30,20,10,10) repeatable = TRUE /datum/dynamic_ruleset/midround/blob_infection/trim_candidates() @@ -450,11 +450,11 @@ antag_datum = /datum/antagonist/xeno antag_flag = ROLE_ALIEN enemy_roles = list("Security Officer", "Detective", "Head of Security", "Captain") - required_enemies = list(2,2,1,1,1,1,1,0,0,0) + required_enemies = list(0,0,0,0,0,0,0,0,0,0) required_candidates = 1 weight = 3 cost = 10 - requirements = list(101,101,101,101,60,50,30,20,10,10) + requirements = list(101,101,101,101,50,40,30,20,10,10) repeatable = TRUE var/list/vents = list() @@ -496,11 +496,11 @@ antag_flag = "Nightmare" antag_flag_override = ROLE_ALIEN enemy_roles = list("Security Officer", "Detective", "Head of Security", "Captain") - required_enemies = list(2,2,1,1,1,1,1,0,0,0) + required_enemies = list(0,0,0,0,0,0,0,0,0,0) required_candidates = 1 weight = 4 cost = 10 - requirements = list(101,101,101,40,30,20,10,10,10,10) + requirements = list(101,101,50,30,25,20,10,10,10,10) repeatable = TRUE var/list/spawn_locs = list() @@ -542,11 +542,11 @@ antag_flag = ROLE_SPACE_DRAGON antag_flag_override = ROLE_SPACE_DRAGON enemy_roles = list("Security Officer", "Detective", "Head of Security", "Captain") - required_enemies = list(2,2,1,1,1,1,1,0,0,0) + required_enemies = list(0,0,0,0,0,0,0,0,0,0) required_candidates = 1 weight = 3 cost = 10 - requirements = list(101,101,101,101,60,50,30,20,10,10) + requirements = list(101,101,101,101,50,40,30,20,10,10) repeatable = TRUE var/list/spawn_locs = list() @@ -586,12 +586,12 @@ antag_flag = "Abductor" antag_flag_override = ROLE_ABDUCTOR enemy_roles = list("Security Officer", "Detective", "Head of Security", "Captain") - required_enemies = list(2,2,1,1,1,1,1,0,0,0) + required_enemies = list(0,0,0,0,0,0,0,0,0,0) required_candidates = 2 required_applicants = 2 weight = 3 cost = 10 - requirements = list(101,101,101,101,101,40,25,20,10,10) + requirements = list(101,101,101,101,101,30,20,15,10,10) repeatable = TRUE var/datum/team/abductor_team/new_team @@ -625,11 +625,11 @@ antag_flag_override = ROLE_ALIEN required_type = /mob/dead/observer enemy_roles = list("Security Officer", "Detective", "Head of Security", "Captain") - required_enemies = list(2,2,1,1,1,1,1,0,0,0) + required_enemies = list(0,0,0,0,0,0,0,0,0,0) required_candidates = 0 weight = 3 cost = 10 - requirements = list(101,101,101,101,60,50,30,20,10,10) + requirements = list(101,101,101,101,50,40,30,20,10,10) repeatable = TRUE /datum/dynamic_ruleset/midround/swarmers/execute() @@ -658,11 +658,11 @@ antag_flag = "Space Ninja" antag_flag_override = ROLE_NINJA enemy_roles = list("Security Officer", "Detective", "Head of Security", "Captain") - required_enemies = list(2,2,1,1,1,1,1,0,0,0) + required_enemies = list(0,0,0,0,0,0,0,0,0,0) required_candidates = 1 weight = 4 cost = 10 - requirements = list(101,101,101,80,60,50,30,20,10,10) + requirements = list(101,101,101,60,50,30,10,10,10,10) repeatable = TRUE var/list/spawn_locs = list() @@ -699,11 +699,11 @@ antag_flag = "Revenant" antag_flag_override = ROLE_REVENANT enemy_roles = list("Security Officer", "Detective", "Head of Security", "Captain") - required_enemies = list(2,2,1,1,1,1,1,0,0,0) + required_enemies = list(0,0,0,0,0,0,0,0,0,0) required_candidates = 1 weight = 4 cost = 10 - requirements = list(101,101,101,70,50,40,20,15,10,10) + requirements = list(101,101,50,30,25,20,10,10,10,10) repeatable = TRUE var/dead_mobs_required = 20 var/need_extra_spawns_value = 15 @@ -748,7 +748,7 @@ required_candidates = 1 weight = 4 cost = 10 - requirements = list(101,101,101,70,50,40,20,15,10,10) + requirements = list(101,101,50,30,25,20,10,10,10,10) repeatable = TRUE /datum/dynamic_ruleset/midround/from_ghosts/sentient_disease/generate_ruleset_body(mob/applicant) @@ -765,11 +765,11 @@ antag_flag = "Space Pirates" required_type = /mob/dead/observer enemy_roles = list("Security Officer", "Detective", "Head of Security", "Captain") - required_enemies = list(2,2,1,1,1,1,1,0,0,0) + required_enemies = list(0,0,0,0,0,0,0,0,0,0) required_candidates = 0 weight = 4 cost = 10 - requirements = list(101,101,101,50,40,25,10,10,10,10) + requirements = list(101,101,101,40,30,20,10,10,10,10) repeatable = TRUE /datum/dynamic_ruleset/midround/pirates/acceptable(population=0, threat=0) diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm index a37c387283..9e985e9c47 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm @@ -103,7 +103,7 @@ weight = 3 cost = 16 scaling_cost = 10 - requirements = list(101,70,60,50,40,20,20,10,10,10) + requirements = list(101,60,50,40,30,20,15,10,10,10) antag_cap = list("denominator" = 29) /datum/dynamic_ruleset/roundstart/changeling/pre_execute(population) @@ -138,7 +138,7 @@ weight = 3 cost = 15 scaling_cost = 9 - requirements = list(101,101,101,55,40,25,20,15,10,10)//higher because of 'round end' + requirements = list(101,101,101,50,40,20,20,15,10,10)//higher because of 'round end' antag_cap = list("denominator" = 24) @@ -179,7 +179,7 @@ required_candidates = 1 weight = 3 cost = 20 - requirements = list(101,101,100,80,50,40,30,20,10,10)//100 because of configt, otherwise equal to nukies + requirements = list(101,101,100,60,40,20,20,20,10,10)//100 because of configt, otherwise equal to nukies var/list/roundstart_wizards = list() /datum/dynamic_ruleset/roundstart/wizard/acceptable(population=0, threat=0) @@ -223,7 +223,7 @@ weight = 2 //lower weight because of easy steamroll potential cost = 20 //requirements = list(100,90,80,60,40,30,10,10,10,10) - requirements = list(101,101,101,101,60,40,20,10,10,10) + requirements = list(101,101,101,101,50,40,20,10,10,10) flags = HIGH_IMPACT_RULESET antag_cap = list("denominator" = 20, "offset" = 1) var/datum/team/cult/main_cult @@ -279,7 +279,7 @@ required_candidates = 5 weight = 3 cost = 20 - requirements = list(101,101,101,80,50,40,30,15,10,10) + requirements = list(101,101,101,60,40,30,20,15,10,10) flags = HIGH_IMPACT_RULESET antag_cap = list("denominator" = 18, "offset" = 1) var/datum/team/nuclear/nuke_team @@ -365,7 +365,7 @@ weight = 2 delay = 7 MINUTES cost = 20 - requirements = list(101,101,101,101,60,40,20,10,10,10) + requirements = list(101,101,101,101,50,40,20,10,10,10) antag_cap = 3 flags = HIGH_IMPACT_RULESET blocking_rules = list(/datum/dynamic_ruleset/latejoin/provocateur) @@ -445,7 +445,7 @@ required_candidates = 2 weight = 3 //higher weight than blood cult and revs because it's more balanced cost = 20 - requirements = list(101,101,101,101,60,40,20,10,10,10) //slightly higher than nukies + requirements = list(101,101,101,101,50,40,20,10,10,10) //slightly higher than nukies flags = HIGH_IMPACT_RULESET antag_cap = list("denominator" = 20, "offset" = 1) var/datum/team/clockcult/main_clockcult diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index 5d1b30741b..d4807e377c 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -62,7 +62,7 @@ GLOBAL_LIST_EMPTY(allConsoles) update_icon() /obj/machinery/requests_console/update_icon_state() - if(CHECK_BITFIELD(stat, NOPOWER)) + if((stat & NOPOWER)) set_light(0) else set_light(1.4, 0.7, "#34D352")//green light @@ -72,7 +72,7 @@ GLOBAL_LIST_EMPTY(allConsoles) icon_state="req_comp_open" else icon_state="req_comp_rewired" - else if(CHECK_BITFIELD(stat, NOPOWER)) + else if((stat & NOPOWER)) if(icon_state != "req_comp_off") icon_state = "req_comp_off" else diff --git a/code/game/machinery/telecomms/computers/logbrowser.dm b/code/game/machinery/telecomms/computers/logbrowser.dm index ca04009e3b..c39c4667a6 100644 --- a/code/game/machinery/telecomms/computers/logbrowser.dm +++ b/code/game/machinery/telecomms/computers/logbrowser.dm @@ -1,5 +1,5 @@ /* - The log console for viewing the entire telecomms + The log console for viewing the entire telecomms network log */ @@ -15,7 +15,7 @@ var/network = "NULL" // the network to probe var/notice = "" - var/universal_translate = FALSE // set to TRUE(1) if it can translate nonhuman speech + var/universal_translate = FALSE // set to TRUE(1) if it can translate nonhuman speech /obj/machinery/computer/telecomms/server/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) @@ -53,7 +53,7 @@ if(!LAZYLEN(SelectedMachine.log_entries)) return data_out - + for(var/datum/comm_log_entry/C in SelectedMachine.log_entries) var/list/data = list() data["name"] = C.name //name of the file @@ -104,7 +104,7 @@ data["message"] = C.parameters["message"] else data["message"] = "(unintelligible)" - + data_out["selected_logs"] += list(data) return data_out @@ -133,7 +133,7 @@ if(LAZYLEN(machinelist) > 0) notice = "FAILED: Cannot probe when buffer full" return - + for(var/obj/machinery/telecomms/T in GLOB.telecomms_list) //telecomms just went global! if(T.network == network) LAZYADD(machinelist, T) @@ -147,7 +147,7 @@ SelectedMachine = T break if("delete") - if(!src.allowed(usr) && !CHECK_BITFIELD(obj_flags, EMAGGED)) + if(!src.allowed(usr) && !(obj_flags & EMAGGED)) to_chat(usr, "ACCESS DENIED.") return @@ -156,7 +156,7 @@ return var/datum/comm_log_entry/D = locate(params["value"]) if(!istype(D)) - notice = "NOTICE: Object not found" + notice = "NOTICE: Object not found" return notice = "Deleted entry: [D.name]" LAZYREMOVE(SelectedMachine.log_entries, D) diff --git a/code/game/machinery/telecomms/computers/message.dm b/code/game/machinery/telecomms/computers/message.dm index a674bb6489..b4f4b495f8 100644 --- a/code/game/machinery/telecomms/computers/message.dm +++ b/code/game/machinery/telecomms/computers/message.dm @@ -94,9 +94,9 @@ if(istype(S) && S.hack_software) data_out["canhack"] = TRUE - data_out["hacking"] = (hacking || CHECK_BITFIELD(obj_flags, EMAGGED)) + data_out["hacking"] = (hacking || (obj_flags & EMAGGED)) if(hacking) - data_out["borg"] = ((isAI(user) || iscyborg(user)) && !CHECK_BITFIELD(obj_flags, EMAGGED)) //even borgs can't read emag + data_out["borg"] = ((isAI(user) || iscyborg(user)) && !(obj_flags & EMAGGED)) //even borgs can't read emag return data_out data_out["servers"] = list() @@ -324,7 +324,7 @@ update_static_data(usr) /obj/machinery/computer/message_monitor/attackby(obj/item/O, mob/living/user, params) - if(O.tool_behaviour == TOOL_SCREWDRIVER && CHECK_BITFIELD(obj_flags, EMAGGED)) + if(O.tool_behaviour == TOOL_SCREWDRIVER && (obj_flags & EMAGGED)) //Stops people from just unscrewing the monitor and putting it back to get the console working again. //Why this though, you should make it emag to a board level. (i wont do it) to_chat(user, "It is too hot to mess with!") @@ -333,12 +333,12 @@ /obj/machinery/computer/message_monitor/emag_act(mob/user) . = ..() - if(CHECK_BITFIELD(obj_flags, EMAGGED)) + if((obj_flags & EMAGGED)) return if(isnull(linkedServer)) to_chat(user, "A no server error appears on the screen.") return - ENABLE_BITFIELD(obj_flags, EMAGGED) + obj_flags |= EMAGGED spark_system.set_up(5, 0, src) spark_system.start() var/obj/item/paper/monitorkey/MK = new(loc, linkedServer) @@ -366,7 +366,7 @@ message = "" /obj/machinery/computer/message_monitor/proc/UnmagConsole() - DISABLE_BITFIELD(obj_flags, EMAGGED) + obj_flags &= ~(EMAGGED) message = "" /obj/machinery/computer/message_monitor/proc/ResetMessage() diff --git a/code/game/machinery/telecomms/telecomunications.dm b/code/game/machinery/telecomms/telecomunications.dm index f75eef0b21..a49fb32538 100644 --- a/code/game/machinery/telecomms/telecomunications.dm +++ b/code/game/machinery/telecomms/telecomunications.dm @@ -119,7 +119,7 @@ GLOBAL_LIST_EMPTY(telecomms_list) /obj/machinery/telecomms/proc/update_power() if(toggled) // if powered, on. if not powered, off. if too damaged, off - if(CHECK_BITFIELD(stat, (BROKEN | NOPOWER | EMPED))) + if(stat &(BROKEN | NOPOWER | EMPED)) on = FALSE else on = TRUE @@ -137,11 +137,11 @@ GLOBAL_LIST_EMPTY(telecomms_list) /obj/machinery/telecomms/emp_act(severity) . = ..() - if(CHECK_BITFIELD(., EMP_PROTECT_SELF)) + if((. & EMP_PROTECT_SELF)) return if(prob(severity)) - if(!CHECK_BITFIELD(stat, EMPED)) - ENABLE_BITFIELD(stat, EMPED) + if(!(stat & EMPED)) + stat |= EMPED var/duration = severity * 35 spawn(rand(duration - 20, duration + 20)) // Takes a long time for the machines to reboot. - DISABLE_BITFIELD(stat, EMPED) + stat &= ~(EMPED) diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm index 1435f78718..756cee058c 100644 --- a/code/game/mecha/equipment/tools/medical_tools.dm +++ b/code/game/mecha/equipment/tools/medical_tools.dm @@ -276,7 +276,7 @@ /obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/critfail() ..() if(reagents) - DISABLE_BITFIELD(reagents.reagents_holder_flags, NO_REACT) + reagents.reagents_holder_flags &= ~(NO_REACT) /obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/can_attach(obj/mecha/medical/M) if(..()) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 24a0b78037..855553c6e3 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -468,8 +468,8 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb A.Remove(user) if(item_flags & DROPDEL) qdel(src) - DISABLE_BITFIELD(item_flags, IN_INVENTORY) - DISABLE_BITFIELD(item_flags, IN_STORAGE) + item_flags &= ~(IN_INVENTORY) + item_flags &= ~(IN_STORAGE) SEND_SIGNAL(src, COMSIG_ITEM_DROPPED,user) if(!silent) playsound(src, drop_sound, DROP_SOUND_VOLUME, ignore_walls = FALSE) @@ -546,8 +546,8 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb if(item_action_slot_check(slot, user, A)) //some items only give their actions buttons when in a specific slot. A.Grant(user) item_flags |= IN_INVENTORY - if(CHECK_BITFIELD(item_flags, IN_STORAGE)) // Left storage item but somehow has the bitfield active still. - DISABLE_BITFIELD(item_flags, IN_STORAGE) + if((item_flags & IN_STORAGE)) // Left storage item but somehow has the bitfield active still. + item_flags &= ~(IN_STORAGE) // if(!initial) // if(equip_sound && (slot_flags & slot)) // playsound(src, equip_sound, EQUIP_SOUND_VOLUME, TRUE, ignore_walls = FALSE) @@ -1079,7 +1079,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb */ /obj/item/proc/set_slowdown(new_slowdown) slowdown = new_slowdown - if(CHECK_BITFIELD(item_flags, IN_INVENTORY)) + if((item_flags & IN_INVENTORY)) var/mob/living/L = loc if(istype(L)) L.update_equipment_speed_mods() diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index 5e37e9d992..702cbd8d56 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -190,7 +190,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM qdel(src) return // allowing reagents to react after being lit - DISABLE_BITFIELD(reagents.reagents_holder_flags, NO_REACT) + reagents.reagents_holder_flags &= ~(NO_REACT) reagents.handle_reactions() icon_state = icon_on item_state = icon_on @@ -762,7 +762,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(!screw) screw = TRUE to_chat(user, "You open the cap on [src].") - ENABLE_BITFIELD(reagents.reagents_holder_flags, OPENCONTAINER) + reagents.reagents_holder_flags |= OPENCONTAINER if(obj_flags & EMAGGED) add_overlay("vapeopen_high") else if(super) @@ -772,7 +772,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM else screw = FALSE to_chat(user, "You close the cap on [src].") - DISABLE_BITFIELD(reagents.reagents_holder_flags, OPENCONTAINER) + reagents.reagents_holder_flags &= ~(OPENCONTAINER) cut_overlays() if(O.tool_behaviour == TOOL_MULTITOOL) @@ -822,7 +822,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(slot == SLOT_WEAR_MASK) if(!screw) to_chat(user, "You start puffing on the vape.") - DISABLE_BITFIELD(reagents.reagents_holder_flags, NO_REACT) + reagents.reagents_holder_flags &= ~(NO_REACT) START_PROCESSING(SSobj, src) else //it will not start if the vape is opened. to_chat(user, "You need to close the cap first!") @@ -831,7 +831,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM . = ..() var/mob/living/carbon/C = user if(C.get_item_by_slot(SLOT_WEAR_MASK) == src) - ENABLE_BITFIELD(reagents.reagents_holder_flags, NO_REACT) + reagents.reagents_holder_flags |= NO_REACT STOP_PROCESSING(SSobj, src) /obj/item/clothing/mask/vape/proc/hand_reagents()//had to rename to avoid duplicate error diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index aa48930d6c..5058060f54 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -72,6 +72,10 @@ var/datum/team/gang/gang //For marking territory. var/gang_tag_delay = 30 //this is the delay for gang mode tag applications on anything that gang = true on. + var/precision_mode = FALSE + var/precision_x = 0 + var/precision_y = 0 + /obj/item/toy/crayon/proc/isValidSurface(surface) return istype(surface, /turf/open/floor) @@ -228,6 +232,12 @@ .["can_change_colour"] = can_change_colour .["current_colour"] = paint_color + .["precision_mode"] = precision_mode + .["x"] = precision_x + .["y"] = precision_y + .["min_offset"] = -world.icon_size/2 + .["max_offset"] = world.icon_size/2 + /obj/item/toy/crayon/ui_act(action, list/params) if(..()) return @@ -256,6 +266,17 @@ . = TRUE paint_mode = PAINT_NORMAL drawtype = "a" + if("toggle_precision") + precision_mode = !precision_mode + . = TRUE + if("set_precision_x") + var/x = text2num(params["x"]) + precision_x = x + . = TRUE + if("set_precision_y") + var/y = text2num(params["y"]) + precision_y = y + . = TRUE update_icon() /obj/item/toy/crayon/proc/select_colour(mob/user) @@ -400,8 +421,12 @@ if(PAINT_NORMAL) var/obj/effect/decal/cleanable/crayon/C = new(target, paint_color, drawing, temp, graf_rot) C.add_hiddenprint(user) - C.pixel_x = clickx - C.pixel_y = clicky + if(precision_mode) + C.pixel_x = clamp(precision_x, -(world.icon_size/2), world.icon_size/2) + C.pixel_y = clamp(precision_y, -(world.icon_size/2), world.icon_size/2) + else + C.pixel_x = clickx + C.pixel_y = clicky affected_turfs += target if(PAINT_LARGE_HORIZONTAL) var/turf/left = locate(target.x-1,target.y,target.z) diff --git a/code/game/objects/items/devices/dogborg_sleeper.dm b/code/game/objects/items/devices/dogborg_sleeper.dm index 977029cca3..e7493efadc 100644 --- a/code/game/objects/items/devices/dogborg_sleeper.dm +++ b/code/game/objects/items/devices/dogborg_sleeper.dm @@ -326,7 +326,7 @@ cleaning_cycles-- cleaning = TRUE for(var/mob/living/carbon/C in (touchable_items)) - if((C.status_flags & GODMODE) || !CHECK_BITFIELD(C.vore_flags, DIGESTABLE)) + if((C.status_flags & GODMODE) || !(C.vore_flags & DIGESTABLE)) items_preserved += C else C.adjustBruteLoss(2) @@ -335,7 +335,7 @@ var/atom/target = pick(touchable_items) if(iscarbon(target)) //Handle the target being a mob var/mob/living/carbon/T = target - if(T.stat == DEAD && CHECK_BITFIELD(T.vore_flags, DIGESTABLE)) //Mob is now dead + if(T.stat == DEAD && (T.vore_flags & DIGESTABLE)) //Mob is now dead message_admins("[key_name(hound)] has digested [key_name(T)] as a dogborg. ([hound ? "JMP" : "null"])") to_chat(hound,"You feel your belly slowly churn around [T], breaking them down into a soft slurry to be used as power for your systems.") to_chat(T,"You feel [hound]'s belly slowly churn around your form, breaking you down into a soft slurry to be used as power for [hound]'s systems.") @@ -433,7 +433,7 @@ var/mob/living/silicon/robot/hound = get_host() if(!hound || !istype(target) || !proximity || target.anchored) return - if (!CHECK_BITFIELD(target.vore_flags,DEVOURABLE)) + if (!(target.vore_flags & DEVOURABLE)) to_chat(user, "The target registers an error code. Unable to insert into [src].") return if(patient) diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index f1691e5eb9..8432a8b73e 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -174,11 +174,11 @@ /obj/item/shield/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) if(ismovable(object)) var/atom/movable/AM = object - if(CHECK_BITFIELD(shield_flags, SHIELD_TRANSPARENT) && (AM.pass_flags & PASSGLASS)) + if((shield_flags & SHIELD_TRANSPARENT) && (AM.pass_flags & PASSGLASS)) return BLOCK_NONE - if(CHECK_BITFIELD(shield_flags, SHIELD_NO_RANGED) && (attack_type & ATTACK_TYPE_PROJECTILE)) + if((shield_flags & SHIELD_NO_RANGED) && (attack_type & ATTACK_TYPE_PROJECTILE)) return BLOCK_NONE - if(CHECK_BITFIELD(shield_flags, SHIELD_NO_MELEE) && (attack_type & ATTACK_TYPE_MELEE)) + if((shield_flags & SHIELD_NO_MELEE) && (attack_type & ATTACK_TYPE_MELEE)) return BLOCK_NONE if(attack_type & ATTACK_TYPE_THROWN) final_block_chance += 30 @@ -249,15 +249,15 @@ if(attack_type & ATTACK_TYPE_MELEE) var/obj/hittingthing = object if(hittingthing.damtype == BURN) - if(CHECK_BITFIELD(shield_flags, SHIELD_ENERGY_WEAK)) + if((shield_flags & SHIELD_ENERGY_WEAK)) final_damage *= 2 - else if(CHECK_BITFIELD(shield_flags, SHIELD_ENERGY_STRONG)) + else if((shield_flags & SHIELD_ENERGY_STRONG)) final_damage *= 0.5 if(hittingthing.damtype == BRUTE) - if(CHECK_BITFIELD(shield_flags, SHIELD_KINETIC_WEAK)) + if((shield_flags & SHIELD_KINETIC_WEAK)) final_damage *= 2 - else if(CHECK_BITFIELD(shield_flags, SHIELD_KINETIC_STRONG)) + else if((shield_flags & SHIELD_KINETIC_STRONG)) final_damage *= 0.5 if(hittingthing.damtype == STAMINA || hittingthing.damtype == TOX || hittingthing.damtype == CLONE || hittingthing.damtype == BRAIN || hittingthing.damtype == OXY) @@ -266,19 +266,19 @@ if(attack_type & ATTACK_TYPE_PROJECTILE) var/obj/item/projectile/shootingthing = object if(is_energy_reflectable_projectile(shootingthing)) - if(CHECK_BITFIELD(shield_flags, SHIELD_ENERGY_WEAK)) + if((shield_flags & SHIELD_ENERGY_WEAK)) final_damage *= 2 - else if(CHECK_BITFIELD(shield_flags, SHIELD_ENERGY_STRONG)) + else if((shield_flags & SHIELD_ENERGY_STRONG)) final_damage *= 0.5 if(!is_energy_reflectable_projectile(object)) - if(CHECK_BITFIELD(shield_flags, SHIELD_KINETIC_WEAK)) + if((shield_flags & SHIELD_KINETIC_WEAK)) final_damage *= 2 - else if(CHECK_BITFIELD(shield_flags, SHIELD_KINETIC_STRONG)) + else if((shield_flags & SHIELD_KINETIC_STRONG)) final_damage *= 0.5 if(shootingthing.damage_type == STAMINA) - if(CHECK_BITFIELD(shield_flags, SHIELD_DISABLER_DISRUPTED)) + if((shield_flags & SHIELD_DISABLER_DISRUPTED)) final_damage *= 3 //disablers melt these kinds of shields. Really meant more for holoshields. else final_damage = 0 diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 8b897cb6e5..df439e98f1 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -1290,9 +1290,9 @@ var/toxic_risk = min(round(spess_current_year - expiration_date * 0.01), 1) for(var/obj/item/reagent_containers/food/snacks/S in contents) if(prob(gross_risk)) - ENABLE_BITFIELD(S.foodtype, GROSS) + S.foodtype |= GROSS if(prob(toxic_risk)) - ENABLE_BITFIELD(S.foodtype, TOXIC) + S.foodtype |= TOXIC /obj/item/storage/box/mre/menu1 name = "\improper Nanotrasen MRE Ration Kit Menu 1" diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index 56cf50993b..869711e5b2 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -370,7 +370,7 @@ GLOBAL_LIST_EMPTY(rubber_toolbox_icons) desc = replacetext(desc, "Danger", "Bouncy") desc = replacetext(desc, "robust", "safe") desc = replacetext(desc, "heavier", "bouncier") - DISABLE_BITFIELD(flags_1, CONDUCT_1) + flags_1 &= ~(CONDUCT_1) custom_materials = null damtype = STAMINA force += 3 //to compensate the higher stamina K.O. threshold compared to actual health. diff --git a/code/game/objects/items/tanks/tanks.dm b/code/game/objects/items/tanks/tanks.dm index 01da046809..b77e4a8ba0 100644 --- a/code/game/objects/items/tanks/tanks.dm +++ b/code/game/objects/items/tanks/tanks.dm @@ -48,7 +48,7 @@ var/obj/item/clothing/mask/M = check if(M.mask_adjusted) M.adjustmask(H) - if(CHECK_BITFIELD(check.clothing_flags, ALLOWINTERNALS)) + if((check.clothing_flags & ALLOWINTERNALS)) internals = TRUE if(!internals) diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index 13c3c100b5..7688d2d342 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -291,10 +291,10 @@ status = !status if(status) to_chat(user, "You resecure [src] and close the fuel tank.") - DISABLE_BITFIELD(reagents.reagents_holder_flags, OPENCONTAINER) + reagents.reagents_holder_flags &= ~(OPENCONTAINER) else to_chat(user, "[src] can now be attached, modified, and refuelled.") - ENABLE_BITFIELD(reagents.reagents_holder_flags, OPENCONTAINER) + reagents.reagents_holder_flags |= OPENCONTAINER add_fingerprint(user) /obj/item/weldingtool/proc/flamethrower_rods(obj/item/I, mob/user) diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm index b587e57c3a..356ccffef3 100644 --- a/code/game/objects/structures/flora.dm +++ b/code/game/objects/structures/flora.dm @@ -58,6 +58,7 @@ desc = "A wondrous decorated Christmas tree." icon_state = "pine_c" icon_states = null + resistance_flags = INDESTRUCTIBLE //Sorry grinch, not this time /obj/structure/flora/tree/pine/xmas/presents icon_state = "pinepresents" diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index d949158850..18ecbc21df 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -512,7 +512,7 @@ GLOBAL_LIST_EMPTY(station_turfs) /turf/shove_act(mob/living/target, mob/living/user, pre_act = FALSE) var/list/possibilities for(var/obj/O in contents) - if(CHECK_BITFIELD(O.obj_flags, SHOVABLE_ONTO)) + if((O.obj_flags & SHOVABLE_ONTO)) LAZYADD(possibilities, O) else if(!O.CanPass(target, src)) return FALSE diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm index f2c10ecc1c..498355f7c3 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm @@ -262,7 +262,7 @@ selectors_used |= query.where_switched combined_refs |= query.select_refs running -= query - if(!CHECK_BITFIELD(query.options, SDQL2_OPTION_DO_NOT_AUTOGC)) + if(!(query.options & SDQL2_OPTION_DO_NOT_AUTOGC)) QDEL_IN(query, 50) else if(usr) @@ -442,19 +442,19 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null if("select") switch(value) if("force_nulls") - DISABLE_BITFIELD(options, SDQL2_OPTION_SELECT_OUTPUT_SKIP_NULLS) + options &= ~(SDQL2_OPTION_SELECT_OUTPUT_SKIP_NULLS) if("proccall") switch(value) if("blocking") - ENABLE_BITFIELD(options, SDQL2_OPTION_BLOCKING_CALLS) + options |= SDQL2_OPTION_BLOCKING_CALLS if("priority") switch(value) if("high") - ENABLE_BITFIELD(options, SDQL2_OPTION_HIGH_PRIORITY) + options |= SDQL2_OPTION_HIGH_PRIORITY if("autogc") switch(value) if("keep_alive") - ENABLE_BITFIELD(options, SDQL2_OPTION_DO_NOT_AUTOGC) + options |= SDQL2_OPTION_DO_NOT_AUTOGC /datum/SDQL2_query/proc/ARun() INVOKE_ASYNC(src, .proc/Run) diff --git a/code/modules/antagonists/traitor/classes/subterfuge.dm b/code/modules/antagonists/traitor/classes/subterfuge.dm index 54f07eb23c..6c4bd26afb 100644 --- a/code/modules/antagonists/traitor/classes/subterfuge.dm +++ b/code/modules/antagonists/traitor/classes/subterfuge.dm @@ -9,7 +9,7 @@ var/datum/game_mode/dynamic/mode if(istype(SSticker.mode,/datum/game_mode/dynamic)) mode = SSticker.mode - assassin_prob = max(0,mode.threat_level-40) + assassin_prob = max(0,mode.threat_level-20) if(prob(assassin_prob)) var/datum/objective/assassinate/once/kill_objective = new kill_objective.owner = T.owner diff --git a/code/modules/arousal/arousal.dm b/code/modules/arousal/arousal.dm index 36da6c73ba..a3adf0d25b 100644 --- a/code/modules/arousal/arousal.dm +++ b/code/modules/arousal/arousal.dm @@ -55,7 +55,7 @@ return genit_list /obj/item/organ/genital/proc/climaxable(mob/living/carbon/human/H, silent = FALSE) //returns the fluid source (ergo reagents holder) if found. - if(CHECK_BITFIELD(genital_flags, GENITAL_FUID_PRODUCTION)) + if((genital_flags & GENITAL_FUID_PRODUCTION)) . = reagents else if(linked_organ) @@ -124,7 +124,7 @@ var/list/worn_stuff = get_equipped_items() for(var/obj/item/organ/genital/G in internal_organs) - if(CHECK_BITFIELD(G.genital_flags, CAN_CLIMAX_WITH) && G.is_exposed(worn_stuff)) //filter out what you can't masturbate with + if((G.genital_flags & CAN_CLIMAX_WITH) && G.is_exposed(worn_stuff)) //filter out what you can't masturbate with LAZYADD(genitals_list, G) if(LAZYLEN(genitals_list)) var/obj/item/organ/genital/ret_organ = input(src, "with what?", "Climax", null) as null|obj in genitals_list @@ -212,7 +212,7 @@ if(forced_climax) //Something forced us to cum, this is not a masturbation thing and does not progress to the other checks log_message("was forced to climax by [cause]",LOG_EMOTE) for(var/obj/item/organ/genital/G in internal_organs) - if(!CHECK_BITFIELD(G.genital_flags, CAN_CLIMAX_WITH)) //Skip things like wombs and testicles + if(!(G.genital_flags & CAN_CLIMAX_WITH)) //Skip things like wombs and testicles continue mob_climax_outside(G, mb_time = 0) //removed climax timer for sudden, forced orgasms //Now all genitals that could climax, have. diff --git a/code/modules/arousal/genitals.dm b/code/modules/arousal/genitals.dm index 313f108b0f..b7e90e5b84 100644 --- a/code/modules/arousal/genitals.dm +++ b/code/modules/arousal/genitals.dm @@ -112,7 +112,7 @@ var/list/genital_list = list() for(var/obj/item/organ/genital/G in internal_organs) - if(!CHECK_BITFIELD(G.genital_flags, GENITAL_INTERNAL)) + if(!(G.genital_flags & GENITAL_INTERNAL)) genital_list += G if(!genital_list.len) //There is nothing to expose return diff --git a/code/modules/arousal/organs/breasts.dm b/code/modules/arousal/organs/breasts.dm index e37224e401..b9129e28a1 100644 --- a/code/modules/arousal/organs/breasts.dm +++ b/code/modules/arousal/organs/breasts.dm @@ -48,7 +48,7 @@ else desc += " You estimate that they're [uppertext(size)]-cups." - if(CHECK_BITFIELD(genital_flags, GENITAL_FUID_PRODUCTION) && aroused_state) + if((genital_flags & GENITAL_FUID_PRODUCTION) && aroused_state) var/datum/reagent/R = GLOB.chemical_reagents_list[fluid_id] if(R) desc += " They're leaking [lowertext(R.name)]." @@ -115,7 +115,7 @@ size = D.features["breasts_size"] shape = D.features["breasts_shape"] if(!D.features["breasts_producing"]) - DISABLE_BITFIELD(genital_flags, GENITAL_FUID_PRODUCTION|CAN_CLIMAX_WITH|CAN_MASTURBATE_WITH) + genital_flags &= ~ (GENITAL_FUID_PRODUCTION|CAN_CLIMAX_WITH|CAN_MASTURBATE_WITH) if(!isnum(size)) cached_size = breast_values[size] else diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index f9beafd8b7..d4a96639df 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -126,29 +126,29 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car var/list/json_from_file = json_decode(file2text(vr_path)) if(json_from_file) if(json_from_file["digestable"]) - ENABLE_BITFIELD(vore_flags,DIGESTABLE) + vore_flags |= DIGESTABLE if(json_from_file["devourable"]) - ENABLE_BITFIELD(vore_flags,DEVOURABLE) + vore_flags |= DEVOURABLE if(json_from_file["feeding"]) - ENABLE_BITFIELD(vore_flags,FEEDING) + vore_flags |= FEEDING if(json_from_file["lickable"]) - ENABLE_BITFIELD(vore_flags,LICKABLE) + vore_flags |= LICKABLE belly_prefs = json_from_file["belly_prefs"] vore_taste = json_from_file["vore_taste"] for(var/V in all_quirks) // quirk migration switch(V) if("Acute hepatic pharmacokinesis") - DISABLE_BITFIELD(cit_toggles, PENIS_ENLARGEMENT) - DISABLE_BITFIELD(cit_toggles, BREAST_ENLARGEMENT) - ENABLE_BITFIELD(cit_toggles,FORCED_FEM) - ENABLE_BITFIELD(cit_toggles,FORCED_MASC) + cit_toggles &= ~(PENIS_ENLARGEMENT) + cit_toggles &= ~(BREAST_ENLARGEMENT) + cit_toggles |= FORCED_FEM + cit_toggles |= FORCED_MASC all_quirks -= V if("Crocin Immunity") - ENABLE_BITFIELD(cit_toggles,NO_APHRO) + cit_toggles |= NO_APHRO all_quirks -= V if("Buns of Steel") - ENABLE_BITFIELD(cit_toggles,NO_ASS_SLAP) + cit_toggles |= NO_ASS_SLAP all_quirks -= V if(features["meat_type"] == "Inesct") @@ -178,13 +178,13 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["feeding"] >> feeding S["lickable"] >> lickable if(digestable) - ENABLE_BITFIELD(vore_flags,DIGESTABLE) + vore_flags |= DIGESTABLE if(devourable) - ENABLE_BITFIELD(vore_flags,DEVOURABLE) + vore_flags |= DEVOURABLE if(feeding) - ENABLE_BITFIELD(vore_flags,FEEDING) + vore_flags |= FEEDING if(lickable) - ENABLE_BITFIELD(vore_flags,LICKABLE) + vore_flags |= LICKABLE if(current_version < 30) switch(features["taur"]) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 56ddb5f5f1..492768a8e0 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -67,7 +67,7 @@ /obj/item/clothing/Initialize() . = ..() - if(CHECK_BITFIELD(clothing_flags, VOICEBOX_TOGGLABLE)) + if((clothing_flags & VOICEBOX_TOGGLABLE)) actions_types += /datum/action/item_action/toggle_voice_box if(ispath(pocket_storage_component_path)) LoadComponent(pocket_storage_component_path) diff --git a/code/modules/clothing/masks/_masks.dm b/code/modules/clothing/masks/_masks.dm index c4063108db..ef7c6a1926 100644 --- a/code/modules/clothing/masks/_masks.dm +++ b/code/modules/clothing/masks/_masks.dm @@ -11,9 +11,9 @@ var/datum/beepsky_fashion/beepsky_fashion //the associated datum for applying this to a secbot /obj/item/clothing/mask/attack_self(mob/user) - if(CHECK_BITFIELD(clothing_flags, VOICEBOX_TOGGLABLE)) - TOGGLE_BITFIELD(clothing_flags, VOICEBOX_DISABLED) - var/status = !CHECK_BITFIELD(clothing_flags, VOICEBOX_DISABLED) + if((clothing_flags & VOICEBOX_TOGGLABLE)) + (clothing_flags ^= VOICEBOX_DISABLED) + var/status = !(clothing_flags & VOICEBOX_DISABLED) to_chat(user, "You turn the voice box in [src] [status ? "on" : "off"].") /obj/item/clothing/mask/equipped(mob/M, slot) diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index 88fbc98280..e6a0425920 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -124,7 +124,7 @@ modifies_speech = TRUE /obj/item/clothing/mask/pig/handle_speech(datum/source, list/speech_args) - if(!CHECK_BITFIELD(clothing_flags, VOICEBOX_DISABLED)) + if(!(clothing_flags & VOICEBOX_DISABLED)) speech_args[SPEECH_MESSAGE] = pick("Oink!","Squeeeeeeee!","Oink Oink!") /obj/item/clothing/mask/pig/cursed //needs to be different otherwise you could turn the speedmodification off and on @@ -150,7 +150,7 @@ modifies_speech = TRUE /obj/item/clothing/mask/frog/handle_speech(datum/source, list/speech_args) //whenever you speak - if(!CHECK_BITFIELD(clothing_flags, VOICEBOX_DISABLED)) + if(!(clothing_flags & VOICEBOX_DISABLED)) if(prob(5)) //sometimes, the angry spirit finds others words to speak. speech_args[SPEECH_MESSAGE] = pick("HUUUUU!!","SMOOOOOKIN'!!","Hello my baby, hello my honey, hello my rag-time gal.", "Feels bad, man.", "GIT DIS GUY OFF ME!!" ,"SOMEBODY STOP ME!!", "NORMIES, GET OUT!!") else @@ -180,7 +180,7 @@ modifies_speech = TRUE /obj/item/clothing/mask/cowmask/handle_speech(datum/source, list/speech_args) - if(!CHECK_BITFIELD(clothing_flags, VOICEBOX_DISABLED)) + if(!(clothing_flags & VOICEBOX_DISABLED)) speech_args[SPEECH_MESSAGE] = pick("Moooooooo!","Moo!","Moooo!") @@ -205,7 +205,7 @@ clothing_flags = VOICEBOX_TOGGLABLE /obj/item/clothing/mask/horsehead/handle_speech(datum/source, list/speech_args) - if(!CHECK_BITFIELD(clothing_flags, VOICEBOX_DISABLED)) + if(!(clothing_flags & VOICEBOX_DISABLED)) speech_args[SPEECH_MESSAGE] = pick("NEEIIGGGHHHH!", "NEEEIIIIGHH!", "NEIIIGGHH!", "HAAWWWWW!", "HAAAWWW!") diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index 6b8de787f0..0370c087d9 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -500,7 +500,7 @@ /obj/item/reagent_containers/food/drinks/soda_cans/attack_self(mob/user) if(!is_drainable()) to_chat(user, "You pull back the tab of \the [src] with a satisfying pop.") //Ahhhhhhhh - ENABLE_BITFIELD(reagents.reagents_holder_flags, OPENCONTAINER) + reagents.reagents_holder_flags |= OPENCONTAINER playsound(src, "can_open", 50, 1) spillable = TRUE return diff --git a/code/modules/holiday/halloween/jacqueen.dm b/code/modules/holiday/halloween/jacqueen.dm index d366c81a5e..23b5a283d9 100644 --- a/code/modules/holiday/halloween/jacqueen.dm +++ b/code/modules/holiday/halloween/jacqueen.dm @@ -473,9 +473,9 @@ /mob/living/simple_animal/jacq/update_mobility() . = ..() if(busy) - DISABLE_BITFIELD(., MOBILITY_MOVE) + . &= ~(MOBILITY_MOVE) else - ENABLE_BITFIELD(., MOBILITY_MOVE) + . |= MOBILITY_MOVE mobility_flags = . diff --git a/code/modules/holodeck/holo_effect.dm b/code/modules/holodeck/holo_effect.dm index c37ccf657b..ffff8e190e 100644 --- a/code/modules/holodeck/holo_effect.dm +++ b/code/modules/holodeck/holo_effect.dm @@ -78,7 +78,7 @@ // these vars are not really standardized but all would theoretically create stuff on death for(var/v in list("butcher_results","corpse","weapon1","weapon2","blood_volume") & mob.vars) mob.vars[v] = null - ENABLE_BITFIELD(mob.flags_1, HOLOGRAM_1) + mob.flags_1 |= HOLOGRAM_1 if(isliving(mob)) var/mob/living/L = mob L.vore_flags = 0 diff --git a/code/modules/hydroponics/fermenting_barrel.dm b/code/modules/hydroponics/fermenting_barrel.dm index 3d6b90eb2d..39b0bfdfde 100644 --- a/code/modules/hydroponics/fermenting_barrel.dm +++ b/code/modules/hydroponics/fermenting_barrel.dm @@ -59,12 +59,12 @@ /obj/structure/fermenting_barrel/on_attack_hand(mob/user, act_intent = user.a_intent, unarmed_attack_flags) open = !open if(open) - DISABLE_BITFIELD(reagents.reagents_holder_flags, DRAINABLE) - ENABLE_BITFIELD(reagents.reagents_holder_flags, REFILLABLE) + reagents.reagents_holder_flags &= ~(DRAINABLE) + reagents.reagents_holder_flags |= REFILLABLE to_chat(user, "You open [src], letting you fill it.") else - DISABLE_BITFIELD(reagents.reagents_holder_flags, REFILLABLE) - ENABLE_BITFIELD(reagents.reagents_holder_flags, DRAINABLE) + reagents.reagents_holder_flags &= ~(REFILLABLE) + reagents.reagents_holder_flags |= DRAINABLE to_chat(user, "You close [src], letting you draw from its tap.") update_icon() @@ -96,12 +96,12 @@ /obj/structure/custom_keg/on_attack_hand(mob/user, act_intent = user.a_intent, unarmed_attack_flags) open = !open if(open) - DISABLE_BITFIELD(reagents.reagents_holder_flags, DRAINABLE) - ENABLE_BITFIELD(reagents.reagents_holder_flags, REFILLABLE) + reagents.reagents_holder_flags &= ~(DRAINABLE) + reagents.reagents_holder_flags |= REFILLABLE to_chat(user, "You open [src], letting you fill it.") else - DISABLE_BITFIELD(reagents.reagents_holder_flags, REFILLABLE) - ENABLE_BITFIELD(reagents.reagents_holder_flags, DRAINABLE) + reagents.reagents_holder_flags &= ~(REFILLABLE) + reagents.reagents_holder_flags |= DRAINABLE to_chat(user, "You close [src], letting you draw from its tap.") update_icon() diff --git a/code/modules/hydroponics/grown/misc.dm b/code/modules/hydroponics/grown/misc.dm index 733d973832..e7298e67be 100644 --- a/code/modules/hydroponics/grown/misc.dm +++ b/code/modules/hydroponics/grown/misc.dm @@ -365,7 +365,7 @@ opened = TRUE spillable = !screwdrivered reagent_flags = OPENCONTAINER - ENABLE_BITFIELD(reagents.reagents_holder_flags, OPENCONTAINER) + reagents.reagents_holder_flags |= OPENCONTAINER icon_state = screwdrivered ? "coconut_carved" : "coconut_chopped" desc = "A coconut. [screwdrivered ? "This one's got a hole in it" : "This one's sliced open, with all its delicious contents for your eyes to savour"]." playsound(user, W.hitsound, 50, 1, -1) diff --git a/code/modules/instruments/instrument_data/_instrument_data.dm b/code/modules/instruments/instrument_data/_instrument_data.dm index 447bcdffb1..5d937f304f 100644 --- a/code/modules/instruments/instrument_data/_instrument_data.dm +++ b/code/modules/instruments/instrument_data/_instrument_data.dm @@ -55,14 +55,14 @@ id = "[type]" /datum/instrument/proc/Initialize() - if(CHECK_BITFIELD(instrument_flags, INSTRUMENT_LEGACY | INSTRUMENT_DO_NOT_AUTOSAMPLE)) + if(instrument_flags & (INSTRUMENT_LEGACY | INSTRUMENT_DO_NOT_AUTOSAMPLE)) return calculate_samples() /datum/instrument/proc/ready() - if(CHECK_BITFIELD(instrument_flags, INSTRUMENT_LEGACY)) + if((instrument_flags & INSTRUMENT_LEGACY)) return legacy_instrument_path && legacy_instrument_ext - else if(CHECK_BITFIELD(instrument_flags, INSTRUMENT_DO_NOT_AUTOSAMPLE)) + else if((instrument_flags & INSTRUMENT_DO_NOT_AUTOSAMPLE)) return length(samples) return (length(samples) >= 128) diff --git a/code/modules/integrated_electronics/subtypes/reagents.dm b/code/modules/integrated_electronics/subtypes/reagents.dm index f69fa08aaf..de6ad729e9 100644 --- a/code/modules/integrated_electronics/subtypes/reagents.dm +++ b/code/modules/integrated_electronics/subtypes/reagents.dm @@ -77,7 +77,7 @@ /obj/item/integrated_circuit/reagent/injector/Initialize() . = ..() - ENABLE_BITFIELD(reagents.reagents_holder_flags, OPENCONTAINER) + reagents.reagents_holder_flags |= OPENCONTAINER /obj/item/integrated_circuit/reagent/injector/on_reagent_change(changetype) push_vol() @@ -273,7 +273,7 @@ /obj/item/integrated_circuit/reagent/storage/Initialize() . = ..() - ENABLE_BITFIELD(reagents.reagents_holder_flags, OPENCONTAINER) + reagents.reagents_holder_flags |= OPENCONTAINER /obj/item/integrated_circuit/reagent/storage/do_work() set_pin_data(IC_OUTPUT, 2, WEAKREF(src)) @@ -303,7 +303,7 @@ /obj/item/integrated_circuit/reagent/storage/cryo/Initialize() . = ..() - ENABLE_BITFIELD(reagents.reagents_holder_flags, NO_REACT) + reagents.reagents_holder_flags |= NO_REACT /obj/item/integrated_circuit/reagent/storage/grinder name = "reagent grinder" @@ -574,7 +574,7 @@ /obj/item/integrated_circuit/reagent/smoke/Initialize() . = ..() - ENABLE_BITFIELD(reagents.reagents_holder_flags, OPENCONTAINER) + reagents.reagents_holder_flags |= OPENCONTAINER /obj/item/integrated_circuit/reagent/smoke/on_reagent_change(changetype) //reset warning only if we have reagents now @@ -632,7 +632,7 @@ /obj/item/integrated_circuit/reagent/extinguisher/Initialize() .=..() - ENABLE_BITFIELD(reagents.reagents_holder_flags, OPENCONTAINER) + reagents.reagents_holder_flags |= OPENCONTAINER set_pin_data(IC_OUTPUT,2, src) /obj/item/integrated_circuit/reagent/extinguisher/on_reagent_change(changetype) diff --git a/code/modules/mob/dead/new_player/sprite_accessories/body_markings.dm b/code/modules/mob/dead/new_player/sprite_accessories/body_markings.dm index 148af35247..c477bb2cad 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/body_markings.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/body_markings.dm @@ -27,7 +27,7 @@ /datum/sprite_accessory/mam_body_markings/redpanda name = "Redpanda" icon_state = "redpanda" - covered_limbs = list("Head" = MATRIX_RED_BLUE, "Chest" = MATRIX_RED_GREEN, "Left Leg" = MATRIX_RED_GREEN, "Right Leg" = MATRIX_RED_GREEN, "Left Arm" = MATRIX_RED_GREEN, "Right Arm" = MATRIX_RED_GREEN) + covered_limbs = list("Head" = MATRIX_ALL, "Chest" = MATRIX_RED_GREEN, "Left Leg" = MATRIX_RED_GREEN, "Right Leg" = MATRIX_RED_GREEN, "Left Arm" = MATRIX_RED_GREEN, "Right Arm" = MATRIX_RED_GREEN) /datum/sprite_accessory/mam_body_markings/bat name = "Bat" diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index f6ef8e8177..0700cba2ea 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -198,7 +198,7 @@ if(start_T && end_T) log_combat(src, throwable_mob, "thrown", addition="grab from tile in [AREACOORD(start_T)] towards tile at [AREACOORD(end_T)]") - else if(!CHECK_BITFIELD(I.item_flags, ABSTRACT) && !HAS_TRAIT(I, TRAIT_NODROP)) + else if(!(I.item_flags & ABSTRACT) && !HAS_TRAIT(I, TRAIT_NODROP)) thrown_thing = I dropItemToGround(I) @@ -621,12 +621,12 @@ to_chat(src, "You're too exhausted to keep going...") set_resting(TRUE, FALSE, FALSE) SEND_SIGNAL(src, COMSIG_DISABLE_COMBAT_MODE) - ENABLE_BITFIELD(combat_flags, COMBAT_FLAG_HARD_STAMCRIT) + combat_flags |= COMBAT_FLAG_HARD_STAMCRIT filters += CIT_FILTER_STAMINACRIT update_mobility() if((combat_flags & COMBAT_FLAG_HARD_STAMCRIT) && total_health <= STAMINA_CRIT_REMOVAL_THRESHOLD) to_chat(src, "You don't feel nearly as exhausted anymore.") - DISABLE_BITFIELD(combat_flags, COMBAT_FLAG_HARD_STAMCRIT) + combat_flags &= ~(COMBAT_FLAG_HARD_STAMCRIT) filters -= CIT_FILTER_STAMINACRIT update_mobility() UpdateStaminaBuffer() diff --git a/code/modules/mob/living/carbon/carbon_movement.dm b/code/modules/mob/living/carbon/carbon_movement.dm index e98ddf5954..ffb8523a9e 100644 --- a/code/modules/mob/living/carbon/carbon_movement.dm +++ b/code/modules/mob/living/carbon/carbon_movement.dm @@ -22,14 +22,14 @@ /mob/living/carbon/Moved() . = ..() - if(. && !CHECK_BITFIELD(movement_type, FLOATING)) //floating is easy + if(. && !(movement_type & FLOATING)) //floating is easy if(HAS_TRAIT(src, TRAIT_NOHUNGER)) set_nutrition(NUTRITION_LEVEL_FED - 1) //just less than feeling vigorous else if(nutrition && stat != DEAD) var/loss = HUNGER_FACTOR/10 if(m_intent == MOVE_INTENT_RUN) loss *= 2 - adjust_nutrition(loss) + adjust_nutrition(-loss) /mob/living/carbon/can_move_under_living(mob/living/other) . = ..() diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index f363aecf84..0e75595c75 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -113,11 +113,11 @@ . += effects_exam //CIT CHANGES START HERE - adds genital details to examine text - if(LAZYLEN(internal_organs) && CHECK_BITFIELD(user.client?.prefs.cit_toggles, GENITAL_EXAMINE)) + if(LAZYLEN(internal_organs) && (user.client?.prefs.cit_toggles & GENITAL_EXAMINE)) for(var/obj/item/organ/genital/dicc in internal_organs) if(istype(dicc) && dicc.is_exposed()) . += "[dicc.desc]" - if(CHECK_BITFIELD(user.client?.prefs.cit_toggles, VORE_EXAMINE)) + if(user.client?.prefs.cit_toggles & VORE_EXAMINE) var/cursed_stuff = attempt_vr(src,"examine_bellies",args) //vore Code if(cursed_stuff) . += cursed_stuff diff --git a/code/modules/mob/living/carbon/human/innate_abilities/blobform.dm b/code/modules/mob/living/carbon/human/innate_abilities/blobform.dm index c8f870bf2a..482268f8f5 100644 --- a/code/modules/mob/living/carbon/human/innate_abilities/blobform.dm +++ b/code/modules/mob/living/carbon/human/innate_abilities/blobform.dm @@ -62,7 +62,7 @@ H.add_movespeed_modifier(/datum/movespeed_modifier/slime_puddle) - ENABLE_BITFIELD(H.pass_flags, PASSMOB) //this actually lets people pass over you + H.pass_flags |= PASSMOB //this actually lets people pass over you squeak = H.AddComponent(/datum/component/squeak, custom_sounds = list('sound/effects/blobattack.ogg')) //blorble noise when people step on you //if the user is a changeling, retract their sting @@ -103,7 +103,7 @@ REMOVE_TRAIT(H, TRAIT_HUMAN_NO_RENDER, SLIMEPUDDLE_TRAIT) H.update_disabled_bodyparts(silent = TRUE) H.remove_movespeed_modifier(/datum/movespeed_modifier/slime_puddle) - DISABLE_BITFIELD(H.pass_flags, PASSMOB) + H.pass_flags &= ~(PASSMOB) is_puddle = FALSE if(squeak) squeak.RemoveComponent() diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index b135ae9cd8..c75654e10b 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -188,9 +188,9 @@ dropItemToGround(r_store, TRUE) //Again, makes sense for pockets to drop. if(l_store) dropItemToGround(l_store, TRUE) - if(wear_id && !CHECK_BITFIELD(wear_id.item_flags, NO_UNIFORM_REQUIRED)) + if(wear_id && !(wear_id.item_flags & NO_UNIFORM_REQUIRED)) dropItemToGround(wear_id) - if(belt && !CHECK_BITFIELD(belt.item_flags, NO_UNIFORM_REQUIRED)) + if(belt && !(belt.item_flags & NO_UNIFORM_REQUIRED)) dropItemToGround(belt) w_uniform = null update_suit_sensors() diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index b43cd266be..85f01e63b3 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -214,7 +214,7 @@ var/missing_body_parts_flags = ~get_body_parts_flags() var/max_protection = 1 if(missing_body_parts_flags) //I don't like copypasta as much as proc overhead. Do you want me to make these into a macro? - DISABLE_BITFIELD(thermal_protection_flags, missing_body_parts_flags) + thermal_protection_flags &= ~(missing_body_parts_flags) if(missing_body_parts_flags & HEAD) max_protection -= THERMAL_PROTECTION_HEAD if(missing_body_parts_flags & CHEST) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 21554f25b4..3976b1ebca 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1243,7 +1243,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) if(SLOT_BELT) if(H.belt) return FALSE - if(!CHECK_BITFIELD(I.item_flags, NO_UNIFORM_REQUIRED)) + if(!(I.item_flags & NO_UNIFORM_REQUIRED)) var/obj/item/bodypart/O = H.get_bodypart(BODY_ZONE_CHEST) if(!H.w_uniform && !nojumpsuit && (!O || !O.is_robotic_limb())) if(return_warning) @@ -1285,7 +1285,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) if(SLOT_WEAR_ID) if(H.wear_id) return FALSE - if(!CHECK_BITFIELD(I.item_flags, NO_UNIFORM_REQUIRED)) + if(!(I.item_flags & NO_UNIFORM_REQUIRED)) var/obj/item/bodypart/O = H.get_bodypart(BODY_ZONE_CHEST) if(!H.w_uniform && !nojumpsuit && (!O || !O.is_robotic_limb())) if(return_warning) diff --git a/code/modules/mob/living/carbon/human/species_types/dullahan.dm b/code/modules/mob/living/carbon/human/species_types/dullahan.dm index 0418292fea..7cd582d050 100644 --- a/code/modules/mob/living/carbon/human/species_types/dullahan.dm +++ b/code/modules/mob/living/carbon/human/species_types/dullahan.dm @@ -31,7 +31,7 @@ /datum/species/dullahan/on_species_gain(mob/living/carbon/human/H, datum/species/old_species) . = ..() - DISABLE_BITFIELD(H.flags_1, HEAR_1) + H.flags_1 &= ~(HEAR_1) var/obj/item/bodypart/head/head = H.get_bodypart(BODY_ZONE_HEAD) if(head) if(pumpkin)//Pumpkinhead! @@ -49,7 +49,7 @@ OA.Trigger() /datum/species/dullahan/on_species_loss(mob/living/carbon/human/H) - ENABLE_BITFIELD(H.flags_1, HEAR_1) + H.flags_1 |= HEAR_1 H.reset_perspective(H) if(myhead) var/obj/item/dullahan_relay/DR = myhead diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index a839a0dd83..8516d1decf 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -324,7 +324,7 @@ if(!HAS_TRAIT(src, TRAIT_NO_INTERNALS)) for(check in GET_INTERNAL_SLOTS(src)) - if(CHECK_BITFIELD(check.clothing_flags, ALLOWINTERNALS)) + if((check.clothing_flags & ALLOWINTERNALS)) internals = TRUE if(internal) if(internal.loc != src) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index c05215bc6f..5cbb68eceb 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -125,19 +125,19 @@ if(IS_STAMCRIT(src)) to_chat(src, "You're too exhausted to crawl [(CHECK_MOBILITY(L, MOBILITY_STAND)) ? "under": "over"] [L].") return TRUE - ENABLE_BITFIELD(combat_flags, COMBAT_FLAG_ATTEMPTING_CRAWL) + combat_flags &= COMBAT_FLAG_ATTEMPTING_CRAWL visible_message("[src] is attempting to crawl [(CHECK_MOBILITY(L, MOBILITY_STAND)) ? "under" : "over"] [L].", "You are now attempting to crawl [(CHECK_MOBILITY(L, MOBILITY_STAND)) ? "under": "over"] [L].", target = L, target_message = "[src] is attempting to crawl [(CHECK_MOBILITY(L, MOBILITY_STAND)) ? "under" : "over"] you.") if(!do_after(src, CRAWLUNDER_DELAY, target = src) || CHECK_MOBILITY(src, MOBILITY_STAND)) - DISABLE_BITFIELD(combat_flags, COMBAT_FLAG_ATTEMPTING_CRAWL) + combat_flags &= ~(COMBAT_FLAG_ATTEMPTING_CRAWL) return TRUE var/src_passmob = (pass_flags & PASSMOB) pass_flags |= PASSMOB Move(origtargetloc) if(!src_passmob) pass_flags &= ~PASSMOB - DISABLE_BITFIELD(combat_flags, COMBAT_FLAG_ATTEMPTING_CRAWL) + combat_flags &= ~(COMBAT_FLAG_ATTEMPTING_CRAWL) return TRUE //END OF CIT CHANGES diff --git a/code/modules/mob/living/living_mobility.dm b/code/modules/mob/living/living_mobility.dm index 2256a93fa1..af34fb54cf 100644 --- a/code/modules/mob/living/living_mobility.dm +++ b/code/modules/mob/living/living_mobility.dm @@ -28,7 +28,7 @@ set name = "Rest" set category = "IC" if(client?.prefs?.autostand) - TOGGLE_BITFIELD(combat_flags, COMBAT_FLAG_INTENTIONALLY_RESTING) + (combat_flags ^= COMBAT_FLAG_INTENTIONALLY_RESTING) to_chat(src, "You are now attempting to [(combat_flags & COMBAT_FLAG_INTENTIONALLY_RESTING) ? "[!resting ? "lay down and ": ""]stay down" : "[resting ? "get up and ": ""]stay up"].") if((combat_flags & COMBAT_FLAG_INTENTIONALLY_RESTING) && !resting) set_resting(TRUE, FALSE) @@ -117,14 +117,14 @@ mobility_flags &= ~(MOBILITY_USE | MOBILITY_PICKUP | MOBILITY_STORAGE | MOBILITY_HOLD) if(HAS_TRAIT(src, TRAIT_MOBILITY_NOMOVE)) - DISABLE_BITFIELD(mobility_flags, MOBILITY_MOVE) + mobility_flags &= ~(MOBILITY_MOVE) if(HAS_TRAIT(src, TRAIT_MOBILITY_NOPICKUP)) - DISABLE_BITFIELD(mobility_flags, MOBILITY_PICKUP) + mobility_flags &= ~(MOBILITY_PICKUP) if(HAS_TRAIT(src, TRAIT_MOBILITY_NOUSE)) - DISABLE_BITFIELD(mobility_flags, MOBILITY_USE) + mobility_flags &= ~(MOBILITY_USE) if(daze) - DISABLE_BITFIELD(mobility_flags, MOBILITY_USE) + mobility_flags &= ~(MOBILITY_USE) //Handle update-effects. if(!CHECK_MOBILITY(src, MOBILITY_HOLD)) diff --git a/code/modules/mob/living/living_sprint.dm b/code/modules/mob/living/living_sprint.dm index 3fbc229385..e45866bcf6 100644 --- a/code/modules/mob/living/living_sprint.dm +++ b/code/modules/mob/living/living_sprint.dm @@ -30,7 +30,7 @@ return if(combat_flags & COMBAT_FLAG_SPRINT_ACTIVE) return - ENABLE_BITFIELD(combat_flags, COMBAT_FLAG_SPRINT_ACTIVE) + combat_flags |= COMBAT_FLAG_SPRINT_ACTIVE add_movespeed_modifier(/datum/movespeed_modifier/sprinting) if(update_icon) update_sprint_icon() @@ -38,7 +38,7 @@ /mob/living/proc/disable_sprint_mode(update_icon = TRUE) if(!(combat_flags & COMBAT_FLAG_SPRINT_ACTIVE) || (combat_flags & COMBAT_FLAG_SPRINT_FORCED)) return - DISABLE_BITFIELD(combat_flags, COMBAT_FLAG_SPRINT_ACTIVE) + combat_flags &= ~(COMBAT_FLAG_SPRINT_ACTIVE) remove_movespeed_modifier(/datum/movespeed_modifier/sprinting) if(update_icon) update_sprint_icon() @@ -46,7 +46,7 @@ /mob/living/proc/enable_intentional_sprint_mode() if((combat_flags & COMBAT_FLAG_SPRINT_TOGGLED) && (combat_flags & COMBAT_FLAG_SPRINT_ACTIVE)) return - ENABLE_BITFIELD(combat_flags, COMBAT_FLAG_SPRINT_TOGGLED) + combat_flags |= COMBAT_FLAG_SPRINT_TOGGLED if(!HAS_TRAIT(src, TRAIT_SPRINT_LOCKED) && !(combat_flags & COMBAT_FLAG_SPRINT_ACTIVE)) enable_sprint_mode(FALSE) update_sprint_icon() @@ -57,7 +57,7 @@ return if(combat_flags & COMBAT_FLAG_SPRINT_FORCED) return - DISABLE_BITFIELD(combat_flags, COMBAT_FLAG_SPRINT_TOGGLED) + combat_flags &= ~(COMBAT_FLAG_SPRINT_TOGGLED) if(combat_flags & COMBAT_FLAG_SPRINT_ACTIVE) disable_sprint_mode(FALSE) update_sprint_icon() diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index a52e975f9a..5b812086c8 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -182,7 +182,7 @@ deputize(W, user) else if(istype(W, /obj/item/mop/advanced)) - if(bot_core.allowed(user) && open && !CHECK_BITFIELD(upgrades,UPGRADE_CLEANER_ADVANCED_MOP)) + if(bot_core.allowed(user) && open && !(upgrades & UPGRADE_CLEANER_ADVANCED_MOP)) to_chat(user, "You replace \the [src] old mop with a new better one!") upgrades |= UPGRADE_CLEANER_ADVANCED_MOP clean_time = 20 //2.5 the speed! @@ -198,7 +198,7 @@ to_chat(user, "The [src] already has this mop!") else if(istype(W, /obj/item/broom)) - if(bot_core.allowed(user) && open && !CHECK_BITFIELD(upgrades,UPGRADE_CLEANER_BROOM)) + if(bot_core.allowed(user) && open && !(upgrades & UPGRADE_CLEANER_BROOM)) to_chat(user, "You add to \the [src] a broom speeding it up!") upgrades |= UPGRADE_CLEANER_BROOM base_speed = 1 //2x faster! diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index ff6941ec70..a67642f8ca 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -124,7 +124,7 @@ to_chat(user, "You need at least one floor tile to put into [src]!") else if(istype(W, /obj/item/storage/toolbox/artistic)) - if(bot_core.allowed(user) && open && !CHECK_BITFIELD(upgrades,UPGRADE_FLOOR_ARTBOX)) + if(bot_core.allowed(user) && open && !(upgrades & UPGRADE_FLOOR_ARTBOX)) to_chat(user, "You upgrade \the [src] case to hold more!") upgrades |= UPGRADE_FLOOR_ARTBOX maxtiles += 100 //Double the storage! @@ -139,7 +139,7 @@ to_chat(user, "The [src] already has a upgraded case!") else if(istype(W, /obj/item/storage/toolbox/syndicate)) - if(bot_core.allowed(user) && open && !CHECK_BITFIELD(upgrades,UPGRADE_FLOOR_SYNDIBOX)) + if(bot_core.allowed(user) && open && !(upgrades & UPGRADE_FLOOR_SYNDIBOX)) to_chat(user, "You upgrade \the [src] case to hold more!") upgrades |= UPGRADE_FLOOR_SYNDIBOX maxtiles += 200 //Double bse storage @@ -433,4 +433,4 @@ if(robot.mode == BOT_REPAIRING) return TRUE return FALSE - + diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm index 25f6509ad0..b343328e7f 100644 --- a/code/modules/mob/living/simple_animal/bot/medbot.dm +++ b/code/modules/mob/living/simple_animal/bot/medbot.dm @@ -254,7 +254,7 @@ show_controls(user) else if(istype(W, /obj/item/reagent_containers/syringe/piercing)) - if(bot_core.allowed(user) && open && !CHECK_BITFIELD(upgrades,UPGRADE_MEDICAL_PIERERCING)) + if(bot_core.allowed(user) && open && !(upgrades & UPGRADE_MEDICAL_PIERERCING)) to_chat(user, "You replace \the [src] syringe with a diamond-tipped one!") upgrades |= UPGRADE_MEDICAL_PIERERCING qdel(W) @@ -268,7 +268,7 @@ to_chat(user, "The [src] already has a diamond-tipped syringe!") else if(istype(W, /obj/item/hypospray/mkii)) - if(bot_core.allowed(user) && open && !CHECK_BITFIELD(upgrades,UPGRADE_MEDICAL_HYPOSPRAY)) + if(bot_core.allowed(user) && open && !(upgrades & UPGRADE_MEDICAL_HYPOSPRAY)) to_chat(user, "You replace \the [src] syringe base with a DeForest Medical MK.II Hypospray!") upgrades |= UPGRADE_MEDICAL_HYPOSPRAY injection_time = 15 //Half the time half the death! @@ -284,7 +284,7 @@ to_chat(user, "The [src] already has a DeForest Medical Hypospray base!") else if(istype(W, /obj/item/circuitboard/machine/chem_dispenser)) - if(bot_core.allowed(user) && open && !CHECK_BITFIELD(upgrades,UPGRADE_MEDICAL_CHEM_BOARD)) + if(bot_core.allowed(user) && open && !(upgrades & UPGRADE_MEDICAL_CHEM_BOARD)) to_chat(user, "You add in the board upgrading \the [src] reagent banks!") upgrades |= UPGRADE_MEDICAL_CHEM_BOARD treatment_oxy = /datum/reagent/medicine/salbutamol //Replaces Dex with salbutamol "better" healing of o2 @@ -299,7 +299,7 @@ to_chat(user, "The [src] already has this upgrade!") else if(istype(W, /obj/item/circuitboard/machine/cryo_tube)) - if(bot_core.allowed(user) && open && !CHECK_BITFIELD(upgrades,UPGRADE_MEDICAL_CRYO_BOARD)) + if(bot_core.allowed(user) && open && !(upgrades & UPGRADE_MEDICAL_CRYO_BOARD)) to_chat(user, "You add in the board upgrading \the [src] reagent banks!") upgrades |= UPGRADE_MEDICAL_CRYO_BOARD treatment_fire = /datum/reagent/medicine/oxandrolone //Replaces Kep with oxandrolone "better" healing of burns @@ -314,7 +314,7 @@ to_chat(user, "The [src] already has this upgrade!") else if(istype(W, /obj/item/circuitboard/machine/chem_master)) - if(bot_core.allowed(user) && open && !CHECK_BITFIELD(upgrades,UPGRADE_MEDICAL_CHEM_MASTER)) + if(bot_core.allowed(user) && open && !(upgrades & UPGRADE_MEDICAL_CHEM_MASTER)) to_chat(user, "You add in the board upgrading \the [src] reagent banks!") upgrades |= UPGRADE_MEDICAL_CHEM_MASTER treatment_brute = /datum/reagent/medicine/sal_acid //Replaces Bic with Sal Acid "better" healing of brute @@ -329,7 +329,7 @@ to_chat(user, "the [src] already has this upgrade!") else if(istype(W, /obj/item/circuitboard/machine/sleeper)) - if(bot_core.allowed(user) && open && !CHECK_BITFIELD(upgrades,UPGRADE_MEDICAL_SLEEP_BOARD)) + if(bot_core.allowed(user) && open && !(upgrades & UPGRADE_MEDICAL_SLEEP_BOARD)) to_chat(user, "You add in the board upgrading \the [src] reagent banks!") upgrades |= UPGRADE_MEDICAL_SLEEP_BOARD treatment_tox = /datum/reagent/medicine/pen_acid //replaces charcoal with pen acid a "better" healing of toxins @@ -359,7 +359,7 @@ audible_message("[src] buzzes oddly!") flick("medibot_spark", src) playsound(src, "sparks", 75, 1) - if(!CHECK_BITFIELD(upgrades,UPGRADE_MEDICAL_PIERERCING)) + if(!(upgrades & UPGRADE_MEDICAL_PIERERCING)) upgrades |= UPGRADE_MEDICAL_PIERERCING //Jabs even harder through the clothing! if(user) oldpatient = user @@ -558,7 +558,7 @@ if(ishuman(C)) var/mob/living/carbon/human/H = C - if (H.wear_suit && H.head && istype(H.wear_suit, /obj/item/clothing) && istype(H.head, /obj/item/clothing) && !CHECK_BITFIELD(upgrades,UPGRADE_MEDICAL_PIERERCING)) + if (H.wear_suit && H.head && istype(H.wear_suit, /obj/item/clothing) && istype(H.head, /obj/item/clothing) && !(upgrades & UPGRADE_MEDICAL_PIERERCING)) var/obj/item/clothing/CS = H.wear_suit var/obj/item/clothing/CH = H.head if (CS.clothing_flags & CH.clothing_flags & THICKMATERIAL) diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index 01a30bb90a..029adbe92f 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -367,7 +367,7 @@ if(vore_active) if(isliving(target)) var/mob/living/L = target - if(!client && L.Adjacent(src) && CHECK_BITFIELD(L.vore_flags, DEVOURABLE) && CHECK_BITFIELD(L.vore_flags, MOBVORE)) // aggressive check to ensure vore attacks can be made + if(!client && L.Adjacent(src) && (L.vore_flags & DEVOURABLE) && (L.vore_flags & MOBVORE)) // aggressive check to ensure vore attacks can be made if(prob(voracious_chance)) vore_attack(src,L,src) else diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm index 08ed786252..4e7d493c3b 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm @@ -59,6 +59,7 @@ Difficulty: Medium /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/Initialize() . = ..() + internal = new/obj/item/gps/internal/miner(src) miner_saw = new(src) /datum/action/innate/megafauna_attack/dash diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm index 3940388625..79111d3de2 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm @@ -122,7 +122,7 @@ if(!client && ranged && ranged_cooldown <= world.time) OpenFire() if(L.Adjacent(src) && (L.stat != CONSCIOUS)) - if(vore_active && CHECK_BITFIELD(L.vore_flags,DEVOURABLE)) + if(vore_active && (L.vore_flags & DEVOURABLE)) vore_attack(src,L,src) LoseTarget() else diff --git a/code/modules/mob/living/simple_animal/simple_animal_vr.dm b/code/modules/mob/living/simple_animal/simple_animal_vr.dm index de5bb578b8..69dee76f34 100644 --- a/code/modules/mob/living/simple_animal/simple_animal_vr.dm +++ b/code/modules/mob/living/simple_animal/simple_animal_vr.dm @@ -49,10 +49,10 @@ // Simple animals have only one belly. This creates it (if it isn't already set up) /mob/living/simple_animal/init_vore() - ENABLE_BITFIELD(vore_flags, VORE_INIT) - if(CHECK_BITFIELD(flags_1, HOLOGRAM_1)) + vore_flags |= VORE_INIT + if((flags_1 & HOLOGRAM_1)) return - if(!vore_active || CHECK_BITFIELD(vore_flags, NO_VORE)) //If it can't vore, let's not give it a stomach. + if(!vore_active || (vore_flags & NO_VORE)) //If it can't vore, let's not give it a stomach. return if(vore_active && !IsAdvancedToolUser()) //vore active, but doesn't have thumbs to grab people with. verbs |= /mob/living/simple_animal/proc/animal_nom @@ -133,6 +133,6 @@ if (stat != CONSCIOUS) return - if(!CHECK_BITFIELD(T.vore_flags,DEVOURABLE)) + if(!(T.vore_flags & DEVOURABLE)) return return vore_attack(src,T,src) diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm index 68de074e07..38149494bc 100644 --- a/code/modules/mob/living/simple_animal/slime/slime.dm +++ b/code/modules/mob/living/simple_animal/slime/slime.dm @@ -466,7 +466,7 @@ SStun = world.time + rand(20,60) spawn(0) - DISABLE_BITFIELD(mobility_flags, MOBILITY_MOVE) + mobility_flags &= ~(MOBILITY_MOVE) if(user) step_away(src,user,15) sleep(3) diff --git a/code/modules/mob/living/simple_animal/slime/slime_mobility.dm b/code/modules/mob/living/simple_animal/slime/slime_mobility.dm index 5be5ff4e36..77f2bde864 100644 --- a/code/modules/mob/living/simple_animal/slime/slime_mobility.dm +++ b/code/modules/mob/living/simple_animal/slime/slime_mobility.dm @@ -1,5 +1,5 @@ /mob/living/simple_animal/slime/update_mobility() . = ..() if(Tempstun && !buckled) - DISABLE_BITFIELD(., MOBILITY_MOVE) + . &= ~(MOBILITY_MOVE) mobility_flags = . diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 515349d666..2e38fdd840 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -300,7 +300,7 @@ area.power_equip = FALSE area.power_environ = FALSE area.power_change() - area.poweralert(FALSE, src) + area.poweralert(TRUE, src) if(occupier) malfvacate(1) qdel(wires) @@ -1444,8 +1444,6 @@ lighting = autoset(lighting, AUTOSET_ON) environ = autoset(environ, AUTOSET_ON) area.poweralert(FALSE, src) - if(cell.percent() > 75) - area.poweralert(FALSE, src) // now trickle-charge the cell if(chargemode && charging == APC_CHARGING && operating) diff --git a/code/modules/projectiles/ammunition/ballistic/shotgun.dm b/code/modules/projectiles/ammunition/ballistic/shotgun.dm index 2a41b41d1d..04e8e62029 100644 --- a/code/modules/projectiles/ammunition/ballistic/shotgun.dm +++ b/code/modules/projectiles/ammunition/ballistic/shotgun.dm @@ -139,7 +139,7 @@ /obj/item/ammo_casing/shotgun/dart/noreact/Initialize() . = ..() - ENABLE_BITFIELD(reagents.reagents_holder_flags, NO_REACT) + reagents.reagents_holder_flags |= NO_REACT /obj/item/ammo_casing/shotgun/dart/bioterror desc = "A shotgun dart filled with an obscene amount of lethal reagents. God help whoever is shot with this." diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 0a7598cd79..07fc4bf9de 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -362,7 +362,7 @@ /obj/item/projectile/proc/process_hit(turf/T, atom/target, qdel_self, hit_something = FALSE) //probably needs to be reworked entirely when pixel movement is done. if(QDELETED(src) || !T || !target) //We're done, nothing's left. - if((qdel_self == FORCE_QDEL) || ((qdel_self == QDEL_SELF) && !temporary_unstoppable_movement && !CHECK_BITFIELD(movement_type, UNSTOPPABLE))) + if((qdel_self == FORCE_QDEL) || ((qdel_self == QDEL_SELF) && !temporary_unstoppable_movement && !(movement_type & UNSTOPPABLE))) qdel(src) return hit_something permutated |= target //Make sure we're never hitting it again. If we ever run into weirdness with piercing projectiles needing to hit something multiple times.. well.. that's a to-do. @@ -370,16 +370,16 @@ return process_hit(T, select_target(T), qdel_self, hit_something) //Hit whatever else we can since that didn't work. var/result = target.bullet_act(src, def_zone) if(result == BULLET_ACT_FORCE_PIERCE) - if(!CHECK_BITFIELD(movement_type, UNSTOPPABLE)) + if(!(movement_type & UNSTOPPABLE)) temporary_unstoppable_movement = TRUE - ENABLE_BITFIELD(movement_type, UNSTOPPABLE) + movement_type |= UNSTOPPABLE return process_hit(T, select_target(T), qdel_self, TRUE) //Hit whatever else we can since we're piercing through but we're still on the same tile. else if(result == BULLET_ACT_TURF) //We hit the turf but instead we're going to also hit something else on it. return process_hit(T, select_target(T), QDEL_SELF, TRUE) else //Whether it hit or blocked, we're done! qdel_self = QDEL_SELF hit_something = TRUE - if((qdel_self == FORCE_QDEL) || ((qdel_self == QDEL_SELF) && !temporary_unstoppable_movement && !CHECK_BITFIELD(movement_type, UNSTOPPABLE))) + if((qdel_self == FORCE_QDEL) || ((qdel_self == QDEL_SELF) && !temporary_unstoppable_movement && !(movement_type & UNSTOPPABLE))) qdel(src) return hit_something @@ -775,7 +775,7 @@ if(.) if(temporary_unstoppable_movement) temporary_unstoppable_movement = FALSE - DISABLE_BITFIELD(movement_type, UNSTOPPABLE) + movement_type &= ~(UNSTOPPABLE) if(fired && can_hit_target(original, permutated, TRUE)) Bump(original) diff --git a/code/modules/projectiles/projectile/bullets/dart_syringe.dm b/code/modules/projectiles/projectile/bullets/dart_syringe.dm index 318acb66b5..4978e679b4 100644 --- a/code/modules/projectiles/projectile/bullets/dart_syringe.dm +++ b/code/modules/projectiles/projectile/bullets/dart_syringe.dm @@ -25,7 +25,7 @@ "You were protected against \the [src]!") ..(target, blocked) - DISABLE_BITFIELD(reagents.reagents_holder_flags, NO_REACT) + reagents.reagents_holder_flags &= ~(NO_REACT) reagents.handle_reactions() return BULLET_ACT_HIT diff --git a/code/modules/projectiles/projectile/special/curse.dm b/code/modules/projectiles/projectile/special/curse.dm index d967540e6a..6c682763ae 100644 --- a/code/modules/projectiles/projectile/special/curse.dm +++ b/code/modules/projectiles/projectile/special/curse.dm @@ -31,7 +31,7 @@ /obj/item/projectile/curse_hand/prehit(atom/target) if(target == original) - DISABLE_BITFIELD(movement_type, UNSTOPPABLE) + movement_type &= ~(UNSTOPPABLE) else if(!isturf(target)) return FALSE return ..() @@ -40,7 +40,7 @@ if(arm) arm.End() arm = null - if(CHECK_BITFIELD(movement_type, UNSTOPPABLE)) + if((movement_type & UNSTOPPABLE)) playsound(src, 'sound/effects/curse3.ogg', 25, 1, -1) var/turf/T = get_step(src, dir) var/obj/effect/temp_visual/dir_setting/curse/hand/leftover = new(T, dir) diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index d6b7201ef9..154a58cdfd 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -1,4 +1,3 @@ -#define REM REAGENTS_EFFECT_MULTIPLIER GLOBAL_LIST_INIT(name2reagent, build_name2reagent()) /proc/build_name2reagent() diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 12c91e145a..72112d9a65 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -47,7 +47,7 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/on_mob_life(mob/living/carbon/C) if(HAS_TRAIT(C, TRAIT_TOXIC_ALCOHOL)) - C.adjustToxLoss((boozepwr/25)*REM,forced = TRUE) + C.adjustToxLoss((boozepwr/25)*REAGENTS_EFFECT_MULTIPLIER,forced = TRUE) else if(C.drunkenness < volume * boozepwr * ALCOHOL_THRESHOLD_MODIFIER) var/booze_power = boozepwr if(HAS_TRAIT(C, TRAIT_ALCOHOL_TOLERANCE)) //we're an accomplished drinker @@ -1365,7 +1365,7 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/neurotoxin/on_mob_life(mob/living/carbon/M) M.set_drugginess(50) M.dizziness +=2 - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1*REM, 150) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1*REAGENTS_EFFECT_MULTIPLIER, 150) if(prob(20) && !holder.has_reagent(/datum/reagent/consumable/ethanol/neuroweak)) M.adjustStaminaLoss(10) M.drop_all_held_items() @@ -1376,7 +1376,7 @@ All effects don't start immediately, but rather get worse over time; the rate is ADD_TRAIT(M, t, type) M.adjustStaminaLoss(10) if(current_cycle > 30) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REM) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REAGENTS_EFFECT_MULTIPLIER) if(current_cycle > 50 && prob(15)) if(!M.undergoing_cardiac_arrest() && M.can_heartattack()) M.set_heartattack(TRUE) @@ -1401,13 +1401,13 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/neuroweak/on_mob_life(mob/living/carbon/M) if(holder.has_reagent(/datum/reagent/consumable/ethanol/neurotoxin)) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1*REM, 150) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1*REAGENTS_EFFECT_MULTIPLIER, 150) M.reagents.remove_reagent(/datum/reagent/consumable/ethanol/neurotoxin, 1.5 * REAGENTS_METABOLISM, FALSE) else if(holder.has_reagent(/datum/reagent/toxin/fentanyl)) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1*REM, 150) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1*REAGENTS_EFFECT_MULTIPLIER, 150) M.reagents.remove_reagent(/datum/reagent/toxin/fentanyl, 0.75 * REAGENTS_METABOLISM, FALSE) else - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -0.5*REM, 150) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -0.5*REAGENTS_EFFECT_MULTIPLIER, 150) M.dizziness +=2 ..() @@ -1925,7 +1925,7 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/fernet/on_mob_life(mob/living/carbon/M) if(M.nutrition <= NUTRITION_LEVEL_STARVING) - M.adjustToxLoss(1*REM, 0) + M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0) M.adjust_nutrition(-5) M.overeatduration = 0 return ..() @@ -1943,7 +1943,7 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/fernet_cola/on_mob_life(mob/living/carbon/M) if(M.nutrition <= NUTRITION_LEVEL_STARVING) - M.adjustToxLoss(0.5*REM, 0) + M.adjustToxLoss(0.5*REAGENTS_EFFECT_MULTIPLIER, 0) M.adjust_nutrition(-3) M.overeatduration = 0 return ..() diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index 5059376954..4376805e2c 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -47,7 +47,7 @@ /datum/reagent/consumable/limejuice/on_mob_life(mob/living/carbon/M) if(M.getToxLoss() && prob(20)) - M.adjustToxLoss(-1*REM, 0) + M.adjustToxLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 ..() diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm index ed80804f28..4848347df2 100644 --- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm @@ -59,7 +59,7 @@ SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "smoked", /datum/mood_event/smoked, name) M.AdjustAllImmobility(-20, 0) M.AdjustUnconscious(-20, 0) - M.adjustStaminaLoss(-0.5*REM, 0) + M.adjustStaminaLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 @@ -83,30 +83,30 @@ . = 1 /datum/reagent/drug/crank/overdose_process(mob/living/M) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REM) - M.adjustToxLoss(2*REM, 0) - M.adjustBruteLoss(2*REM, 0) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REAGENTS_EFFECT_MULTIPLIER) + M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustBruteLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 /datum/reagent/drug/crank/addiction_act_stage1(mob/living/M) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 5*REM) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 5*REAGENTS_EFFECT_MULTIPLIER) ..() /datum/reagent/drug/crank/addiction_act_stage2(mob/living/M) - M.adjustToxLoss(5*REM, 0) + M.adjustToxLoss(5*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 /datum/reagent/drug/crank/addiction_act_stage3(mob/living/M) - M.adjustBruteLoss(5*REM, 0) + M.adjustBruteLoss(5*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 /datum/reagent/drug/crank/addiction_act_stage4(mob/living/M) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3*REM) - M.adjustToxLoss(5*REM, 0) - M.adjustBruteLoss(5*REM, 0) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3*REAGENTS_EFFECT_MULTIPLIER) + M.adjustToxLoss(5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustBruteLoss(5*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 @@ -128,14 +128,14 @@ ..() /datum/reagent/drug/krokodil/overdose_process(mob/living/M) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.25*REM) - M.adjustToxLoss(0.25*REM, 0) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.25*REAGENTS_EFFECT_MULTIPLIER) + M.adjustToxLoss(0.25*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 /datum/reagent/drug/krokodil/addiction_act_stage1(mob/living/M) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REM) - M.adjustToxLoss(2*REM, 0) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REAGENTS_EFFECT_MULTIPLIER) + M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 @@ -147,7 +147,7 @@ /datum/reagent/drug/krokodil/addiction_act_stage3(mob/living/M) if(prob(25)) to_chat(M, "Your skin starts to peel away...") - M.adjustBruteLoss(3*REM, 0) + M.adjustBruteLoss(3*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 @@ -155,10 +155,10 @@ CHECK_DNA_AND_SPECIES(M) if(!istype(M.dna.species, /datum/species/krokodil_addict)) to_chat(M, "Your skin falls off easily!") - M.adjustBruteLoss(50*REM, 0) // holy shit your skin just FELL THE FUCK OFF + M.adjustBruteLoss(50*REAGENTS_EFFECT_MULTIPLIER, 0) // holy shit your skin just FELL THE FUCK OFF M.set_species(/datum/species/krokodil_addict) else - M.adjustBruteLoss(5*REM, 0) + M.adjustBruteLoss(5*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 @@ -186,14 +186,14 @@ if(DT_PROB(2.5, delta_time)) to_chat(M, span_notice("[high_message]")) // SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "tweaking", /datum/mood_event/stimulant_medium, name) - M.AdjustStun(-40 * REM * delta_time) - M.AdjustKnockdown(-40 * REM * delta_time) - M.AdjustUnconscious(-40 * REM * delta_time) - M.AdjustParalyzed(-40 * REM * delta_time) - M.AdjustImmobilized(-40 * REM * delta_time) - M.adjustStaminaLoss(-2 * REM * delta_time, 0) - M.Jitter(2 * REM * delta_time) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, rand(1, 4) * REM * delta_time) + M.AdjustStun(-40 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + M.AdjustKnockdown(-40 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + M.AdjustUnconscious(-40 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + M.AdjustParalyzed(-40 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + M.AdjustImmobilized(-40 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + M.adjustStaminaLoss(-2 * REAGENTS_EFFECT_MULTIPLIER * delta_time, 0) + M.Jitter(2 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, rand(1, 4) * REAGENTS_EFFECT_MULTIPLIER * delta_time) if(DT_PROB(2.5, delta_time)) M.emote(pick("twitch", "shiver")) ..() @@ -201,7 +201,7 @@ /datum/reagent/drug/methamphetamine/overdose_process(mob/living/M, delta_time, times_fired) if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovable(M.loc)) - for(var/i in 1 to round(4 * REM * delta_time, 1)) + for(var/i in 1 to round(4 * REAGENTS_EFFECT_MULTIPLIER * delta_time, 1)) step(M, pick(GLOB.cardinals)) if(DT_PROB(10, delta_time)) M.emote("laugh") @@ -209,8 +209,8 @@ M.visible_message(span_danger("[M]'s hands flip out and flail everywhere!")) M.drop_all_held_items() ..() - M.adjustToxLoss(1 * REM * delta_time, 0) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, (rand(5, 10) / 10) * REM * delta_time) + M.adjustToxLoss(1 * REAGENTS_EFFECT_MULTIPLIER * delta_time, 0) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, (rand(5, 10) / 10) * REAGENTS_EFFECT_MULTIPLIER * delta_time) . = TRUE /datum/reagent/drug/methamphetamine/addiction_act_stage1(mob/living/M) @@ -486,8 +486,8 @@ H.dna.species.punchstunthreshold += 2 /datum/reagent/drug/skooma/on_mob_life(mob/living/carbon/M) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1*REM) - M.adjustToxLoss(1*REM) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1*REAGENTS_EFFECT_MULTIPLIER) + M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER) if(prob(10)) M.adjust_blurriness(2) ..() @@ -531,7 +531,7 @@ value = REAGENT_VALUE_VERY_RARE /datum/reagent/syndicateadrenals/on_mob_life(mob/living/M) - M.adjustStaminaLoss(-5*REM) + M.adjustStaminaLoss(-5*REAGENTS_EFFECT_MULTIPLIER) . = ..() /datum/reagent/syndicateadrenals/on_mob_metabolize(mob/living/M) diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 02b19909b0..85836ffdf3 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -658,10 +658,10 @@ /datum/reagent/consumable/honey/on_mob_life(mob/living/carbon/M) M.reagents.add_reagent(/datum/reagent/consumable/sugar,3) if(prob(55)) - M.adjustBruteLoss(-1*REM, 0) - M.adjustFireLoss(-1*REM, 0) - M.adjustOxyLoss(-1*REM, 0) - M.adjustToxLoss(-1*REM, 0, TRUE) //heals TOXINLOVERs + M.adjustBruteLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustFireLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustOxyLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustToxLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0, TRUE) //heals TOXINLOVERs ..() /datum/reagent/consumable/honey/reaction_mob(mob/living/M, method=TOUCH, reac_volume) @@ -746,9 +746,9 @@ . = 1 if(prob(20)) M.losebreath += 4 - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REM, 150) - M.adjustToxLoss(3*REM,0) - M.adjustStaminaLoss(10*REM,0) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REAGENTS_EFFECT_MULTIPLIER, 150) + M.adjustToxLoss(3*REAGENTS_EFFECT_MULTIPLIER,0) + M.adjustStaminaLoss(10*REAGENTS_EFFECT_MULTIPLIER,0) M.blur_eyes(5) . = TRUE ..() @@ -778,8 +778,8 @@ /datum/reagent/consumable/vitfro/on_mob_life(mob/living/carbon/M) if(prob(80)) - M.adjustBruteLoss(-1*REM, 0) - M.adjustFireLoss(-1*REM, 0) + M.adjustBruteLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustFireLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0) . = TRUE ..() @@ -804,7 +804,7 @@ var/mob/living/carbon/C = M var/obj/item/organ/stomach/ethereal/stomach = C.getorganslot(ORGAN_SLOT_STOMACH) if(istype(stomach)) - stomach.adjust_charge(reac_volume * REM) + stomach.adjust_charge(reac_volume * REAGENTS_EFFECT_MULTIPLIER) /datum/reagent/consumable/liquidelectricity/on_mob_life(mob/living/carbon/M) if(prob(25) && !isethereal(M)) diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 72a9779726..e1f8d5366c 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -56,7 +56,7 @@ mytray.visible_message("Nothing happens...") /datum/reagent/medicine/adminordrazine/on_mob_life(mob/living/carbon/M) - M.reagents.remove_all_type(/datum/reagent/toxin, 5*REM, 0, 1) + M.reagents.remove_all_type(/datum/reagent/toxin, 5*REAGENTS_EFFECT_MULTIPLIER, 0, 1) M.setCloneLoss(0, 0) M.setOxyLoss(0, 0) M.radiation = 0 @@ -299,7 +299,7 @@ ..() /datum/reagent/medicine/silver_sulfadiazine/on_mob_life(mob/living/carbon/M) - M.adjustFireLoss(-2*REM, 0) + M.adjustFireLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 @@ -309,7 +309,7 @@ . = 1 /datum/reagent/medicine/silver_sulfadiazine/overdose_process(mob/living/M) - M.adjustFireLoss(2*REM, 0) + M.adjustFireLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0) var/obj/item/organ/liver/L = M.getorganslot(ORGAN_SLOT_LIVER) if(L) L.applyOrganDamage(1) @@ -328,15 +328,15 @@ /datum/reagent/medicine/oxandrolone/on_mob_life(mob/living/carbon/M) if(M.getFireLoss() > 25) - M.adjustFireLoss(-4*REM, 0) //Twice as effective as silver sulfadiazine for severe burns + M.adjustFireLoss(-4*REAGENTS_EFFECT_MULTIPLIER, 0) //Twice as effective as silver sulfadiazine for severe burns else - M.adjustFireLoss(-0.5*REM, 0) //But only a quarter as effective for more minor ones + M.adjustFireLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) //But only a quarter as effective for more minor ones ..() . = 1 /datum/reagent/medicine/oxandrolone/overdose_process(mob/living/M) if(M.getFireLoss()) //It only makes existing burns worse - M.adjustFireLoss(4.5*REM, 0) // it's going to be healing either 4 or 0.5 + M.adjustFireLoss(4.5*REAGENTS_EFFECT_MULTIPLIER, 0) // it's going to be healing either 4 or 0.5 . = 1 ..() @@ -371,7 +371,7 @@ G.use(reac_volume) /datum/reagent/medicine/styptic_powder/on_mob_life(mob/living/carbon/M) - M.adjustBruteLoss(-2*REM, 0) + M.adjustBruteLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 @@ -381,7 +381,7 @@ . = 1 /datum/reagent/medicine/styptic_powder/overdose_process(mob/living/M) - M.adjustBruteLoss(2*REM, 0) + M.adjustBruteLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0) var/obj/item/organ/liver/L = M.getorganslot(ORGAN_SLOT_LIVER) if(L) L.applyOrganDamage(1) @@ -403,8 +403,8 @@ /datum/reagent/medicine/salglu_solution/on_mob_life(mob/living/carbon/human/M) if(prob(33)) - M.adjustBruteLoss(-0.5*REM, 0) - M.adjustFireLoss(-0.5*REM, 0) + M.adjustBruteLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustFireLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) . = TRUE if((HAS_TRAIT(M, TRAIT_NOMARROW))) return ..() @@ -414,10 +414,10 @@ if(M.functional_blood() < maximum_reachable) //Can only up to double your effective blood level. var/new_blood_level = min(volume * 5, maximum_reachable) last_added = new_blood_level - M.adjust_integration_blood(new_blood_level + (extra_regen * REM)) + M.adjust_integration_blood(new_blood_level + (extra_regen * REAGENTS_EFFECT_MULTIPLIER)) if(prob(33)) - M.adjustBruteLoss(-0.5*REM, 0) - M.adjustFireLoss(-0.5*REM, 0) + M.adjustBruteLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustFireLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) . = TRUE ..() @@ -436,8 +436,8 @@ holder.add_reagent(/datum/reagent/consumable/sugar, 1) holder.remove_reagent(/datum/reagent/medicine/salglu_solution, 0.5) if(prob(33)) - M.adjustBruteLoss(0.5*REM, 0) - M.adjustFireLoss(0.5*REM, 0) + M.adjustBruteLoss(0.5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustFireLoss(0.5*REAGENTS_EFFECT_MULTIPLIER, 0) . = TRUE ..() @@ -452,9 +452,9 @@ /datum/reagent/medicine/mine_salve/on_mob_life(mob/living/carbon/C) C.hal_screwyhud = SCREWYHUD_HEALTHY - C.adjustBruteLoss(-0.25*REM, 0) - C.adjustFireLoss(-0.25*REM, 0) - C.adjustStaminaLoss(-0.5*REM, 0) + C.adjustBruteLoss(-0.25*REAGENTS_EFFECT_MULTIPLIER, 0) + C.adjustFireLoss(-0.25*REAGENTS_EFFECT_MULTIPLIER, 0) + C.adjustStaminaLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) ..() return TRUE @@ -531,7 +531,7 @@ pH = 5 /datum/reagent/medicine/charcoal/on_mob_life(mob/living/carbon/M) - M.adjustToxLoss(-2*REM, 0) + M.adjustToxLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 for(var/A in M.reagents.reagent_list) var/datum/reagent/R = A @@ -551,18 +551,18 @@ var/healing = 0.5 /datum/reagent/medicine/omnizine/on_mob_life(mob/living/carbon/M) - M.adjustToxLoss(-healing*REM, 0) - M.adjustOxyLoss(-healing*REM, 0) - M.adjustBruteLoss(-healing*REM, 0) - M.adjustFireLoss(-healing*REM, 0) + M.adjustToxLoss(-healing*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustOxyLoss(-healing*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustBruteLoss(-healing*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustFireLoss(-healing*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 /datum/reagent/medicine/omnizine/overdose_process(mob/living/M) - M.adjustToxLoss(1.5*REM, 0) - M.adjustOxyLoss(1.5*REM, 0) - M.adjustBruteLoss(1.5*REM, 0) - M.adjustFireLoss(1.5*REM, 0) + M.adjustToxLoss(1.5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustOxyLoss(1.5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustBruteLoss(1.5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustFireLoss(1.5*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 @@ -587,7 +587,7 @@ if(R != src) M.reagents.remove_reagent(R.type,2.5) if(M.health > 20) - M.adjustToxLoss(2.5*REM, 0) + M.adjustToxLoss(2.5*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 ..() @@ -630,7 +630,7 @@ /datum/reagent/medicine/pen_acid/on_mob_life(mob/living/carbon/M) M.radiation -= max(M.radiation-RAD_MOB_SAFE, 0)/50 - M.adjustToxLoss(-2*REM, 0, healtoxinlover) + M.adjustToxLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0, healtoxinlover) for(var/A in M.reagents.reagent_list) var/datum/reagent/R = A if(R != src) @@ -659,15 +659,15 @@ /datum/reagent/medicine/sal_acid/on_mob_life(mob/living/carbon/M) if(M.getBruteLoss() > 25) - M.adjustBruteLoss(-4*REM, 0) //Twice as effective as styptic powder for severe bruising + M.adjustBruteLoss(-4*REAGENTS_EFFECT_MULTIPLIER, 0) //Twice as effective as styptic powder for severe bruising else - M.adjustBruteLoss(-0.5*REM, 0) //But only a quarter as effective for more minor ones + M.adjustBruteLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) //But only a quarter as effective for more minor ones ..() . = 1 /datum/reagent/medicine/sal_acid/overdose_process(mob/living/M) if(M.getBruteLoss()) //It only makes existing bruises worse - M.adjustBruteLoss(4.5*REM, 0) // it's going to be healing either 4 or 0.5 + M.adjustBruteLoss(4.5*REAGENTS_EFFECT_MULTIPLIER, 0) // it's going to be healing either 4 or 0.5 . = 1 ..() @@ -680,7 +680,7 @@ pH = 2 /datum/reagent/medicine/salbutamol/on_mob_life(mob/living/carbon/M) - M.adjustOxyLoss(-3*REM, 0) + M.adjustOxyLoss(-3*REAGENTS_EFFECT_MULTIPLIER, 0) if(M.losebreath >= 4) M.losebreath -= 2 M.Jitter(5) @@ -696,11 +696,11 @@ pH = 11 /datum/reagent/medicine/perfluorodecalin/on_mob_life(mob/living/carbon/human/M) - M.adjustOxyLoss(-12*REM, 0) + M.adjustOxyLoss(-12*REAGENTS_EFFECT_MULTIPLIER, 0) M.silent = max(M.silent, 5) if(prob(33)) - M.adjustBruteLoss(-0.5*REM, 0) - M.adjustFireLoss(-0.5*REM, 0) + M.adjustBruteLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustFireLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) ..() return TRUE @@ -731,8 +731,8 @@ // to_chat(M, span_notice("Your hands spaz out and you drop what you were holding!")) // M.Jitter(10) - M.AdjustAllImmobility(-20 * REM * delta_time) - M.adjustStaminaLoss(-1 * REM * delta_time, FALSE) + M.AdjustAllImmobility(-20 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + M.adjustStaminaLoss(-1 * REAGENTS_EFFECT_MULTIPLIER * delta_time, FALSE) ..() return TRUE @@ -754,28 +754,28 @@ /datum/reagent/medicine/ephedrine/addiction_act_stage1(mob/living/M) if(prob(33)) - M.adjustToxLoss(2*REM, 0) + M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0) M.losebreath += 2 . = 1 ..() /datum/reagent/medicine/ephedrine/addiction_act_stage2(mob/living/M) if(prob(33)) - M.adjustToxLoss(3*REM, 0) + M.adjustToxLoss(3*REAGENTS_EFFECT_MULTIPLIER, 0) M.losebreath += 3 . = 1 ..() /datum/reagent/medicine/ephedrine/addiction_act_stage3(mob/living/M) if(prob(33)) - M.adjustToxLoss(4*REM, 0) + M.adjustToxLoss(4*REAGENTS_EFFECT_MULTIPLIER, 0) M.losebreath += 4 . = 1 ..() /datum/reagent/medicine/ephedrine/addiction_act_stage4(mob/living/M) if(prob(33)) - M.adjustToxLoss(5*REM, 0) + M.adjustToxLoss(5*REAGENTS_EFFECT_MULTIPLIER, 0) M.losebreath += 5 . = 1 ..() @@ -841,7 +841,7 @@ /datum/reagent/medicine/morphine/addiction_act_stage2(mob/living/M) if(prob(33)) M.drop_all_held_items() - M.adjustToxLoss(1*REM, 0) + M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 M.Dizzy(3) M.Jitter(3) @@ -850,7 +850,7 @@ /datum/reagent/medicine/morphine/addiction_act_stage3(mob/living/M) if(prob(33)) M.drop_all_held_items() - M.adjustToxLoss(2*REM, 0) + M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 M.Dizzy(4) M.Jitter(4) @@ -859,7 +859,7 @@ /datum/reagent/medicine/morphine/addiction_act_stage4(mob/living/M) if(prob(33)) M.drop_all_held_items() - M.adjustToxLoss(3*REM, 0) + M.adjustToxLoss(3*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 M.Dizzy(5) M.Jitter(5) @@ -907,10 +907,10 @@ /datum/reagent/medicine/atropine/on_mob_life(mob/living/carbon/M) if(M.health < 0) - M.adjustToxLoss(-2*REM, 0) - M.adjustBruteLoss(-2*REM, 0) - M.adjustFireLoss(-2*REM, 0) - M.adjustOxyLoss(-5*REM, 0) + M.adjustToxLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustBruteLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustFireLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustOxyLoss(-5*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 M.losebreath = 0 if(prob(20)) @@ -919,7 +919,7 @@ ..() /datum/reagent/medicine/atropine/overdose_process(mob/living/M) - M.adjustToxLoss(0.5*REM, 0) + M.adjustToxLoss(0.5*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 M.Dizzy(1) M.Jitter(1) @@ -936,16 +936,16 @@ /datum/reagent/medicine/epinephrine/on_mob_life(mob/living/carbon/M) if(M.health < 0) - M.adjustToxLoss(-0.5*REM, 0) - M.adjustBruteLoss(-0.5*REM, 0) - M.adjustFireLoss(-0.5*REM, 0) + M.adjustToxLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustBruteLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustFireLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) if(M.oxyloss > 35) M.setOxyLoss(35, 0) if(M.losebreath >= 4) M.losebreath -= 2 if(M.losebreath < 0) M.losebreath = 0 - M.adjustStaminaLoss(-0.5*REM, 0) + M.adjustStaminaLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 if(prob(20)) M.AdjustAllImmobility(-20, 0) @@ -954,8 +954,8 @@ /datum/reagent/medicine/epinephrine/overdose_process(mob/living/M) if(prob(33)) - M.adjustStaminaLoss(2.5*REM, 0) - M.adjustToxLoss(1*REM, 0) + M.adjustStaminaLoss(2.5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0) M.losebreath++ . = 1 ..() @@ -1021,8 +1021,8 @@ /datum/reagent/medicine/strange_reagent/on_mob_life(mob/living/carbon/M) - M.adjustBruteLoss(0.5*REM, 0) - M.adjustFireLoss(0.5*REM, 0) + M.adjustBruteLoss(0.5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustFireLoss(0.5*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 @@ -1033,7 +1033,7 @@ pH = 10.4 /datum/reagent/medicine/mannitol/on_mob_life(mob/living/carbon/C) - C.adjustOrganLoss(ORGAN_SLOT_BRAIN, -2*REM) + C.adjustOrganLoss(ORGAN_SLOT_BRAIN, -2*REAGENTS_EFFECT_MULTIPLIER) if(prob(10)) C.cure_trauma_type(resilience = TRAUMA_RESILIENCE_BASIC) ..() @@ -1091,8 +1091,8 @@ M.drowsyness = 0 M.slurring = 0 M.confused = 0 - M.reagents.remove_all_type(/datum/reagent/consumable/ethanol, 3*REM, 0, 1) - M.adjustToxLoss(-0.2*REM, 0) + M.reagents.remove_all_type(/datum/reagent/consumable/ethanol, 3*REAGENTS_EFFECT_MULTIPLIER, 0, 1) + M.adjustToxLoss(-0.2*REAGENTS_EFFECT_MULTIPLIER, 0) if(ishuman(M)) var/mob/living/carbon/human/H = M H.drunkenness = max(H.drunkenness - 10, 0) @@ -1120,20 +1120,20 @@ /datum/reagent/medicine/stimulants/on_mob_life(mob/living/carbon/M) if(M.health < 50 && M.health > 0) - M.adjustOxyLoss(-1*REM, FALSE) - M.adjustToxLoss(-1*REM, FALSE) - M.adjustBruteLoss(-1*REM, FALSE) - M.adjustFireLoss(-1*REM, FALSE) + M.adjustOxyLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustToxLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustBruteLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustFireLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE) M.AdjustAllImmobility(-60, FALSE) M.AdjustUnconscious(-60, FALSE) - M.adjustStaminaLoss(-20*REM, FALSE) + M.adjustStaminaLoss(-20*REAGENTS_EFFECT_MULTIPLIER, FALSE) ..() . = 1 /datum/reagent/medicine/stimulants/overdose_process(mob/living/M) if(prob(33)) - M.adjustStaminaLoss(2.5*REM, FALSE) - M.adjustToxLoss(1*REM, FALSE) + M.adjustStaminaLoss(2.5*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, FALSE) M.losebreath++ . = 1 ..() @@ -1162,12 +1162,12 @@ pH = 5 /datum/reagent/medicine/bicaridine/on_mob_life(mob/living/carbon/M) - M.adjustBruteLoss(-2*REM, FALSE) + M.adjustBruteLoss(-2*REAGENTS_EFFECT_MULTIPLIER, FALSE) ..() . = 1 /datum/reagent/medicine/bicaridine/overdose_process(mob/living/M) - M.adjustBruteLoss(4*REM, FALSE) + M.adjustBruteLoss(4*REAGENTS_EFFECT_MULTIPLIER, FALSE) ..() . = 1 @@ -1180,12 +1180,12 @@ pH = 9.7 /datum/reagent/medicine/dexalin/on_mob_life(mob/living/carbon/M) - M.adjustOxyLoss(-2*REM, FALSE) + M.adjustOxyLoss(-2*REAGENTS_EFFECT_MULTIPLIER, FALSE) ..() . = 1 /datum/reagent/medicine/dexalin/overdose_process(mob/living/M) - M.adjustOxyLoss(4*REM, FALSE) + M.adjustOxyLoss(4*REAGENTS_EFFECT_MULTIPLIER, FALSE) ..() . = 1 @@ -1198,12 +1198,12 @@ pH = 9 /datum/reagent/medicine/kelotane/on_mob_life(mob/living/carbon/M) - M.adjustFireLoss(-2*REM, FALSE) + M.adjustFireLoss(-2*REAGENTS_EFFECT_MULTIPLIER, FALSE) ..() . = 1 /datum/reagent/medicine/kelotane/overdose_process(mob/living/M) - M.adjustFireLoss(4*REM, FALSE) + M.adjustFireLoss(4*REAGENTS_EFFECT_MULTIPLIER, FALSE) ..() . = 1 @@ -1217,14 +1217,14 @@ pH = 10 /datum/reagent/medicine/antitoxin/on_mob_life(mob/living/carbon/M) - M.adjustToxLoss(-2*REM, FALSE) + M.adjustToxLoss(-2*REAGENTS_EFFECT_MULTIPLIER, FALSE) for(var/datum/reagent/toxin/R in M.reagents.reagent_list) M.reagents.remove_reagent(R.type,1) ..() . = 1 /datum/reagent/medicine/antitoxin/overdose_process(mob/living/M) - M.adjustToxLoss(4*REM, FALSE) // End result is 2 toxin loss taken, because it heals 2 and then removes 4. + M.adjustToxLoss(4*REAGENTS_EFFECT_MULTIPLIER, FALSE) // End result is 2 toxin loss taken, because it heals 2 and then removes 4. ..() . = 1 @@ -1255,18 +1255,18 @@ /datum/reagent/medicine/tricordrazine/on_mob_life(mob/living/carbon/M) if(prob(80)) - M.adjustBruteLoss(-1*REM, FALSE) - M.adjustFireLoss(-1*REM, FALSE) - M.adjustOxyLoss(-1*REM, FALSE) - M.adjustToxLoss(-1*REM, FALSE) + M.adjustBruteLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustFireLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustOxyLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustToxLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE) . = 1 ..() /datum/reagent/medicine/tricordrazine/overdose_process(mob/living/M) - M.adjustToxLoss(2*REM, FALSE) - M.adjustOxyLoss(2*REM, FALSE) - M.adjustBruteLoss(2*REM, FALSE) - M.adjustFireLoss(2*REM, FALSE) + M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustOxyLoss(2*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustBruteLoss(2*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustFireLoss(2*REAGENTS_EFFECT_MULTIPLIER, FALSE) ..() . = 1 @@ -1279,10 +1279,10 @@ value = REAGENT_VALUE_COMMON /datum/reagent/medicine/regen_jelly/on_mob_life(mob/living/carbon/M) - M.adjustBruteLoss(-1.5*REM, FALSE) - M.adjustFireLoss(-1.5*REM, FALSE) - M.adjustOxyLoss(-1.5*REM, FALSE) - M.adjustToxLoss(-1.5*REM, 0, TRUE) //heals TOXINLOVERs + M.adjustBruteLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustFireLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustOxyLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustToxLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER, 0, TRUE) //heals TOXINLOVERs . = 1 ..() @@ -1295,13 +1295,13 @@ value = REAGENT_VALUE_EXCEPTIONAL /datum/reagent/medicine/syndicate_nanites/on_mob_life(mob/living/carbon/M) - M.adjustBruteLoss(-5*REM, FALSE) //A ton of healing - this is a 50 telecrystal investment. - M.adjustFireLoss(-5*REM, FALSE) + M.adjustBruteLoss(-5*REAGENTS_EFFECT_MULTIPLIER, FALSE) //A ton of healing - this is a 50 telecrystal investment. + M.adjustFireLoss(-5*REAGENTS_EFFECT_MULTIPLIER, FALSE) M.adjustOxyLoss(-15, FALSE) - M.adjustToxLoss(-5*REM, FALSE) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -15*REM) - M.adjustCloneLoss(-3*REM, FALSE) - M.adjustStaminaLoss(-25*REM,FALSE) + M.adjustToxLoss(-5*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -15*REAGENTS_EFFECT_MULTIPLIER) + M.adjustCloneLoss(-3*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustStaminaLoss(-25*REAGENTS_EFFECT_MULTIPLIER,FALSE) if(M.blood_volume < (BLOOD_VOLUME_NORMAL*M.blood_ratio)) M.adjust_integration_blood(40) // blood fall out man bad ..() @@ -1316,13 +1316,13 @@ value = REAGENT_VALUE_VERY_RARE /datum/reagent/medicine/lesser_syndicate_nanites/on_mob_life(mob/living/carbon/M) - M.adjustBruteLoss(-2*REM, FALSE) - M.adjustFireLoss(-2*REM, FALSE) - M.adjustOxyLoss(-5*REM, FALSE) - M.adjustToxLoss(-2*REM, FALSE) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -5*REM) - M.adjustCloneLoss(-1.25*REM, FALSE) - M.adjustStaminaLoss(-4*REM,FALSE) + M.adjustBruteLoss(-2*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustFireLoss(-2*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustOxyLoss(-5*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustToxLoss(-2*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -5*REAGENTS_EFFECT_MULTIPLIER) + M.adjustCloneLoss(-1.25*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustStaminaLoss(-4*REAGENTS_EFFECT_MULTIPLIER,FALSE) if(M.blood_volume < (BLOOD_VOLUME_NORMAL*M.blood_ratio)) M.adjust_integration_blood(3) ..() @@ -1340,17 +1340,17 @@ value = REAGENT_VALUE_UNCOMMON /datum/reagent/medicine/neo_jelly/on_mob_life(mob/living/carbon/M) - M.adjustBruteLoss(-1.5*REM, FALSE) - M.adjustFireLoss(-1.5*REM, FALSE) - M.adjustOxyLoss(-1.5*REM, FALSE) - M.adjustToxLoss(-1.5*REM, 0, TRUE) //heals TOXINLOVERs + M.adjustBruteLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustFireLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustOxyLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustToxLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER, 0, TRUE) //heals TOXINLOVERs . = 1 ..() /datum/reagent/medicine/neo_jelly/overdose_process(mob/living/M) - M.adjustOxyLoss(2.6*REM, FALSE) - M.adjustBruteLoss(3.5*REM, FALSE) - M.adjustFireLoss(3.5*REM, FALSE) + M.adjustOxyLoss(2.6*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustBruteLoss(3.5*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustFireLoss(3.5*REAGENTS_EFFECT_MULTIPLIER, FALSE) ..() . = 1 @@ -1378,13 +1378,13 @@ myseed.adjust_production(-round(chems.get_reagent_amount(src.type) * 0.5)) /datum/reagent/medicine/earthsblood/on_mob_life(mob/living/carbon/M) - M.adjustBruteLoss(-3 * REM, FALSE) - M.adjustFireLoss(-3 * REM, FALSE) - M.adjustOxyLoss(-15 * REM, FALSE) - M.adjustToxLoss(-3 * REM, FALSE, TRUE) //Heals TOXINLOVERS - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2 * REM, 150) //This does, after all, come from ambrosia, and the most powerful ambrosia in existence, at that! - M.adjustCloneLoss(-1 * REM, FALSE) - M.adjustStaminaLoss(-13 * REM, FALSE) + M.adjustBruteLoss(-3 * REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustFireLoss(-3 * REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustOxyLoss(-15 * REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustToxLoss(-3 * REAGENTS_EFFECT_MULTIPLIER, FALSE, TRUE) //Heals TOXINLOVERS + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2 * REAGENTS_EFFECT_MULTIPLIER, 150) //This does, after all, come from ambrosia, and the most powerful ambrosia in existence, at that! + M.adjustCloneLoss(-1 * REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustStaminaLoss(-13 * REAGENTS_EFFECT_MULTIPLIER, FALSE) M.jitteriness = min(max(0, M.jitteriness + 3), 30) M.druggy = min(max(0, M.druggy + 10), 15) //See above ..() @@ -1392,7 +1392,7 @@ /datum/reagent/medicine/earthsblood/overdose_process(mob/living/M) M.hallucination = min(max(0, M.hallucination + 5), 60) - M.adjustToxLoss(8 * REM, FALSE, TRUE) //Hurts TOXINLOVERS + M.adjustToxLoss(8 * REAGENTS_EFFECT_MULTIPLIER, FALSE, TRUE) //Hurts TOXINLOVERS ..() . = 1 @@ -1414,8 +1414,8 @@ if (M.hallucination >= 5) M.hallucination -= 5 if(prob(20)) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1*REM, 50) - M.adjustStaminaLoss(2.5*REM, 0) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1*REAGENTS_EFFECT_MULTIPLIER, 50) + M.adjustStaminaLoss(2.5*REAGENTS_EFFECT_MULTIPLIER, 0) ..() return TRUE @@ -1434,9 +1434,9 @@ return TRUE /datum/reagent/medicine/lavaland_extract/overdose_process(mob/living/M) - M.adjustBruteLoss(3*REM, 0) - M.adjustFireLoss(3*REM, 0) - M.adjustToxLoss(3*REM, 0) + M.adjustBruteLoss(3*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustFireLoss(3*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustToxLoss(3*REAGENTS_EFFECT_MULTIPLIER, 0) ..() return TRUE @@ -1450,10 +1450,10 @@ /datum/reagent/medicine/changelingadrenaline/on_mob_life(mob/living/carbon/metabolizer, delta_time, times_fired) ..() - metabolizer.AdjustAllImmobility(-20 * REM * delta_time) - metabolizer.adjustStaminaLoss(-30 * REM * delta_time, 0) - metabolizer.Jitter(10 * REM * delta_time) - metabolizer.Dizzy(10 * REM * delta_time) + metabolizer.AdjustAllImmobility(-20 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + metabolizer.adjustStaminaLoss(-30 * REAGENTS_EFFECT_MULTIPLIER * delta_time, 0) + metabolizer.Jitter(10 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + metabolizer.Dizzy(10 * REAGENTS_EFFECT_MULTIPLIER * delta_time) return TRUE /datum/reagent/medicine/changelingadrenaline/on_mob_metabolize(mob/living/L) @@ -1471,7 +1471,7 @@ L.Jitter(0) /datum/reagent/medicine/changelingadrenaline/overdose_process(mob/living/metabolizer, delta_time, times_fired) - metabolizer.adjustToxLoss(1 * REM * delta_time, 0) + metabolizer.adjustToxLoss(1 * REAGENTS_EFFECT_MULTIPLIER * delta_time, 0) ..() return TRUE @@ -1546,7 +1546,7 @@ overdose_threshold = overdose_threshold + rand(-10,10)/10 // for extra fun M.AdjustAllImmobility(-5, 0) M.AdjustUnconscious(-5, 0) - M.adjustStaminaLoss(-1*REM, 0) + M.adjustStaminaLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0) M.Jitter(1) metabolization_rate = 0.01 * REAGENTS_METABOLISM * rand(5,20) // randomizes metabolism between 0.02 and 0.08 per tick . = TRUE @@ -1566,8 +1566,8 @@ if(prob(50)) M.losebreath++ if(41 to 80) - M.adjustOxyLoss(0.1*REM, 0) - M.adjustStaminaLoss(0.1*REM, 0) + M.adjustOxyLoss(0.1*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustStaminaLoss(0.1*REAGENTS_EFFECT_MULTIPLIER, 0) M.jitteriness = min(M.jitteriness+1, 20) M.stuttering = min(M.stuttering+1, 20) M.Dizzy(10) @@ -1579,12 +1579,12 @@ M.DefaultCombatKnockdown(20, 1, 0) // you should be in a bad spot at this point unless epipen has been used if(81) to_chat(M, "You feel too exhausted to continue!") // at this point you will eventually die unless you get charcoal - M.adjustOxyLoss(0.1*REM, 0) - M.adjustStaminaLoss(0.1*REM, 0) + M.adjustOxyLoss(0.1*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustStaminaLoss(0.1*REAGENTS_EFFECT_MULTIPLIER, 0) if(82 to INFINITY) M.Sleeping(100, 0, TRUE) - M.adjustOxyLoss(1.5*REM, 0) - M.adjustStaminaLoss(1.5*REM, 0) + M.adjustOxyLoss(1.5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustStaminaLoss(1.5*REAGENTS_EFFECT_MULTIPLIER, 0) ..() return TRUE @@ -1674,7 +1674,7 @@ value = REAGENT_VALUE_UNCOMMON // while it's 'rare', it can be milked from the wisdom cow /datum/reagent/medicine/liquid_wisdom/on_mob_life(mob/living/carbon/C) //slightly stronger mannitol, from the wisdom cow - C.adjustOrganLoss(ORGAN_SLOT_BRAIN, -3*REM) + C.adjustOrganLoss(ORGAN_SLOT_BRAIN, -3*REAGENTS_EFFECT_MULTIPLIER) if(prob(20)) C.cure_trauma_type(resilience = TRAUMA_RESILIENCE_BASIC) if(prob(3)) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index bf93c933de..a378880567 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -58,7 +58,7 @@ var/blood_id = C.get_blood_id() if((blood_id in GLOB.blood_reagent_types) && !HAS_TRAIT(C, TRAIT_NOMARROW)) if(!data || !(data["blood_type"] in get_safe_blood(C.dna.blood_type))) //we only care about bloodtype here because this is where the poisoning should be - C.adjustToxLoss(rand(2,8)*REM, TRUE, TRUE) //forced to ensure people don't use it to gain beneficial toxin as slime person + C.adjustToxLoss(rand(2,8)*REAGENTS_EFFECT_MULTIPLIER, TRUE, TRUE) //forced to ensure people don't use it to gain beneficial toxin as slime person ..() /datum/reagent/blood/reaction_obj(obj/O, volume) @@ -175,10 +175,10 @@ if(prob(10)) if(M.dna?.species?.exotic_bloodtype != "GEL") to_chat(M, "Your insides are burning!") - M.adjustToxLoss(rand(20,60)*REM, 0) + M.adjustToxLoss(rand(20,60)*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 else if(prob(40) && isjellyperson(M)) - M.heal_bodypart_damage(2*REM) + M.heal_bodypart_damage(2*REAGENTS_EFFECT_MULTIPLIER) . = 1 ..() @@ -1019,7 +1019,7 @@ mytray.adjustWeeds(-rand(1,3)) /datum/reagent/chlorine/on_mob_life(mob/living/carbon/M) - M.take_bodypart_damage(1*REM, 0, 0, 0) + M.take_bodypart_damage(1*REAGENTS_EFFECT_MULTIPLIER, 0, 0, 0) . = 1 ..() @@ -1041,7 +1041,7 @@ mytray.adjustWeeds(-rand(1,4)) /datum/reagent/fluorine/on_mob_life(mob/living/carbon/M) - M.adjustToxLoss(1*REM, 0) + M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 ..() @@ -1098,7 +1098,7 @@ mytray.adjustToxic(round(chems.get_reagent_amount(src.type) * 1)) /datum/reagent/radium/on_mob_life(mob/living/carbon/M) - M.apply_effect(2*REM/M.metabolism_efficiency,EFFECT_IRRADIATE,0) + M.apply_effect(2*REAGENTS_EFFECT_MULTIPLIER/M.metabolism_efficiency,EFFECT_IRRADIATE,0) ..() /datum/reagent/radium/reaction_turf(turf/T, reac_volume) @@ -1398,7 +1398,7 @@ /datum/reagent/impedrezene/on_mob_life(mob/living/carbon/M) M.jitteriness = max(M.jitteriness-5,0) if(prob(80)) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REM) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REAGENTS_EFFECT_MULTIPLIER) if(prob(50)) M.drowsyness = max(M.drowsyness, 3) if(prob(10)) @@ -1574,7 +1574,7 @@ ..() /datum/reagent/stimulum/on_mob_life(mob/living/carbon/M) - M.adjustStaminaLoss(-2*REM, 0) + M.adjustStaminaLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0) current_cycle++ holder.remove_reagent(type, 0.99) //Gives time for the next tick of life(). . = TRUE //Update status effects. @@ -1687,7 +1687,7 @@ /datum/reagent/plantnutriment/on_mob_life(mob/living/carbon/M) if(prob(tox_prob)) - M.adjustToxLoss(1*REM, 0) + M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 ..() @@ -2533,7 +2533,7 @@ var/obj/item/bodypart/wounded_part = W.limb if(wounded_part) wounded_part.heal_damage(0.25, 0.25) - M.adjustStaminaLoss(-0.25*REM) // the more wounds, the more stamina regen + M.adjustStaminaLoss(-0.25*REAGENTS_EFFECT_MULTIPLIER) // the more wounds, the more stamina regen ..() /datum/reagent/eldritch diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index 7dd8cac452..7cefc48159 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -18,7 +18,7 @@ /datum/reagent/toxin/on_mob_life(mob/living/carbon/M) if(toxpwr) - M.adjustToxLoss(toxpwr*REM, 0) + M.adjustToxLoss(toxpwr*REAGENTS_EFFECT_MULTIPLIER, 0) . = TRUE ..() @@ -79,7 +79,7 @@ /datum/reagent/toxin/plasma/on_mob_life(mob/living/carbon/C) if(holder.has_reagent(/datum/reagent/medicine/epinephrine)) - holder.remove_reagent(/datum/reagent/medicine/epinephrine, 2*REM) + holder.remove_reagent(/datum/reagent/medicine/epinephrine, 2*REAGENTS_EFFECT_MULTIPLIER) C.adjustPlasma(20) return ..() @@ -136,10 +136,10 @@ /datum/reagent/toxin/slimejelly/on_mob_life(mob/living/carbon/M) if(prob(10)) to_chat(M, "Your insides are burning!") - M.adjustToxLoss(rand(20,60)*REM, 0) + M.adjustToxLoss(rand(20,60)*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 else if(prob(40)) - M.heal_bodypart_damage(5*REM) + M.heal_bodypart_damage(5*REAGENTS_EFFECT_MULTIPLIER) . = 1 ..() @@ -191,7 +191,7 @@ ..() /datum/reagent/toxin/zombiepowder/reaction_mob(mob/living/L, method=TOUCH, reac_volume) - L.adjustOxyLoss(0.5*REM, 0) + L.adjustOxyLoss(0.5*REAGENTS_EFFECT_MULTIPLIER, 0) if(method == INGEST) fakedeath_active = TRUE L.fakedeath(type) @@ -230,7 +230,7 @@ ..() /datum/reagent/toxin/ghoulpowder/on_mob_life(mob/living/carbon/M) - M.adjustOxyLoss(1*REM, 0) + M.adjustOxyLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 @@ -365,7 +365,7 @@ . = 1 if(51 to INFINITY) M.Sleeping(40, 0) - M.adjustToxLoss((current_cycle - 50)*REM, 0) + M.adjustToxLoss((current_cycle - 50)*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 ..() @@ -387,7 +387,7 @@ M.Sleeping(40, 0) if(51 to INFINITY) M.Sleeping(40, 0) - M.adjustToxLoss((current_cycle - 50)*REM, 0) + M.adjustToxLoss((current_cycle - 50)*REAGENTS_EFFECT_MULTIPLIER, 0) return ..() /datum/reagent/toxin/coffeepowder @@ -437,7 +437,7 @@ value = REAGENT_VALUE_UNCOMMON /datum/reagent/toxin/staminatoxin/on_mob_life(mob/living/carbon/M) - M.adjustStaminaLoss(REM * data, 0) + M.adjustStaminaLoss(REAGENTS_EFFECT_MULTIPLIER * data, 0) data = max(data - 1, 5) ..() . = 1 @@ -478,14 +478,14 @@ if(4) if(prob(75)) to_chat(M, "You scratch at an itch.") - M.adjustBruteLoss(2*REM, 0) + M.adjustBruteLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 ..() /datum/reagent/toxin/histamine/overdose_process(mob/living/M) - M.adjustOxyLoss(2*REM, 0) - M.adjustBruteLoss(2*REM, 0) - M.adjustToxLoss(2*REM, 0) + M.adjustOxyLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustBruteLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 @@ -515,7 +515,7 @@ /datum/reagent/toxin/venom/on_mob_life(mob/living/carbon/M) toxpwr = 0.2*volume - M.adjustBruteLoss((0.3*volume)*REM, 0) + M.adjustBruteLoss((0.3*volume)*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 if(prob(15)) M.reagents.add_reagent(/datum/reagent/toxin/histamine, pick(5,10)) @@ -532,9 +532,9 @@ toxpwr = 0 /datum/reagent/toxin/fentanyl/on_mob_life(mob/living/carbon/M) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3*REM, 150) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3*REAGENTS_EFFECT_MULTIPLIER, 150) if(M.toxloss <= 60) - M.adjustToxLoss(1*REM, 0) + M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0) if(current_cycle >= 18) M.Sleeping(40, 0) ..() @@ -555,7 +555,7 @@ if(prob(8)) to_chat(M, "You feel horrendously weak!") M.Stun(40, 0) - M.adjustToxLoss(2*REM, 0) + M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0) return ..() /datum/reagent/toxin/bad_food @@ -583,15 +583,15 @@ /datum/reagent/toxin/itching_powder/on_mob_life(mob/living/carbon/M) if(prob(15)) to_chat(M, "You scratch at your head.") - M.adjustBruteLoss(0.2*REM, 0) + M.adjustBruteLoss(0.2*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 if(prob(15)) to_chat(M, "You scratch at your leg.") - M.adjustBruteLoss(0.2*REM, 0) + M.adjustBruteLoss(0.2*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 if(prob(15)) to_chat(M, "You scratch at your arm.") - M.adjustBruteLoss(0.2*REM, 0) + M.adjustBruteLoss(0.2*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 if(prob(3)) M.reagents.add_reagent(/datum/reagent/toxin/histamine,rand(1,3)) @@ -660,7 +660,7 @@ /datum/reagent/toxin/sodium_thiopental/on_mob_life(mob/living/carbon/M) if(current_cycle >= 10) M.Sleeping(40, 0) - M.adjustStaminaLoss(10*REM, 0) + M.adjustStaminaLoss(10*REAGENTS_EFFECT_MULTIPLIER, 0) ..() return TRUE @@ -687,7 +687,7 @@ value = REAGENT_VALUE_RARE /datum/reagent/toxin/amanitin/on_mob_end_metabolize(mob/living/M) - var/toxdamage = current_cycle*3*REM + var/toxdamage = current_cycle*3*REAGENTS_EFFECT_MULTIPLIER M.log_message("has taken [toxdamage] toxin damage from amanitin toxin", LOG_ATTACK) M.adjustToxLoss(toxdamage) ..() @@ -703,7 +703,7 @@ /datum/reagent/toxin/lipolicide/on_mob_life(mob/living/carbon/M) if(M.nutrition <= NUTRITION_LEVEL_STARVING) - M.adjustToxLoss(1*REM, 0) + M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0) M.adjust_nutrition(-3) // making the chef more valuable, one meme trap at a time M.overeatduration = 0 return ..() @@ -759,7 +759,7 @@ /datum/reagent/toxin/curare/on_mob_life(mob/living/carbon/M) if(current_cycle >= 11) M.DefaultCombatKnockdown(60, 0) - M.adjustOxyLoss(1*REM, 0) + M.adjustOxyLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 ..() @@ -942,7 +942,7 @@ /datum/reagent/toxin/delayed/on_mob_life(mob/living/carbon/M) if(current_cycle > delay) holder.remove_reagent(type, actual_metaboliztion_rate * M.metabolism_efficiency) - M.adjustToxLoss(actual_toxpwr*REM, 0) + M.adjustToxLoss(actual_toxpwr*REAGENTS_EFFECT_MULTIPLIER, 0) if(prob(10)) M.DefaultCombatKnockdown(20, 0) . = 1 diff --git a/code/modules/reagents/reagent_containers/chem_pack.dm b/code/modules/reagents/reagent_containers/chem_pack.dm index 77d6067d3b..139a5f626f 100644 --- a/code/modules/reagents/reagent_containers/chem_pack.dm +++ b/code/modules/reagents/reagent_containers/chem_pack.dm @@ -30,8 +30,8 @@ SplashReagents(user) return else - DISABLE_BITFIELD(reagents.reagents_holder_flags, OPENCONTAINER) - ENABLE_BITFIELD(reagents.reagents_holder_flags, DRAWABLE |INJECTABLE ) + reagents.reagents_holder_flags &= ~(OPENCONTAINER) + reagents.reagents_holder_flags |= (DRAWABLE|INJECTABLE) spillable = FALSE sealed = TRUE to_chat(user, "You seal the bag.") diff --git a/code/modules/reagents/reagent_containers/rags.dm b/code/modules/reagents/reagent_containers/rags.dm index 8a6e2bf2e7..c26ed4db31 100644 --- a/code/modules/reagents/reagent_containers/rags.dm +++ b/code/modules/reagents/reagent_containers/rags.dm @@ -141,11 +141,11 @@ /obj/item/reagent_containers/rag/towel/attack(mob/living/M, mob/living/user) if(user.a_intent == INTENT_HARM) - DISABLE_BITFIELD(item_flags, NOBLUDGEON) + item_flags &= ~(NOBLUDGEON) . = TRUE ..() if(.) - ENABLE_BITFIELD(item_flags, NOBLUDGEON) + item_flags |= NOBLUDGEON /obj/item/reagent_containers/rag/towel/equipped(mob/living/user, slot) . = ..() diff --git a/code/modules/surgery/organs/lungs.dm b/code/modules/surgery/organs/lungs.dm index 897c7610a1..553cc2d043 100644 --- a/code/modules/surgery/organs/lungs.dm +++ b/code/modules/surgery/organs/lungs.dm @@ -90,6 +90,11 @@ max = safe_breath_dam_max, damage_type = safe_damage_type ) + if(ispath(breathing_class)) + var/datum/breathing_class/class = GLOB.gas_data.breathing_classes[breathing_class] + for(var/g in class.gases) + if(class.gases[g] > 0) + gas_min -= g //TODO: lung health affects lung function /obj/item/organ/lungs/onDamage(damage_mod) //damage might be too low atm. @@ -196,9 +201,9 @@ mole_adjustments[entry] = -required_moles mole_adjustments[breath_results[entry]] = required_moles if(required_pp < safe_min) - var/multiplier = 0 + var/multiplier = handle_too_little_breath(H, required_pp, safe_min, required_moles) if(required_moles > 0) - multiplier = handle_too_little_breath(H, required_pp, safe_min, required_moles) / required_moles + multiplier /= required_moles for(var/adjustment in mole_adjustments) mole_adjustments[adjustment] *= multiplier if(alert_category) @@ -222,8 +227,7 @@ alert_category = breathing_class.high_alert_category alert_type = breathing_class.high_alert_datum danger_reagent = breathing_class.danger_reagent - for(var/gas in gases) - found_pp += PP(breath, gas) + found_pp = breathing_class.get_effective_pp(breath) else danger_reagent = danger_reagents[entry] if(entry in breath_alert_info) @@ -517,17 +521,20 @@ var/total_moles = breath.total_moles() for(var/id in breath.get_gases()) var/this_pressure = PP(breath, id) - var/req_pressure = (this_pressure * SAFE_THRESHOLD_RATIO) - 1 - if(req_pressure > 0) - gas_min[id] = req_pressure + if(id in gas_min) + var/req_pressure = (this_pressure * SAFE_THRESHOLD_RATIO) - 1 + if(req_pressure > 0) + gas_min[id] = req_pressure + else + gas_min -= id // if there's not even enough of the gas to register, we shouldn't need it if(id in gas_max) gas_max[id] += this_pressure - var/bz = breath.get_moles(GAS_BZ) + var/bz = breath.get_moles(GAS_BZ) // snowflaked cause it's got special behavior, of course if(bz) BZ_trip_balls_min += bz BZ_brain_damage_min += bz - gas_max[GAS_N2] = PP(breath, GAS_N2) + 5 + gas_max[GAS_N2] = max(15, PP(breath, GAS_N2) + 3) // don't want ash lizards breathing on station; sometimes they might be able to, though var/datum/breathing_class/class = GLOB.gas_data.breathing_classes[breathing_class] var/o2_pp = class.get_effective_pp(breath) safe_breath_min = min(3, 0.3 * o2_pp) diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index 1800fe221b..de8e3d623d 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -106,7 +106,7 @@ applyOrganDamage(maxHealth * decay_factor * (seconds * 0.5)) /obj/item/organ/proc/can_decay() - if(CHECK_BITFIELD(organ_flags, ORGAN_NO_SPOIL | ORGAN_SYNTHETIC | ORGAN_FAILING)) + if(organ_flags & (ORGAN_NO_SPOIL | ORGAN_SYNTHETIC | ORGAN_FAILING)) return FALSE return TRUE diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm index 859c5c6d40..0ffae2bb7d 100644 --- a/code/modules/surgery/surgery.dm +++ b/code/modules/surgery/surgery.dm @@ -71,7 +71,7 @@ var/turf/T = get_turf(patient) var/obj/structure/table/optable/table = locate(/obj/structure/table/optable, T) - if(table?.computer && !CHECK_BITFIELD(table.computer.stat, NOPOWER|BROKEN)) + if(table?.computer && !(table.computer.stat & (NOPOWER|BROKEN))) advanced_surgeries |= table.computer.advanced_surgeries if(istype(tool, /obj/item/surgical_drapes/advanced)) diff --git a/code/modules/vore/eating/belly_obj.dm b/code/modules/vore/eating/belly_obj.dm index 8e74dd3c92..474c912c23 100644 --- a/code/modules/vore/eating/belly_obj.dm +++ b/code/modules/vore/eating/belly_obj.dm @@ -278,14 +278,14 @@ SEND_SIGNAL(OW, COMSIG_ADD_MOOD_EVENT, "emptypred", /datum/mood_event/emptypred) SEND_SIGNAL(ML, COMSIG_ADD_MOOD_EVENT, "emptyprey", /datum/mood_event/emptyprey) - if(CHECK_BITFIELD(ML.vore_flags,ABSORBED)) - DISABLE_BITFIELD(ML.vore_flags,ABSORBED) + if((ML.vore_flags & ABSORBED)) + ML.vore_flags &= ~(ABSORBED) if(ishuman(M) && ishuman(OW)) var/mob/living/carbon/human/Prey = M var/mob/living/carbon/human/Pred = OW var/absorbed_count = 2 //Prey that we were, plus the pred gets a portion for(var/mob/living/P in contents) - if(CHECK_BITFIELD(P.vore_flags,ABSORBED)) + if((P.vore_flags & ABSORBED)) absorbed_count++ Pred.reagents.trans_to(Prey, Pred.reagents.total_volume / absorbed_count) @@ -390,7 +390,7 @@ formatted_message = replacetext(formatted_message,"%pred",owner) formatted_message = replacetext(formatted_message,"%prey",english_list(contents)) for(var/mob/living/P in contents) - if(!CHECK_BITFIELD(P.vore_flags, ABSORBED)) //This is required first, in case there's a person absorbed and not absorbed in a stomach. + if(!(P.vore_flags & ABSORBED)) //This is required first, in case there's a person absorbed and not absorbed in a stomach. total_bulge += P.mob_size if(total_bulge >= bulge_size && bulge_size != 0) return("[formatted_message]
") @@ -485,7 +485,7 @@ // Handle a mob being absorbed /obj/belly/proc/absorb_living(var/mob/living/M) - ENABLE_BITFIELD(M.vore_flags, ABSORBED) + M.vore_flags |= ABSORBED to_chat(M,"[owner]'s [lowertext(name)] absorbs your body, making you part of them.") to_chat(owner,"Your [lowertext(name)] absorbs [M]'s body, making them part of you.") @@ -499,7 +499,7 @@ for(var/belly in M.vore_organs) var/obj/belly/B = belly for(var/mob/living/Mm in B) - if(CHECK_BITFIELD(Mm.vore_flags, ABSORBED)) + if((Mm.vore_flags & ABSORBED)) absorb_living(Mm) //Update owner diff --git a/code/modules/vore/eating/bellymodes.dm b/code/modules/vore/eating/bellymodes.dm index 8d64ee28f1..7828de8cde 100644 --- a/code/modules/vore/eating/bellymodes.dm +++ b/code/modules/vore/eating/bellymodes.dm @@ -76,7 +76,7 @@ play_sound = pick(pred_digest) //Pref protection! - if (!CHECK_BITFIELD(M.vore_flags, DIGESTABLE) || M.vore_flags & ABSORBED) + if (!(M.vore_flags & DIGESTABLE) || M.vore_flags & ABSORBED) continue //Person just died in guts! @@ -165,7 +165,7 @@ for (var/mob/living/M in contents) if(M.vore_flags & ABSORBED && owner.nutrition >= 100) - DISABLE_BITFIELD(M.vore_flags, ABSORBED) + M.vore_flags &= ~(ABSORBED) to_chat(M,"You suddenly feel solid again ") to_chat(owner,"You feel like a part of you is missing.") owner.adjust_nutrition(-100) diff --git a/code/modules/vore/eating/living.dm b/code/modules/vore/eating/living.dm index 6bc44e6489..1f4950eaa7 100644 --- a/code/modules/vore/eating/living.dm +++ b/code/modules/vore/eating/living.dm @@ -33,7 +33,7 @@ return TRUE /mob/living/proc/init_vore() - ENABLE_BITFIELD(vore_flags, VORE_INIT) + vore_flags |= VORE_INIT //Something else made organs, meanwhile. if(LAZYLEN(vore_organs)) return TRUE @@ -75,7 +75,7 @@ lazy_init_belly() if(pred == prey) //you click your target - if(!CHECK_BITFIELD(pred.vore_flags,FEEDING)) + if(!(pred.vore_flags & FEEDING)) to_chat(user, "They aren't able to be fed.") to_chat(pred, "[user] tried to feed you themselves, but you aren't voracious enough to be fed.") return @@ -85,11 +85,11 @@ feed_grabbed_to_self(user, prey) else // click someone other than you/prey - if(!CHECK_BITFIELD(pred.vore_flags,FEEDING)) + if(!(pred.vore_flags & FEEDING)) to_chat(user, "They aren't voracious enough to be fed.") to_chat(pred, "[user] tried to feed you [prey], but you aren't voracious enough to be fed.") return - if(!CHECK_BITFIELD(prey.vore_flags,FEEDING)) + if(!(prey.vore_flags & FEEDING)) to_chat(user, "They aren't able to be fed to someone.") to_chat(prey, "[user] tried to feed you to [pred], but you aren't able to be fed to them.") return @@ -122,7 +122,7 @@ testing("[user] attempted to feed [prey] to [pred], via [lowertext(belly.name)] but it went wrong.") return - if (!CHECK_BITFIELD(prey.vore_flags, DEVOURABLE)) + if (!(prey.vore_flags & DEVOURABLE)) to_chat(user, "This can't be eaten!") return FALSE @@ -283,7 +283,7 @@ if(!client || !client.prefs) to_chat(src,"You attempted to apply your vore prefs but somehow you're in this character without a client.prefs variable. Tell a dev.") return FALSE - ENABLE_BITFIELD(vore_flags,VOREPREF_INIT) + vore_flags |= VOREPREF_INIT COPY_SPECIFIC_BITFIELDS(vore_flags, client.prefs.vore_flags, DIGESTABLE | DEVOURABLE | FEEDING | LICKABLE | SMELLABLE | ABSORBABLE | MOBVORE) vore_taste = client.prefs.vore_taste vore_smell = client.prefs.vore_smell diff --git a/code/modules/vore/eating/vorepanel.dm b/code/modules/vore/eating/vorepanel.dm index 8e8cfc4935..a44760ae69 100644 --- a/code/modules/vore/eating/vorepanel.dm +++ b/code/modules/vore/eating/vorepanel.dm @@ -181,15 +181,15 @@ data["selected"] = selected_list data["prefs"] = list( - "digestable" = CHECK_BITFIELD(host.vore_flags, DIGESTABLE), - "devourable" = CHECK_BITFIELD(host.vore_flags, DEVOURABLE), - "feeding" = CHECK_BITFIELD(host.vore_flags, FEEDING), - "absorbable" = CHECK_BITFIELD(host.vore_flags, ABSORBABLE), - "allowmobvore" = CHECK_BITFIELD(host.vore_flags, MOBVORE), - "vore_sounds" = CHECK_BITFIELD(host.client.prefs.cit_toggles, EATING_NOISES), - "digestion_sounds" = CHECK_BITFIELD(host.client.prefs.cit_toggles, DIGESTION_NOISES), - "lickable" = CHECK_BITFIELD(host.vore_flags, LICKABLE), - "smellable" = CHECK_BITFIELD(host.vore_flags, SMELLABLE), + "digestable" = (host.vore_flags & DIGESTABLE), + "devourable" = (host.vore_flags & DEVOURABLE), + "feeding" = (host.vore_flags & FEEDING), + "absorbable" = (host.vore_flags & ABSORBABLE), + "allowmobvore" = (host.vore_flags & MOBVORE), + "vore_sounds" = (host.client.prefs.cit_toggles & EATING_NOISES), + "digestion_sounds" = (host.client.prefs.cit_toggles & DIGESTION_NOISES), + "lickable" = (host.vore_flags & LICKABLE), + "smellable" = (host.vore_flags & SMELLABLE), ) return data @@ -307,49 +307,49 @@ unsaved_changes = TRUE return TRUE if("toggle_digest") - TOGGLE_BITFIELD(host.vore_flags, DIGESTABLE) + (host.vore_flags ^= DIGESTABLE) if(host.client.prefs) COPY_SPECIFIC_BITFIELDS(host.client.prefs.vore_flags, host.vore_flags, DIGESTABLE) unsaved_changes = TRUE return TRUE if("toggle_devour") - TOGGLE_BITFIELD(host.vore_flags, DEVOURABLE) + (host.vore_flags ^= DEVOURABLE) if(host.client.prefs) COPY_SPECIFIC_BITFIELDS(host.client.prefs.vore_flags, host.vore_flags, DEVOURABLE) unsaved_changes = TRUE return TRUE if("toggle_feed") - TOGGLE_BITFIELD(host.vore_flags, FEEDING) + (host.vore_flags ^= FEEDING) if(host.client.prefs) COPY_SPECIFIC_BITFIELDS(host.client.prefs.vore_flags, host.vore_flags, FEEDING) unsaved_changes = TRUE return TRUE if("toggle_absorbable") - TOGGLE_BITFIELD(host.vore_flags, ABSORBABLE) + (host.vore_flags ^= ABSORBABLE) if(host.client.prefs) COPY_SPECIFIC_BITFIELDS(host.client.prefs.vore_flags, host.vore_flags, ABSORBABLE) unsaved_changes = TRUE return TRUE if("toggle_mobvore") - TOGGLE_BITFIELD(host.vore_flags, MOBVORE) + (host.vore_flags ^= MOBVORE) if(host.client.prefs) COPY_SPECIFIC_BITFIELDS(host.client.prefs.vore_flags, host.vore_flags, MOBVORE) unsaved_changes = TRUE return TRUE if("toggle_vore_sounds") - TOGGLE_BITFIELD(host.client.prefs.cit_toggles, EATING_NOISES) + (host.client.prefs.cit_toggles ^= EATING_NOISES) unsaved_changes = TRUE return TRUE if("toggle_digestion_sounds") - TOGGLE_BITFIELD(host.client.prefs.cit_toggles, DIGESTION_NOISES) + (host.client.prefs.cit_toggles ^= DIGESTION_NOISES) unsaved_changes = TRUE return TRUE if("toggle_lickable") - TOGGLE_BITFIELD(host.vore_flags, LICKABLE) + (host.vore_flags ^= LICKABLE) unsaved_changes = TRUE return TRUE if("toggle_smellable") - TOGGLE_BITFIELD(host.vore_flags, SMELLABLE) + (host.vore_flags ^= SMELLABLE) unsaved_changes = TRUE return TRUE diff --git a/html/changelog.html b/html/changelog.html index 23ae6f190a..c93c0eae84 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -50,6 +50,69 @@ -->
+

11 November 2021

+

DrPainis updated:

+ +

Putnam3145 updated:

+ + +

10 November 2021

+

Ethan4303 updated:

+ +

Putnam3145 updated:

+ +

SandPoot updated:

+ + +

08 November 2021

+

timothyteakettle updated:

+ + +

06 November 2021

+

Putnam3145 updated:

+ + +

05 November 2021

+

keronshb updated:

+ + +

31 October 2021

+

DeltaFire15 updated:

+ +

DrPainis updated:

+ +

keronshb updated:

+ +

30 October 2021

keronshb updated:

- -

10 September 2021

-

BlueWildrose updated:

- -

keronshb updated:

- -

zeroisthebiggay updated:

- - -

08 September 2021

-

keronshb updated:

- - -

07 September 2021

-

bunny232 updated:

- -

keronshb updated:

- -

zeroisthebiggay updated:

- - -

05 September 2021

-

DeltaFire15 updated:

- - -

04 September 2021

-

Putnam3145 updated:

- -

WanderingFox95 updated:

- -

keronshb updated:

- -

timothyteakettle updated:

- - -

03 September 2021

-

timothyteakettle updated:

- - -

01 September 2021

-

BlueWildrose updated:

- -

ma44 updated:

- -

zeroisthebiggay updated:

-
GoonStation 13 Development Team diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index ac2754a8fd..f1f87bef20 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -30189,3 +30189,42 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - balance: Jacq can't burn in the cremator anymore - balance: Jacq also can't be cheesed off station - balance: Barth also cannot be destroyed +2021-10-31: + DeltaFire15: + - bugfix: You can now drag things over prone people again. + DrPainis: + - bugfix: Walking no longer makes you fat. + keronshb: + - balance: Christmas trees are now indestructible +2021-11-05: + keronshb: + - balance: removes required enemies + - balance: Lowers assassination threat threshold +2021-11-06: + Putnam3145: + - bugfix: Ashwalkers should no longer suffocate on lavaland (and hypothetical other + future problems) + - bugfix: A gas mix with 0 oxygen should now properly suffocate you (or 0 plasma, + for ashwalkers) +2021-11-08: + timothyteakettle: + - bugfix: fixes party pod sprite + - bugfix: fixes red panda head marking +2021-11-10: + Ethan4303: + - rscadd: Added two wire nodes under the engineering PA room Apc and under the HOS + office APC + - rscadd: Added cables to connect the second floor relay to the power grid + - rscdel: Removed the generic broken computer from Hos Office + - bugfix: Fixed Hos office not having the Security records console + Putnam3145: + - bugfix: Power alerts now work + - bugfix: No longer have too much O2 from too much CO2 + SandPoot: + - rscadd: Crayon precision mode. +2021-11-11: + DrPainis: + - bugfix: The universe has realized that not every species uses hemoglobin again. + Putnam3145: + - refactor: '"REM" removed, replaced with "REAGENTS_EFFECT_MULTIPLIER", which "REM" + is short for' diff --git a/html/changelogs/AutoChangeLog-pr-15313.yml b/html/changelogs/AutoChangeLog-pr-15313.yml deleted file mode 100644 index 3aac568a7b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15313.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "DeltaFire15" -delete-after: True -changes: - - bugfix: "You can now drag things over prone people again." diff --git a/icons/effects/blood.dmi b/icons/effects/blood.dmi index bee16d4d90..c5a3756907 100644 Binary files a/icons/effects/blood.dmi and b/icons/effects/blood.dmi differ diff --git a/icons/obj/machines/sleeper.dmi b/icons/obj/machines/sleeper.dmi index ff9e2b197a..134448fc4e 100644 Binary files a/icons/obj/machines/sleeper.dmi and b/icons/obj/machines/sleeper.dmi differ diff --git a/tgui/packages/tgui/interfaces/Crayon.js b/tgui/packages/tgui/interfaces/Crayon.js index 365b5c6183..a5e27f5b62 100644 --- a/tgui/packages/tgui/interfaces/Crayon.js +++ b/tgui/packages/tgui/interfaces/Crayon.js @@ -1,11 +1,18 @@ import { useBackend } from '../backend'; -import { Button, LabeledList, Section } from '../components'; +import { Button, LabeledList, Section, Slider } from '../components'; import { Window } from '../layouts'; export const Crayon = (props, context) => { const { act, data } = useBackend(context); const capOrChanges = data.has_cap || data.can_change_colour; const drawables = data.drawables || []; + const { + precision_mode, + x, + y, + min_offset, + max_offset, + } = data; return ( { onClick={() => act('select_colour')} /> )} +
+ + +
{drawables.map(drawable => {