Merge pull request #194 from SamCroswell/master

Nukeops Weapons Rework
This commit is contained in:
ZomgPonies
2014-05-04 15:43:03 -04:00
8 changed files with 74 additions and 25 deletions
+46 -1
View File
@@ -182,12 +182,42 @@ var/list/uplink_items = list()
item = /obj/item/weapon/gun/projectile/revolver
cost = 6
/datum/uplink_item/dangerous/smg
name = "C-20r Submachine Gun"
desc = "A fully-loaded Scarborough Arms-developed submachine gun that fires 12mm automatic rounds with a 20-round magazine."
item = /obj/item/weapon/gun/projectile/automatic/c20r
cost = 6
gamemodes = list("nuclear emergency")
/datum/uplink_item/dangerous/machinegun
name = "L6 Squad Automatic Weapon"
desc = "A traditionally constructed machine gun made by AA-2531. This deadly weapon has a massive 50-round magazine of 7.62×51mm ammunition."
item = /obj/item/weapon/gun/projectile/automatic/l6_saw
cost = 10
gamemodes = list("nuclear emergency")
/datum/uplink_item/dangerous/ammo
name = "Ammo-357"
desc = "Seven additional rounds for the revolver. Reports indicate the presence of machinery aboard Nanotrasen space stations suitable for producing extra .357 cartridges."
item = /obj/item/ammo_box/a357
cost = 2
/datum/uplink_item/ammo/smg
name = "Ammo-12mm"
desc = "A 20-round 12mm magazine for use in the C-20r submachine gun."
item = /obj/item/ammo_box/magazine/m12mm
cost = 1
gamemodes = list("nuclear emergency")
/datum/uplink_item/ammo/machinegun
name = "Ammo-7.62×51mm"
desc = "A 50-round magazine of 7.62×51mm ammunition for use in the L6 SAW machinegun. By the time you need to use this, you'll already be on a pile of corpses."
item = /obj/item/ammo_box/magazine/m762
cost = 3
gamemodes = list("nuclear emergency")
/datum/uplink_item/dangerous/crossbow
name = "Energy Crossbow"
desc = "A miniature energy crossbow that is small enough both to fit into a pocket and to slip into a backpack unnoticed by observers. Fires bolts tipped with toxin, a poisonous substance that is the product of a living organism. Stuns enemies for a short period of time. Recharges automatically."
@@ -236,6 +266,12 @@ var/list/uplink_items = list()
item = /obj/item/weapon/cartridge/syndicate
cost = 3
/datum/uplink_item/stealthy_weapons/silencer
name = "Stetchkin Silencer"
desc = "Fitted for use on the Stetchkin pistol, this silencer will make its shots quieter when equipped onto it."
item = /obj/item/weapon/silencer
cost = 1
gamemodes = list("nuclear emergency")
// STEALTHY TOOLS
@@ -291,6 +327,15 @@ var/list/uplink_items = list()
item = /obj/item/weapon/storage/toolbox/syndicate
cost = 1
/datum/uplink_item/device_tools/medkit
name = "Syndicate Medical Supply Kit"
desc = "A basic medical kit for treating injuries in the field."
item = /obj/item/weapon/storage/firstaid/adv
cost = 3
gamemodes = list("nuclear emergency")
/datum/uplink_item/device_tools/space_suit
name = "Space Suit"
desc = "The red syndicate space suit is less encumbering than Nanotrasen variants, fits inside bags, and has a weapon slot. Nanotrasen crewmembers are trained to report red space suit sightings."
@@ -436,4 +481,4 @@ var/list/uplink_items = list()
var/datum/uplink_item/I = pick(possible_items)
U.uses -= max(0, I.cost)
feedback_add_details("traitor_uplink_items_bought","RN")
return new I.item(loc)
return new I.item(loc)
+4 -3
View File
@@ -219,10 +219,11 @@ proc/issyndicate(mob/living/M as mob)
if(synd_mob.backbag == 2) synd_mob.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(synd_mob), slot_back)
if(synd_mob.backbag == 3) synd_mob.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_norm(synd_mob), slot_back)
if(synd_mob.backbag == 4) synd_mob.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(synd_mob), slot_back)
synd_mob.equip_to_slot_or_del(new /obj/item/ammo_box/magazine/m12mm(synd_mob), slot_in_backpack)
synd_mob.equip_to_slot_or_del(new /obj/item/ammo_box/magazine/m12mm(synd_mob), slot_in_backpack)
synd_mob.equip_to_slot_or_del(new /obj/item/ammo_box/magazine/m10mm(synd_mob), slot_in_backpack)
synd_mob.equip_to_slot_or_del(new /obj/item/ammo_box/magazine/m10mm(synd_mob), slot_in_backpack)
synd_mob.equip_to_slot_or_del(new /obj/item/ammo_box/magazine/m10mm(synd_mob), slot_in_backpack)
synd_mob.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/pill/cyanide(synd_mob), slot_in_backpack)
synd_mob.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/automatic/c20r(synd_mob), slot_belt)
synd_mob.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/automatic/pistol(synd_mob), slot_belt)
synd_mob.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(synd_mob.back), slot_in_backpack)
if(synd_mob.species)
+13 -11
View File
@@ -1,5 +1,3 @@
/obj/item/weapon/plastique
name = "plastic explosives"
desc = "Used to put holes in specific areas without too much extra hole."
@@ -7,7 +5,7 @@
icon = 'icons/obj/assemblies.dmi'
icon_state = "plastic-explosive0"
item_state = "plasticx"
flags = FPRINT | TABLEPASS | USEDELAY
flags = NOBLUDGEON
w_class = 2.0
origin_tech = "syndicate=2"
var/datum/wires/explosive/plastic/wires = null
@@ -62,6 +60,7 @@
timer = newtime
user << "Timer set for [timer] seconds."
/obj/item/weapon/plastique/afterattack(atom/target as obj|turf, mob/user as mob, flag)
if (!flag)
return
@@ -69,24 +68,27 @@
return
user << "Planting explosives..."
if(ismob(target))
user.attack_log += "\[[time_stamp()]\] <font color='red'> [user.real_name] tried planting [name] on [target:real_name] ([target:ckey])</font>"
msg_admin_attack("[user.real_name] ([user.ckey]) tried planting [name] on [target:real_name] ([target:ckey]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")
user.visible_message("\red [user.name] is trying to plant some kind of explosive on [target.name]!")
if(do_after(user, 50) && in_range(user, target))
user.drop_item()
src.target = target
loc = null
if (ismob(target))
var/mob/M = target
target:attack_log += "\[[time_stamp()]\]<font color='orange'> Had the [name] planted on them by [user.real_name] ([user.ckey])</font>"
add_logs(user, target, "planted [name] on")
user.visible_message("\red [user.name] finished planting an explosive on [target.name]!")
if(!iscarbon(user))
M.LAssailant = null
else
M.LAssailant = user
message_admins("[key_name(user, user.client)](<A HREF='?_src_=holder;adminmoreinfo=\ref[user]'>?</A>) planted C4 on [key_name(target)](<A HREF='?_src_=holder;adminmoreinfo=\ref[target]'>?</A>) with [timer] second fuse",0,1)
log_game("[key_name(user)] planted C4 on [key_name(target)] with [timer] second fuse")
else
message_admins("[key_name(user, user.client)](<A HREF='?_src_=holder;adminmoreinfo=\ref[user]'>?</A>) planted C4 on [target.name] at ([target.x],[target.y],[target.z] - <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[x];Y=[y];Z=[z]'>JMP</a>) with [timer] second fuse",0,1)
log_game("[key_name(user)] planted C4 on [target.name] at ([target.x],[target.y],[target.z]) with [timer] second fuse")
target.overlays += image('icons/obj/assemblies.dmi', "plastic-explosive2")
user << "Bomb has been planted. Timer counting down from [timer]."
spawn(timer*10)
@@ -99,7 +101,7 @@
if(!target)
target = src
if(location)
explosion(location, -1, -1, 2, 3)
explosion(location, -1, -1, 4, 4)
if(target)
if (istype(target, /turf/simulated/wall))
@@ -33,9 +33,6 @@
sleep(2)
new /obj/item/ammo_box/magazine/m12mm(src)
new /obj/item/ammo_box/magazine/m12mm(src)
new /obj/item/ammo_box/magazine/m12mm(src)
new /obj/item/ammo_box/magazine/m12mm(src)
new /obj/item/ammo_box/magazine/m12mm(src)
new /obj/item/weapon/storage/box/handcuffs(src)
new /obj/item/weapon/storage/box/flashbangs(src)
new /obj/item/weapon/gun/energy/gun(src)
@@ -46,7 +46,7 @@
/obj/item/ammo_casing/c10mm
desc = "A 10mm bullet casing."
caliber = "10mm"
projectile_type = "obj/item/projectile/bullet/midbullet10"
projectile_type = "/obj/item/projectile/bullet/midbullet10"
/obj/item/ammo_casing/a12mm
desc = "A 12mm bullet casing."
@@ -75,7 +75,7 @@
/obj/item/weapon/gun/projectile/automatic/pistol
name = "\improper Stechtkin pistol"
desc = "A small, easily concealable gun. Uses 9mm rounds."
desc = "A small, easily concealable gun. Uses 10mm rounds."
icon_state = "pistol"
w_class = 2
silenced = 0
@@ -90,6 +90,8 @@
return
user << "<span class='notice'>You unscrew [silenced] from [src].</span>"
user.put_in_hands(silenced)
var/obj/item/weapon/silencer/S = silenced
fire_sound = S.oldsound
silenced = 0
w_class = 2
update_icon()
@@ -105,6 +107,9 @@
user.drop_item()
user << "<span class='notice'>You screw [I] onto [src].</span>"
silenced = I //dodgy?
var/obj/item/weapon/silencer/S = I
S.oldsound = fire_sound
fire_sound = 'sound/weapons/Gunshot_silenced.ogg'
w_class = 3
I.loc = src //put the silencer into the gun
update_icon()
@@ -116,10 +121,10 @@
icon_state = "[initial(icon_state)][silenced ? "-silencer" : ""][chambered ? "" : "-e"]"
return
/obj/item/weapon/silencer
name = "silencer"
desc = "a silencer"
icon = 'icons/obj/gun.dmi'
icon_state = "silencer"
w_class = 2
w_class = 2
var/oldsound = 0 //Stores the true sound the gun made before it was silenced
@@ -46,10 +46,9 @@
/obj/item/projectile/bullet/midbullet12
damage = 20
damage = 25
stun = 5
weaken = 5
embed = 0
/obj/item/projectile/bullet/midbullet9
damage = 25
@@ -95,7 +94,7 @@
stutter = 10
/obj/item/projectile/bullet/a762
damage = 25
damage = 35
/obj/item/projectile/bullet/incendiary