Fixes interaction AI stuff

This commit is contained in:
kevinz000
2018-04-11 12:10:03 -07:00
committed by CitadelStationBot
parent 4063781baf
commit 9da197469b
7 changed files with 152 additions and 29 deletions
+139 -1
View File
@@ -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
)
))
))
=======
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)
+2 -10
View File
@@ -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)
+4
View File
@@ -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)
@@ -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())
+1 -4
View File
@@ -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)
+1 -4
View File
@@ -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
+3 -2
View File
@@ -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)