Skip to content

Commit

Permalink
Merge branch 'master' into Thruster
Browse files Browse the repository at this point in the history
  • Loading branch information
Thera-Pissed authored Feb 27, 2024
2 parents 476ebd1 + b7c3546 commit 12a363b
Show file tree
Hide file tree
Showing 8 changed files with 110 additions and 75 deletions.
26 changes: 26 additions & 0 deletions code/controllers/subsystem/shuttle.dm
Original file line number Diff line number Diff line change
Expand Up @@ -536,6 +536,32 @@ SUBSYSTEM_DEF(shuttle)
user.client.debug_variables(port.current_ship)
return TRUE

if("blist")
var/obj/docking_port/mobile/port = locate(params["id"]) in mobile
if(!port || !port.current_ship)
return
var/datum/overmap/ship/controlled/port_ship = port.current_ship
var/temp_loc = input(user, "Select outpost to modify ship blacklist status for", "Get Em Outta Here") as null|anything in SSovermap.outposts
if(!temp_loc)
return
var/datum/overmap/outpost/please_leave = temp_loc
if(please_leave in port_ship.blacklisted)
if(tgui_alert(user, "Rescind ship blacklist?", "Maybe They Aren't So Bad", list("Yes", "No")) == "Yes")
port_ship.blacklisted &= ~please_leave
message_admins("[key_name_admin(user)] unblocked [port_ship] from [please_leave].")
log_admin("[key_name_admin(user)] unblocked [port_ship] from [please_leave].")
return TRUE
var/reason = input(user, "Provide a reason for blacklisting, which will be displayed on docking attempts", "Bar Them From The Pearly Gates", "Contact local law enforcement for more information.") as null|text
if(!reason)
return TRUE
if(please_leave in port_ship.blacklisted) //in the event two admins are blacklisting a ship at the same time
if(tgui_alert(user, "Ship is already blacklisted, overwrite current reason with your own?", "I call the shots here", list("Yes", "No")) != "Yes")
return TRUE
port_ship.blacklisted[please_leave] = reason
message_admins("[key_name_admin(user)] blacklisted [port_ship] from landing at [please_leave] with reason: [reason]")
log_admin("[key_name_admin(user)] blacklisted [port_ship] from landing at [please_leave] with reason: [reason]")
return TRUE

if("fly")
for(var/obj/docking_port/mobile/M as anything in mobile)
if(REF(M) == params["id"])
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/kitchen.dm
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@
name = "butcher's cleaver"
icon_state = "butch"
item_state = "butch"
desc = "A huge thing used for chopping and chopping up meat. This includes clowns and clown by-products."
desc = "A huge thing used for chopping and chopping up meat."
flags_1 = CONDUCT_1
force = 15
throwforce = 10
Expand Down
117 changes: 50 additions & 67 deletions code/modules/cargo/packs/gun.dm
Original file line number Diff line number Diff line change
Expand Up @@ -19,66 +19,59 @@

/datum/supply_pack/gun/commanders
name = "Commander pistol crate"
desc = "Contains two modified Candor 'Commander' pistols, produced by Nanotrasen and chambered in 9mm."
cost = 1500
contains = list(/obj/item/gun/ballistic/automatic/pistol/commander,
/obj/item/gun/ballistic/automatic/pistol/commander)
desc = "Contains a modified Candor 'Commander' pistol, produced by Nanotrasen and chambered in 9mm."
cost = 750
contains = list(/obj/item/gun/ballistic/automatic/pistol/commander)

/datum/supply_pack/gun/makarovs
name = "Stechkin pistol crate"
desc = "Contains two concealable stechkin pistols, produced by Scarborough Arms and chambered in 10mm."
cost = 2000
desc = "Contains a concealable stechkin pistol, produced by Scarborough Arms and chambered in 10mm."
cost = 1000
contains = list(/obj/item/gun/ballistic/automatic/pistol,
/obj/item/gun/ballistic/automatic/pistol)

/datum/supply_pack/gun/revolver
name = "Scarbourgh Revolver crate"
desc = "Contains two concealable Scarbourgh revolvers, chambered in .357."
cost = 2500
contains = list(/obj/item/gun/ballistic/revolver,
/obj/item/gun/ballistic/revolver)
desc = "Contains a concealable Scarbourgh revolver, chambered in .357."
cost = 1250
contains = list(/obj/item/gun/ballistic/revolver)

/datum/supply_pack/gun/detrevolver
name = "Hunter's Pride Detective Revolver crate"
desc = "Contains two concealable Solarian revolvers, chambered in .38."
cost = 2000
contains = list(/obj/item/gun/ballistic/revolver/detective,
/obj/item/gun/ballistic/revolver/detective)
desc = "Contains a concealable Solarian revolver, chambered in .38."
cost = 1000
contains = list(/obj/item/gun/ballistic/revolver/detective)

/datum/supply_pack/gun/shadowrevolver
name = "Shadow Revolver crate"
desc = "Contains two concealable Shadow revolvers, chambered in .45 ACP."
cost = 2500
contains = list(/obj/item/gun/ballistic/revolver/shadow,
/obj/item/gun/ballistic/revolver/shadow)
desc = "Contains a concealable Shadow revolver, chambered in .45 ACP."
cost = 1000
contains = list(/obj/item/gun/ballistic/revolver/shadow)


/*
Energy
*/

/datum/supply_pack/gun/laser
name = "Lasers Crate"
desc = "Contains two lethal, high-energy laser guns."
cost = 2000
contains = list(/obj/item/gun/energy/laser,
/obj/item/gun/energy/laser)
name = "Laser Gun Crate"
desc = "Contains a lethal, high-energy laser gun."
cost = 1000
contains = list(/obj/item/gun/energy/laser)
crate_name = "laser crate"

/datum/supply_pack/gun/laser
name = "Mini Energy Gun Crate"
desc = "Contains two small, versatile energy guns, capable of firing both nonlethal and lethal blasts, but with a limited power cell."
cost = 1500
contains = list(/obj/item/gun/energy/e_gun/mini,
/obj/item/gun/energy/e_gun/mini)
desc = "Contains a small, versatile energy guns, capable of firing both nonlethal and lethal blasts, but with a limited power cell."
cost = 500
contains = list(/obj/item/gun/energy/e_gun/mini)
crate_name = "laser crate"

/datum/supply_pack/gun/energy
name = "Energy Guns Crate"
desc = "Contains two versatile energy guns, capable of firing both nonlethal and lethal blasts of light."
cost = 2500
contains = list(/obj/item/gun/energy/e_gun,
/obj/item/gun/energy/e_gun)
name = "Energy Gun Crate"
desc = "Contains a versatile energy gun, capable of firing both nonlethal and lethal blasts of light."
cost = 1250
contains = list(/obj/item/gun/energy/e_gun)
crate_name = "energy gun crate"
crate_type = /obj/structure/closet/crate/secure/plasma

Expand All @@ -95,19 +88,17 @@
*/

/datum/supply_pack/gun/hellfire_shotgun
name = "Hellfire Shotguns Crate"
desc = "For when you need to deal with 7 hooligans. Contains 2 pump shotguns, each with a 8-round capacity."
cost = 4500
contains = list(/obj/item/gun/ballistic/shotgun/hellfire,
/obj/item/gun/ballistic/shotgun/hellfire)
name = "Hellfire Shotgun Crate"
desc = "For when you need to deal with 7 hooligans. Contains a pump shotguns, with a 8-round capacity."
cost = 2000
contains = list(/obj/item/gun/ballistic/shotgun/hellfire)
crate_name = "shotguns crate"

/datum/supply_pack/gun/brimstone_shotgun
name = "Brimstone Shotguns Crate"
desc = "For when you need to deal with 5 hooligans, and QUICKLY. Contains 2 slamfire shotguns, each with a 5-round capacity. Warranty voided if sawed off."
cost = 4500
contains = list(/obj/item/gun/ballistic/shotgun/brimstone,
/obj/item/gun/ballistic/shotgun/brimstone)
name = "Brimstone Shotgun Crate"
desc = "For when you need to deal with 5 hooligans, and QUICKLY. Contains a slamfire shotguns, with a 5-round capacity. Warranty voided if sawed off."
cost = 2000
contains = list(/obj/item/gun/ballistic/shotgun/brimstone)
crate_name = "shotguns crate"

/*
Expand All @@ -116,52 +107,44 @@

/datum/supply_pack/gun/winchester
name = "Flaming Arrow Lever Action Rifle Crate"
desc = "Contains three antiquated lever action rifles intended for hunting wildlife. Chambered in .38 rounds."
cost = 1500
contains = list(/obj/item/gun/ballistic/shotgun/flamingarrow,
/obj/item/gun/ballistic/shotgun/flamingarrow,
/obj/item/gun/ballistic/shotgun/flamingarrow)
desc = "Contains a antiquated lever action rifles intended for hunting wildlife. Chambered in .38 rounds."
cost = 750
contains = list(/obj/item/gun/ballistic/shotgun/flamingarrow)
crate_name = "rifle crate"

/datum/supply_pack/gun/cobra20
name = "Cobra-20 SMG Crate"
desc = "Contains two .45 submachine guns, manufactured by Scaraborough Arms and chambered in .45"
desc = "Contains a .45 submachine guns, manufactured by Scaraborough Arms and chambered in .45"
cost = 3000
contains = list(/obj/item/gun/ballistic/automatic/smg/c20r/cobra,
/obj/item/gun/ballistic/automatic/smg/c20r/cobra)
contains = list(/obj/item/gun/ballistic/automatic/smg/c20r/cobra)
crate_name = "SMG crate"

/datum/supply_pack/gun/illestren
name = "Illestren Rifle Crate"
desc = "Contains three expertly made bolt action rifles intended for hunting wildlife. Chambered in 8x50mmR rounds."
cost = 4000
contains = list(/obj/item/gun/ballistic/rifle/illestren,
/obj/item/gun/ballistic/rifle/illestren,
/obj/item/gun/ballistic/rifle/illestren)
desc = "Contains a expertly made bolt action rifles intended for hunting wildlife. Chambered in 8x50mmR rounds."
cost = 1250
contains = list(/obj/item/gun/ballistic/rifle/illestren)
crate_name = "rifle crate"

/datum/supply_pack/gun/wt550
name = "WT-550 Auto Rifle Crate"
desc = "Contains two high-powered, semiautomatic rifles chambered in 4.6x30mm."
cost = 6000
contains = list(/obj/item/gun/ballistic/automatic/smg/wt550,
/obj/item/gun/ballistic/automatic/smg/wt550)
desc = "Contains a high-powered, automatic personal defense weapon chambered in 4.6x30mm."
cost = 4000
contains = list(/obj/item/gun/ballistic/automatic/smg/wt550)
crate_name = "auto rifle crate"

/datum/supply_pack/gun/p16
name = "P16 Assault Rifle Crate"
desc = "Contains two high-powered, automatic rifles chambered in 5.56mm."
cost = 8000
contains = list(/obj/item/gun/ballistic/automatic/assault/p16,
/obj/item/gun/ballistic/automatic/assault/p16)
desc = "Contains a high-powered, automatic rifles chambered in 5.56mm."
cost = 5000
contains = list(/obj/item/gun/ballistic/automatic/assault/p16)
crate_name = "auto rifle crate"

/datum/supply_pack/gun/skm
name = "SKM-24 Rifle Crate"
desc = "Contains two high-powered, automatic rifles chambered in 7.62x40mm CLIP."
cost = 6000
contains = list(/obj/item/gun/ballistic/automatic/assault/skm,
/obj/item/gun/ballistic/automatic/assault/skm)
desc = "Contains a high-powered, automatic rifles chambered in 7.62x40mm CLIP."
cost = 5000
contains = list(/obj/item/gun/ballistic/automatic/assault/skm)
crate_name = "auto rifle crate"

/*
Expand Down
14 changes: 7 additions & 7 deletions code/modules/cargo/packs/sec_supply.dm
Original file line number Diff line number Diff line change
Expand Up @@ -63,13 +63,13 @@
/obj/item/shield/riot)
crate_name = "riot shields crate"

/datum/supply_pack/sec_supply/combatknives
name = "Combat Knives Crate"
desc = "Contains three sharpened combat knives. Each knife guaranteed to fit snugly inside any galactic-standard boot."
cost = 2500
contains = list(/obj/item/kitchen/knife/combat,
/obj/item/kitchen/knife/combat,
/obj/item/kitchen/knife/combat)
/datum/supply_pack/sec_supply/survknives
name = "Survival Knives Crate"
desc = "Contains three sharpened survival knives. Each knife guaranteed to fit snugly inside any galactic-standard boot."
cost = 500
contains = list(/obj/item/kitchen/knife/combat/survival,
/obj/item/kitchen/knife/combat/survival,
/obj/item/kitchen/knife/combat/survival)
crate_name = "combat knife crate"

/datum/supply_pack/sec_supply/fire
Expand Down
3 changes: 3 additions & 0 deletions code/modules/overmap/objects/outpost/outpost.dm
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,9 @@
)
return FALSE

if(src in dock_requester.blacklisted)
return new /datum/docking_ticket(_docking_error = "Docking request denied: [dock_requester.blacklisted[src]]")

adjust_dock_to_shuttle(h_dock, dock_requester.shuttle_port)
return new /datum/docking_ticket(h_dock, src, dock_requester)

Expand Down
4 changes: 4 additions & 0 deletions code/modules/overmap/ships/controlled_ship_datum.dm
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,9 @@
///Time that next job slot change can occur
COOLDOWN_DECLARE(job_slot_adjustment_cooldown)

///Stations the ship has been blacklisted from landing at, associative station = reason
var/list/blacklisted = list()

/datum/overmap/ship/controlled/Rename(new_name, force = FALSE)
var/oldname = name
if(!..() || (!COOLDOWN_FINISHED(src, rename_cooldown) && !force))
Expand Down Expand Up @@ -128,6 +131,7 @@
QDEL_NULL(shipkey)
QDEL_LIST(manifest)
job_slots.Cut()
blacklisted.Cut()
for(var/a_key in applications)
if(isnull(applications[a_key]))
continue
Expand Down
10 changes: 10 additions & 0 deletions html/changelogs/archive/2024-02.yml
Original file line number Diff line number Diff line change
Expand Up @@ -240,3 +240,13 @@
- rscdel: NT-SVG and AK-74 have been merged into a single gun
- balance: 7.62x40mm now contains eighty rounds per ammo box
- bugfix: 45-70 hollow point ammo boxes now no longer contains 357 for some reason
2024-02-27:
Martinpachu:
- bugfix: Removed mention of clowns in the butcher cleaver's description.
- balance: Cargo gun crates are more granularized, having only one gun at a time
and a price reflecting that. Prices were rebalanced making automatics more expensive
overall.
- balance: Changes combat knives in cargo to survival knives and cheapens their
crate.
SomeguyManperson:
- rscadd: admins can now blacklist ships, preventing them from docking at a station.
9 changes: 9 additions & 0 deletions tgui/packages/tgui/interfaces/ShuttleManipulator.js
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,15 @@ export const ShuttleManipulatorStatus = (props, context) => {
})
}
/>
<Button
content="BLIST"
key={shuttle.id}
onClick={() =>
act('blist', {
id: shuttle.id,
})
}
/>
</Table.Cell>
<Table.Cell>{shuttle.name}</Table.Cell>
<Table.Cell>{shuttle.type}</Table.Cell>
Expand Down

0 comments on commit 12a363b

Please sign in to comment.