MindSwap once again does not need robes, however its range has been reduced to contact .

EI NATH will once again gib the target.
Head Revs will get a failure message if they are unable to convert a human they flashed.
Syndie suits taken out of the station, EVA now has 6 Grey, Engineering gets two RIGs, Mining still has 3.
Engineering Rad suits also protect vs biological hazards a bit
Fixed a cult convert bug I made a few commits ago.
Steal a RIG objective removed.
SecSunglasses now have the hud built in.
Added more sprites for Kor


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2051 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
mport2004@gmail.com
2011-08-27 04:58:32 +00:00
parent 2c5b51e7bd
commit 444f3f629b
35 changed files with 320 additions and 372 deletions
+3 -2
View File
@@ -8,7 +8,7 @@
new /obj/item/device/flash(src)
new /obj/item/clothing/suit/armor/vest(src)
new /obj/item/clothing/head/helmet(src)
new /obj/item/clothing/glasses/sunglasses(src)
new /obj/item/clothing/glasses/sunglasses/sechud(src)
new /obj/item/weapon/melee/baton(src)
return
@@ -30,6 +30,7 @@
new /obj/item/clothing/gloves/black( src )
new /obj/item/weapon/storage/lglo_kit( src )
new /obj/item/weapon/fcardholder( src )
new /obj/item/weapon/clipboard( src )
new /obj/item/device/detective_scanner( src )
return
@@ -56,7 +57,7 @@
new /obj/item/device/flash( src )
new /obj/item/clothing/under/rank/head_of_security( src )
new /obj/item/clothing/shoes/brown( src )
new /obj/item/clothing/glasses/sunglasses( src )
new /obj/item/clothing/glasses/sunglasses/sechud( src )
new /obj/item/clothing/suit/armor/hos( src )
new /obj/item/clothing/head/helmet( src )
new /obj/item/weapon/storage/flashbang_kit(src)
+17 -11
View File
@@ -46,22 +46,28 @@
flick("e_flash", M.flash)
if(ishuman(M))
var/revsafe = 0
for(var/obj/item/weapon/implant/loyalty/L in M)
if(L && L.implanted)
revsafe = 1
break
if(M.mind.has_been_rev)
revsafe = 1
if(!revsafe)
if(user.mind in ticker.mode.head_revolutionaries)
ticker.mode.add_revolutionary(M.mind)
if(user.mind in ticker.mode.head_revolutionaries)
var/revsafe = 0
for(var/obj/item/weapon/implant/loyalty/L in M)
if(L && L.implanted)
revsafe = 1
break
if(M.mind.has_been_rev)
revsafe = 2
if(!revsafe)
M.mind.has_been_rev = 1
ticker.mode.add_revolutionary(M.mind)
else if(revsafe == 1)
user << "\red Something seems to be blocking the flash!"
else
user << "\red This mind seems resistant to the flash!"
else
flashfail = 1
else if(isrobot(M))
else if(issilicon(M))
M.weakened = max(user.weakened, rand(5,10))
if(isrobot(user))
spawn(0)
var/atom/movable/overlay/animation = new(user.loc)
animation.layer = user.layer + 1
+2
View File
@@ -104,6 +104,7 @@
user.sd_SetLuminosity(user.luminosity - brightness_on)
src.sd_SetLuminosity(brightness_on)
/*
/obj/item/clothing/head/helmet/space/engineering/verb/toggle()
set name = "Toggle Helmet Light"
set category = "Object"
@@ -164,3 +165,4 @@
usr.sd_SetLuminosity(usr.luminosity - brightness_on)
src.sd_SetLuminosity(brightness_on)
*/
-57
View File
@@ -1,57 +0,0 @@
/obj/item/clothing/glasses/hud
name = "HUD"
desc = "A heads-up display that provides important info in (almost) real time."
flags = null //doesn't protect eyes because it's a monocle, duh
origin_tech = "magnets=3;biotech=2"
var
list/icon/current = list() //the current hud icons
proc
process_hud(var/mob/M) return
/obj/item/clothing/glasses/hud/health
name = "Health Scanner HUD"
desc = "A heads-up display that scans the humans in view and provides accurate data about their health status."
icon_state = "healthhud"
/obj/item/clothing/glasses/hud/security
name = "Security HUD"
desc = "A heads-up display that scans the humans in view and provides accurate data about their ID status."
icon_state = "securityhud"
process_hud(var/mob/M)
if(!M) return
if(!M.client) return
var/client/C = M.client
var/icon/tempHud = 'hud.dmi'
for(var/mob/living/carbon/human/perp in view(M))
if(perp.wear_id)
C.images += image(tempHud,perp,"hud[ckey(perp:wear_id:GetJobName())]")
var/perpname = "wot"
if(istype(perp.wear_id,/obj/item/weapon/card/id))
perpname = perp.wear_id:registered
else if(istype(perp.wear_id,/obj/item/device/pda))
var/obj/item/device/pda/tempPda = perp.wear_id
perpname = tempPda.owner
for (var/datum/data/record/E in data_core.general)
if (E.fields["name"] == perpname)
for (var/datum/data/record/R in data_core.security)
if ((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "*Arrest*"))
C.images += image(tempHud,perp,"hudwanted")
break
else if((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "Incarcerated"))
C.images += image(tempHud,perp,"hudprisoner")
break
else
C.images += image(tempHud,perp,"hudunknown")
for(var/obj/item/weapon/implant/I in perp)
if(I.implanted)
if(istype(I,/obj/item/weapon/implant/tracking))
C.images += image(tempHud,perp,"hud_imp_tracking")
if(istype(I,/obj/item/weapon/implant/loyalty))
C.images += image(tempHud,perp,"hud_imp_loyal")
@@ -7,11 +7,16 @@
allow_reagents = 0
proc
trigger(emote, source as mob)
activate()
implanted(source as mob)
get_data()
trigger()
trigger(emote, source as mob)
return
activate()
return
@@ -81,30 +86,6 @@ ID (1-100):
<A href='byond://?src=\ref[src];tracking_id=10'>+</A><BR>"}
return dat
Topic(href, href_list)
..()
if (usr.stat)
return
var/obj/item/weapon/implantpad/IP = (locate(/obj/item/weapon/implantpad) in usr)
if(IP)
if(IP.case)
if(IP.case.imp == src)
usr.machine = src
if (href_list["id"])
src.id += text2num(href_list["id"])
src.id = min(100, src.id)
src.id = max(1, src.id)
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)
src.add_fingerprint(usr)
return
usr << browse(null, "window=implantpad")
return
/obj/item/weapon/implant/explosive
@@ -126,6 +107,11 @@ ID (1-100):
return dat
activate(var/cause)
if((!cause) || (!src.imp_in)) return 0
//explode here
/obj/item/weapon/implant/chem
name = "chem"
@@ -158,10 +144,10 @@ the implant may become unstable and either pre-maturely inject the subject or si
R.my_atom = src
trigger(var/number = 0)
if((!number) || (!src.imp_in)) return 0
activate(var/cause)
if((!cause) || (!src.imp_in)) return 0
var/mob/living/carbon/R = src.imp_in
src.reagents.trans_to(R, number)
src.reagents.trans_to(R, cause)
R << "You hear a faint *beep*."
if(!src.reagents.total_volume)
R << "You hear a faint click from your chest."
@@ -41,11 +41,12 @@
else
health_text = "[round(src.occupant.health,0.1)]"
var/dat = {"<B>Implanter Status</B><BR>
<B>Current occupant:</B> [src.occupant ? "<BR>Name: [src.occupant]<BR>Health: [health_text]<BR>" : "<FONT color=red>None</FONT>"]<BR>
<B>Implants:</B> [src.implant_list.len ? "[implant_list.len]" : "<A href='?src=\ref[src];replenish=1'>Replenish</A>"]<BR>
[src.ready ? "<A href='?src=\ref[src];implant=1'>Implant</A>" : "Recharging"]<BR>
"}
var/dat ="<B>Implanter Status</B><BR>"
dat +="<B>Current occupant:</B> [src.occupant ? "<BR>Name: [src.occupant]<BR>Health: [health_text]<BR>" : "<FONT color=red>None</FONT>"]<BR>"
dat += "<B>Implants:</B> [src.implant_list.len ? "[implant_list.len]" : "<A href='?src=\ref[src];replenish=1'>Replenish</A>"]<BR>"
if(src.occupant)
dat += "[src.ready ? "<A href='?src=\ref[src];implant=1'>Implant</A>" : "Recharging"]<BR>"
user.machine = src
user << browse(dat, "window=implant")
onclose(user, "implant")
@@ -54,11 +55,12 @@
Topic(href, href_list)
if((get_dist(src, usr) <= 1) || istype(usr, /mob/living/silicon/ai))
if(href_list["implant"])
injecting = 1
go_out()
ready = 0
spawn(injection_cooldown)
ready = 1
if(src.occupant)
injecting = 1
go_out()
ready = 0
spawn(injection_cooldown)
ready = 1
if(href_list["replenish"])
ready = 0
@@ -74,17 +74,17 @@
onclose(user, "implantpad")
return
/*
Topic(href, href_list)
..()
if (usr.stat)
return
if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))))
if ((usr.contents.Find(src)) || ((in_range(src, usr) && istype(src.loc, /turf))))
usr.machine = src
if (href_list["id"])
if (href_list["tracking_id"])
if ((istype(src.case, /obj/item/weapon/implantcase) && istype(src.case.imp, /obj/item/weapon/implant/tracking)))
var/obj/item/weapon/implant/tracking/T = src.case.imp
T.id += text2num(href_list["id"])
T.id += text2num(href_list["tracking_id"])
T.id = min(100, T.id)
T.id = max(1, T.id)
if (istype(src.loc, /mob))
@@ -98,4 +98,4 @@
else
usr << browse(null, "window=implantpad")
return
return*/
return
+2 -2
View File
@@ -36,13 +36,13 @@
name = "Void Jetpack (oxygen)"
desc = "It works well in a void."
icon_state = "voidjetpack0"
item_state = "jetpack"
item_state = "jetpack-void"
/obj/item/weapon/tank/jetpack/black_jetpack
name = "Black Jetpack (oxygen)"
desc = "A black model of jetpacks."
icon_state = "black_jetpack0"
item_state = "black_jetpack"
item_state = "jetpack-black"
/obj/item/weapon/tank/oxygen
name = "Gas Tank (Oxygen)"