Merge branch 'incremental_tg' r5200 into bs12_with_tgport

Conflicts:
	baystation12.dme
	code/__HELPERS/global_lists.dm
	code/__HELPERS/type2type.dm
	code/__HELPERS/unsorted.dm
	code/datums/datumvars.dm
	code/datums/disease.dm
	code/datums/organs/organ_external.dm
	code/datums/supplypacks.dm
	code/defines/obj.dm
	code/game/area/areas.dm
	code/game/atoms.dm
	code/game/gamemodes/cult/cult_structures.dm
	code/game/gamemodes/cult/runes.dm
	code/game/gamemodes/events.dm
	code/game/gamemodes/events/ninja_equipment.dm
	code/game/gamemodes/events/space_ninja.dm
	code/game/gamemodes/game_mode.dm
	code/game/gamemodes/gameticker.dm
	code/game/hud.dm
	code/game/jobs/access.dm
	code/game/jobs/job/civilian.dm
	code/game/machinery/alarm.dm
	code/game/machinery/cloning.dm
	code/game/machinery/computer/cloning.dm
	code/game/machinery/computer/medical.dm
	code/game/machinery/computer/syndicate_shuttle.dm
	code/game/machinery/telecomms/broadcaster.dm
	code/game/machinery/telecomms/machine_interactions.dm
	code/game/objects/effects/decals/contraband.dm
	code/game/objects/effects/signs.dm
	code/game/objects/items/devices/PDA/PDA.dm
	code/game/objects/items/devices/PDA/cart.dm
	code/game/objects/items/weapons/photography.dm
	code/game/objects/structures/door_assembly.dm
	code/game/objects/structures/window.dm
	code/game/sound.dm
	code/game/verbs/ooc.dm
	code/global.dm
	code/modules/DetectiveWork/detective_work.dm
	code/modules/DetectiveWork/evidence.dm
	code/modules/DetectiveWork/footprints_and_rag.dm
	code/modules/DetectiveWork/scanner.dm
	code/modules/admin/player_panel.dm
	code/modules/admin/verbs/adminhelp.dm
	code/modules/admin/verbs/adminpm.dm
	code/modules/awaymissions/gateway.dm
	code/modules/client/client defines.dm
	code/modules/client/client procs.dm
	code/modules/client/preferences.dm
	code/modules/clothing/spacesuits/rig.dm
	code/modules/mining/machine_processing.dm
	code/modules/mining/machine_stacking.dm
	code/modules/mining/mint.dm
	code/modules/mining/ores_coins.dm
	code/modules/mining/satchel_ore_boxdm.dm
	code/modules/mob/living/carbon/alien/alien.dm
	code/modules/mob/living/carbon/carbon.dm
	code/modules/mob/living/carbon/carbon_defines.dm
	code/modules/mob/living/carbon/human/human_damage.dm
	code/modules/mob/living/carbon/human/life.dm
	code/modules/mob/living/carbon/human/update_icons.dm
	code/modules/mob/living/living.dm
	code/modules/mob/living/say.dm
	code/modules/mob/mob.dm
	code/modules/mob/mob_cleanup.dm
	code/modules/mob/mob_defines.dm
	code/modules/mob/mob_transformation_simple.dm
	code/modules/mob/new_player/login.dm
	code/modules/mob/new_player/new_player.dm
	code/modules/mob/new_player/preferences_setup.dm
	code/modules/mob/new_player/savefile.dm
	code/modules/mob/new_player/sprite_accessories.dm
	code/modules/paperwork/folders.dm
	code/modules/paperwork/paper.dm
	code/modules/paperwork/photocopier.dm
	code/modules/projectiles/guns/energy/special.dm
	code/modules/projectiles/guns/projectile/automatic.dm
	code/setup.dm
	code/unused/mining/datum_processing_recipe.dm
	code/unused/powerarmor/powerarmor.dm
	code/world.dm
	html/changelog.html
	icons/effects/96x96.dmi
	icons/mob/head.dmi
	icons/mob/items_lefthand.dmi
	icons/mob/items_righthand.dmi
	icons/mob/suit.dmi
	icons/obj/clothing/hats.dmi
	icons/obj/clothing/suits.dmi
	icons/obj/hydroponics.dmi
	icons/obj/items.dmi
	icons/turf/areas.dmi
	icons/turf/walls.dmi
	maps/RandomZLevels/fileList.txt
	maps/RandomZLevels/spacebattle.dmm

Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
This commit is contained in:
Cael_Aislinn
2013-01-07 00:23:22 +10:00
338 changed files with 21863 additions and 19941 deletions
+12 -2
View File
@@ -32,6 +32,16 @@
multiple_sprites = 1
/obj/item/ammo_magazine/mc9mm
name = "magazine (9mm)"
icon_state = "9x19p"
origin_tech = "combat=2"
ammo_type = "/obj/item/ammo_casing/c9mm"
max_ammo = 8
multiple_sprites = 1
/obj/item/ammo_magazine/mc9mm/empty
max_ammo = 0
/obj/item/ammo_magazine/c9mm
name = "Ammunition Box (9mm)"
@@ -95,7 +105,7 @@
/obj/item/ammo_magazine/a762
name = "magazine (a762)"
icon_state = "a762-50"
icon_state = "a762"
origin_tech = "combat=2"
ammo_type = "/obj/item/ammo_casing/a762"
max_ammo = 50
@@ -103,7 +113,7 @@
/obj/item/ammo_magazine/a762/empty
name = "magazine (a762)"
icon_state = "a762-0"
icon_state = "a762"
ammo_type = "/obj/item/ammo_casing/a762"
max_ammo = 0
multiple_sprites = 1
@@ -10,9 +10,6 @@
charge_cost = 100
projectile_type = "/obj/item/projectile/ion"
isHandgun()
return 0
/obj/item/weapon/gun/energy/ionrifle/emp_act(severity)
if(severity <= 2)
power_supply.use(round(power_supply.maxcharge / severity))
@@ -20,7 +17,6 @@
else
return
/obj/item/weapon/gun/energy/decloner
name = "biological demolecularisor"
desc = "A gun that discharges high amounts of controlled radiation to slowly break a target into component elements."
@@ -30,9 +26,6 @@
charge_cost = 100
projectile_type = "/obj/item/projectile/energy/declone"
isHandgun()
return 0
obj/item/weapon/gun/energy/staff
name = "staff of change"
desc = "An artefact that spits bolts of coruscating energy which cause the target's very form to reshape itself"
@@ -66,12 +59,10 @@ obj/item/weapon/gun/energy/staff
charge_tick = 0
if(!power_supply) return 0
power_supply.give(200)
update_icon()
return 1
isHandgun()
return 0
update_icon()
return
/obj/item/weapon/gun/energy/floragun
name = "floral somatoray"
desc = "A tool that discharges controlled radiation which induces mutation in plant cells."
@@ -1,7 +1,7 @@
/obj/item/weapon/gun/projectile/automatic //Hopefully someone will find a way to make these fire in bursts or something. --Superxpdude
name = "Submachine Gun"
name = "submachine gun"
desc = "A lightweight, fast firing gun. Uses 9mm rounds."
icon_state = "saber"
icon_state = "saber" //ugly
w_class = 3.0
max_shells = 18
caliber = "9mm"
@@ -13,11 +13,11 @@
/obj/item/weapon/gun/projectile/automatic/mini_uzi
name = "Mini-Uzi"
name = "Uzi"
desc = "A lightweight, fast firing gun, for when you want someone dead. Uses .45 rounds."
icon_state = "mini-uzi"
w_class = 3.0
max_shells = 20
max_shells = 16
caliber = ".45"
origin_tech = "combat=5;materials=2;syndicate=8"
ammo_type = "/obj/item/ammo_casing/c45"
@@ -27,7 +27,7 @@
/obj/item/weapon/gun/projectile/automatic/c20r
name = "C-20r SMG"
name = "\improper C-20r SMG"
desc = "A lightweight, fast firing gun, for when you REALLY need someone dead. Uses 12mm rounds. Has a 'Scarborough Arms - Per falcis, per pravitas' buttstamp"
icon_state = "c20r"
item_state = "c20r"
@@ -59,116 +59,81 @@
update_icon()
..()
overlays = null
if(empty_mag)
overlays += "c20r-[round(loaded.len,4)]"
icon_state = "c20r-[round(loaded.len,4)]"
else
icon_state = "c20r"
return
/obj/item/weapon/gun/projectile/automatic/l6_saw
name = "L6 SAW"
w_class = 4
name = "\improper L6 SAW"
desc = "A rather traditionally made light machine gun with a pleasantly lacquered wooden pistol grip. Has 'Aussec Armoury- 2531' engraved on the reciever"
icon_state = "l4closed100"
icon_state = "l6closed100"
item_state = "l6closedmag"
w_class = 4
slot_flags = 0
max_shells = 50
caliber = "a762"
origin_tech = "combat=5;materials=1;syndicate=2"
ammo_type = "/obj/item/ammo_casing/a762"
fire_sound = 'sound/weapons/Gunshot_smg.ogg'
load_method = 2
//recoil = 1
recoil = 1
var/cover_open = 0
var/mag_inserted = 1
attack_self(mob/user as mob)
if(!cover_open && mag_inserted)
cover_open = 1
icon_state = "l4open[round(((loaded.len)*2),25)]"
item_state = "l6openmag"
usr << "You open the [src]'s cover, allowing you to swap magazines."
else if(cover_open && mag_inserted)
cover_open = 0
icon_state = "l4closed[round(((loaded.len)*2),25)]"
item_state = "l6closedmag"
usr << "You close the [src]'s cover."
else if(!cover_open && !mag_inserted)
cover_open = 1
icon_state = "l4opennomag"
item_state = "l6opennomag"
usr << "You open the [src]'s cover, allowing you to swap magazines."
else if(cover_open && !mag_inserted)
cover_open = 0
icon_state = "l4closednomag"
item_state = "l6closednomag"
usr << "You close the [src]'s cover."
update_icon() //another update_icon() thing here, I know it's repeated in afterattack() but this one also takes into account cover_open
if(!cover_open)
icon_state = "l4closed[round(((loaded.len)*2),25)]"
item_state = "l6closedmag"
else
icon_state = "l4open[round(((loaded.len)*2),25)]"
item_state = "l6openmag"
//update_inv_l_hand()
//update_inv_r_hand()
afterattack(atom/target as mob|obj|turf, mob/living/user as mob|obj, flag, params) //what I tried to do here is just add a check to see if the cover is open or not and add an icon_state change because I can't figure out how c-20rs do it with overlays
if(cover_open)
usr << "The SAW cover is open! Close it before firing!"
else
..()
if(!cover_open && mag_inserted)
icon_state = "l4closed[round(((loaded.len)*2),25)]"
item_state = "l6closedmag"
else if(!cover_open && !mag_inserted)
icon_state = "l4closednomag"
item_state = "l6nomag"
//update_inv_l_hand()
//update_inv_r_hand()
/obj/item/weapon/gun/projectile/automatic/l6_saw/attack_self(mob/user as mob)
cover_open = !cover_open
user << "<span class='notice'>You [cover_open ? "open" : "close"] [src]'s cover.</span>"
update_icon()
/obj/item/weapon/gun/projectile/automatic/l6_saw/verb/remove_magazine()
set category = "Object"
set name = "Remove SAW magazine."
set src in view(1)
var/mob/M = usr
if(usr.canmove && !usr.stat && !usr.restrained() && !M.paralysis && ! M.stunned)
if(!cover_open)
usr << "The [src]'s cover is closed! You can't remove the magazine!"
else if (!cover_open && !mag_inserted)
usr << "The [src]'s cover is open but there's no magazine for you to remove!"
else if (cover_open && mag_inserted)
drop_mag()
loaded = list()
mag_inserted = 0
icon_state = "l4opennomag"
item_state = "l6opennomag"
usr << "You remove the magazine from the [src]!"
//update_inv_l_hand()
//update_inv_r_hand()
/obj/item/weapon/gun/projectile/automatic/l6_saw/update_icon()
icon_state = "l6[cover_open ? "open" : "closed"][mag_inserted ? round(loaded.len, 25) : "-empty"]"
/obj/item/weapon/gun/projectile/automatic/l6_saw/proc/drop_mag()
/obj/item/weapon/gun/projectile/automatic/l6_saw/afterattack(atom/target as mob|obj|turf, mob/living/user as mob|obj, flag, params) //what I tried to do here is just add a check to see if the cover is open or not and add an icon_state change because I can't figure out how c-20rs do it with overlays
if(cover_open)
user << "<span class='notice'>[src]'s cover is open! Close it before firing!</span>"
else
..()
update_icon()
/obj/item/weapon/gun/projectile/automatic/l6_saw/attack_hand(mob/user as mob)
if(loc != user)
..()
return //let them pick it up
if(!cover_open || (cover_open && !mag_inserted))
..()
else if(cover_open && mag_inserted)
//drop the mag
empty_mag = new /obj/item/ammo_magazine/a762(src)
empty_mag.stored_ammo = loaded
empty_mag.icon_state = "a762-[round((loaded.len),10)]"
//desc = "There are [loaded] shells left!"
empty_mag.icon_state = "a762-[round(loaded.len, 10)]"
empty_mag.desc = "There are [loaded.len] shells left!"
empty_mag.loc = get_turf(src.loc)
user.put_in_hands(empty_mag)
empty_mag = null
mag_inserted = 0
loaded = list()
update_icon()
user << "<span class='notice'>You remove the magazine from [src].</span>"
/obj/item/weapon/gun/projectile/automatic/l6_saw/attackby(var/obj/item/A as obj, mob/user as mob)
if(!cover_open)
usr << "The [src]'s cover is closed! You can't insert a new mag!"
else if (cover_open && mag_inserted)
usr << "The [src] already has a magazine inserted!"
else if (cover_open && !mag_inserted)
mag_inserted = 1
usr << "You insert the magazine!"
icon_state = "l4openmag[round(((loaded.len)*2),25)]"
item_state = "l6openmag"
update_icon()
..()
//update_inv_l_hand() something pete suggested. Dunno if this is a proc already defined way up in the obj/ thing
//update_inv_r_hand() or if it's something I have to define myself
/obj/item/weapon/gun/projectile/automatic/l6_saw/attackby(var/obj/item/A as obj, mob/user as mob)
if(!cover_open)
user << "<span class='notice'>[src]'s cover is closed! You can't insert a new mag!</span>"
return
else if(cover_open && mag_inserted)
user << "<span class='notice'>[src] already has a magazine inserted!</span>"
return
else if(cover_open && !mag_inserted)
mag_inserted = 1
user << "<span class='notice'>You insert the magazine!</span>"
update_icon()
..()
/* The thing I found with guns in ss13 is that they don't seem to simulate the rounds in the magazine in the gun.
@@ -176,5 +141,4 @@
However, it looks like subsequent guns that use removable magazines don't take that into account and just get
around simulating a removable magazine by adding the casings into the loaded list and spawning an empty magazine
when the gun is out of rounds. Which means you can't eject magazines with rounds in them. The below is a very
rough and poor attempt at making that happen. -Ausops */
rough and poor attempt at making that happen. -Ausops */
@@ -1,5 +1,5 @@
/obj/item/weapon/gun/projectile/silenced
name = "Silenced Pistol"
name = "silenced pistol"
desc = "A small, quiet, easily concealable gun. Uses .45 rounds."
icon_state = "silenced_pistol"
w_class = 3.0
@@ -12,7 +12,7 @@
/obj/item/weapon/gun/projectile/deagle
name = "Desert Eagle"
name = "desert eagle"
desc = "A robust handgun that uses .50 AE ammo"
icon_state = "deagle"
force = 14.0
@@ -37,7 +37,6 @@
return
/obj/item/weapon/gun/projectile/deagle/gold
name = "Desert Eagle"
desc = "A gold plated gun folded over a million times by superior martian gunsmiths. Uses .50 AE ammo."
icon_state = "deagleg"
item_state = "deagleg"
@@ -45,7 +44,6 @@
/obj/item/weapon/gun/projectile/deagle/camo
name = "Desert Eagle"
desc = "A Deagle brand Deagle for operators operating operationally. Uses .50 AE ammo."
icon_state = "deaglecamo"
item_state = "deagleg"
@@ -53,7 +51,7 @@
/obj/item/weapon/gun/projectile/gyropistol
name = "Gyrojet Pistol"
name = "gyrojet pistol"
desc = "A bulky pistol designed to fire self propelled rounds"
icon_state = "gyropistol"
max_shells = 8
@@ -84,4 +82,71 @@
icon_state = "gyropistolloaded"
else
icon_state = "gyropistol"
return
return
/obj/item/weapon/gun/projectile/pistol
name = "\improper Stechtkin pistol"
desc = "A small, easily concealable gun. Uses 9mm rounds."
icon_state = "pistol"
w_class = 2
max_shells = 8
caliber = "9mm"
silenced = 0
origin_tech = "combat=2;materials=2;syndicate=2"
ammo_type = "/obj/item/ammo_casing/c9mm"
load_method = 2
/obj/item/weapon/gun/projectile/pistol/New()
..()
empty_mag = new /obj/item/ammo_magazine/mc9mm/empty(src)
return
/obj/item/weapon/gun/projectile/pistol/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, flag)
..()
if(!loaded.len && empty_mag)
empty_mag.loc = get_turf(src.loc)
empty_mag = null
return
/obj/item/weapon/gun/projectile/pistol/attack_hand(mob/user as mob)
if(loc == user)
if(silenced)
if(user.l_hand != src && user.r_hand != src)
..()
return
user << "<span class='notice'>You unscrew [silenced] from [src].</span>"
user.put_in_hands(silenced)
silenced = 0
w_class = 2
update_icon()
return
..()
/obj/item/weapon/gun/projectile/pistol/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I, /obj/item/weapon/silencer))
if(user.l_hand != src && user.r_hand != src) //if we're not in his hands
user << "<span class='notice'>You'll need [src] in your hands to do that.</span>"
return
user.drop_item()
user << "<span class='notice'>You screw [I] onto [src].</span>"
silenced = I //dodgy?
w_class = 3
I.loc = src //put the silencer into the gun
update_icon()
return
..()
/obj/item/weapon/gun/projectile/pistol/update_icon()
..()
if(silenced)
icon_state = "pistol-silencer"
else
icon_state = "pistol"
/obj/item/weapon/silencer
name = "silencer"
desc = "a silencer"
icon = 'icons/obj/gun.dmi'
icon_state = "silencer"
w_class = 2
+1 -1
View File
@@ -108,7 +108,7 @@ var/list/beam_master = list()
/obj/item/projectile/beam/emitter
name = "emitter beam"
icon_state = "emitter"
damage = 30
/obj/item/projectile/beam/lastertag/blue