Merge branch 'incremental_tg' r5067 into bs12_with_tgport

removed extraneous admin attack messages, temporarily disabled much moderator stuff (will be re-enabled in future updates)

Conflicts:
	baystation12.dme
	code/__HELPERS/type2type.dm
	code/controllers/configuration.dm
	code/datums/datumvars.dm
	code/datums/helper_datums/getrev.dm
	code/defines/obj.dm
	code/game/gamemodes/events/black_hole.dm
	code/game/gamemodes/events/space_ninja.dm
	code/game/gamemodes/wizard/rightandwrong.dm
	code/game/jobs/job/captain.dm
	code/game/jobs/job/job.dm
	code/game/jobs/job_controller.dm
	code/game/machinery/bots/medbot.dm
	code/game/machinery/computer/card.dm
	code/game/machinery/telecomms/traffic_control.dm
	code/game/machinery/turrets.dm
	code/game/machinery/wishgranter.dm
	code/game/objects/items/blueprints.dm
	code/game/objects/items/devices/uplinks.dm
	code/game/objects/items/stacks/stack.dm
	code/game/objects/items/weapons/surgery_tools.dm
	code/game/turfs/turf.dm
	code/game/verbs/ooc.dm
	code/global.dm
	code/modules/admin/IsBanned.dm
	code/modules/admin/admin.dm
	code/modules/admin/admin_memo.dm
	code/modules/admin/admin_verbs.dm
	code/modules/admin/holder2.dm
	code/modules/admin/player_panel.dm
	code/modules/admin/verbs/adminpm.dm
	code/modules/admin/verbs/diagnostics.dm
	code/modules/assembly/igniter.dm
	code/modules/client/client defines.dm
	code/modules/client/client procs.dm
	code/modules/clothing/spacesuits/miscellaneous.dm
	code/modules/clothing/suits/armor.dm
	code/modules/clothing/suits/jobs.dm
	code/modules/mining/mine_turfs.dm
	code/modules/mob/living/carbon/human/say.dm
	code/modules/mob/living/carbon/human/update_icons.dm
	code/modules/mob/living/living.dm
	code/modules/mob/living/living_defense.dm
	code/modules/mob/living/silicon/robot/emote.dm
	code/modules/mob/living/silicon/robot/life.dm
	code/modules/mob/mob_cleanup.dm
	code/modules/mob/new_player/new_player.dm
	code/modules/mob/new_player/preferences.dm
	code/modules/paperwork/paper.dm
	code/modules/paperwork/photocopier.dm
	code/modules/projectiles/guns/projectile/automatic.dm
	code/modules/reagents/Chemistry-Machinery.dm
	code/setup.dm
	code/stylesheet.dm
	code/world.dm
	config/admins.txt
	config/config.txt
	html/changelog.html
	icons/mob/items_lefthand.dmi
	icons/mob/items_righthand.dmi
	icons/mob/suit.dmi
	icons/obj/clothing/suits.dmi
	icons/turf/areas.dmi

Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
This commit is contained in:
Cael_Aislinn
2012-12-28 14:13:11 +10:00
341 changed files with 17940 additions and 16947 deletions
@@ -92,3 +92,18 @@
icon_state = "75"
ammo_type = "/obj/item/ammo_casing/a75"
max_ammo = 0
/obj/item/ammo_magazine/a762
name = "magazine (a762)"
icon_state = "a762-50"
origin_tech = "combat=2"
ammo_type = "/obj/item/ammo_casing/a762"
max_ammo = 50
multiple_sprites = 1
/obj/item/ammo_magazine/a762/empty
name = "magazine (a762)"
icon_state = "a762-0"
ammo_type = "/obj/item/ammo_casing/a762"
max_ammo = 0
multiple_sprites = 1
@@ -88,4 +88,9 @@
desc = "A dart for use in shotguns."
icon_state = "dart"
projectile_type = "/obj/item/projectile/energy/dart"
m_amt = 12500
m_amt = 12500
/obj/item/ammo_casing/a762
desc = "A 7.62 bullet casing."
caliber = "a762"
projectile_type = "/obj/item/projectile/bullet"
@@ -63,3 +63,118 @@
if(empty_mag)
overlays += "c20r-[round(loaded.len,4)]"
return
/obj/item/weapon/gun/projectile/automatic/l6_saw
name = "L6 SAW"
w_class = 4
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"
item_state = "l6closedmag"
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
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/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/proc/drop_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.loc = get_turf(src.loc)
empty_mag = null
/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
/* The thing I found with guns in ss13 is that they don't seem to simulate the rounds in the magazine in the gun.
Afaik, since projectile.dm features a revolver, this would make sense since the magazine is part of the gun.
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 */
+2 -8
View File
@@ -82,25 +82,19 @@
var/distance = get_dist(original,loc)
def_zone = ran_zone(def_zone, 100-(5*distance)) //Lower accurancy/longer range tradeoff.
if(silenced)
M << "\red You've been shot in the [def_zone] by the [src.name]!"
M << "\red You've been shot in the [parse_zone(def_zone)] by the [src.name]!"
else
visible_message("\red [A.name] is hit by the [src.name] in the [def_zone]!")//X has fired Y is now given by the guns so you cant tell who shot you if you could not see the shooter
visible_message("\red [A.name] is hit by the [src.name] in the [parse_zone(def_zone)]!")//X has fired Y is now given by the guns so you cant tell who shot you if you could not see the shooter
if(istype(firer, /mob))
M.attack_log += "\[[time_stamp()]\] <b>[firer]/[firer.ckey]</b> shot <b>[M]/[M.ckey]</b> with a <b>[src.type]</b>"
firer.attack_log += "\[[time_stamp()]\] <b>[firer]/[firer.ckey]</b> shot <b>[M]/[M.ckey]</b> with a <b>[src.type]</b>"
log_attack("<font color='red'>[firer] ([firer.ckey]) shot [M] ([M.ckey]) with a [src.type]</font>")
log_admin("ATTACK: [firer] ([firer.ckey]) shot [M] ([M.ckey]) with a [src.type]")
msg_admin_attack("ATTACK: [firer] ([firer.ckey]) shot [M] ([M.ckey]) with a [src.type]") //BS12 EDIT ALG
else
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.type]</font>")
log_admin("ATTACK: UNKNOWN shot [M] ([M.ckey]) with a [src]")
msg_admin_attack("ATTACK: UNKNOWN shot [M] ([M.ckey]) with a [src.type]") //BS12 EDIT ALG
spawn(0)
if(A)
var/permutation = A.bullet_act(src, def_zone) // searches for return value
@@ -43,4 +43,7 @@
damage = 5
stun = 10
weaken = 10
stutter = 10
stutter = 10
/obj/item/projectile/bullet/a762
damage = 25