Skip to content

Commit

Permalink
wow i actually did so much work
Browse files Browse the repository at this point in the history
  • Loading branch information
Releasethesea committed Feb 15, 2024
1 parent faffd2c commit 007af19
Show file tree
Hide file tree
Showing 13 changed files with 83 additions and 14 deletions.
1 change: 1 addition & 0 deletions code/datums/ammo/bullet/sniper.dm
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@
size_damage_mod += 0.6
L.apply_armoured_damage(damage*size_damage_mod, ARMOR_BULLET, BRUTE, null, penetration)
// 180% damage to all targets (225), 240% (300) against non-Runner xenos, and 300% against Big xenos (375). -Kaga
// keeping above for book keeping sake, damage isnt that high anymore, does way less, very similar to normal sniper
to_chat(P.firer, SPAN_WARNING("Bullseye!"))

/datum/ammo/bullet/sniper/anti_materiel/vulture
Expand Down
11 changes: 5 additions & 6 deletions code/datums/supply_packs/spec_ammo.dm
Original file line number Diff line number Diff line change
Expand Up @@ -110,21 +110,20 @@
group = "Weapons Specialist Ammo"

//XM43E1 - Disabled during testing per request.
/*

/datum/supply_packs/ammo_amr_marksman
name = "XM43E1 anti-materiel rifle marksman magazines crate (x5)"
name = "XM43E1 anti-materiel rifle marksman magazines crate (x3)"
contains = list(
/obj/item/ammo_magazine/sniper/anti_materiel,
/obj/item/ammo_magazine/sniper/anti_materiel,
/obj/item/ammo_magazine/sniper/anti_materiel,
/obj/item/ammo_magazine/sniper/anti_materiel,
/obj/item/ammo_magazine/sniper/anti_materiel,
)
cost = 30
containertype = /obj/structure/closet/crate/ammo
containername = "XM43E1 Anti-Materiel Magazine Crate"
group = "Specialist Ammo"
*/
group = "Weapons Specialist Ammo"


//M4RA

/datum/supply_packs/ammo_scout_mix
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ GLOBAL_LIST_INIT(cm_vending_gear_spec, list(
list("M42A Flak Magazine (10x28mm)", 40, /obj/item/ammo_magazine/sniper/flak, null, VENDOR_ITEM_REGULAR),
list("M42A Incendiary Magazine (10x28mm)", 40, /obj/item/ammo_magazine/sniper/incendiary, null, VENDOR_ITEM_REGULAR),
list("M42A Marksman Magazine (10x28mm Caseless)", 40, /obj/item/ammo_magazine/sniper, null, VENDOR_ITEM_REGULAR),
list("XM43E1 Anti-Material (10x99mm Caseless)", 40, /obj/item/ammo_magazine/sniper/anti_materiel, null, VENDOR_ITEM_REGULAR),


list("EXTRA DEMOLITIONIST AMMUNITION", 0, null, null, null),
list("84mm Anti-Armor Rocket", 40, /obj/item/ammo_magazine/rocket/ap, null, VENDOR_ITEM_REGULAR),
Expand Down
8 changes: 8 additions & 0 deletions code/modules/clothing/head/helmet.dm
Original file line number Diff line number Diff line change
Expand Up @@ -876,6 +876,14 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list(
flags_inventory = BLOCKSHARPOBJ
clothing_traits = list(TRAIT_EAR_PROTECTION)
unacidable = TRUE
/obj/item/clothing/head/helmet/marine/xm43e1
name = "\improper XM-3VL experimental light helmet"
icon_state = "xm43e1_helmet"
item_state = "xm43e1_helmet"
specialty = "XM-3VL experimental light"
desc = "A custom helmet designed in tandem with the XM43E1s carrying rig, theres fancy gizmos and gadgets up top, a state of the art ballistics tracker... or thats what they tell you atleast, just seems like a flashing light to you."
min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROT
flags_item = MOB_LOCK_ON_EQUIP|NO_CRYO_STORE

/obj/item/clothing/head/helmet/marine/pilot
name = "\improper M30 tactical helmet"
Expand Down
12 changes: 12 additions & 0 deletions code/modules/clothing/suits/marine_armor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1072,6 +1072,18 @@
flags_atom = MOB_LOCK_ON_EQUIP|NO_CRYO_STORE|NO_SNOW_TYPE
storage_slots = 4

/obj/item/clothing/suit/storage/marine/light/vest/xm43e1_vest
name = "\improper XM-3VL pattern fire support vest"
armor_melee = CLOTHING_ARMOR_MEDIUM
slowdown = SLOWDOWN_ARMOR_LIGHT
desc = "A modified smartgun rig designed to be lightweight, easy to use, and dampen the recoil of the XM43E1 without this armours recoil dampening arm youll be blown back atleast a foot by the rifle, for saftey of the user make sure you are equiped properly."
icon_state = "xm43e1_vest"
storage_slots = 3
uniform_restricted = list(/obj/item/clothing/under/marine)
armor_melee = CLOTHING_ARMOR_MEDIUM
flags_item = MOB_LOCK_ON_EQUIP|NO_CRYO_STORE
unacidable = TRUE

//=============================//pmcS\\==================================\\
//=======================================================================\\
Expand Down
44 changes: 39 additions & 5 deletions code/modules/cm_marines/equipment/kit_boxes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,12 @@
kit_overlay = "sniper"

/obj/item/storage/box/spec/sniper/fill_preset_inventory()
// sniper
new /obj/item/spec_kit/sniper_weapon_selector(src)
new /obj/item/weapon/gun/pistol/vp78(src)
new /obj/item/ammo_magazine/pistol/vp78(src)
new /obj/item/ammo_magazine/pistol/vp78(src)

/obj/item/storage/box/spec/sniper/m42a/fill_preset_inventory()
new /obj/item/clothing/suit/storage/marine/ghillie(src)
new /obj/item/clothing/head/helmet/marine/ghillie(src)
new /obj/item/clothing/glasses/night/m42_night_goggles(src)
Expand All @@ -61,14 +66,19 @@
new /obj/item/ammo_magazine/sniper/flak(src)
new /obj/item/ammo_magazine/sniper/flak(src)
new /obj/item/storage/backpack/marine/smock(src)
new /obj/item/weapon/gun/pistol/vp78(src)
new /obj/item/ammo_magazine/pistol/vp78(src)
new /obj/item/ammo_magazine/pistol/vp78(src)
new /obj/item/weapon/gun/rifle/sniper/M42A(src)
new /obj/item/facepaint/sniper(src)
// spotter
new /obj/item/storage/box/kit/spotter(src)

/obj/item/storage/box/spec/sniper/antimaterial/fill_preset_inventory()
desc = "a large case containing a XM43E1 anti material rifle"
new /obj/item/clothing/suit/storage/marine/light/vest/xm43e1_vest(src)
new /obj/item/clothing/head/helmet/marine/xm43e1(src)
new /obj/item/weapon/gun/rifle/sniper/XM43E1(src)
new /obj/item/ammo_magazine/sniper/anti_materiel(src)
new /obj/item/ammo_magazine/sniper/anti_materiel(src)
new /obj/item/ammo_magazine/sniper/anti_materiel(src)

/obj/item/storage/box/spec/scout
name = "\improper Scout equipment case"
desc = "A large case containing an M4RA battle rifle, M3-S light armor and helmet, M4RA battle sight, M68 thermal cloak, V3 reactive thermal tarp, improved scout laser designator, ammunition and additional pieces of equipment.\nDrag this sprite onto yourself to open it up! NOTE: You cannot put items back inside this case."
Expand Down Expand Up @@ -278,6 +288,30 @@
return TRUE
return FALSE

//Sniper weapon selector snowflake
/obj/item/spec_kit/sniper_weapon_selector
name = "\improper Sniper weapon case"
desc = "A large case with the option of the M42A sniper rifle and the XM43E1 Anti-Material rifle."

/obj/item/spec_kit/sniper_weapon_selector/can_use(mob/living/carbon/human/user)
return TRUE

/obj/item/spec_kit/sniper_weapon_selector/select_and_spawn(mob/living/carbon/human/user)
var/sniper_selection = tgui_input_list(usr, "Select your weapon", "Weapon Selection", list("M42A sniper rifle", "XM43E1 Anti-Material rifle"))
if(!sniper_selection || QDELETED(src))
return FALSE
var/turf/T = get_turf(loc)
var/obj/item/storage/box/spec/weapon_box
switch(sniper_selection)
if("M42A sniper rifle")
weapon_box = new /obj/item/storage/box/spec/sniper/m42a(T)
user.put_in_hands(weapon_box)
return TRUE
if("XM43E1 Anti-Material rifle")
weapon_box = new /obj/item/storage/box/spec/sniper/antimaterial(T)
user.put_in_hands(weapon_box)
return TRUE
return FALSE

//******************************************PFC Kits****************************************************************/

Expand Down
13 changes: 12 additions & 1 deletion code/modules/projectiles/guns/specialist/sniper.dm
Original file line number Diff line number Diff line change
Expand Up @@ -394,15 +394,26 @@
//At 200 per shot it'll take 9 to break a Pylon (1800 HP). No Damage Boost vs other xeno structures yet, those will require a whole new list w/ the damage_boost trait.
))


/*
//Disabled until an identity is better defined. -Kaga
/obj/item/weapon/gun/rifle/sniper/XM43E1/afterattack(atom/target, mob/user, flag)
if(able_to_fire(user))
if(get_dist(target,user) <= 8)
to_chat(user, SPAN_WARNING("The [src.name] beeps, indicating that the target is within an unsafe proximity to the rifle, refusing to fire."))
return
else ..()
// i cant figure this shit out and with the current state of the rifle it should be fine with this disabled, if someone somehow manages to make shit worse ill figure out how to make this work lol
*/

/obj/item/weapon/gun/rifle/sniper/XM43E1/simulate_recoil(total_recoil = 2, mob/user, atom/target)
. = ..()
if(.)
var/mob/living/carbon/human/xm43e1_vest = user
if(xm43e1_vest.body_position == STANDING_UP && !istype(xm43e1_vest.wear_suit,/obj/item/clothing/suit/storage/marine/light/vest/xm43e1_vest))
xm43e1_vest.visible_message(SPAN_WARNING("[xm43e1_vest] is blown backwards from the recoil of the [src.name]!"),SPAN_HIGHDANGER("You are knocked prone by the blowback!"))
step(xm43e1_vest,turn(xm43e1_vest.dir,180))
xm43e1_vest.KnockDown(1)
xm43e1_vest.Stun(1)

/obj/item/weapon/gun/rifle/sniper/elite
name = "\improper M42C anti-tank sniper rifle"
Expand Down
6 changes: 4 additions & 2 deletions code/modules/projectiles/magazines/specialist.dm
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,14 @@
//XM43E1 Magazine
/obj/item/ammo_magazine/sniper/anti_materiel
name = "\improper XM43E1 marksman magazine (10x99mm)"
desc = "A magazine of caseless 10x99mm anti-materiel rounds."
desc = "A magazine of caseless 10x99mm anti-materiel rounds, these rounds easily penetrate armour with little to no spall, be mindful of over penetration."
max_rounds = 8
caliber = "10x99mm"
default_ammo = /datum/ammo/bullet/sniper/anti_materiel
gun_type = /obj/item/weapon/gun/rifle/sniper/XM43E1

icon_state = "xm43e1"
ammo_band_icon = "+m42c_band"
ammo_band_icon_empty = "+m42c_band_e"
//M42C magazine

/obj/item/ammo_magazine/sniper/elite
Expand Down
Binary file modified icons/mob/humans/onmob/head_1.dmi
Binary file not shown.
Binary file modified icons/mob/humans/onmob/suit_1.dmi
Binary file not shown.
Binary file modified icons/obj/items/clothing/cm_hats.dmi
Binary file not shown.
Binary file modified icons/obj/items/clothing/cm_suits.dmi
Binary file not shown.
Binary file modified icons/obj/items/weapons/guns/ammo_by_faction/uscm.dmi
Binary file not shown.

0 comments on commit 007af19

Please sign in to comment.