Updated the barman's shotgun, it acts like a double-barrel now, and he can saw it off.

Added Khodoque's new shotgun sprites.

Added my new gasmask sprites. Removed emergency gasmasks, as the distinction is non-existent.

Very slightly reshuffled some mask stuff around, but it's still godawful.
Medical masks are now /obj/item/clothing/mask/breath/medical

Removed the define for HALFMASK, as it was completely unused.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3493 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
petethegoat@gmail.com
2012-04-22 03:18:17 +00:00
parent 7ee873c4e3
commit f91dfe2e0d
21 changed files with 125 additions and 46 deletions

View File

@@ -1,4 +1,6 @@
// MASK WAS THAT MOVIE WITH THAT GUY WITH THE MESSED UP FACE. WHAT'S HIS NAME . . . JIM CARREY, I THINK.
//why is this up here -Pete
//also: please someone make this less terrible, why are things that work with internals not all under one parent, why why why why why whyyyyyyyyyyyyyyy
/obj/item/clothing/mask
name = "mask"
@@ -12,24 +14,20 @@
name = "breath mask"
icon_state = "breath"
item_state = "breath"
flags = FPRINT | TABLEPASS | SUITSPACE | HEADSPACE | MASKCOVERSMOUTH | HALFMASK
flags = FPRINT | TABLEPASS | SUITSPACE | HEADSPACE | MASKCOVERSMOUTH
w_class = 2
protective_temperature = 420
heat_transfer_coefficient = 0.90
gas_transfer_coefficient = 0.10
permeability_coefficient = 0.50
/obj/item/clothing/mask/medical
/obj/item/clothing/mask/breath/medical
desc = "A close-fitting sterile mask that can be connected to an air supply."
name = "medical mask"
icon_state = "medical"
item_state = "medical"
flags = FPRINT|TABLEPASS|SUITSPACE|HEADSPACE|MASKCOVERSMOUTH
w_class = 3
protective_temperature = 420
gas_transfer_coefficient = 0.10
permeability_coefficient = 0.10
//WHY DOES THIS EXIST
/obj/item/clothing/mask/spiderman
desc = "A mask of Deadpool!"
name = "\improper Deadpool mask"
@@ -61,14 +59,15 @@
permeability_coefficient = 0.05
armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 75, rad = 0)
//This now uses the alt sprites, like the emergency gasmask. -Pete
/obj/item/clothing/mask/gas
name = "gas mask"
desc = "A face-covering mask that can be connected to an air supply."
icon_state = "gas_mask"
icon_state = "gas_alt"
flags = FPRINT|TABLEPASS|SUITSPACE|MASKCOVERSMOUTH|MASKCOVERSEYES
w_class = 3.0
see_face = 0.0
item_state = "gas_mask"
item_state = "gas_alt"
protective_temperature = 500
heat_transfer_coefficient = 0.01
gas_transfer_coefficient = 0.01
@@ -80,13 +79,13 @@
icon_state = "plaguedoctor"
item_state = "gas_mask"
armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 75, rad = 0)
/*
/obj/item/clothing/mask/gas/emergency
name = "emergency gas mask"
desc = "A face-covering mask that can be connected to an air supply. For use in emergencies."
icon_state = "gas_alt"
item_state = "gas_alt"
*/
/obj/item/clothing/mask/gas/swat
name = "\improper SWAT mask"
desc = "A close-fitting tactical mask that can be connected to an air supply."
@@ -100,7 +99,6 @@
/obj/item/clothing/mask/gas/voice
name = "gas mask"
//desc = "A face-covering mask that can be connected to an air supply. It seems to house some odd electronics."
icon_state = "gas_mask"
var/mode = 0// 0==Scouter | 1==Night Vision | 2==Thermal | 3==Meson
var/voice = "Unknown"
var/vchange = 0//This didn't do anything before. It now checks if the mask has special functions/N
@@ -143,6 +141,7 @@
icon_state = "sexymime"
item_state = "sexymime"
//WHY IS THIS A GASMASK
/obj/item/clothing/mask/gas/fakemoustache
name = "fake moustache"
desc = "Warning: moustache is fake."

View File

@@ -44,7 +44,7 @@
if("cannon")
new /obj/item/weapon/gun/energy/lasercannon(get_turf(H))
if("shotgun")
new /obj/item/weapon/gun/projectile/shotgun/combat(get_turf(H))
new /obj/item/weapon/gun/projectile/shotgun/pump/combat(get_turf(H))
if("freeze")
new /obj/item/weapon/gun/energy/temperature(get_turf(H))
if("uzi")

View File

@@ -21,7 +21,7 @@
H.equip_if_possible(new /obj/item/clothing/suit/armor/hos(H), H.slot_wear_suit)
H.equip_if_possible(new /obj/item/clothing/gloves/black(H), H.slot_gloves)
H.equip_if_possible(new /obj/item/clothing/head/helmet/HoS(H), H.slot_head)
H.equip_if_possible(new /obj/item/clothing/mask/gas/emergency(H), H.slot_wear_mask)
H.equip_if_possible(new /obj/item/clothing/mask/gas(H), H.slot_wear_mask)
H.equip_if_possible(new /obj/item/clothing/glasses/sunglasses/sechud(H), H.slot_glasses)
H.equip_if_possible(new /obj/item/weapon/gun/energy/gun(H), H.slot_s_store)
if(H.backbag == 1)
@@ -60,7 +60,7 @@
H.equip_if_possible(new /obj/item/clothing/head/helmet/warden(H), H.slot_head)
H.equip_if_possible(new /obj/item/clothing/gloves/black(H), H.slot_gloves)
H.equip_if_possible(new /obj/item/clothing/glasses/sunglasses/sechud(H), H.slot_glasses)
H.equip_if_possible(new /obj/item/clothing/mask/gas/emergency(H), H.slot_wear_mask)
H.equip_if_possible(new /obj/item/clothing/mask/gas(H), H.slot_wear_mask)
H.equip_if_possible(new /obj/item/device/flash(H), H.slot_l_store)
if(H.backbag == 1)
H.equip_if_possible(new /obj/item/weapon/storage/box/survival(H), H.slot_r_hand)

View File

@@ -44,9 +44,9 @@
new /obj/item/weapon/tank/anesthetic(src)
new /obj/item/weapon/tank/anesthetic(src)
new /obj/item/weapon/tank/anesthetic(src)
new /obj/item/clothing/mask/medical(src)
new /obj/item/clothing/mask/medical(src)
new /obj/item/clothing/mask/medical(src)
new /obj/item/clothing/mask/breath/medical(src)
new /obj/item/clothing/mask/breath/medical(src)
new /obj/item/clothing/mask/breath/medical(src)
return

View File

@@ -453,7 +453,7 @@
malf_picker.use(src)
//I am the icon meister. Bow fefore me.
//I am the icon meister. Bow fefore me. //>fefore
/mob/living/silicon/ai/proc/ai_hologram_change()
set name = "Change Hologram"
set desc = "Change the default hologram available to AI to something else."

View File

@@ -29,7 +29,7 @@
return
/obj/item/weapon/folder/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(istype(W, /obj/item/weapon/paper))
if(istype(W, /obj/item/weapon/paper) || istype(W, /obj/item/weapon/photo))
user.drop_item()
W.loc = src
user << "\blue You put the [W] into the folder."
@@ -46,6 +46,8 @@
for(var/obj/item/weapon/paper/P in src)
dat += "<A href='?src=\ref[src];remove=\ref[P]'>Remove</A> - <A href='?src=\ref[src];read=\ref[P]'>[P.name]</A><BR>"
for(var/obj/item/weapon/photo/Ph in src)
dat += "<A href='?src=\ref[src];remove=\ref[Ph]'>Remove</A> - [Ph.name]<BR>"
user << browse(dat, "window=folder")
onclose(user, "folder")
add_fingerprint(usr)

View File

@@ -50,5 +50,5 @@
update_icon()
if(multiple_sprites)
icon_state = text("[initial(icon_state)]-[]", stored_ammo.len)
desc = text("There are [] shell\s left!", stored_ammo.len)
icon_state = "[initial(icon_state)]-[stored_ammo.len]"
desc = "There are [stored_ammo.len] shell\s left!"

View File

@@ -19,6 +19,7 @@
caliber = ""
silenced = 0
recoil = 0
ejectshell = 1
proc
load_into_chamber()

View File

@@ -29,6 +29,7 @@
var/obj/item/ammo_casing/AC = loaded[1] //load next casing.
loaded -= AC //Remove casing from loaded list.
AC.loc = get_turf(src) //Eject casing onto ground.
AC.desc += " This one is spent." //descriptions are magic
if(AC.BB)
in_chamber = AC.BB //Load projectile into chamber.
@@ -63,13 +64,14 @@
loaded += AC
num_loaded++
if(num_loaded)
user << text("\blue You load [] shell\s into the gun!", num_loaded)
user << "\blue You load [num_loaded] shell\s into the gun!"
A.update_icon()
update_icon()
return
update_icon()
desc = initial(desc) + text(" Has [] rounds remaining.", loaded.len)
examine()
..()
usr << "Has [loaded.len] round\s remaining."
return

View File

@@ -1,13 +1,14 @@
/obj/item/weapon/gun/projectile/shotgun
/obj/item/weapon/gun/projectile/shotgun/pump
name = "shotgun"
desc = "Useful for sweeping alleys."
icon_state = "shotgun"
max_shells = 2
item_state = "shotgun"
max_shells = 4
w_class = 4.0
force = 10
flags = FPRINT | TABLEPASS | CONDUCT | USEDELAY | ONBACK
caliber = "shotgun"
origin_tech = "combat=3;materials=1"
origin_tech = "combat=4;materials=2"
ammo_type = "/obj/item/ammo_casing/shotgun/beanbag"
var
recentpump = 0 // to prevent spammage
@@ -29,7 +30,7 @@
return
proc/pump(mob/M)
proc/pump(mob/M as mob)
playsound(M, 'shotgunpump.ogg', 60, 1)
pumped = 0
if(current_shell)//We have a shell in the chamber
@@ -43,20 +44,79 @@
current_shell = AC
if(AC.BB)
in_chamber = AC.BB //Load projectile into chamber.
update_icon() //I.E. fix the desc
return 1
/obj/item/weapon/gun/projectile/shotgun/combat
/obj/item/weapon/gun/projectile/shotgun/pump/combat
name = "combat shotgun"
icon_state = "cshotgun"
max_shells = 8
origin_tech = "combat=5;materials=2"
ammo_type = "/obj/item/ammo_casing/shotgun"
//this is largely hacky and bad :( -Pete
/obj/item/weapon/gun/projectile/shotgun/doublebarrel
name = "double-barreled shotgun"
desc = "A true classic."
icon_state = "dshotgun"
item_state = "shotgun"
max_shells = 2
w_class = 4.0
force = 10
flags = FPRINT | TABLEPASS | CONDUCT | USEDELAY | ONBACK
caliber = "shotgun"
origin_tech = "combat=3;materials=1"
ammo_type = "/obj/item/ammo_casing/shotgun/beanbag"
load_into_chamber()
if(!loaded.len) return 0
/obj/item/weapon/gun/projectile/shotgun/combat2
name = "security combat shotgun"
icon_state = "cshotgun"
max_shells = 4
var/obj/item/ammo_casing/AC = loaded[1] //load next casing.
loaded -= AC //Remove casing from loaded list.
AC.desc += " This one is spent."
if(AC.BB)
in_chamber = AC.BB //Load projectile into chamber.
AC.BB.loc = src //Set projectile loc to gun.
return 1
return 0
attack_self(mob/living/user as mob)
if(!(locate(/obj/item/ammo_casing/shotgun) in src) && !loaded.len)
user << "<span class='notice'>\The [src] is empty.</span>"
return
for(var/obj/item/ammo_casing/shotgun/shell in src) //This feels like a hack. //don't code at 3:30am kids!!
if(shell in loaded)
loaded -= shell
shell.loc = get_turf(src.loc)
user << "<span class='notice'>You break \the [src].</span>"
update_icon()
attackby(var/obj/item/A as obj, mob/user as mob)
if(istype(A, /obj/item/ammo_casing) && !load_method)
var/obj/item/ammo_casing/AC = A
if(AC.caliber == caliber && (loaded.len < max_shells) && (contents.len < max_shells)) //forgive me father, for i have sinned
user.drop_item()
AC.loc = src
loaded += AC
user << "<span class='notice'>You load a shell into \the [src]!</span>"
A.update_icon()
update_icon()
if(istype(A, /obj/item/weapon/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/pickaxe/plasmacutter))
user << "<span class='notice'>You begin to shorten the barrel of \the [src].</span>"
if(loaded.len)
afterattack(user, user) //will this work?
playsound(user, fire_sound, 50, 1)
user.visible_message("<span class='danger'>The shotgun goes off!</span>", "<span class='danger'>The shotgun goes off in your face!</span>")
return
if(do_after(user, 30)) //SHIT IS STEALTHY EYYYYY
icon_state = "sawnshotgun"
w_class = 3.0
item_state = "gun"
flags &= ~ONBACK //you can't sling it on your back
flags |= ONBELT //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally)
name = "sawn-off shotgun"
desc = "Omar's coming!"
user << "<span class='warning'>You shorten the barrel of \the [src]!</span>"

View File

@@ -76,12 +76,12 @@
else
M << "\red You've been shot!"
if(istype(firer, /mob))
M.attack_log += text("\[[]\] <b>[]/[]</b> shot <b>[]/[]</b> with a <b>[]</b>", time_stamp(), firer, firer.ckey, M, M.ckey, src)
firer.attack_log += text("\[[]\] <b>[]/[]</b> shot <b>[]/[]</b> with a <b>[]</b>", time_stamp(), firer, firer.ckey, M, M.ckey, src)
M.attack_log += "\[[time_stamp()]\] <b>[firer]/[firer.ckey]</b> shot <b>[M]/[M.ckey]</b> with a <b>[src]</b>"
firer.attack_log += "\[[time_stamp()]\] <b>[firer]/[firer.ckey]</b> shot <b>[M]/[M.ckey]</b> with a <b>[src]</b>"
log_attack("<font color='red'>[firer] ([firer.ckey]) shot [M] ([M.ckey]) with a [src]</font>")
else
M.attack_log += text("\[[]\] <b>UNKNOWN SUBJECT (No longer exists)</b> shot <b>[]/[]</b> with a <b>[]</b>", time_stamp(), M, M.ckey, src)
M.attack_log += "\[[time_stamp()]\] <b>UNKNOWN SUBJECT (No longer exists)</b> shot <b>[M]/[M.ckey]</b> with a <b>[src]</b>"
log_attack("<font color='red'>UNKNOWN shot [M] ([M.ckey]) with a [src]</font>")

View File

@@ -101,7 +101,12 @@ var/MAX_EXPLOSION_RANGE = 14
//FLAGS BITMASK
#define ONBACK 1 // can be put in back slot
#define TABLEPASS 2 // can pass by a table or rack
#define HALFMASK 4 // mask only gets 1/2 of air supply from internals
/********************************************************************************
* WOO WOO WOO THIS IS UNUSED WOO WOO WOO *
* #define HALFMASK 4 // mask only gets 1/2 of air supply from internals *
* WOO WOO WOO THIS IS UNUSED WOO WOO WOO *
********************************************************************************/
#define HEADSPACE 4 // head wear protects against space

View File

@@ -94,16 +94,26 @@ should be listed in the changelog upon commit tho. Thanks. -->
<!-- To take advantage of the pretty new format (well it was new when I wrote this anyway), open the "add-to-changelog.html" file in any browser and add the stuff and then generate the html code and paste it here -->
<div class="commit sansserif">
<h2 class="date">21 April 2012</h2>
<h2 class="date">Sunday, April 22nd</h2>
<h3 class="author">Petethegoat updated:</h3>
<ul class="changes bgimages16">
<li class="imageadd">New gasmask sprites. Removed emergency gasmasks, so there's only one type now.</li>
<li class="imageadd">New shotgun sprites by Khodoque!</li>
<li class="rscadd">The barman's double-barrel actually works like a double-barrel instead of a pump-action! Rejoice!</li>
<li class="wip">Sneaky barmen may be able to illegally modify their shotgun, if they so choose.</li>
</ul>
</div>
<div class="commit sansserif">
<h2 class="date">Saturday, April 21st</h2>
<h3 class="author">Errorage updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Maintenance door outside of tech storage now requires maintenance OR tech storage access instead of maintenance AND robotics accesses.</li>
</ul>
</div>
<div class="commit sansserif">
<h2 class="date">19 April 2012</h2>
<h2 class="date">Thursday, April 19th</h2>
<h3 class="author">Carn updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Rewrote the cinematic system to try and simplify and optimise it. Please report any bugs asap to me or coderbus, thanks.</li>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View File

@@ -188,8 +188,8 @@
"adF" = (/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/security/range)
"adG" = (/obj/item/weapon/wrench,/obj/machinery/flasher/portable,/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/security/warden)
"adH" = (/obj/machinery/flasher/portable,/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/security/warden)
"adI" = (/obj/structure/rack,/obj/item/clothing/mask/gas/emergency{pixel_x = 3; pixel_y = 3},/obj/item/clothing/mask/gas/emergency,/obj/item/clothing/mask/gas/emergency{pixel_x = -3; pixel_y = -3},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/warden)
"adJ" = (/obj/structure/rack,/obj/item/clothing/mask/gas/emergency{pixel_x = 3; pixel_y = 3},/obj/item/clothing/mask/gas/emergency,/obj/item/clothing/mask/gas/emergency{pixel_x = -3; pixel_y = -3},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/warden)
"adI" = (/obj/structure/rack,/obj/item/clothing/mask/gas{pixel_x = 3; pixel_y = 3},/obj/item/clothing/mask/gas,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/warden)
"adJ" = (/obj/structure/rack,/obj/item/clothing/mask/gas{pixel_x = 3; pixel_y = 3},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/warden)
"adK" = (/obj/structure/table,/obj/item/weapon/storage/lockbox/loyalty,/obj/item/weapon/storage/chemimp_kit{pixel_x = 4; pixel_y = 3},/obj/item/weapon/storage/trackimp_kit,/turf/simulated/floor,/area/security/warden)
"adL" = (/obj/structure/table,/obj/machinery/recharger,/turf/simulated/floor,/area/security/warden)
"adM" = (/obj/machinery/light,/obj/structure/table,/obj/machinery/recharger,/turf/simulated/floor,/area/security/warden)
@@ -3560,7 +3560,7 @@
"bqx" = (/obj/machinery/door/window/southright{name = "Stage"},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/bar)
"bqy" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/unary/vent_pump{dir = 0; on = 1; text = "A"},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/bar)
"bqz" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/bar)
"bqA" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/projectile/shotgun{layer = 4},/obj/item/weapon/packageWrap,/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
"bqA" = (/obj/structure/table/reinforced,/obj/item/weapon/packageWrap,/obj/item/weapon/gun/projectile/shotgun/doublebarrel,/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
"bqB" = (/obj/structure/table,/obj/item/weapon/storage/diskbox{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/gl_kit,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
"bqC" = (/obj/structure/closet/secure_closet/medical3{pixel_x = 5},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/medical/medbay)
"bqD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)