Some assembly fixes and tidying up. Plus, improved infrared emitters, with new sprites by Pewtershmitz!

Removed the infra sensor, as it was buggy, and, to be perfectly honest, utterly pointless.
Slightly improved and moved dice code.

Fixes issue 366.
Fixes issue 317.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4555 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
petethegoat@gmail.com
2012-08-26 22:44:04 +00:00
parent 474294466a
commit c14f242b4e
13 changed files with 173 additions and 287 deletions
@@ -1,70 +0,0 @@
/obj/item/device/infra_sensor/process()
if (src.passive)
for(var/obj/effect/beam/i_beam/I in range(2, src.loc))
I.left = 2
return 1
else
processing_objects.Remove(src)
return null
/obj/item/device/infra_sensor/proc/burst()
for(var/obj/effect/beam/i_beam/I in range(src.loc))
I.left = 8
/* for(var/obj/item/device/infra/I in range(src.loc))ugh will have to fix this
I.visible = 1
spawn( 0 )
if ((I && I.first))
I.first.vis_spread(1)
return
for(var/obj/item/assembly/rad_infra/I in range(src.loc))
I.part2.visible = 1
spawn( 0 )
if ((I.part2 && I.part2.first))
I.part2.first.vis_spread(1)
return*/
return
/obj/item/device/infra_sensor/attack_self(mob/user as mob)
user.machine = src
var/dat = text("<TT><B>Infrared Sensor</B><BR>\n<B>Passive Emitter</B>: []<BR>\n<B>Active Emitter</B>: <A href='?src=\ref[];active=0'>Burst Fire</A>\n</TT>", (src.passive ? text("<A href='?src=\ref[];passive=0'>On</A>", src) : text("<A href='?src=\ref[];passive=1'>Off</A>", src)), src)
user << browse(dat, "window=infra_sensor")
onclose(user, "infra_sensor")
return
/obj/item/device/infra_sensor/Topic(href, href_list)
..()
if (usr.stat || usr.restrained())
return
if ((usr.contents.Find(src) || (usr.contents.Find(src.master) || ((get_dist(src, usr) <= 1) && istype(src.loc, /turf)))))
usr.machine = src
if (href_list["passive"])
src.passive = !( src.passive )
if(passive)
processing_objects.Add(src)
if (href_list["active"])
spawn( 0 )
src.burst()
return
if (!( src.master ))
if (istype(src.loc, /mob))
attack_self(src.loc)
else
for(var/mob/M in viewers(1, src))
if (M.client)
src.attack_self(M)
else
if (istype(src.master.loc, /mob))
src.attack_self(src.master.loc)
else
for(var/mob/M in viewers(1, src.master))
if (M.client)
src.attack_self(M)
src.add_fingerprint(usr)
else
usr << browse(null, "window=infra_sensor")
onclose(usr, "infra_sensor")
return
return
+20 -15
View File
@@ -1,22 +1,27 @@
/obj/item/weapon/dice
name = "d6"
desc = "A dice with six sides."
var/sides = 6
icon = 'icons/obj/dice.dmi'
icon_state = "d66"
/obj/item/weapon/dice/New()
icon_state = "[name][rand(sides)]"
/obj/item/weapon/dice/d20
name = "d20"
desc = "A dice with twenty sides."
sides = 20
icon_state = "d2020"
/obj/item/weapon/dice/attack_self(mob/user as mob) // Roll the dice -- TLE
var/temp_sides
if(src.sides < 1)
temp_sides = 2
else
temp_sides = src.sides
var/result = rand(1,temp_sides)
/obj/item/weapon/dice/attack_self(mob/user as mob)
var/result = rand(1, sides)
var/comment = ""
if(temp_sides == 20 && result == 20)
if(sides == 20 && result == 20)
comment = "Nat 20!"
else if(temp_sides == 20 && result == 1)
else if(sides == 20 && result == 1)
comment = "Ouch, bad luck."
user << text("\red You throw a [src]. It lands on a [result]. [comment]")
icon_state = "[name][result]"
for(var/mob/O in viewers(user, null))
if(O == (user))
continue
else
O.show_message(text("\red [user] has thrown a [src]. It lands on [result]. [comment]"), 1)
user.visible_message("<span class='notice'>[user] has thrown [src]. It lands on [result]. [comment]</span>", \
"<span class='notice'>You throw [src]. It lands on a [result]. [comment]</span>", \
"<span class='notice'>You hear [src] landing on a [result]. [comment]</span>")