Lots of cool fixes! Read below!

- Radio MMIs can now talk on the radio like a regular person does
- Same for MMIs in mechs
- A posibrain in a mecha doesn't lose its ability to hear binary chat
- Mechs now consume power when moving again
- Disassembling mecha wreckage now doesn't have a bunch of annoying "hit
  by" messages
- MMIs in someone's grasp no longer cause a rigsuit-related runtime
This commit is contained in:
Crazylemon64
2015-12-03 23:46:10 -08:00
parent 13e2436934
commit 9809a5fc1b
6 changed files with 75 additions and 51 deletions
+3 -2
View File
@@ -323,6 +323,7 @@
move_result = mechstep(direction)
if(move_result)
can_move = 0
use_power(step_energy_drain)
if(mecha_do_after(step_in))
can_move = 1
return 1
@@ -803,7 +804,7 @@
go_out()
return
else if(istype(W, /obj/item/stack/cable_coil))
if(state == 3 && hasInternalDamage(MECHA_INT_SHORT_CIRCUIT))
var/obj/item/stack/cable_coil/CC = W
@@ -1250,7 +1251,7 @@
return 0
if(!user.unEquip(mmi_as_oc))
user << "<span class='notice'>\the [mmi_as_oc] is stuck to your hand, you cannot put it in \the [src]</span>"
return
return 0
var/mob/brainmob = mmi_as_oc.brainmob
brainmob.reset_view(src)
/*
+17 -19
View File
@@ -35,29 +35,28 @@
var/obj/item/weapon/weldingtool/WT = W
if(salvage_num <= 0)
user.visible_message("[user] begins to slice apart the now completely stripped [src].", "You begin to slice apart the [src].", "You hear the sound of a welder nearby.")
if(do_after(user,80,target=src))
if(WT.remove_fuel(0,user) && do_after(user,80,target=src))
user.visible_message("The now-dilapidated [src] falls apart in a clatter.", "As you slice apart the final support structures, the [src] falls apart in a heap.", "You hear metal clanking to the floor.")
new /obj/item/stack/sheet/metal(src.loc)
var/obj/item/stack/rods/rods = new /obj/item/stack/rods(src.loc)
rods.amount = 2
qdel(src)
return
if (isemptylist(welder_salvage))
user << "<span class='warning'>What's left on the [src] cannot be removed with a welder, besides the frame itself</span>"
else if(WT.remove_fuel(0,user))
var/type = prob(70)?pick(welder_salvage):null
if(type)
var/N = new type(get_turf(user))
user.visible_message("[user] cuts [N] from [src]", "You cut [N] from [src]", "You hear a sound of welder nearby")
if(istype(N, /obj/item/mecha_parts/part))
welder_salvage -= type
salvage_num--
else
user << "You failed to salvage anything valuable from [src]."
else
user << "\blue You need more welding fuel to complete this task."
return
if(istype(W, /obj/item/weapon/wirecutters))
if (isemptylist(welder_salvage))
user << "<span class='warning'>What's left on the [src] cannot be removed with a welder, besides the frame itself</span>"
else if(WT.remove_fuel(0,user))
var/type = prob(70)?pick(welder_salvage):null
if(type)
var/N = new type(get_turf(user))
user.visible_message("[user] cuts [N] from [src]", "You cut [N] from [src]", "You hear a sound of welder nearby")
if(istype(N, /obj/item/mecha_parts/part))
welder_salvage -= type
salvage_num--
else
user << "You failed to salvage anything valuable from [src]."
else
user << "\blue You need more welding fuel to complete this task."
else if(istype(W, /obj/item/weapon/wirecutters))
if(salvage_num <= 0)
user << "You don't see anything that can be cut with [W]."
return
@@ -69,14 +68,13 @@
salvage_num--
else
user << "You failed to salvage anything valuable from [src]."
if(istype(W, /obj/item/weapon/crowbar))
else if(istype(W, /obj/item/weapon/crowbar))
if(!isemptylist(crowbar_salvage))
var/obj/S = pick(crowbar_salvage)
if(S)
S.loc = get_turf(user)
crowbar_salvage -= S
user.visible_message("[user] pries [S] from [src].", "You pry [S] from [src].")
return
else
user << "You don't see anything that can be pried with [W]."
else