Tg 2 11 sync (#215)
* first series of updates * datums * games folder * admin and atmosia stuffs * moar * mob updates borg riding * sprites and stuff * fixes for various things * oops. some missed fixes
This commit is contained in:
+41
-37
@@ -358,8 +358,11 @@
|
||||
occupant.throw_alert("mech damage", /obj/screen/alert/low_mech_integrity, 3)
|
||||
else
|
||||
occupant.clear_alert("mech damage")
|
||||
|
||||
if(occupant.loc != src) //something went wrong
|
||||
var/actual_loc = occupant.loc
|
||||
if(istype(actual_loc, /obj/item/device/mmi))
|
||||
var/obj/item/device/mmi/M = actual_loc
|
||||
actual_loc = M.mecha
|
||||
if(actual_loc != src) //something went wrong
|
||||
occupant.clear_alert("charge")
|
||||
occupant.clear_alert("mech damage")
|
||||
RemoveActions(occupant, human_occupant=1)
|
||||
@@ -859,57 +862,58 @@
|
||||
else
|
||||
return 0
|
||||
|
||||
/obj/mecha/proc/mmi_move_inside(obj/item/device/mmi/mmi_as_oc,mob/user)
|
||||
/obj/mecha/proc/mmi_move_inside(obj/item/device/mmi/mmi_as_oc, mob/user)
|
||||
if(!mmi_as_oc.brainmob || !mmi_as_oc.brainmob.client)
|
||||
user << "<span class='warning'>Consciousness matrix not detected!</span>"
|
||||
return 0
|
||||
return FALSE
|
||||
else if(mmi_as_oc.brainmob.stat)
|
||||
user << "<span class='warning'>Beta-rhythm below acceptable level!</span>"
|
||||
return 0
|
||||
return FALSE
|
||||
else if(occupant)
|
||||
user << "<span class='warning'>Occupant detected!</span>"
|
||||
return 0
|
||||
else if(dna_lock && (!mmi_as_oc.brainmob.stored_dna || dna_lock!=mmi_as_oc.brainmob.stored_dna.unique_enzymes))
|
||||
return FALSE
|
||||
else if(dna_lock && (!mmi_as_oc.brainmob.stored_dna || (dna_lock != mmi_as_oc.brainmob.stored_dna.unique_enzymes)))
|
||||
user << "<span class='warning'>Access denied. [name] is secured with a DNA lock.</span>"
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
visible_message("<span class='notice'>[user] starts to insert an MMI into [name].</span>")
|
||||
|
||||
if(do_after(user, 40, target = src))
|
||||
if(!occupant)
|
||||
return mmi_moved_inside(mmi_as_oc,user)
|
||||
return mmi_moved_inside(mmi_as_oc, user)
|
||||
else
|
||||
user << "<span class='warning'>Occupant detected!</span>"
|
||||
else
|
||||
user << "<span class='notice'>You stop inserting the MMI.</span>"
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/obj/mecha/proc/mmi_moved_inside(obj/item/device/mmi/mmi_as_oc,mob/user)
|
||||
if(mmi_as_oc && user in range(1))
|
||||
if(!mmi_as_oc.brainmob || !mmi_as_oc.brainmob.client)
|
||||
user << "<span class='notice'>Consciousness matrix not detected!</span>"
|
||||
return 0
|
||||
else if(mmi_as_oc.brainmob.stat)
|
||||
user << "<span class='warning'>Beta-rhythm below acceptable level!</span>"
|
||||
return 0
|
||||
if(!user.transferItemToLoc(mmi_as_oc, src))
|
||||
user << "<span class='warning'>\the [mmi_as_oc] is stuck to your hand, you cannot put it in \the [src]!</span>"
|
||||
return
|
||||
var/mob/brainmob = mmi_as_oc.brainmob
|
||||
occupant = brainmob
|
||||
brainmob.forceMove(src) //should allow relaymove
|
||||
brainmob.reset_perspective(src)
|
||||
brainmob.canmove = 1
|
||||
mmi_as_oc.mecha = src
|
||||
icon_state = initial(icon_state)
|
||||
setDir(dir_in)
|
||||
log_message("[mmi_as_oc] moved in as pilot.")
|
||||
if(!internal_damage)
|
||||
occupant << sound('sound/mecha/nominal.ogg',volume=50)
|
||||
GrantActions(brainmob)
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
/obj/mecha/proc/mmi_moved_inside(obj/item/device/mmi/mmi_as_oc, mob/user)
|
||||
if(!(Adjacent(mmi_as_oc) && Adjacent(user)))
|
||||
return FALSE
|
||||
if(!mmi_as_oc.brainmob || !mmi_as_oc.brainmob.client)
|
||||
user << "<span class='notice'>Consciousness matrix not detected!</span>"
|
||||
return FALSE
|
||||
else if(mmi_as_oc.brainmob.stat)
|
||||
user << "<span class='warning'>Beta-rhythm below acceptable level!</span>"
|
||||
return FALSE
|
||||
if(!user.transferItemToLoc(mmi_as_oc, src))
|
||||
user << "<span class='warning'>\the [mmi_as_oc] is stuck to your hand, you cannot put it in \the [src]!</span>"
|
||||
return FALSE
|
||||
var/mob/brainmob = mmi_as_oc.brainmob
|
||||
mmi_as_oc.mecha = src
|
||||
occupant = brainmob
|
||||
brainmob.forceMove(src) //should allow relaymove
|
||||
brainmob.reset_perspective(src)
|
||||
brainmob.remote_control = src
|
||||
brainmob.update_canmove()
|
||||
icon_state = initial(icon_state)
|
||||
update_icon()
|
||||
setDir(dir_in)
|
||||
log_message("[mmi_as_oc] moved in as pilot.")
|
||||
if(!internal_damage)
|
||||
occupant << sound('sound/mecha/nominal.ogg',volume=50)
|
||||
GrantActions(brainmob)
|
||||
return TRUE
|
||||
|
||||
/obj/mecha/container_resist(mob/living/user)
|
||||
go_out()
|
||||
@@ -1046,4 +1050,4 @@ var/year_integer = text2num(year) // = 2013???
|
||||
/obj/mecha/update_remote_sight(mob/living/user)
|
||||
if(occupant_sight_flags)
|
||||
if(user == occupant)
|
||||
user.sight |= occupant_sight_flags
|
||||
user.sight |= occupant_sight_flags
|
||||
@@ -43,10 +43,6 @@
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
/obj/mecha/working/ripley/mmi_moved_inside(obj/item/device/mmi/mmi_as_oc,mob/user)
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
/obj/mecha/working/ripley/update_icon()
|
||||
..()
|
||||
if (hides)
|
||||
@@ -178,4 +174,4 @@
|
||||
cargo -= O
|
||||
else
|
||||
if(user.loc == src) //so we don't get the message if we resisted multiple times and succeeded.
|
||||
user << "<span class='warning'>You fail to push [O] out of [src]!</span>"
|
||||
user << "<span class='warning'>You fail to push [O] out of [src]!</span>"
|
||||
Reference in New Issue
Block a user