mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-28 23:58:07 +01:00
[MIRROR] bans posibrains and mmis from savannah ivanov (#6703)
* Ban posibrains and mmis from savannah ivanov (#59772) Savannah Ivanov cannot have mmis or posibrains in them. Now I know that sounds BAD... but I originally intended to do this as it removes a huge trust element and bypasses recruiting people for cooperation. I simply uuuh genuinely forgot to include this, so sorry for the DRAMA. I was considering blocking the AI too, but AIs are actually more likely to be turned against you than fellow crewmembers Co-authored-by: coiax <yellowbounder@ gmail.com> * bans posibrains and mmis from savannah ivanov Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com> Co-authored-by: coiax <yellowbounder@ gmail.com>
This commit is contained in:
co-authored by
coiax
tralezab
parent
14d545dd9c
commit
18dd8beb89
@@ -58,7 +58,7 @@
|
||||
///Whether the mechs maintenance protocols are on or off
|
||||
var/construction_state = MECHA_LOCKED
|
||||
///Contains flags for the mecha
|
||||
var/mecha_flags = ADDING_ACCESS_POSSIBLE | CANSTRAFE | IS_ENCLOSED | HAS_LIGHTS
|
||||
var/mecha_flags = ADDING_ACCESS_POSSIBLE | CANSTRAFE | IS_ENCLOSED | HAS_LIGHTS | MMI_COMPATIBLE
|
||||
///Stores the DNA enzymes of a carbon so tht only they can access the mech
|
||||
var/dna_lock
|
||||
///Spark effects are handled by this datum
|
||||
@@ -978,15 +978,17 @@
|
||||
SEND_SOUND(newoccupant, sound('sound/mecha/nominal.ogg',volume=50))
|
||||
return TRUE
|
||||
|
||||
/obj/vehicle/sealed/mecha/proc/mmi_move_inside(obj/item/mmi/M, mob/user)
|
||||
if(!M.brain_check(user))
|
||||
/obj/vehicle/sealed/mecha/proc/mmi_move_inside(obj/item/mmi/brain_obj, mob/user)
|
||||
if(!(mecha_flags & MMI_COMPATIBLE))
|
||||
to_chat(user, span_warning("This mecha is not compatible with MMIs!"))
|
||||
return FALSE
|
||||
|
||||
var/mob/living/brain/B = M.brainmob
|
||||
if(!brain_obj.brain_check(user))
|
||||
return FALSE
|
||||
var/mob/living/brain/brain_mob = brain_obj.brainmob
|
||||
if(LAZYLEN(occupants) >= max_occupants)
|
||||
to_chat(user, span_warning("It's full!"))
|
||||
return FALSE
|
||||
if(dna_lock && (!B.stored_dna || (dna_lock != B.stored_dna.unique_enzymes)))
|
||||
if(dna_lock && (!brain_mob.stored_dna || (dna_lock != brain_mob.stored_dna.unique_enzymes)))
|
||||
to_chat(user, span_warning("Access denied. [name] is secured with a DNA lock."))
|
||||
return FALSE
|
||||
|
||||
@@ -996,32 +998,32 @@
|
||||
to_chat(user, span_notice("You stop inserting the MMI."))
|
||||
return FALSE
|
||||
if(LAZYLEN(occupants) < max_occupants)
|
||||
return mmi_moved_inside(M, user)
|
||||
return mmi_moved_inside(brain_obj, user)
|
||||
to_chat(user, span_warning("Maximum occupants exceeded!"))
|
||||
return FALSE
|
||||
|
||||
/obj/vehicle/sealed/mecha/proc/mmi_moved_inside(obj/item/mmi/M, mob/user)
|
||||
if(!(Adjacent(M) && Adjacent(user)))
|
||||
/obj/vehicle/sealed/mecha/proc/mmi_moved_inside(obj/item/mmi/brain_obj, mob/user)
|
||||
if(!(Adjacent(brain_obj) && Adjacent(user)))
|
||||
return FALSE
|
||||
if(!M.brain_check(user))
|
||||
if(!brain_obj.brain_check(user))
|
||||
return FALSE
|
||||
|
||||
var/mob/living/brain/B = M.brainmob
|
||||
if(!user.transferItemToLoc(M, src))
|
||||
to_chat(user, span_warning("\the [M] is stuck to your hand, you cannot put it in \the [src]!"))
|
||||
var/mob/living/brain/brain_mob = brain_obj.brainmob
|
||||
if(!user.transferItemToLoc(brain_obj, src))
|
||||
to_chat(user, span_warning("[brain_obj] is stuck to your hand, you cannot put it in [src]!"))
|
||||
return FALSE
|
||||
|
||||
M.set_mecha(src)
|
||||
add_occupant(B)//Note this forcemoves the brain into the mech to allow relaymove
|
||||
brain_obj.set_mecha(src)
|
||||
add_occupant(brain_mob)//Note this forcemoves the brain into the mech to allow relaymove
|
||||
mecha_flags |= SILICON_PILOT
|
||||
B.reset_perspective(src)
|
||||
B.remote_control = src
|
||||
B.update_mouse_pointer()
|
||||
brain_mob.reset_perspective(src)
|
||||
brain_mob.remote_control = src
|
||||
brain_mob.update_mouse_pointer()
|
||||
setDir(dir_in)
|
||||
log_message("[M] moved in as pilot.", LOG_MECHA)
|
||||
log_message("[brain_obj] moved in as pilot.", LOG_MECHA)
|
||||
if(!internal_damage)
|
||||
SEND_SOUND(M, sound('sound/mecha/nominal.ogg',volume=50))
|
||||
log_game("[key_name(user)] has put the MMI/posibrain of [key_name(B)] into [src] at [AREACOORD(src)]")
|
||||
SEND_SOUND(brain_obj, sound('sound/mecha/nominal.ogg',volume=50))
|
||||
log_game("[key_name(user)] has put the MMI/posibrain of [key_name(brain_mob)] into [src] at [AREACOORD(src)]")
|
||||
return TRUE
|
||||
|
||||
/obj/vehicle/sealed/mecha/container_resist_act(mob/living/user)
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
operation_req_access = list(ACCESS_THEATRE)
|
||||
internals_req_access = list(ACCESS_MECH_SCIENCE, ACCESS_THEATRE)
|
||||
wreckage = /obj/structure/mecha_wreckage/honker
|
||||
mecha_flags = CANSTRAFE | IS_ENCLOSED | HAS_LIGHTS
|
||||
mecha_flags = CANSTRAFE | IS_ENCLOSED | HAS_LIGHTS | MMI_COMPATIBLE
|
||||
max_equip = 3
|
||||
var/squeak = TRUE
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
operation_req_access = list(ACCESS_CENT_SPECOPS)
|
||||
internals_req_access = list(ACCESS_CENT_SPECOPS)
|
||||
wreckage = /obj/structure/mecha_wreckage/marauder
|
||||
mecha_flags = CANSTRAFE | IS_ENCLOSED | HAS_LIGHTS
|
||||
mecha_flags = CANSTRAFE | IS_ENCLOSED | HAS_LIGHTS | MMI_COMPATIBLE
|
||||
internal_damage_threshold = 25
|
||||
force = 45
|
||||
max_equip = 5
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
wreckage = /obj/structure/mecha_wreckage/reticence
|
||||
operation_req_access = list(ACCESS_THEATRE)
|
||||
internals_req_access = list(ACCESS_MECH_SCIENCE, ACCESS_THEATRE)
|
||||
mecha_flags = CANSTRAFE | IS_ENCLOSED | HAS_LIGHTS | QUIET_STEPS | QUIET_TURNS
|
||||
mecha_flags = CANSTRAFE | IS_ENCLOSED | HAS_LIGHTS | QUIET_STEPS | QUIET_TURNS | MMI_COMPATIBLE
|
||||
internal_damage_threshold = 25
|
||||
max_equip = 2
|
||||
step_energy_drain = 3
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
icon = 'icons/mecha/coop_mech.dmi'
|
||||
base_icon_state = "savannah_ivanov"
|
||||
icon_state = "savannah_ivanov_0_0"
|
||||
//does not include mmi compatibility
|
||||
mecha_flags = ADDING_ACCESS_POSSIBLE | CANSTRAFE | IS_ENCLOSED | HAS_LIGHTS
|
||||
movedelay = 3
|
||||
dir_in = 2 //Facing South.
|
||||
max_integrity = 450 //really tanky, like damn
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
max_equip = 7
|
||||
wreckage = /obj/structure/mecha_wreckage/clarke
|
||||
enter_delay = 40
|
||||
mecha_flags = ADDING_ACCESS_POSSIBLE | IS_ENCLOSED | HAS_LIGHTS
|
||||
mecha_flags = ADDING_ACCESS_POSSIBLE | IS_ENCLOSED | HAS_LIGHTS | MMI_COMPATIBLE
|
||||
internals_req_access = list(ACCESS_MECH_ENGINE, ACCESS_MECH_SCIENCE, ACCESS_MECH_MINING)
|
||||
|
||||
/obj/vehicle/sealed/mecha/working/clarke/Initialize()
|
||||
|
||||
Reference in New Issue
Block a user