Finished pepperspray, added mace item, improved security console, and a few other things. Will know when I see the diffs.

This commit is contained in:
SkyMarshal
2011-12-18 00:23:02 -07:00
parent a0298c0477
commit fc3914364f
13 changed files with 160 additions and 38 deletions
+2 -2
View File
@@ -175,7 +175,7 @@
/obj/item/weapon/storage/gl_kit
name = "Prescription Glasses"
desc = "This box contains nerd glasses."
desc = "This box contains vision correcting glasses."
icon_state = "glasses"
item_state = "syringe_kit"
@@ -213,7 +213,7 @@
/obj/item/weapon/storage/trackimp_kit
name = "Tracking Implant Kit"
desc = "Box full of scum-bag tracking utensils."
desc = "Box full of tracking utensils."
icon_state = "implant"
item_state = "syringe_kit"
+20 -3
View File
@@ -443,8 +443,8 @@
data = "Clown Land"
/obj/item/weapon/card/emag
desc = "It's a card with a magnetic strip attached to some circuitry."
name = "cryptographic sequencer"
desc = "An identification card. No shit. Seems to have some funny chip on it, though."
name = "identification card"
icon_state = "emag"
item_state = "card-id"
origin_tech = "magnets=2;syndicate=2"
@@ -525,7 +525,7 @@
throw_range = 10
origin_tech = "combat=3;materials=3;engineering=3"
/obj/item/weapon/pepperspray
/obj/item/weapon/pepperspray //This is riot control
desc = "Manufactred by UhangInc., used to blind and down an opponent quickly."
icon = 'weapons.dmi'
name = "pepperspray"
@@ -537,6 +537,23 @@
throw_speed = 2
throw_range = 10
var/catch = 1
var/BottleSize = 1
var/ReagentAmount = 30
/obj/item/weapon/pepperspray/small //And this is for personal defense.
desc = "This appears to be a small, nonlethal, single use personal defense weapon. Hurts like a bitch, though."
icon = 'weapons.dmi'
name = "mace"
icon_state = "pepperspray"
item_state = "pepperspray"
flags = ONBELT|TABLEPASS|OPENCONTAINER|FPRINT|USEDELAY
throwforce = 3
w_class = 1.0
throw_speed = 2
throw_range = 10
catch = 1
BottleSize = 0
ReagentAmount = 1
/obj/item/weapon/clipboard
name = "clipboard"
+5 -3
View File
@@ -73,16 +73,18 @@
H.equip_if_possible(new /obj/item/clothing/shoes/brown(H), H.slot_shoes)
H.equip_if_possible(new /obj/item/device/pda/detective(H), H.slot_belt)
H.equip_if_possible(new /obj/item/clothing/head/det_hat(H), H.slot_head)
var/obj/item/clothing/mask/cigarette/CIG = new /obj/item/clothing/mask/cigarette(H)
/* var/obj/item/clothing/mask/cigarette/CIG = new /obj/item/clothing/mask/cigarette(H)
CIG.light("")
H.equip_if_possible(CIG, H.slot_wear_mask)
H.equip_if_possible(CIG, H.slot_wear_mask) */
//Fuck that thing. --SkyMarshal
H.equip_if_possible(new /obj/item/clothing/gloves/black(H), H.slot_gloves)
H.equip_if_possible(new /obj/item/weapon/storage/fcard_kit(H.back), H.slot_in_backpack)
H.equip_if_possible(new /obj/item/weapon/fcardholder(H), H.slot_in_backpack)
H.equip_if_possible(new /obj/item/clothing/suit/det_suit(H), H.slot_wear_suit)
H.equip_if_possible(new /obj/item/device/detective_scanner(H), H.slot_in_backpack)
H.equip_if_possible(new /obj/item/weapon/zippo(H), H.slot_l_store)
H.equip_if_possible(new /obj/item/weapon/reagent_containers/food/snacks/candy_corn(H), H.slot_h_store)
// H.equip_if_possible(new /obj/item/weapon/reagent_containers/food/snacks/candy_corn(H), H.slot_h_store)
// No... just no. --SkyMarshal
var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
L.imp_in = H
L.implanted = 1
+29 -3
View File
@@ -18,10 +18,36 @@
if(1.0)
dat += text("<A href='?src=\ref[];choice=Search Records'>Search Records</A><BR>\n<A href='?src=\ref[];choice=List Records'>List Records</A><BR>\n<A href='?src=\ref[];choice=Search Fingerprints'>Search Fingerprints</A><BR>\n<A href='?src=\ref[];choice=New Record (General)'>New General Record</A><BR>\n<BR>\n<A href='?src=\ref[];choice=Record Maintenance'>Record Maintenance</A><BR>\n<A href='?src=\ref[];choice=Log Out'>{Log Out}</A><BR>\n", src, src, src, src, src, src)
if(2.0)
dat += "<B>Record List</B>:<HR>"
dat += {"<B>Record List</B>:<HR>
<table style="text-align:center;" border="1" cellspacing="0">
<tr>
<th>Name (ID#)</th>
<th>Rank</th>
<th>Fingerprints</th>
<th>Criminal Status</th>
</tr>"}
for(var/datum/data/record/R in data_core.general)
dat += text("<A href='?src=\ref[];choice=Browse Record;d_rec=\ref[]'>[]: []<BR>", src, R, R.fields["id"], R.fields["name"])
dat += text("<HR><A href='?src=\ref[];choice=Return'>Back</A>", src)
var/crimstat = ""
for(var/datum/data/record/E in data_core.security)
if ((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"]))
crimstat = E.fields["criminal"]
var/background
switch(crimstat)
if("*Arrest*")
background = "'background-color:#DC143C;'"
if("Incarcerated")
background = "'background-color:#CD853F;'"
if("Parolled")
background = "'background-color:#CD853F;'"
if("Released")
background = "'background-color:#3BB9FF;'"
if("None")
background = "'background-color:#00FF7F;'"
dat += text("<tr style=[]><td><A href='?src=\ref[];choice=Browse Record;d_rec=\ref[]'>[] (ID:[])</a></td>", background, src, R, R.fields["name"], R.fields["id"])
dat += text("<td>[]</td>", R.fields["rank"])
dat += text("<td>[]</td>", R.fields["fingerprint"])
dat += text("<td>[]</td></tr>", crimstat)
dat += text("</table><br><HR><A href='?src=\ref[];choice=Return'>Back</A>", src)
if(3.0)
dat += text("<B>Records Maintenance</B><HR>\n<A href='?src=\ref[];choice=Delete All Records'>Delete All Records</A><BR>\n<BR>\n<A href='?src=\ref[];choice=Return'>Back</A>", src, src)
if(4.0)
@@ -134,6 +134,7 @@
new /obj/item/weapon/fcardholder(src)
new /obj/item/weapon/clipboard(src)
new /obj/item/device/detective_scanner(src)
new /obj/item/weapon/pepperspray/small(src)
return
@@ -15,13 +15,13 @@ MOP
/obj/item/weapon/cleaner/attack_self(var/mob/user as mob)
if(catch)
user << "\blue You flip the safety on."
catch = 1
return
else
user << "\blue You flip the safety off."
catch = 0
return
else
user << "\blue You flip the safety on."
catch = 1
return
/obj/item/weapon/cleaner/afterattack(atom/A as mob|obj, mob/user as mob)
if (istype(A, /obj/item/weapon/storage ))
@@ -178,26 +178,26 @@ MOP
return
//Crowd control pepper spray, for Hawkie
//Pepper spray, set up to make the 2 different types
/obj/item/weapon/pepperspray/New()
var/datum/reagents/R = new/datum/reagents(30)
var/datum/reagents/R = new/datum/reagents(ReagentAmount)
reagents = R
R.my_atom = src
R.add_reagent("condensedcapsaicin", 30)
R.add_reagent("condensedcapsaicin", ReagentAmount)
/obj/item/weapon/pepperspray/attack(mob/living/carbon/human/M as mob, mob/user as mob)
return
/obj/item/weapon/pepperspray/attack_self(var/mob/user as mob)
if(catch)
user << "\blue You flip the safety on."
catch = 1
return
else
user << "\blue You flip the safety off."
catch = 0
return
else
user << "\blue You flip the safety on."
catch = 1
return
/obj/item/weapon/pepperspray/afterattack(atom/A as mob|obj, mob/user as mob)
if (istype(A, /obj/item/weapon/storage ))
@@ -205,8 +205,8 @@ MOP
if (istype(A, /obj/effect/proc_holder/spell ))
return
else if (istype(A, /obj/structure/reagent_dispensers/peppertank) && get_dist(src,A) <= 1)
if(src.reagents.total_volume < 30)
A.reagents.trans_to(src, 30 - src.reagents.total_volume)
if(src.reagents.total_volume < ReagentAmount)
A.reagents.trans_to(src, ReagentAmount - src.reagents.total_volume)
user << "\blue Pepper spray refilled"
playsound(src.loc, 'refill.ogg', 50, 1, -6)
return
@@ -221,14 +221,23 @@ MOP
return
playsound(src.loc, 'spray2.ogg', 50, 1, -6)
var/Sprays[3]
for(var/i=1, i<=3, i++) // intialize sprays
var/SprayNum = 0 //Setting up the differentiation for the 2 bottles. --SkyMarshal
var/SprayAmt = 0
if(BottleSize)
SprayNum = 3
SprayAmt = 5
else
SprayNum = 1
SprayAmt = 1
var/Sprays[SprayNum]
for(var/i=1, i<=SprayNum, i++) // intialize sprays
if(src.reagents.total_volume < 1) break
var/obj/effect/decal/D = new/obj/effect/decal(get_turf(src))
D.name = "chemicals"
D.icon = 'chempuff.dmi'
D.create_reagents(5)
src.reagents.trans_to(D, 5)
D.create_reagents(SprayAmt)
src.reagents.trans_to(D, SprayAmt)
var/rgbcolor[3]
var/finalcolor
@@ -263,11 +272,23 @@ MOP
var/obj/effect/decal/D = Sprays[i]
if(!D) continue
var/turf/my_target = null
// Spreads the sprays a little bit
var/turf/my_target = pick(the_targets)
if(i == 1)
my_target = T
else
my_target = pick(the_targets)
the_targets -= my_target
for(var/j=1, j<=rand(6,8), j++)
var/Dist = 0
if(BottleSize)
Dist = rand(6,8)
else
Dist = rand(2,3)
for(var/j=1, j<=Dist, j++)
step_towards(D, my_target)
D.reagents.reaction(get_turf(D))
for(var/atom/t in get_turf(D))
@@ -287,9 +308,14 @@ MOP
/obj/item/weapon/pepperspray/examine()
set src in usr
usr << text("\icon[] [] units of pepperspray left!", src, src.reagents.total_volume)
..()
return
if(BottleSize)
usr << text("\icon[] [] units of pepperspray left!", src, src.reagents.total_volume)
..()
return
else
usr << text("\icon[] [] use(s) remaining!", src, src.reagents.total_volume)
..()
return
// MOP
+35
View File
@@ -727,6 +727,40 @@
alert("You cannot perform this action. You must be of a higher administrative rank!", null, null, null, null, null)
return
if (href_list["defense"])
if ((src.rank in list( "Trial Admin", "Badmin", "Game Admin", "Game Master" )))
var/mob/living/M = locate(href_list["defense"])
if (isliving(M) && istype(M, /mob/living/carbon/human))
var/mob/living/carbon/human/H = M
switch(alert("Shall they be equipped with a flash or mace?",,"Flash","Mace", "Cancel"))
if("Flash")
if(!H.s_store)
H.equip_if_possible(new /obj/item/device/flash(H), H.slot_l_store)
else if(!H.s_store)
H.equip_if_possible(new /obj/item/device/flash(H), H.slot_s_store)
else
alert("The target lacked an open pocket.", null, null, null, null, null)
return
if("Mace")
if(!H.s_store)
H.equip_if_possible(new /obj/item/weapon/pepperspray/small(H), H.slot_l_store)
else if(!H.s_store)
H.equip_if_possible(new /obj/item/weapon/pepperspray/small(H), H.slot_s_store)
else
alert("The target lacked an open pocket.", null, null, null, null, null)
return
if("Cancel")
return
message_admins("\red Admin [key_name_admin(usr)] gave [key_name_admin(M)] something to defend themselves!", 1)
log_admin("[key_name(usr)] defensified [key_name(M)]")
return
else
alert("This action can only be performed on living humans.", null, null, null, null, null)
return
else
alert("You cannot perform this action. You must be of a higher administrative rank!", null, null, null, null, null)
return
if (href_list["makeai"]) //Yes, im fucking lazy, so what? it works ... hopefully
if (src.level>=3)
var/mob/M = locate(href_list["makeai"])
@@ -1774,6 +1808,7 @@
foo += text("<A HREF='?src=\ref[src];sendtoprison=\ref[M]'>Prison</A> | ")
// foo += text("<A HREF='?src=\ref[src];sendtomaze=\ref[M]'>Maze</A> | ")
foo += text("<A HREF='?src=\ref[src];revive=\ref[M]'>Heal/Revive</A> | ")
foo += text("<A HREF='?src=\ref[src];defense=\ref[M]'>Defensize</A> | ")
else
foo += text("<B>Hasn't Entered Game</B> | ")
foo += text("<A href='?src=\ref[src];forcespeech=\ref[M]'>Forcesay</A> | ")
+1 -1
View File
@@ -1714,7 +1714,7 @@ datum
M:emote("scream")
M << "\red You're sprayed directly in the eyes with pepperspray!"
M.eye_blurry = max(M.eye_blurry, 60)
M.eye_blind = max(M.eye_blind, 16)
M.eye_blind = max(M.eye_blind, 12)
M:weakened = max(M:weakened, 20)
M.drop_item()
+1 -1
View File
@@ -2740,7 +2740,7 @@
icon_state = "peppertank"
anchored = 1
density = 0
amount_per_transfer_from_this = 45
amount_per_transfer_from_this = 30
New()
..()
reagents.add_reagent("condensedcapsaicin",1000)
@@ -528,7 +528,7 @@
if (emptyHand)
ears.DblClick()
return
if (!( istype(W, /obj/item/clothing/ears) ) && !( istype(W, /obj/item/device/radio/headset) ))
if ((!istype(W, /obj/item) || W.w_class > 1 || w_uniform) && !(istype(W, /obj/item/device/radio/headset)))
return
u_equip(W)
ears = W
+16
View File
@@ -0,0 +1,16 @@
abi79 - Game Master
arcalane - Game Admin
cacophony - Game Admin
cajoes - Game Admin
cib - Game Master
compactninja - Game Master
hawk_v3 - Game Admin
headswe - Game Master
iaryni - Game Master
masterofapples - Game Admin
megacaesar - Game Admin
miniature - Game Master
misterfox - Game Admin
mloc - Game Master
spaceman96 - Game Admin
uristqwerty - Game Master
+1 -2
View File
@@ -5,8 +5,7 @@ cajoes - Game Admin
cib - Game Master
compactninja - Game Master
hawk_v3 - Game Admin
headswe - Game Master
iaryni - Game Master
skymarshal - Game Master
masterofapples - Game Admin
megacaesar - Game Admin
miniature - Game Master
Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB