Skip to content

Commit 6414bae

Browse files
authored
[Code Bounty] Gives hos a gun beacon, buffs multiphase, makes beanbags and rubbershot account for 250 stam (#3680)
* HoSgun * STUNSPRITE * gun beacon * beanbag and rubber buff * Tot objective and spawn choice * notdnoe * steal objective * beanbag * several hours for one line change * monkestation edit * modularized stealing * modularized beacon * compact * inhand sprites * shotgun back + 1 mag size * waist sprite * fix fails
1 parent 2aaf7b5 commit 6414bae

File tree

16 files changed

+49
-23
lines changed

16 files changed

+49
-23
lines changed

code/game/gamemodes/objective_items.dm

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -254,13 +254,12 @@
254254
/datum/objective_item/steal/hoslaser
255255
name = "the head of security's personal laser gun"
256256
targetitem = /obj/item/gun/energy/e_gun/hos
257-
excludefromjob = list(JOB_HEAD_OF_SECURITY)
258-
item_owner = list(JOB_HEAD_OF_SECURITY)
259-
exists_on_map = TRUE
257+
260258
261259
/obj/item/gun/energy/e_gun/hos/add_stealing_item_objective()
262260
return add_item_to_steal(src, /obj/item/gun/energy/e_gun/hos)
263261
*/
262+
264263
/datum/objective_item/steal/handtele
265264
name = "a hand teleporter"
266265
targetitem = /obj/item/hand_tele

code/game/objects/items/choice_beacon.dm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,3 +175,4 @@
175175
GLOB.holy_armor_type = choice_path
176176
return ..()
177177

178+

code/game/objects/structures/crates_lockers/closets/secure/security.dm

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,14 @@
6565
new /obj/item/storage/belt/security/full(src)
6666
new /obj/item/circuitboard/machine/techfab/department/security(src)
6767
new /obj/item/storage/photo_album/hos(src)
68-
new /obj/item/gun/ballistic/automatic/pistol/paco(src) //monkestation edit: paco sec
6968
new /obj/item/ammo_box/magazine/m35(src) //monkestation edit: paco sec
7069
new /obj/item/bodycam_upgrade(src) //monkestation edit: Security Liability Act
7170

7271
/obj/structure/closet/secure_closet/hos/populate_contents_immediate()
7372
. = ..()
7473

7574
// Traitor steal objectives
76-
//new /obj/item/gun/energy/e_gun/hos(src) monkestation removal
75+
new /obj/item/choice_beacon/hos(src) //monkestation edit
7776
new /obj/item/pinpointer/nuke(src)
7877

7978
/obj/structure/closet/secure_closet/warden

code/modules/power/cell.dm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@
323323

324324
/obj/item/stock_parts/cell/hos_gun
325325
name = "X-01 multiphase energy gun power cell"
326-
maxcharge = 1200
326+
maxcharge = 1800 //monkestation edit
327327

328328
/obj/item/stock_parts/cell/pulse //200 pulse shots
329329
name = "pulse rifle power cell"

code/modules/projectiles/ammunition/energy/laser.dm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
select_name = "kill"
2323

2424
/obj/item/ammo_casing/energy/laser/hos
25-
e_cost = 120
25+
e_cost = 90 //monkestation edit
2626

2727
/obj/item/ammo_casing/energy/laser/musket
2828
projectile_type = /obj/projectile/beam/laser/musket

code/modules/projectiles/ammunition/energy/stun.dm

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
e_cost = 200
66
harmful = FALSE
77

8+
/obj/item/ammo_casing/energy/electrode/hos //monkestation edit
9+
e_cost = 300
10+
811
/obj/item/ammo_casing/energy/electrode/spec
912
e_cost = 100
1013

code/modules/projectiles/boxes_magazines/internal/shotgun.dm

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@
2121
ammo_type = /obj/item/ammo_casing/shotgun/beanbag
2222
max_ammo = 6
2323

24+
/obj/item/ammo_box/magazine/internal/shot/com/compact
25+
name = "compact shotgun internal magazine"
26+
max_ammo = 6 //Monkestation edit
27+
2428
/obj/item/ammo_box/magazine/internal/shot/dual
2529
name = "double-barrel shotgun internal magazine"
2630
max_ammo = 2

code/modules/projectiles/guns/ballistic/shotgun.dm

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,15 @@
6464
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/shot/com
6565
w_class = WEIGHT_CLASS_HUGE
6666

67+
/obj/item/gun/ballistic/shotgun/automatic/combat/compact
68+
name = "compact shotgun"
69+
desc = "A compact version of the semi automatic combat shotgun. For close encounters."
70+
icon_state = "cshotgunc"
71+
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK
72+
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/shot/com/compact
73+
w_class = WEIGHT_CLASS_BULKY
74+
75+
6776
//Dual Feed Shotgun
6877

6978
/obj/item/gun/ballistic/shotgun/automatic/dual_tube

code/modules/projectiles/guns/energy/energy_gun.dm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
icon_state = "hoslaser"
6868
w_class = WEIGHT_CLASS_NORMAL
6969
force = 10
70-
ammo_type = list(/obj/item/ammo_casing/energy/disabler/hos, /obj/item/ammo_casing/energy/laser/hos, /obj/item/ammo_casing/energy/ion/hos)
70+
ammo_type = list(/obj/item/ammo_casing/energy/disabler/hos, /obj/item/ammo_casing/energy/laser/hos, /obj/item/ammo_casing/energy/ion/hos, /obj/item/ammo_casing/energy/electrode/hos) //monkestation edit
7171
ammo_x_offset = 4
7272
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
7373
flags_1 = PREVENT_CONTENTS_EXPLOSION_1

code/modules/projectiles/projectile/bullets/shotgun.dm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
name = "beanbag slug"
2020
icon_state = "pellet"
2121
damage = 10
22-
stamina = 55
22+
stamina = 145 //monkestation edit
2323
wound_bonus = 20
2424
sharpness = NONE
2525
embedding = null
@@ -84,7 +84,7 @@
8484
/obj/projectile/bullet/pellet/shotgun_rubbershot
8585
name = "rubber shot pellet"
8686
damage = 3
87-
stamina = 11
87+
stamina = 30 //monkestation edit
8888
sharpness = NONE
8989
embedding = null
9090
speed = 1.2

icons/mob/clothing/belt.dmi

247 Bytes
Binary file not shown.
7.58 KB
Binary file not shown.
8.29 KB
Binary file not shown.

icons/obj/weapons/guns/ballistic.dmi

230 Bytes
Binary file not shown.

icons/obj/weapons/guns/energy.dmi

3.17 KB
Binary file not shown.

monkestation/code/modules/security/code/weapons/lawbringer.dm

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -600,23 +600,34 @@
600600
e_cost = 1400 //47%, 2 shots
601601
harmful = TRUE
602602

603-
//LOCKER OVERRIDES//
604-
/obj/structure/closet/secure_closet/hos/populate_contents_immediate()
605-
. = ..()
606-
607-
// Traitor steal objectives
608-
new /obj/item/gun/energy/e_gun/lawbringer(src)
609-
610-
//OBJECTIVE OVERRIDES//
611-
/datum/objective_item/steal/lawbringer
612-
name = "the head of security's lawbringer"
613-
targetitem = /obj/item/gun/energy/e_gun/lawbringer
603+
// HoS weapon beacon
604+
/obj/item/choice_beacon/hos
605+
name = "gun beacon"
606+
desc = "A single use beacon to deliver a gunset of your choice to help with security detail."
607+
company_source = "Central Command"
608+
company_message = span_bold("Supply Pod incoming, please stand back.")
609+
610+
/obj/item/choice_beacon/hos/generate_display_names()
611+
var/static/list/selectable_guns = list(
612+
"X-01 MultiPhase Energy Gun" = /obj/item/gun/energy/e_gun/hos,
613+
"Lawbringer" = /obj/item/gun/energy/e_gun/lawbringer,
614+
"Compact Combat Shotgun" = /obj/item/gun/ballistic/shotgun/automatic/combat/compact,
615+
)
616+
return selectable_guns
617+
618+
619+
// Steal Objective, not just for Lawbringer but all their guns
620+
/datum/objective_item/steal/hosgun
621+
name = "the head of security's personal weapon"
622+
targetitem = /obj/item/choice_beacon/hos
614623
excludefromjob = list(JOB_HEAD_OF_SECURITY)
624+
altitems = list(/obj/item/gun/ballistic/shotgun/automatic/combat/compact, /obj/item/gun/energy/e_gun/lawbringer, /obj/item/gun/energy/e_gun/hos)
615625
item_owner = list(JOB_HEAD_OF_SECURITY)
616626
exists_on_map = TRUE
617627

618-
/obj/item/gun/energy/e_gun/hos/add_stealing_item_objective()
619-
return add_item_to_steal(src, /obj/item/gun/energy/e_gun/lawbringer)
628+
/obj/item/choice_beacon/hos/add_stealing_item_objective()
629+
return add_item_to_steal(src, /obj/item/choice_beacon/hos)
630+
620631

621632
//THE MANUAL//
622633
/obj/item/paper/guides/lawbringer

0 commit comments

Comments
 (0)