Made MMIs examine text show if they are locked or unlocked. Move the size examine text to the same line as the name. Made mmis/posibrains drop parts used for creating mommis that you have added to them when added to a robot. Made turfs not lose or gain gases when you change their turf.

This commit is contained in:
clusterfack
2015-01-12 01:19:04 -06:00
parent 72c650ab6b
commit ca521a04cb
7 changed files with 40 additions and 26 deletions

View File

@@ -282,7 +282,7 @@ its easier to just keep the beam vertical.
//Woo hoo. Overtime
//All atoms
/atom/proc/examine(mob/user)
/atom/proc/examine(mob/user, var/size = "")
//This reformat names to get a/an properly working on item descriptions when they are bloody
var/f_name = "\a [src]."
if(src.blood_DNA)
@@ -292,7 +292,7 @@ its easier to just keep the beam vertical.
f_name = "a "
f_name += "<span class='danger'>blood-stained</span> [name]!"
user << "\icon[src] That's [f_name]"
user << "\icon[src] That's [f_name]" + size
if(desc)
user << desc

View File

@@ -131,7 +131,7 @@
for(var/atom/movable/floater in (contents - beaker))
user << "A figure floats in the depths, they appear to be [floater.name]"
if(beaker)
user << "A beaker is releasing the following chemicals into the fluids:"
user << "A beaker, releasing the following chemicals into the fluids:"
for(var/datum/reagent/R in beaker.reagents.reagent_list)
user << "<span class='info'>[R.volume] units of [R.name]</span>"
else

View File

@@ -108,7 +108,6 @@
src.loc = T
/obj/item/examine(mob/user)
..() //TODO: Make The following code simply append to the description instead of a separate line
var/size
switch(src.w_class)
if(1.0)
@@ -128,7 +127,7 @@
pronoun = "They are"
else
pronoun = "It is"
user << " [pronoun] a [size] item."
..(user, " [pronoun] a [size] item.")
/obj/item/attack_ai(mob/user as mob)
@@ -796,4 +795,4 @@
spawn(0) //this is needed or multiple items will be thrown sequentially and not simultaneously
if(current_size >= STAGE_FOUR)
throw_at(S, 14, 3)
else ..()
else ..()

View File

@@ -148,9 +148,9 @@
src.chest = W
src.updateicon()
else if(!W:wires)
user << "\blue You need to attach wires to it first!"
user << "<span class='notice'>You need to attach wires to it first!</span>"
else
user << "\blue You need to attach a cell to it first!"
user << "<span class='notice'>You need to attach a cell to it first!</span>"
if(istype(W, /obj/item/robot_parts/head))
if(src.head) return
@@ -160,16 +160,17 @@
src.head = W
src.updateicon()
else
user << "\blue You need to attach a flash to it first!"
user << "<span class='notice'>You need to attach a flash to it first!</span>"
if(istype(W, /obj/item/device/mmi) || istype(W, /obj/item/device/mmi/posibrain))
var/obj/item/device/mmi/M = W
var/turf/T = get_turf(src)
if(check_completion())
if(!istype(loc,/turf))
user << "\red You can't put the [W] in, the frame has to be standing on the ground to be perfectly precise."
user << "<span class='warning'>You can't put the [W] in, the frame has to be standing on the ground to be perfectly precise.</span>"
return
if(!M.brainmob)
user << "\red Sticking an empty [W] into the frame would sort of defeat the purpose."
user << "<span class='warning'>Sticking an empty [W] into the frame would sort of defeat the purpose.</span>"
return
if(!M.brainmob.key)
var/ghost_can_reenter = 0
@@ -183,18 +184,25 @@
return
if(M.brainmob.stat == DEAD)
user << "\red Sticking a dead [W] into the frame would sort of defeat the purpose."
user << "<span class='warning'>Sticking a dead [W] into the frame would sort of defeat the purpose.</span>"
return
if(M.brainmob.mind in ticker.mode.head_revolutionaries)
user << "\red The frame's firmware lets out a shrill sound, and flashes 'Abnormal Memory Engram'. It refuses to accept the [W]."
user << "<span class='warning'>The frame's firmware lets out a shrill sound, and flashes 'Abnormal Memory Engram'. It refuses to accept the [W].</span>"
return
if(jobban_isbanned(M.brainmob, "Cyborg"))
user << "\red This [W] does not seem to fit."
user << "<span class='warning'>This [W] does not seem to fit.</span>"
return
var/mob/living/silicon/robot/O = new /mob/living/silicon/robot(get_turf(loc), unfinished = 1)
for(var/P in M.mommi_assembly_parts) //Let's give back all those mommi creation components
for(var/obj/item/L in M.contents)
if(L == P)
L.loc = T
M.contents -= L
if(!O) return
user.drop_item()
@@ -226,7 +234,7 @@
del(src)
else
user << "\blue The MMI must go in after everything else!"
user << "<span class='notice'>The MMI must go in after everything else!</span>"
if (istype(W, /obj/item/weapon/pen))
var/t = stripped_input(user, "Enter new robot name", src.name, src.created_name, MAX_NAME_LEN)
@@ -243,42 +251,42 @@
..()
if(istype(W, /obj/item/weapon/cell))
if(src.cell)
user << "\blue You have already inserted a cell!"
user << "<span class='notice'>You have already inserted a cell!</span>"
return
else
user.drop_item()
W.loc = src
src.cell = W
user << "\blue You insert the cell!"
user << "<span class='notice'>You insert the cell!</span>"
if(istype(W, /obj/item/weapon/cable_coil))
if(src.wires)
user << "\blue You have already inserted wire!"
user << "<span class='notice'>You have already inserted wire!</span>"
return
else
var/obj/item/weapon/cable_coil/coil = W
coil.use(1)
src.wires = 1.0
user << "\blue You insert the wire!"
user << "<span class='notice'>You insert the wire!</span>"
return
/obj/item/robot_parts/head/attackby(obj/item/W as obj, mob/user as mob)
..()
if(istype(W, /obj/item/device/flash))
if(src.flash1 && src.flash2)
user << "\blue You have already inserted the eyes!"
user << "<span class='notice'>You have already inserted the eyes!</span>"
return
else if(src.flash1)
user.drop_item()
W.loc = src
src.flash2 = W
user << "\blue You insert the flash into the eye socket!"
user << "<span class='notice'>You insert the flash into the eye socket!</span>"
else
user.drop_item()
W.loc = src
src.flash1 = W
user << "\blue You insert the flash into the eye socket!"
user << "<span class='notice'>You insert the flash into the eye socket!</span>"
else if(istype(W, /obj/item/weapon/stock_parts/manipulator))
user << "\blue You install some manipulators and modify the head, creating a functional spider-bot!"
user << "<span class='notice'>You install some manipulators and modify the head, creating a functional spider-bot!</span>"
new /mob/living/simple_animal/spiderbot(get_turf(loc))
user.drop_item()
del(W)
@@ -289,9 +297,9 @@
/obj/item/robot_parts/attackby(obj/item/W as obj, mob/user as mob)
if(istype(W,/obj/item/weapon/card/emag))
if(sabotaged)
user << "\red [src] is already sabotaged!"
user << "<span class='warning'>[src] is already sabotaged!</span>"
else
user << "\red You slide [W] into the dataport on [src] and short out the safeties."
user << "<span class='warning'>You slide [W] into the dataport on [src] and short out the safeties.</span>"
sabotaged = 1
return
..()

View File

@@ -233,6 +233,7 @@
#endif
var/old_lumcount = lighting_lumcount - initial(lighting_lumcount)
var/datum/gas_mixture/env
//world << "Replacing [src.type] with [N]"
@@ -243,6 +244,7 @@
//Despite this being called a bunch during explosions,
//the zone will only really do heavy lifting once.
var/turf/simulated/S = src
env = S.air //Get the air before the change
if(S.zone) S.zone.rebuild()
if(ispath(N, /turf/simulated/floor))
@@ -254,7 +256,8 @@
// zone.SetStatus(ZONE_ACTIVE)
var/turf/simulated/W = new N( locate(src.x, src.y, src.z) )
//W.Assimilate_Air()
if(env)
W.air = env //Copy the old environment data over if both turfs were simulated
W.lighting_lumcount += old_lumcount
if(old_lumcount != W.lighting_lumcount)

View File

@@ -465,6 +465,9 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
var/list/mobs = getmobs()
var/input = input("Please, select a mob!", "Haunt", null, null) as null|anything in mobs
var/mob/target = mobs[input]
if(istype(target,/mob/living/silicon/ai))
var/mob/living/silicon/ai/M = target
target = M.eyeobj
ManualFollow(target)
// This is the ghost's follow verb with an argument

View File

@@ -243,3 +243,4 @@
else if(!src.brainmob.key)
user << "<span class='warning'>It seems to be in a deep dream-state</span>" //ghosted
user << "<span class='info'>*---------*</span>"
user << "<span class='info'>It's interface is [locked ? "unlocked" : "locked"] </span>"