Skip to content

Commit

Permalink
forecon tweaks and fixes (#262)
Browse files Browse the repository at this point in the history
  • Loading branch information
AndroBetel authored Jun 7, 2024
1 parent df1943a commit 85ca166
Show file tree
Hide file tree
Showing 20 changed files with 216 additions and 52 deletions.
32 changes: 32 additions & 0 deletions code/datums/skills/uscm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ United States Colonial Marines
name = "Private"
//same as default

/datum/skills/pfc/recon
name = "Recon Private"
skills = list(SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED)

/datum/skills/combat_medic
name = "Combat Medic"
skills = list(
Expand All @@ -16,6 +20,15 @@ United States Colonial Marines
SKILL_JTAC = SKILL_JTAC_BEGINNER,
)

/datum/skills/combat_medic/recon
name = "Recon Medic"
skills = list(
SKILL_MEDICAL = SKILL_MEDICAL_MEDIC,
SKILL_SURGERY = SKILL_SURGERY_NOVICE,
SKILL_JTAC = SKILL_JTAC_BEGINNER,
SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED,
)

/datum/skills/combat_engineer
name = "Combat Engineer"
skills = list(
Expand All @@ -32,6 +45,16 @@ United States Colonial Marines
SKILL_JTAC = SKILL_JTAC_BEGINNER,
)

/datum/skills/smartgunner/recon
name = "Recon Smartgunner"
skills = list(
SKILL_SPEC_WEAPONS = SKILL_SPEC_SMARTGUN,
SKILL_JTAC = SKILL_JTAC_BEGINNER,
SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED,
)



/datum/skills/specialist
name = "Squad Weapons Specialist"
skills = list(
Expand All @@ -51,6 +74,15 @@ United States Colonial Marines
SKILL_LEADERSHIP = SKILL_LEAD_TRAINED,
)

/datum/skills/tl/recon
name = "Recon Fireteam Leader"
skills = list(
SKILL_JTAC = SKILL_JTAC_TRAINED,
SKILL_LEADERSHIP = SKILL_LEAD_TRAINED,
SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED,
)


/datum/skills/SL
name = "Squad Leader"
skills = list(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,9 @@
desc = "An ammunition case containing 20 M41A MK1 magazines."
supplies = list(/obj/item/ammo_magazine/rifle/m41aMK1 = 20)

/obj/structure/largecrate/supply/ammo/m41amk1/forecon
supplies = list(/obj/item/ammo_magazine/rifle/m41aMK1/recon = 20)

/obj/structure/largecrate/supply/ammo/m41a_box
name = "\improper M41A ammunition box case (x4)"
desc = "An ammunition case containing four M41A 600 round boxes of ammunition."
Expand Down
7 changes: 7 additions & 0 deletions code/game/objects/structures/gun_rack.dm
Original file line number Diff line number Diff line change
Expand Up @@ -84,3 +84,10 @@
max_stored = 2
initial_stored = 0
allowed_type = /obj/item/ammo_magazine/hardpoint/boyars_dualcannon

/obj/structure/gun_rack/m41/recon
icon_state = "m41arecon"
populate_type = /obj/item/weapon/gun/rifle/m41aMK1/forecon

/obj/structure/gun_rack/m41/recon/unloaded
populate_type = /obj/item/weapon/gun/rifle/m41aMK1/forecon/unloaded
10 changes: 8 additions & 2 deletions code/modules/gear_presets/uscm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@
/datum/equipment_preset/uscm/pfc/forecon
name = "FORECON Squad Rifleman"
paygrade = "ME3"
skills = /datum/skills/pfc/recon

/datum/equipment_preset/uscm/pfc/forecon/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/marine/satchel/standard
Expand Down Expand Up @@ -191,6 +192,7 @@
/datum/equipment_preset/uscm/sg/forecon
name = "FORECON Squad Smartgunner"
paygrade = "ME5"
skills = /datum/skills/smartgunner/recon

/datum/equipment_preset/uscm/sg/forecon/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/marine/satchel/standard
Expand Down Expand Up @@ -465,6 +467,7 @@
name = "FORECON Squad Corpsman"
assignment = "Squad Corpsman"
paygrade = "ME5"
skills = /datum/skills/combat_medic/recon

/datum/equipment_preset/uscm/medic/forecon/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/marine/satchel/medic/standard
Expand Down Expand Up @@ -524,6 +527,8 @@
name = "FORECON Assistant Squad Leader"
assignment = "Assistant Squad Leader"
paygrade = "ME6"
role_comm_title = "aSL"
skills = /datum/skills/tl/recon

/datum/equipment_preset/uscm/tl/forecon/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/marine/satchel/standard
Expand Down Expand Up @@ -616,9 +621,10 @@
paygrade = "UE6"

/datum/equipment_preset/uscm/leader/forecon
name = "FORECON Squad Sergeant"
assignment = "Squad Sergeant"
name = "FORECON Squad Leader"
assignment = "Squad Leader"
paygrade = "ME8"
role_comm_title = "SL"

/datum/equipment_preset/uscm/leader/forecon/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/marine/satchel/standard
Expand Down
1 change: 1 addition & 0 deletions code/modules/projectiles/ammo_boxes/ammo_boxes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@
var/overlay_gun_type = "_m41" //used for text overlay
var/overlay_content = "_reg"
var/magazine_type = /obj/item/ammo_magazine/rifle
var/list/allowed_magazines = list()
var/num_of_magazines = 10
var/handfuls = FALSE
var/icon_state_deployed = null
Expand Down
2 changes: 1 addition & 1 deletion code/modules/projectiles/ammo_boxes/box_structures.dm
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@
to_chat(user, SPAN_DANGER("It's on fire and might explode!"))
return
if(!item_box.handfuls)
if(istypestrict(W,item_box.magazine_type))
if(istypestrict(W,item_box.magazine_type) || is_type_in_list(W, item_box.allowed_magazines))
if(istype(W, /obj/item/storage/box/m94))
var/obj/item/storage/box/m94/flare_pack = W
if(flare_pack.contents.len < flare_pack.max_storage_space)
Expand Down
3 changes: 2 additions & 1 deletion code/modules/projectiles/ammo_boxes/magazine_boxes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,14 @@
/obj/item/ammo_box/magazine/heap/empty
empty = TRUE


/obj/item/ammo_box/magazine/mk1
name = "magazine box (M41A MK1 X 10)"
flags_equip_slot = SLOT_BACK
overlay_ammo_type = "_reg"
overlay_content = "_reg"
magazine_type = /obj/item/ammo_magazine/rifle/m41aMK1
allowed_magazines = list(/obj/item/ammo_magazine/rifle/m41aMK1/recon)

/obj/item/ammo_box/magazine/mk1/empty
empty = TRUE
Expand Down
4 changes: 4 additions & 0 deletions code/modules/projectiles/gun_attachables.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2822,6 +2822,10 @@ Defined in conflicts.dm of the #defines folder.
max_range = 10
attachment_firing_delay = 30

/obj/item/attachable/attached_gun/grenade/mk1/recon
icon_state = "green_grenade-mk1"
attach_icon = "green_grenade-mk1_a"

/obj/item/attachable/attached_gun/grenade/m203 //M16 GL, only DD have it.
name = "\improper M203 Grenade Launcher"
desc = "An antique underbarrel grenade launcher. Adopted in 1969 for the M16, it was made obsolete centuries ago; how its ended up here is a mystery to you. Holds only one propriatary 40mm grenade, does not have modern IFF systems, it won't pass through your friends."
Expand Down
11 changes: 11 additions & 0 deletions code/modules/projectiles/guns/rifles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -425,6 +425,17 @@
/obj/item/weapon/gun/rifle/m41aMK1/anchorpoint/gl
desc = "A classic M41 MK1 Pulse Rifle painted in a fresh coat of the classic Humbrol 170 camoflauge. This one appears to be used by the Colonial Marine contingent aboard Anchorpoint Station, and is equipped with an underbarrel grenade launcher. Uses 10x24mm caseless ammunition."
starting_attachment_types = list(/obj/item/attachable/stock/rifle/collapsible, /obj/item/attachable/attached_gun/grenade/mk1)

/obj/item/weapon/gun/rifle/m41aMK1/forecon
desc = "Pulse action 10x24mm caseless assault rifle of the USCMC, personal friend of any Marine. This one is painted in a fresh coat of the newer Humbrol 76 camouflage and is used by Force Reconnaissance units."
icon_state = "reconm41amk1"
item_state = "reconm41amk1"
current_mag = /obj/item/ammo_magazine/rifle/m41aMK1/recon
starting_attachment_types = list(/obj/item/attachable/attached_gun/grenade/mk1/recon, /obj/item/attachable/stock/rifle/collapsible)

/obj/item/weapon/gun/rifle/m41aMK1/forecon/unloaded
current_mag = null

//----------------------------------------------
//Special gun for the CO to replace the smartgun

Expand Down
6 changes: 6 additions & 0 deletions code/modules/projectiles/magazines/rifles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@
default_ammo = /datum/ammo/bullet/rifle
ammo_band_icon = "+m41a_mk1_band"
ammo_band_icon_empty = "+m41a_mk1_band_e"
bonus_overlay = "m41a_mk1_overlay"

/obj/item/ammo_magazine/rifle/m41aMK1/rubber
name = "\improper M41A Less Lethal magazine"
Expand Down Expand Up @@ -128,6 +129,11 @@
desc = "A long rectangular box of rounds that is only compatible with the older M41A MK1. Holds up to 99 rounds. This one contains wall-penetrating bullets."
default_ammo = /datum/ammo/bullet/rifle/ap/penetrating
ammo_band_color = AMMO_BAND_COLOR_PENETRATING

/obj/item/ammo_magazine/rifle/m41aMK1/recon
icon_state = "m41a_mk1_recon"
current_rounds = 95
bonus_overlay = "m41a_mk1_recon_overlay"
//-------------------------------------------------------
//M4RA, l42 reskin, same stats as before but different, lore friendly, shell.

Expand Down
Binary file modified icons/mob/humans/onmob/back.dmi
Binary file not shown.
Binary file modified icons/mob/humans/onmob/items_lefthand_1.dmi
Binary file not shown.
Binary file modified icons/mob/humans/onmob/items_righthand_1.dmi
Binary file not shown.
Binary file modified icons/mob/humans/onmob/suit_slot.dmi
Binary file not shown.
Binary file modified icons/obj/items/weapons/guns/ammo_by_faction/uscm.dmi
Binary file not shown.
Binary file modified icons/obj/items/weapons/guns/attachments/under.dmi
Binary file not shown.
Binary file modified icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi
Binary file not shown.
Binary file modified icons/obj/structures/gun_racks.dmi
Binary file not shown.
57 changes: 42 additions & 15 deletions maps/map_files/rover/rover.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,11 @@
pixel_x = 8;
pixel_y = 34
},
/obj/structure/gun_rack/m41/unloaded,
/obj/structure/gun_rack/m41/recon/unloaded,
/obj/item/attachable/attached_gun/grenade/mk1{
pixel_y = 15;
pixel_x = 8
},
/turf/open/floor/almayer{
icon_state = "plate"
},
Expand Down Expand Up @@ -241,6 +245,7 @@
"ct" = (
/obj/structure/surface/table/almayer,
/obj/item/facepaint/sniper,
/obj/item/attachable/attached_gun/grenade/mk1,
/turf/open/floor/almayer,
/area/golden_arrow/dorms)
"cJ" = (
Expand Down Expand Up @@ -1290,6 +1295,10 @@
pixel_x = -6;
pixel_y = 8
},
/obj/item/attachable/attached_gun/grenade/mk1{
pixel_y = -1;
pixel_x = 6
},
/turf/open/floor/almayer{
icon_state = "plate"
},
Expand Down Expand Up @@ -1481,10 +1490,10 @@
/area/golden_arrow/cryo_cells)
"mJ" = (
/obj/structure/largecrate,
/obj/structure/largecrate{
pixel_y = 16
},
/obj/structure/machinery/light,
/obj/structure/largecrate/supply/ammo/m41amk1{
pixel_y = 15
},
/turf/open/floor/almayer{
icon_state = "test_floor5"
},
Expand Down Expand Up @@ -2816,14 +2825,30 @@
/area/golden_arrow/dorms)
"As" = (
/obj/structure/closet/crate/green,
/obj/item/rappel_harness,
/obj/item/rappel_harness,
/obj/item/rappel_harness,
/obj/item/rappel_harness,
/obj/item/rappel_harness,
/obj/item/rappel_harness,
/obj/item/rappel_harness,
/obj/item/rappel_harness,
/obj/item/rappel_harness/extract{
shuttle_id = "dropship_cyclone"
},
/obj/item/rappel_harness/extract{
shuttle_id = "dropship_cyclone"
},
/obj/item/rappel_harness/extract{
shuttle_id = "dropship_cyclone"
},
/obj/item/rappel_harness/extract{
shuttle_id = "dropship_cyclone"
},
/obj/item/rappel_harness/extract{
shuttle_id = "dropship_cyclone"
},
/obj/item/rappel_harness/extract{
shuttle_id = "dropship_cyclone"
},
/obj/item/rappel_harness/extract{
shuttle_id = "dropship_cyclone"
},
/obj/item/rappel_harness/extract{
shuttle_id = "dropship_cyclone"
},
/turf/open/floor/almayer{
icon_state = "cargo"
},
Expand Down Expand Up @@ -2883,6 +2908,8 @@
/area/golden_arrow/cryo_cells)
"AD" = (
/obj/structure/closet/crate/trashcart,
/obj/item/attachable/attached_gun/grenade/mk1,
/obj/item/attachable/attached_gun/grenade/mk1,
/turf/open/floor/plating,
/area/golden_arrow/hangar)
"AF" = (
Expand Down Expand Up @@ -3041,8 +3068,8 @@
/area/golden_arrow/supply)
"CO" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/largecrate/supply/ammo/m41amk1,
/obj/structure/largecrate/supply/ammo/m41amk1{
/obj/structure/largecrate/supply/ammo/m41amk1/forecon,
/obj/structure/largecrate/supply/ammo/m41amk1/forecon{
pixel_x = 3;
pixel_y = 10
},
Expand Down Expand Up @@ -3213,7 +3240,7 @@
/obj/structure/machinery/light{
dir = 1
},
/obj/structure/gun_rack/m41/unloaded,
/obj/structure/gun_rack/m41/recon/unloaded,
/turf/open/floor/almayer{
icon_state = "plate"
},
Expand Down
Loading

0 comments on commit 85ca166

Please sign in to comment.