Skip to content

Commit

Permalink
Merge pull request #3532 from CapCamIII/sporkan
Browse files Browse the repository at this point in the history
cool spartan stuff
  • Loading branch information
BDpuffy420 authored Feb 3, 2024
2 parents 0e735ed + 8b8c7b1 commit 0d21d31
Show file tree
Hide file tree
Showing 14 changed files with 90 additions and 11 deletions.
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.

0 comments on commit 0d21d31

Please sign in to comment.