Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cool spartan stuff #3532

Merged
merged 5 commits into from
Feb 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions baystation12.dme
Original file line number Diff line number Diff line change
Expand Up @@ -2286,6 +2286,7 @@
#include "code\modules\halo\weapons\MA3.dm"
#include "code\modules\halo\weapons\MA37.dm"
#include "code\modules\halo\weapons\MA5B.dm"
#include "code\modules\halo\weapons\XM98.dm"
#include "code\modules\halo\weapons\melee.dm"
#include "code\modules\halo\weapons\plastic_explosives.dm"
#include "code\modules\halo\weapons\railrifle.dm"
Expand Down
3 changes: 2 additions & 1 deletion code/modules/halo/insurrection/innie_outfits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@

head = /obj/item/clothing/head/helmet/innie/urfdefector
glasses = /obj/item/clothing/glasses/hud/tactical
back = /obj/item/weapon/gun/projectile/xm98_carbine/orion
mask = /obj/item/clothing/mask/gas/soebalaclava
suit = /obj/item/clothing/suit/storage/innie/urfdefector
uniform = /obj/item/clothing/under/psysuit/theta
Expand All @@ -74,4 +75,4 @@
if(W)
W.rank = "Colonist"
W.assignment = "Colonist"
W.update_name()
W.update_name()
8 changes: 8 additions & 0 deletions code/modules/halo/insurrection/orion.dm
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,11 @@
BP_EYES = /obj/item/organ/internal/eyes/occipital_reversal/theta
)

/datum/species/orion/get_random_name(var/gender)

var/name = ""
if(gender == FEMALE)
name = capitalize(pick(GLOB.first_names_female)) + " " + capitalize(pick(GLOB.last_names))
else
name = capitalize(pick(GLOB.first_names_male)) + " " + capitalize(pick(GLOB.last_names))
return name
10 changes: 9 additions & 1 deletion code/modules/halo/misc/neural_lace_injectors.dm
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,14 @@
name = "Lace Injector (OFFICER)"
access_add = list(access_unsc,access_unsc_armoury,access_unsc_marine,access_unsc_odst,access_unsc_specialist,access_unsc_cargo,access_unsc_supplies,access_unsc_officers,access_unsc_bridge,access_unsc_oni)

/obj/item/lace_injector/oni
name = "Lace Injector (ONI)"
access_add = list(access_unsc,access_unsc_bridge,access_unsc_medical,access_unsc_armoury,access_unsc_odst,access_unsc_specialist,access_unsc_supplies,access_unsc_oni,access_unsc_cargo)

/obj/item/lace_injector/spartan
name = "Lace Injector (SPARTAN)"
access_add = list(access_unsc,access_unsc_bridge,access_unsc_tech,access_unsc_crew,access_unsc_navsec,access_unsc_ops,access_unsc_fighters,access_unsc_shuttles,access_unsc_medical,access_unsc_armoury,access_unsc_supplies,access_unsc_cargo,access_unsc_officers,access_unsc_marine,access_unsc_gunnery,access_unsc_ids,access_unsc_odst,access_unsc_oni,access_unsc_specialist)

/obj/item/lace_injector/allaccess //For adminuse and debug purposes.
name = "Lace Injector (ALL-ACCESS)"
access_add = list(access_unsc,access_unsc_bridge,access_unsc_tech,access_unsc_crew,access_unsc_navsec,access_unsc_ops,access_unsc_fighters,access_unsc_shuttles,access_unsc_medical,access_unsc_armoury,access_unsc_supplies,access_unsc_officers,access_unsc_marine,access_unsc_gunnery,access_unsc_ids,access_unsc_odst,access_unsc_specialist,access_unsc_cargo,access_unsc_oni)
access_add = list(access_unsc,access_unsc_bridge,access_unsc_tech,access_unsc_crew,access_unsc_navsec,access_unsc_ops,access_unsc_fighters,access_unsc_shuttles,access_unsc_medical,access_unsc_armoury,access_unsc_supplies,access_unsc_officers,access_unsc_marine,access_unsc_gunnery,access_unsc_ids,access_unsc_odst,access_unsc_specialist,access_unsc_cargo,access_unsc_oni)
1 change: 1 addition & 0 deletions code/modules/halo/unsc/jobs/spartan_two.dm
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
access_unsc_medical,\
access_unsc_armoury,\
access_unsc_supplies,\
access_unsc_cargo, \
access_unsc_officers,\
access_unsc_marine,\
access_unsc_gunnery,\
Expand Down
7 changes: 5 additions & 2 deletions code/modules/halo/unsc/jobs/spartan_two_outfits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,12 @@
gloves = /obj/item/clothing/gloves/spartan
shoes = /obj/item/clothing/shoes/magboots/spartan
head = /obj/item/clothing/head/helmet/spartan
back = /obj/item/weapon/gun/projectile/xm98_carbine
l_ear = /obj/item/device/radio/headset/unsc/spartan
suit_store = /obj/item/weapon/tank/emergency/oxygen/double
starting_accessories = list(/obj/item/clothing/accessory/rank/fleet/enlisted/e9)
id_type = /obj/item/weapon/card/id/spartan
l_hand = /obj/item/language_learner/human_to_sang
flags = 0

/decl/hierarchy/outfit/job/adminspawn_marine/spartan
Expand All @@ -24,11 +26,12 @@
l_ear = /obj/item/device/radio/headset/unsc/spartan
suit_store = /obj/item/weapon/gun/projectile/m6d_magnum
starting_accessories = list(/obj/item/clothing/accessory/rank/fleet/enlisted/e9)
back = /obj/item/weapon/gun/projectile/ma5b_ar
back = /obj/item/weapon/gun/projectile/xm98_carbine
belt = /obj/item/weapon/storage/belt/marine_ammo/mobilespawn_ma5
r_ear = /obj/item/weapon/reagent_containers/syringe/biofoam
l_pocket =/obj/item/weapon/grenade/frag/m9_hedp
r_pocket = /obj/item/weapon/armor_patch
l_hand = /obj/item/language_learner/human_to_sang
id_type = /obj/item/weapon/card/id/spartan
flags = 0

Expand Down Expand Up @@ -61,4 +64,4 @@

back = /obj/item/weapon/gun/energy/spartanlaser
belt = /obj/item/weapon/storage/belt/marine_ammo/mobilespawn_smg
suit_store = /obj/item/weapon/gun/projectile/m7_smg
suit_store = /obj/item/weapon/gun/projectile/m7_smg
2 changes: 1 addition & 1 deletion code/modules/halo/unsc/supply/explosives.dm
Original file line number Diff line number Diff line change
Expand Up @@ -130,4 +130,4 @@
name = "Piercing Breaching Charges (4)"
cost = 700
contains = list(/obj/item/weapon/plastique/breaching/longrange = 4)
containername = "\improper Piercing Breaching Charge crate"
containername = "\improper Piercing Breaching Charge crate"
13 changes: 7 additions & 6 deletions code/modules/halo/unsc/supply/onispecial.dm
Original file line number Diff line number Diff line change
Expand Up @@ -19,27 +19,28 @@
/obj/item/organ/internal/heart/spartan/theta = 1,
/obj/item/organ/internal/liver/spartan/theta = 1,
/obj/item/organ/internal/lungs/theta = 1,
/obj/item/species_convert/orion = 1
/obj/item/species_convert/orion = 1,
/obj/item/lace_injector/odst = 1 //orioning removes your neural lace
)
cost = 4000
containername = "\improper Orion organs freezer"

/decl/hierarchy/supply_pack/oni_special/laceinjectormarine //So UNSC has a way to give access to people
name = "UNSC Marine Lace Access Injector"
contains = list(/obj/item/lace_injector/marine = 1)
cost = 250
cost = 100
containername = "\improper Neural Lace crate"

/decl/hierarchy/supply_pack/oni_special/laceinjectorodst //So UNSC has a way to give access to people
name = "UNSC ODST Lace Access Injector"
contains = list(/obj/item/lace_injector/marine_spec = 1)
cost = 500
cost = 250
containername = "\improper Neural Lace crate"

/decl/hierarchy/supply_pack/oni_special/laceinjectorofficer //So UNSC has a way to give basic access to people
/decl/hierarchy/supply_pack/oni_special/laceinjectorofficer //So UNSC has a way to give access to people
name = "UNSC Officer Lace Access Injector"
contains = list(/obj/item/lace_injector/odst = 1)
cost = 1000
cost = 500
containername = "\improper Neural Lace crate"

/* MATERIALS - Expensive so that ONI hopefully doesn't powergame research. Not all items included, just in case they somehow do. */
Expand Down Expand Up @@ -92,4 +93,4 @@
name = "Type-51 Carbine (1)"
contains = list(/obj/item/weapon/gun/projectile/type51carbine = 1)
cost = 1500
containername = "\improper Carbine crate"
containername = "\improper Carbine crate"
3 changes: 3 additions & 0 deletions code/modules/halo/weapons/M7.dm
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,9 @@
/obj/item/weapon/gun/projectile/m7_smg/silenced
name = "M7S submachine gun"
desc = "The M7S is a special operations variant of the M7 submachine gun with inbuilt suppressor and host of other attachments. Takes 5mm calibre magazines."
icon_state = "m7smgs"
item_state = "m7s"
wielded_item_state = "m7s-wielded"
silenced = 1
is_heavy = 1
scoped_accuracy = 1
Expand Down
53 changes: 53 additions & 0 deletions code/modules/halo/weapons/XM98.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/obj/item/weapon/gun/projectile/xm98_carbine
name = "\improper XM98 Carbine"
desc = "An experimental carbine dreamt up by the Office of Naval Intelligence as a standard rifle for special operations teams, trading the modularity of the MA5B with a fast and accurate 2 round burst or fast and inaccurate 5 round burst. It is a bullpup carbine with an integrated suppressor, and is capable of using magazines from the MA5B, MA3, and MA37. It has a reflex sight attached on the top."
icon = 'code/modules/halo/weapons/icons/Weapon Sprites.dmi'
icon_state = "XM98"
item_state = "xm98"
caliber = "7.62mm"
fire_sound = 'code/modules/halo/sounds/MA3firefix.ogg' //sounds suppressed enough
reload_sound = 'code/modules/halo/sounds/MA37_Reload_New.wav'
magazine_type = /obj/item/ammo_magazine/ma5b/m118
allowed_magazines = list(/obj/item/ammo_magazine/ma37/m118, /obj/item/ammo_magazine/ma5b, /obj/item/ammo_magazine/ma3/m118)
load_method = MAGAZINE
slot_flags = SLOT_BACK
wielded_item_state = "xm98-wielded"

burst = 2
burst_delay = 0.8
one_hand_penalty = -1
dispersion = list(0.0,0.1,0.2,0.2)
hud_bullet_row_num = 20
silenced = 1

firemodes = list(\
list(mode_name="3 round burst", burst=3, dispersion=list(0.0,0.1,0.2)),
list(mode_name="6 round burst", burst=5, dispersion=list(0.7,0.8,0.9,1.0,1.1,1.2)),
)

ammo_icon_state = null
attachment_slots = null
attachments_on_spawn = null

/obj/item/weapon/gun/projectile/xm98_carbine/can_use_when_prone()
return 1

/obj/item/weapon/gun/projectile/xm98_carbine/update_icon()
. = ..()
if(ammo_magazine)
icon_state = "XM98"
else
icon_state = "XM98_unloaded"

item_icons = list(
slot_l_hand_str = 'code/modules/halo/weapons/icons/Weapon_Inhands_left.dmi',
slot_r_hand_str = 'code/modules/halo/weapons/icons/Weapon_Inhands_right.dmi',
slot_back_str = 'code/modules/halo/weapons/icons/Back_Weapons.dmi',
slot_s_store_str = 'code/modules/halo/weapons/icons/Armor_Weapons.dmi',
)


/obj/item/weapon/gun/projectile/xm98_carbine/orion
name = "\improper XM98 Carbine"
desc = "An experimental carbine dreamt up by the Office of Naval Intelligence as a standard rifle for special operations teams, trading the modularity of the MA5B with a faster rate of fire and better accuracy. It is a bullpup carbine with an integrated suppressor, and is capable of using magazines from the MA5B, MA3, and MA37. It has a low-magnification sight attached on the top. Recently, a number have went missing from an ONI shipment, and have begun showing up in the hands of the URF's elite."
magazine_type = /obj/item/ammo_magazine/ma37/m118
Binary file modified code/modules/halo/weapons/icons/Back_Weapons.dmi
Binary file not shown.
Binary file modified code/modules/halo/weapons/icons/Weapon Sprites.dmi
Binary file not shown.
Binary file modified code/modules/halo/weapons/icons/Weapon_Inhands_left.dmi
Binary file not shown.
Binary file modified code/modules/halo/weapons/icons/Weapon_Inhands_right.dmi
Binary file not shown.
Loading