Skip to content

Commit

Permalink
Updated the barman's shotgun, it acts like a double-barrel now, and h…
Browse files Browse the repository at this point in the history
…e 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
  • Loading branch information
petethegoat@gmail.com committed Apr 22, 2012
1 parent 7ee873c commit f91dfe2
Show file tree
Hide file tree
Showing 21 changed files with 125 additions and 46 deletions.
23 changes: 11 additions & 12 deletions code/defines/obj/clothing/mask.dm
Original file line number Diff line number Diff line change
@@ -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"
Expand All @@ -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"
Expand Down Expand Up @@ -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
Expand All @@ -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."
Expand All @@ -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
Expand Down Expand Up @@ -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."
Expand Down
2 changes: 1 addition & 1 deletion code/game/gamemodes/wizard/rightandwrong.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand Down
4 changes: 2 additions & 2 deletions code/game/jobs/job/security.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down
6 changes: 3 additions & 3 deletions code/game/objects/closets/secure/medical.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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


Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/silicon/ai/ai.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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."
Expand Down
4 changes: 3 additions & 1 deletion code/modules/paperwork/folders.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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."
Expand All @@ -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)
Expand Down
4 changes: 2 additions & 2 deletions code/modules/projectiles/ammunition.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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!"
1 change: 1 addition & 0 deletions code/modules/projectiles/gun.dm
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
caliber = ""
silenced = 0
recoil = 0
ejectshell = 1

proc
load_into_chamber()
Expand Down
8 changes: 5 additions & 3 deletions code/modules/projectiles/guns/projectile.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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

82 changes: 71 additions & 11 deletions code/modules/projectiles/guns/projectile/shotgun.dm
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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
Expand All @@ -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

var/obj/item/ammo_casing/AC = loaded[1] //load next casing.
loaded -= AC //Remove casing from loaded list.
AC.desc += " This one is spent."

/obj/item/weapon/gun/projectile/shotgun/combat2
name = "security combat shotgun"
icon_state = "cshotgun"
max_shells = 4
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>"
6 changes: 3 additions & 3 deletions code/modules/projectiles/projectile.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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>")


Expand Down
7 changes: 6 additions & 1 deletion code/setup.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
16 changes: 13 additions & 3 deletions html/changelog.html
Original file line number Diff line number Diff line change
Expand Up @@ -94,16 +94,26 @@ <h2>Changelog</h2>

<!-- 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>
Expand Down
Binary file modified icons/mob/back.dmi
Binary file not shown.
Binary file modified icons/mob/items_lefthand.dmi
Binary file not shown.
Binary file modified icons/mob/items_righthand.dmi
Binary file not shown.
Binary file modified icons/mob/mask.dmi
Binary file not shown.
Binary file modified icons/mob/monkey.dmi
Binary file not shown.
Binary file modified icons/obj/clothing/masks.dmi
Binary file not shown.
Binary file modified icons/obj/gun.dmi
Binary file not shown.
6 changes: 3 additions & 3 deletions maps/tgstation.2.0.8.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit f91dfe2

Please sign in to comment.