Merge pull request #7509 from paprka/gunstuff

Improves pulse guns, ERT, and centcomm areas
This commit is contained in:
Cheridan
2015-02-03 16:14:48 -06:00
24 changed files with 394 additions and 265 deletions
+1 -1
View File
@@ -1580,7 +1580,7 @@
else if(!ispath(path, /obj) && !ispath(path, /turf) && !ispath(path, /mob))
removed_paths += dirty_path
continue
else if(ispath(path, /obj/item/weapon/gun/energy/pulse_rifle))
else if(ispath(path, /obj/item/weapon/gun/energy/pulse))
if(!check_rights(R_FUN,0))
removed_paths += dirty_path
continue
+85 -16
View File
@@ -597,6 +597,7 @@ var/global/list/g_fancy_list_of_types = null
"assassin",
"mobster",
"death commando",
"emergency response officer",
"centcom official",
"centcom commander",
"special ops officer",
@@ -653,7 +654,7 @@ var/global/list/g_fancy_list_of_types = null
M.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(M), slot_wear_suit)
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/thunderdome(M), slot_head)
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse_rifle/destroyer(M), slot_r_hand)
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/destroyer(M), slot_r_hand)
M.equip_to_slot_or_del(new /obj/item/weapon/kitchenknife(M), slot_l_hand)
M.equip_to_slot_or_del(new /obj/item/weapon/grenade/smokebomb(M), slot_r_store)
@@ -820,7 +821,15 @@ var/global/list/g_fancy_list_of_types = null
equip_deathsquad(M)
if("emergency response officer")
equip_emergencyresponsesquad(M)
switch(input("Which class?") in list("Commander","Security","Engineer","Medical"))
if("Commander")
equip_emergencyresponsesquad(M, "commander")
if("Security")
equip_emergencyresponsesquad(M, "sec")
if("Engineer")
equip_emergencyresponsesquad(M, "eng")
if("Medic")
equip_emergencyresponsesquad(M, "med")
if("centcom official")
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform)
@@ -883,7 +892,7 @@ var/global/list/g_fancy_list_of_types = null
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/eyepatch(M), slot_glasses)
M.equip_to_slot_or_del(new /obj/item/clothing/mask/cigarette/cigar/havana(M), slot_wear_mask)
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/deathsquad/beret(M), slot_head)
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse_rifle/M1911(M), slot_belt)
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/pistol/m1911(M), slot_belt)
M.equip_to_slot_or_del(new /obj/item/weapon/lighter/zippo(M), slot_r_store)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(M), slot_back)
@@ -1090,7 +1099,7 @@ var/global/list/g_fancy_list_of_types = null
M.equip_to_slot_or_del(new /obj/item/weapon/tank/internals/emergency_oxygen(M), slot_s_store)
M.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/revolver/mateba(M), slot_belt)
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse_rifle(M), slot_r_hand)
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse(M), slot_r_hand)
var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(M)//Here you go Deuryn
@@ -1107,22 +1116,82 @@ var/global/list/g_fancy_list_of_types = null
M.equip_to_slot_or_del(W, slot_wear_id)
//Emergency Response Team
/proc/equip_emergencyresponsesquad(var/mob/living/carbon/human/M, var/officer)
/proc/equip_emergencyresponsesquad(var/mob/living/carbon/human/M, var/ertrole)
var/obj/item/device/radio/R = new /obj/item/device/radio/headset(M)
R.set_frequency(1441)
M.equip_to_slot_or_del(R, slot_ears)
if(officer)
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/ert(M), slot_wear_suit)
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform)
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(M), slot_shoes)
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
// M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/captain(M), slot_back)
M.equip_to_slot_or_del(new /obj/item/weapon/card/id/ert(M), slot_wear_id)
else
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform)
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(M), slot_shoes)
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
switch(ertrole)
if("commander")
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform)
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(M), slot_shoes)
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/ert(M), slot_wear_suit)
M.equip_to_slot_or_del(new /obj/item/weapon/card/id/ert(M), slot_wear_id)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/captain(M), slot_back)
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/eyepatch(M), slot_glasses)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/hardsuit/ert(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/sechailer/swat(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/pistol/loyalpin(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/security/full(M), slot_belt)
M.equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword/saber(M), slot_l_store)
if("sec")
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform)
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(M), slot_shoes)
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/ert/sec(M), slot_wear_suit)
M.equip_to_slot_or_del(new /obj/item/weapon/card/id/ert/Security(M), slot_wear_id)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(M), slot_back)
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/security/sunglasses(M), slot_glasses)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/handcuffs(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/hardsuit/ert/sec(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/sechailer/swat(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/carbine/loyalpin(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/security/full(M), slot_belt)
if("med")
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform)
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(M), slot_shoes)
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/ert/med(M), slot_wear_suit)
M.equip_to_slot_or_del(new /obj/item/weapon/card/id/ert/Medical(M), slot_wear_id)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/medic(M), slot_back)
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(M), slot_glasses)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/hardsuit/ert/med(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/sechailer/swat(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/hypospray/combat/nanites(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/pistol/loyalpin(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/medical(M), slot_belt)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/regular(M), slot_r_hand)
if("eng")
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform)
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(M), slot_shoes)
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/ert/engi(M), slot_wear_suit)
M.equip_to_slot_or_del(new /obj/item/weapon/card/id/ert/Engineer(M), slot_wear_id)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/industrial(M), slot_back)
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/meson(M), slot_glasses)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/hardsuit/ert/engi(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/sechailer/swat(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/rcd/combat(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/pistol/loyalpin(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/full(M), slot_belt)
M.equip_to_slot_or_del(new /obj/item/weapon/rcd_ammo/large(M), slot_l_store)
var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(M)
L.imp_in = M
+13 -6
View File
@@ -467,12 +467,19 @@ client/proc/one_click_antag()
var/mob/living/carbon/human/ERTOperative = new(spawnloc)
chosen_candidate.client.prefs.copy_to(ERTOperative)
ready_dna(ERTOperative)
if(numagents == 1) //If Squad Leader
ERTOperative.real_name = "Commander [pick(ERTOperative.real_name)]"
equip_emergencyresponsesquad(ERTOperative, 1)
else
ERTOperative.real_name = "Officer [pick(ERTOperative.real_name)]"
equip_emergencyresponsesquad(ERTOperative)
switch(numagents)
if(1)
ERTOperative.real_name = "Commander [pick(ERTOperative.real_name)]"
equip_emergencyresponsesquad(ERTOperative, "commander")
if(2 || 5)
ERTOperative.real_name = "Officer [pick(ERTOperative.real_name)]"
equip_emergencyresponsesquad(ERTOperative, "sec")
if(3 || 6)
ERTOperative.real_name = "Officer [pick(ERTOperative.real_name)]"
equip_emergencyresponsesquad(ERTOperative, "med")
if(4 || 7)
ERTOperative.real_name = "Officer [pick(ERTOperative.real_name)]"
equip_emergencyresponsesquad(ERTOperative, "eng")
ERTOperative.key = chosen_candidate.key
ERTOperative.mind.assigned_role = "ERT"
@@ -152,7 +152,7 @@
item_state = "ert_command"
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals)
armor = list(melee = 65, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100)
slowdown = 1
slowdown = 0
strip_delay = 130
/obj/item/clothing/suit/space/ert/sec
@@ -38,24 +38,6 @@
select_name = "DESTROY"
fire_sound = 'sound/weapons/pulse.ogg'
/obj/item/ammo_casing/energy/laser/pulse/carbine
e_cost = 50
/obj/item/ammo_casing/energy/laser/carbine
e_cost = 50
/obj/item/ammo_casing/energy/electrode/carbine
e_cost = 50
/obj/item/ammo_casing/energy/laser/pulse/pistol
e_cost = 100
/obj/item/ammo_casing/energy/laser/pistol
e_cost = 50
/obj/item/ammo_casing/energy/electrode/pistol
e_cost = 50
/obj/item/ammo_casing/energy/laser/bluetag
projectile_type = /obj/item/projectile/lasertag/bluetag
select_name = "bluetag"
+30 -28
View File
@@ -1,58 +1,60 @@
/obj/item/weapon/gun/energy/pulse_rifle
/obj/item/weapon/gun/energy/pulse
name = "pulse rifle"
desc = "A heavy-duty, multifaceted energy rifle with three modes. Preferred by front-line combat personnel."
icon_state = "pulse"
item_state = "pulse"
w_class = 4.0
item_state = null
w_class = 4
force = 10
flags = CONDUCT
slot_flags = SLOT_BACK
ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse, /obj/item/ammo_casing/energy/electrode, /obj/item/ammo_casing/energy/laser)
cell_type = "/obj/item/weapon/stock_parts/cell/super"
cell_type = "/obj/item/weapon/stock_parts/cell/pulse"
/obj/item/weapon/gun/energy/pulse_rifle/attack_self(mob/living/user as mob)
/obj/item/weapon/gun/energy/pulse/attack_self(mob/living/user as mob)
select_fire(user)
/obj/item/weapon/gun/energy/pulse_rifle/pulse_carbine
/obj/item/weapon/gun/energy/pulse/emp_act(severity)
return
/obj/item/weapon/gun/energy/pulse/loyalpin
pin = /obj/item/device/firing_pin/implant/loyalty
/obj/item/weapon/gun/energy/pulse/carbine
name = "pulse carbine"
desc = "A ligther weight varient of the pulse rifle, a multifaceted energy carbine with three modes."
w_class = 3.0
desc = "A compact variant of the pulse rifle with less firepower but easier storage."
w_class = 3
slot_flags = SLOT_BELT
icon_state = "pulse_carbine"
item_state = "pulse"
ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse/carbine, /obj/item/ammo_casing/energy/electrode/carbine, /obj/item/ammo_casing/energy/laser/carbine)
cell_type = "/obj/item/weapon/stock_parts/cell"
cell_type = "/obj/item/weapon/stock_parts/cell/pulse/carbine"
/obj/item/weapon/gun/energy/pulse_rifle/pulse_carbine/loyalpin
/obj/item/weapon/gun/energy/pulse/carbine/loyalpin
pin = /obj/item/device/firing_pin/implant/loyalty
/obj/item/weapon/gun/energy/pulse_rifle/pulse_pistol
/obj/item/weapon/gun/energy/pulse/pistol
name = "pulse pistol"
desc = "A ligther weight varient of the pulse rifle, a multifaceted energy pistol with three modes."
w_class = 2.0
desc = "A pulse rifle in an easily concealed handgun package with low capacity."
w_class = 2
slot_flags = SLOT_BELT
icon_state = "pulse_pistol"
item_state = "pulse"
ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse/pistol, /obj/item/ammo_casing/energy/electrode/pistol, /obj/item/ammo_casing/energy/laser/pistol)
cell_type = "/obj/item/weapon/stock_parts/cell"
item_state = "gun"
cell_type = "/obj/item/weapon/stock_parts/cell/pulse/pistol"
/obj/item/weapon/gun/energy/pulse_rifle/pulse_pistol/loyalpin
/obj/item/weapon/gun/energy/pulse/pistol/loyalpin
pin = /obj/item/device/firing_pin/implant/loyalty
/obj/item/weapon/gun/energy/pulse_rifle/destroyer
/obj/item/weapon/gun/energy/pulse/destroyer
name = "pulse destroyer"
desc = "A heavy-duty energy rifle built for pure destruction."
cell_type = "/obj/item/weapon/stock_parts/cell/infinite"
ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse)
/obj/item/weapon/gun/energy/pulse_rifle/destroyer/attack_self(mob/living/user as mob)
/obj/item/weapon/gun/energy/pulse/destroyer/attack_self(mob/living/user as mob)
user << "<span class='danger'>[src.name] has three settings, and they are all DESTROY.</span>"
/obj/item/weapon/gun/energy/pulse_rifle/M1911
name = "m1911-P"
/obj/item/weapon/gun/energy/pulse/pistol/m1911
name = "\improper M1911-P"
desc = "A compact pulse core in a classic handgun frame for Nanotrasen officers. It's not the size of the gun, it's the size of the hole it puts through people."
icon_state = "m1911-p"
cell_type = "/obj/item/weapon/stock_parts/cell/infinite"
item_state = "gun"
cell_type = "/obj/item/weapon/stock_parts/cell/infinite"
@@ -122,6 +122,8 @@
overheat = 0
recent_reload = 0
..()
/obj/item/weapon/gun/energy/kinetic_accelerator/emp_act(severity)
return
/obj/item/weapon/gun/energy/kinetic_accelerator/attack_self(mob/living/user)
if(overheat || recent_reload)
+1 -1
View File
@@ -1066,7 +1066,7 @@ datum/chemical_reaction/pestkiller
required_other = 1
/datum/chemical_reaction/slimecell/on_reaction(var/datum/reagents/holder, var/created_volume)
feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
var/obj/item/weapon/stock_parts/cell/slime/P = new /obj/item/weapon/stock_parts/cell/slime
var/obj/item/weapon/stock_parts/cell/high/slime/P = new /obj/item/weapon/stock_parts/cell/high/slime
P.loc = get_turf(holder.my_atom)
/datum/chemical_reaction/slimeglow
@@ -50,7 +50,7 @@
ignore_flags = 1 // So they can heal their comrades.
list_reagents = list("epinephrine" = 15, "salglu_solution" = 15)
obj/item/weapon/reagent_containers/hypospray/combat/nanites
/obj/item/weapon/reagent_containers/hypospray/combat/nanites
desc = "A modified air-needle autoinjector for use in combat situations. Prefilled with expensive medical nanites for rapid healing."
volume = 100
list_reagents = list("nanites" = 80, "synaptizine" = 20)