Revert "MODsuits"
This commit is contained in:
@@ -337,7 +337,6 @@
|
||||
on_item_dropped(I)
|
||||
if(I.dropped(src) == ITEM_RELOCATED_BY_DROPPED)
|
||||
return FALSE
|
||||
SEND_SIGNAL(src, COMSIG_MOB_UNEQUIPPED_ITEM, I, force, newloc, no_move, invdrop, silent)
|
||||
return TRUE
|
||||
|
||||
//This is a SAFE proc. Use this instead of equip_to_slot()!
|
||||
|
||||
@@ -27,8 +27,8 @@
|
||||
if(prob(40))
|
||||
if(prob(25))
|
||||
audible_message("<span class='warning'>You hear something rumbling inside [src]'s stomach...</span>", \
|
||||
"<span class='warning'>You hear something rumbling.</span>", 4,\
|
||||
"<span class='userdanger'>Something is rumbling inside your stomach!</span>")
|
||||
"<span class='warning'>You hear something rumbling.</span>", 4,\
|
||||
"<span class='userdanger'>Something is rumbling inside your stomach!</span>")
|
||||
var/obj/item/I = user.get_active_held_item()
|
||||
if(I && I.force)
|
||||
var/d = rand(round(I.force / 4), I.force)
|
||||
@@ -624,21 +624,12 @@
|
||||
if(M.name == XRAY)
|
||||
sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS)
|
||||
see_in_dark = max(see_in_dark, 8)
|
||||
|
||||
if(HAS_TRAIT(src, TRAIT_TRUE_NIGHT_VISION))
|
||||
lighting_alpha = min(lighting_alpha, LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE)
|
||||
see_in_dark = max(see_in_dark, 8)
|
||||
|
||||
if(HAS_TRAIT(src, TRAIT_MESON_VISION))
|
||||
sight |= SEE_TURFS
|
||||
lighting_alpha = min(lighting_alpha, LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE)
|
||||
|
||||
if(HAS_TRAIT(src, TRAIT_THERMAL_VISION))
|
||||
sight |= SEE_MOBS
|
||||
sight |= (SEE_MOBS)
|
||||
lighting_alpha = min(lighting_alpha, LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE)
|
||||
|
||||
if(HAS_TRAIT(src, TRAIT_XRAY_VISION))
|
||||
sight |= SEE_TURFS|SEE_MOBS|SEE_OBJS
|
||||
sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS)
|
||||
see_in_dark = max(see_in_dark, 8)
|
||||
|
||||
if(see_override)
|
||||
|
||||
@@ -16,15 +16,9 @@
|
||||
if(istype(T) && movement_dir && T.allow_thrust(0.01))
|
||||
return 1
|
||||
|
||||
var/obj/item/I = get_jetpack()
|
||||
if(istype(I, /obj/item/tank/jetpack))
|
||||
var/obj/item/tank/jetpack/J = I
|
||||
if((movement_dir || J.stabilizers) && J.allow_thrust(0.01, src))
|
||||
return 1
|
||||
else if(istype(I, /obj/item/mod/module/jetpack))
|
||||
var/obj/item/mod/module/jetpack/J = I
|
||||
if((movement_dir || J.stabilizers) && J.allow_thrust())
|
||||
return 1
|
||||
var/obj/item/tank/jetpack/J = get_jetpack()
|
||||
if(istype(J) && (movement_dir || J.stabilizers) && J.allow_thrust(0.01, src))
|
||||
return 1
|
||||
|
||||
/mob/living/carbon/Moved()
|
||||
. = ..()
|
||||
|
||||
@@ -304,14 +304,7 @@
|
||||
if(equip_to_slot_if_possible(thing, ITEM_SLOT_BACK))
|
||||
update_inv_hands()
|
||||
return
|
||||
var/datum/component/storage/storage = equipped_back.GetComponent(/datum/component/storage)
|
||||
if(istype(equipped_back, /obj/item/mod/control))
|
||||
var/obj/item/mod/control/C = equipped_back
|
||||
for(var/obj/item/mod/module/storage/S in C.modules)
|
||||
if(S.stored)
|
||||
equipped_back = S.stored
|
||||
storage = S.stored.GetComponent(/datum/component/storage)
|
||||
if(!storage)
|
||||
if(!SEND_SIGNAL(equipped_back, COMSIG_CONTAINS_STORAGE)) // not a storage item
|
||||
if(!thing)
|
||||
equipped_back.attack_hand(src)
|
||||
else
|
||||
@@ -321,11 +314,10 @@
|
||||
if(!SEND_SIGNAL(equipped_back, COMSIG_TRY_STORAGE_INSERT, thing, src))
|
||||
to_chat(src, "<span class='warning'>You can't fit anything in!</span>")
|
||||
return
|
||||
var/atom/real_location = storage.real_location()
|
||||
if(!real_location.contents.len) // nothing to take out
|
||||
to_chat(src, "<span class='warning'>There's nothing in your [equipped_back.name] to take out!</span>")
|
||||
if(!equipped_back.contents.len) // nothing to take out
|
||||
to_chat(src, "<span class='warning'>There's nothing in your backpack to take out!</span>")
|
||||
return
|
||||
var/obj/item/stored = real_location.contents[real_location.contents.len]
|
||||
var/obj/item/stored = equipped_back.contents[equipped_back.contents.len]
|
||||
if(!stored || stored.on_found(src))
|
||||
return
|
||||
stored.attack_hand(src) // take out thing from backpack
|
||||
|
||||
@@ -38,8 +38,8 @@
|
||||
var/can_be_carded = TRUE
|
||||
var/alarms = list("Motion"=list(), "Fire"=list(), "Atmosphere"=list(), "Power"=list(), "Camera"=list(), "Burglar"=list())
|
||||
var/viewalerts = 0
|
||||
var/icon/holo_icon //Female is assigned when AI is created.
|
||||
var/obj/controlled_equipment //A piece of equipment, to determine whether to relaymove or use the AI eye.
|
||||
var/icon/holo_icon//Female is assigned when AI is created.
|
||||
var/obj/vehicle/sealed/mecha/controlled_mech //For controlled_mech a mech, to determine whether to relaymove or use the AI eye.
|
||||
var/radio_enabled = TRUE //Determins if a carded AI can speak with its built in radio or not.
|
||||
radiomod = ";" //AIs will, by default, state their laws on the internal radio.
|
||||
var/obj/item/pda/ai/aiPDA
|
||||
@@ -99,13 +99,6 @@
|
||||
var/display_icon_override
|
||||
var/emote_display = "Neutral" //text string of the current emote we set for the status displays, to prevent logins resetting it.
|
||||
|
||||
var/datum/robot_control/robot_control
|
||||
/// Station alert datum for showing alerts UI
|
||||
var/datum/station_alert/alert_control
|
||||
///remember AI's last location
|
||||
var/atom/lastloc
|
||||
interaction_range = INFINITY
|
||||
|
||||
/mob/living/silicon/ai/Initialize(mapload, datum/ai_laws/L, mob/target_ai)
|
||||
. = ..()
|
||||
if(!target_ai) //If there is no player/brain inside.
|
||||
@@ -180,21 +173,10 @@
|
||||
GLOB.ai_list -= src
|
||||
GLOB.shuttle_caller_list -= src
|
||||
SSshuttle.autoEvac()
|
||||
QDEL_NULL(eyeobj) // No AI, no Eye
|
||||
QDEL_NULL(spark_system)
|
||||
QDEL_NULL(malf_picker)
|
||||
QDEL_NULL(doomsday_device)
|
||||
// TODO: Why these no work?
|
||||
// QDEL_NULL(robot_control)
|
||||
QDEL_NULL(aiMulti)
|
||||
// QDEL_NULL(alert_control)
|
||||
qdel(eyeobj) // No AI, no Eye
|
||||
malfhack = null
|
||||
current = null
|
||||
Bot = null
|
||||
controlled_equipment = null
|
||||
linked_core = null
|
||||
apc_override = null
|
||||
return ..()
|
||||
|
||||
. = ..()
|
||||
|
||||
/mob/living/silicon/ai/IgniteMob()
|
||||
fire_stacks = 0
|
||||
@@ -428,7 +410,7 @@
|
||||
|
||||
if (href_list["ai_take_control"]) //Mech domination
|
||||
var/obj/vehicle/sealed/mecha/M = locate(href_list["ai_take_control"])
|
||||
if(controlled_equipment)
|
||||
if(controlled_mech)
|
||||
to_chat(src, "<span class='warning'>You are already loaded into an onboard computer!</span>")
|
||||
return
|
||||
if(!GLOB.cameranet.checkCameraVis(M))
|
||||
|
||||
@@ -200,13 +200,6 @@
|
||||
/mob/living/silicon/pai/restrained(ignore_grab)
|
||||
. = FALSE
|
||||
|
||||
/mob/living/silicon/pai/can_interact_with(atom/target)
|
||||
if(istype(target, /obj/item/mod/control)) // A poor workaround for enabling MODsuit control
|
||||
var/obj/item/mod/control/C = target
|
||||
if(C.ai == src)
|
||||
return TRUE
|
||||
return ..()
|
||||
|
||||
// See software.dm for Topic()
|
||||
|
||||
/mob/living/silicon/pai/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE, no_tk=FALSE)
|
||||
|
||||
@@ -722,7 +722,7 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
|
||||
return pick(protection_sources)
|
||||
else
|
||||
return src
|
||||
if((magic && HAS_TRAIT(src, TRAIT_ANTIMAGIC)) || (!self && magic && HAS_TRAIT(src, TRAIT_ANTIMAGIC_NO_SELFBLOCK)) || (holy && HAS_TRAIT(src, TRAIT_HOLY)))
|
||||
if((magic && HAS_TRAIT(src, TRAIT_ANTIMAGIC)) || (holy && HAS_TRAIT(src, TRAIT_HOLY)))
|
||||
return src
|
||||
|
||||
//You can buckle on mobs if you're next to them since most are dense
|
||||
|
||||
@@ -585,7 +585,7 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
|
||||
|
||||
//Can the mob see reagents inside of containers?
|
||||
/mob/proc/can_see_reagents()
|
||||
return stat == DEAD || silicon_privileges || HAS_TRAIT(src, TRAIT_REAGENT_SCANNER) //Dead guys and silicons can always see reagents
|
||||
return stat == DEAD || silicon_privileges //Dead guys and silicons can always see reagents
|
||||
|
||||
/mob/proc/is_blind()
|
||||
SHOULD_BE_PURE(TRUE)
|
||||
|
||||
Reference in New Issue
Block a user