diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index 5e663fe411..71afc0f323 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD GLOBAL_LIST_INIT(bitfields, list( "appearance_flags" = list( "LONG_GLIDE" = LONG_GLIDE, @@ -131,4 +132,141 @@ GLOBAL_LIST_INIT(bitfields, list( "NO_MAT_REDEMPTION_2" = NO_MAT_REDEMPTION_2, "LAVA_PROTECT_2" = LAVA_PROTECT_2 ) - )) \ No newline at end of file + )) +======= +GLOBAL_LIST_INIT(bitfields, list( + "appearance_flags" = list( + "LONG_GLIDE" = LONG_GLIDE, + "RESET_COLOR" = RESET_COLOR, + "RESET_ALPHA" = RESET_ALPHA, + "RESET_TRANSFORM" = RESET_TRANSFORM, + "NO_CLIENT_COLOR" = NO_CLIENT_COLOR, + "KEEP_TOGETHER" = KEEP_TOGETHER, + "KEEP_APART" = KEEP_APART, + "PLANE_MASTER" = PLANE_MASTER, + "TILE_BOUND" = TILE_BOUND, + "PIXEL_SCALE" = PIXEL_SCALE + ), + "sight" = list( + "SEE_INFRA" = SEE_INFRA, + "SEE_SELF" = SEE_SELF, + "SEE_MOBS" = SEE_MOBS, + "SEE_OBJS" = SEE_OBJS, + "SEE_TURFS" = SEE_TURFS, + "SEE_PIXELS" = SEE_PIXELS, + "SEE_THRU" = SEE_THRU, + "SEE_BLACKNESS" = SEE_BLACKNESS, + "BLIND" = BLIND + ), + "obj_flags" = list( + "EMAGGED" = EMAGGED, + "IN_USE" = IN_USE, + "CAN_BE_HIT" = CAN_BE_HIT, + "BEING_SHOCKED" = BEING_SHOCKED, + "DANGEROUS_POSSESSION" = DANGEROUS_POSSESSION, + "ON_BLUEPRINTS" = ON_BLUEPRINTS, + "UNIQUE_RENAME" = UNIQUE_RENAME, + "USES_TGUI" = USES_TGUI + ), + "datum_flags" = list( + "DF_USE_TAG" = DF_USE_TAG, + "DF_VAR_EDITED" = DF_VAR_EDITED + ), + "item_flags" = list( + "BEING_REMOVED" = BEING_REMOVED, + "IN_INVENTORY" = IN_INVENTORY, + "FORCE_STRING_OVERRIDE" = FORCE_STRING_OVERRIDE, + "NEEDS_PERMIT" = NEEDS_PERMIT + ), + "admin_flags" = list( + "BUILDMODE" = R_BUILDMODE, + "ADMIN" = R_ADMIN, + "BAN" = R_BAN, + "FUN" = R_FUN, + "SERVER" = R_SERVER, + "DEBUG" = R_DEBUG, + "POSSESS" = R_POSSESS, + "PERMISSIONS" = R_PERMISSIONS, + "STEALTH" = R_STEALTH, + "POLL" = R_POLL, + "VAREDIT" = R_VAREDIT, + "SOUNDS" = R_SOUNDS, + "SPAWN" = R_SPAWN, + "AUTOLOGIN" = R_AUTOLOGIN, + "DBRANKS" = R_DBRANKS + ), + "interaction_flags_atom" = list( + "INTERACT_ATOM_REQUIRES_ANCHORED" = INTERACT_ATOM_REQUIRES_ANCHORED, + "INTERACT_ATOM_ATTACK_HAND" = INTERACT_ATOM_ATTACK_HAND, + "INTERACT_ATOM_UI_INTERACT" = INTERACT_ATOM_UI_INTERACT, + "INTERACT_ATOM_REQUIRES_DEXTERITY" = INTERACT_ATOM_REQUIRES_DEXTERITY, + "INTERACT_ATOM_IGNORE_INCAPACITATED" = INTERACT_ATOM_IGNORE_INCAPACITATED, + "INTERACT_ATOM_IGNORE_RESTRAINED" = INTERACT_ATOM_IGNORE_RESTRAINED, + "INTERACT_ATOM_CHECK_GRAB" = INTERACT_ATOM_CHECK_GRAB, + "INTERACT_ATOM_NO_FINGERPRINT_ATTACK_HAND" = INTERACT_ATOM_NO_FINGERPRINT_ATTACK_HAND, + "INTERACT_ATOM_NO_FINGERPRINT_INTERACT" = INTERACT_ATOM_NO_FINGERPRINT_INTERACT + ), + "interaction_flags_machine" = list( + "INTERACT_MACHINE_OPEN" = INTERACT_MACHINE_OPEN, + "INTERACT_MACHINE_OFFLINE" = INTERACT_MACHINE_OFFLINE, + "INTERACT_MACHINE_WIRES_IF_OPEN" = INTERACT_MACHINE_WIRES_IF_OPEN, + "INTERACT_MACHINE_ALLOW_SILICON" = INTERACT_MACHINE_ALLOW_SILICON, + "INTERACT_MACHINE_OPEN_SILICON" = INTERACT_MACHINE_OPEN_SILICON, + "INTERACT_MACHINE_REQUIRES_SILICON" = INTERACT_MACHINE_REQUIRES_SILICON, + "INTERACT_MACHINE_SET_MACHINE" = INTERACT_MACHINE_SET_MACHINE + ), + "pass_flags" = list( + "PASSTABLE" = PASSTABLE, + "PASSGLASS" = PASSGLASS, + "PASSGRILLE" = PASSGRILLE, + "PASSBLOB" = PASSBLOB, + "PASSMOB" = PASSMOB, + "PASSCLOSEDTURF" = PASSCLOSEDTURF, + "LETPASSTHROW" = LETPASSTHROW + ), + "movement_type" = list( + "GROUND" = GROUND, + "FLYING" = FLYING + ), + "resistance_flags" = list( + "LAVA_PROOF" = LAVA_PROOF, + "FIRE_PROOF" = FIRE_PROOF, + "FLAMMABLE" = FLAMMABLE, + "ON_FIRE" = ON_FIRE, + "UNACIDABLE" = UNACIDABLE, + "ACID_PROOF" = ACID_PROOF, + "INDESTRUCTIBLE" = INDESTRUCTIBLE, + "FREEZE_PROOF" = FREEZE_PROOF + ), + "reagents_holder_flags" = list( + "REAGENT_NOREACT" = REAGENT_NOREACT + ), + "flags_1" = list( + "STOPSPRESSUREDMAGE_1 / NOJAUNT_1 (turfs)" = STOPSPRESSUREDMAGE_1, + "NODROP_1 / UNUSED_TRANSIT_TURF_1 (turfs)" = NODROP_1, + "NOBLUDGEON_1 / CAN_BE_DIRTY_1 (turfs)" = NOBLUDGEON_1, + "MASKINTERNALS_1" = MASKINTERNALS_1, + "HEAR_1 / NO_DEATHRATTLE_1 (turfs)" = HEAR_1, + "CHECK_RICOCHET_1 / NO_RUINS_1 (turfs)" = CHECK_RICOCHET_1, + "CONDUCT_1 / NO_LAVA_GEN_1" = CONDUCT_1, + "ABSTRACT_1" = ABSTRACT_1, + "NODECONSTRUCT_1" = NODECONSTRUCT_1, + "OVERLAY_QUEUED_1" = OVERLAY_QUEUED_1, + "NOSLIP_1" = NOSLIP_1 + ), + "flags_2" = list( + "SLOWS_WHILE_IN_HAND_2" = SLOWS_WHILE_IN_HAND_2, + "NO_EMP_WIRES_2" = NO_EMP_WIRES_2, + "HOLOGRAM_2" = HOLOGRAM_2, + "FRONZE_2" = FROZEN_2, + "STATIONLOVING_2" = STATIONLOVING_2, + "INFORM_ADMINS_ON_RELOCATE_2" = INFORM_ADMINS_ON_RELOCATE_2, + "BANG_PROTECT_2" = BANG_PROTECT_2, + "HEALS_EARS_2" = HEALS_EARS_2, + "OMNITONGUE_2" = OMNITONGUE_2, + "TESLA_IGNORE_2" = TESLA_IGNORE_2, + "NO_MAT_REDEMPTION_2" = NO_MAT_REDEMPTION_2, + "LAVA_PROTECT_2" = LAVA_PROTECT_2 + ) + )) +>>>>>>> c66bdaf... Fixes interaction memes (#37122) diff --git a/code/game/machinery/computer/law.dm b/code/game/machinery/computer/law.dm index e761c400db..25b82ac143 100644 --- a/code/game/machinery/computer/law.dm +++ b/code/game/machinery/computer/law.dm @@ -35,11 +35,7 @@ desc = "Used to upload laws to the AI." circuit = /obj/item/circuitboard/computer/aiupload -/obj/machinery/computer/upload/ai/attack_hand(mob/user) - . = ..() - if(.) - return - +/obj/machinery/computer/upload/ai/interact(mob/user) src.current = select_active_ai(user) if (!src.current) @@ -60,11 +56,7 @@ desc = "Used to upload laws to Cyborgs." circuit = /obj/item/circuitboard/computer/borgupload -/obj/machinery/computer/upload/borg/attack_hand(mob/user) - . = ..() - if(.) - return - +/obj/machinery/computer/upload/borg/interact(mob/user) src.current = select_active_free_borg(user) if(!src.current) diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index b219975350..702583d01a 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -14,6 +14,7 @@ flags_1 = ON_BORDER_1 opacity = 0 CanAtmosPass = ATMOS_PASS_PROC + interaction_flags_machine = INTERACT_MACHINE_WIRES_IF_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN_SILICON | INTERACT_MACHINE_REQUIRES_SILICON | INTERACT_MACHINE_OPEN var/obj/item/electronics/airlock/electronics = null var/reinf = 0 var/shards = 2 @@ -277,6 +278,9 @@ return return ..() +/obj/machinery/door/window/interact(mob/user) //for sillycones + try_to_activate_door(user) + /obj/machinery/door/window/try_to_crowbar(obj/item/I, mob/user) if(!hasPower()) if(density) diff --git a/code/game/machinery/embedded_controller/access_controller.dm b/code/game/machinery/embedded_controller/access_controller.dm index c891dfb4e7..63b7f2caeb 100644 --- a/code/game/machinery/embedded_controller/access_controller.dm +++ b/code/game/machinery/embedded_controller/access_controller.dm @@ -58,10 +58,7 @@ door = I break -/obj/machinery/doorButtons/access_button/attack_hand(mob/user) - . = ..() - if(.) - return +/obj/machinery/doorButtons/access_button/interact(mob/user) if(busy) return if(!allowed(user)) @@ -260,10 +257,7 @@ else icon_state = "access_control_standby" -/obj/machinery/doorButtons/airlock_controller/attack_hand(mob/user) - . = ..() - if(.) - return +/obj/machinery/doorButtons/airlock_controller/ui_interact(mob/user) var/datum/browser/popup = new(user, "computer", name) popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) popup.set_content(returnText()) diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 456acb6c99..8a90bfe2ad 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -234,10 +234,7 @@ anchored = TRUE mouse_opacity = MOUSE_OPACITY_TRANSPARENT -/obj/machinery/shower/attack_hand(mob/M) - . = ..() - if(.) - return +/obj/machinery/shower/interact(mob/M) on = !on update_icon() add_fingerprint(M) diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm index 759c048ab6..c3dfc409f4 100644 --- a/code/modules/recycling/conveyor2.dm +++ b/code/modules/recycling/conveyor2.dm @@ -268,10 +268,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) CHECK_TICK // attack with hand, switch position -/obj/machinery/conveyor_switch/attack_hand(mob/user) - . = ..() - if(.) - return +/obj/machinery/conveyor_switch/interact(mob/user) add_fingerprint(user) if(position == 0) if(convdir) //is it a oneway switch diff --git a/code/modules/recycling/disposal/bin.dm b/code/modules/recycling/disposal/bin.dm index 99c2784ebf..e656b616dd 100644 --- a/code/modules/recycling/disposal/bin.dm +++ b/code/modules/recycling/disposal/bin.dm @@ -9,7 +9,8 @@ armor = list("melee" = 25, "bullet" = 10, "laser" = 10, "energy" = 100, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 30) max_integrity = 200 resistance_flags = FIRE_PROOF - interaction_flags_machine = INTERACT_MACHINE_OPEN + interaction_flags_machine = INTERACT_MACHINE_OPEN | INTERACT_MACHINE_WIRES_IF_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN_SILICON + obj_flags = CAN_BE_HIT | USES_TGUI var/datum/gas_mixture/air_contents // internal reservoir var/full_pressure = FALSE var/pressure_charging = TRUE @@ -280,7 +281,7 @@ // handle machine interaction /obj/machinery/disposal/bin/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \ - datum/tgui/master_ui = null, datum/ui_state/state = GLOB.notcontained_state) + datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state) if(stat & BROKEN) return ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)