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

Improvised Gun Improvement #2010

Closed
wants to merge 10 commits into from
25 changes: 13 additions & 12 deletions code/_globalvars/lists/maintenance_loot.dm
Original file line number Diff line number Diff line change
Expand Up @@ -284,6 +284,18 @@ GLOBAL_LIST_INIT(uncommon_loot, list(//uncommon: useful items
/obj/item/instrument/violin = 5,
/obj/item/instrument/violin/golden = 2,
) = 2,

list(//paint
/obj/item/paint/anycolor = 1,
/obj/item/paint/black = 1,
/obj/item/paint/blue = 1,
/obj/item/paint/green = 1,
/obj/item/paint/paint_remover = 1,
/obj/item/paint/red = 1,
/obj/item/paint/violet = 1,
/obj/item/paint/white = 1,
/obj/item/paint/yellow = 1,
) = 1,

list(//fakeout items, keep this list at low relative weight
/obj/item/clothing/shoes/jackboots = 1,
Expand Down Expand Up @@ -316,18 +328,6 @@ GLOBAL_LIST_INIT(rarity_loot, list(//rare: really good items
/obj/item/storage/belt/security = 1,
) = 1,

list(//paint
/obj/item/paint/anycolor = 1,
/obj/item/paint/black = 1,
/obj/item/paint/blue = 1,
/obj/item/paint/green = 1,
/obj/item/paint/paint_remover = 1,
/obj/item/paint/red = 1,
/obj/item/paint/violet = 1,
/obj/item/paint/white = 1,
/obj/item/paint/yellow = 1,
) = 1,

list(//medical and chemicals
list(//medkits
/obj/item/storage/box/hug/medical = 1,
Expand All @@ -346,6 +346,7 @@ GLOBAL_LIST_INIT(rarity_loot, list(//rare: really good items
/obj/item/book/granter/crafting_recipe/maint_gun/pipegun_prime = 1,
/obj/item/book/granter/crafting_recipe/trash_cannon = 1,
/obj/item/book/granter/crafting_recipe/maint_gun/laser_musket_prime = 1,
/obj/item/book/granter/crafting_recipe/maint_gun/smoothbore_disabler_prime = 1,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

excluded for a reason when i added these to maints.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is that?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

because its very powerful and you can get the book through black market instead(rarely)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've never seen them be an issue, and there's nothing wrong with there being more than one way to get it. Cargo's the only people who can order the black market transceiver thing I think, so giving others a method to get one is nice.

/obj/item/book/granter/sign_language = 1,
/obj/item/disk/nuclear/fake = 1,
/obj/item/skillchip/brainwashing = 1,
Expand Down
14 changes: 7 additions & 7 deletions code/datums/components/crafting/ranged_weapon.dm
Original file line number Diff line number Diff line change
Expand Up @@ -232,12 +232,13 @@
/obj/item/gun/ballistic/rifle/boltaction/pipegun = 1,
/obj/item/food/deadmouse = 1,
/datum/reagent/consumable/grey_bull = 20,
/obj/item/spear = 1,
/obj/item/storage/toolbox = 1,
)
tool_behaviors = list(TOOL_SCREWDRIVER)
tool_paths = list(/obj/item/clothing/gloves/color/yellow, /obj/item/clothing/mask/gas, /obj/item/melee/baton/security/cattleprod)
time = 30 SECONDS //contemplate for a bit
tool_paths = list(
/obj/item/spear
)
time = 25 SECONDS //contemplate for a bit
category = CAT_WEAPON_RANGED

/datum/crafting_recipe/deagle_prime //When you factor in the makarov (7 tc), the toolbox (1 tc), and the emag (3 tc), this comes to a total of 17 TC or thereabouts. Igorning the 20k pricetag, obviously.
Expand Down Expand Up @@ -325,7 +326,7 @@
/datum/reagent/consumable/nuka_cola = 15,
)
tool_behaviors = list(TOOL_SCREWDRIVER) //monke edits. removed the need for the special clothing
time = 30 SECONDS //contemplate for a bit
time = 25 SECONDS //contemplate for a bit
category = CAT_WEAPON_RANGED

/datum/crafting_recipe/smoothbore_disabler
Expand All @@ -350,9 +351,8 @@
reqs = list(
/obj/item/gun/energy/disabler/smoothbore = 1,
/obj/item/stack/sheet/mineral/gold = 5,
/obj/item/stock_parts/cell/hyper = 1,
/datum/reagent/reaction_agent/speed_agent = 10,
/obj/item/stock_parts/cell/super = 1,
)
tool_behaviors = list(TOOL_SCREWDRIVER)
time = 20 SECONDS
time = 15 SECONDS
category = CAT_WEAPON_RANGED
1 change: 1 addition & 0 deletions code/game/objects/items/kitchen.dm
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@
/obj/item/knife/kitchen
name = "kitchen knife"
desc = "A general purpose Chef's Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come."
bayonet = TRUE

/obj/item/knife/plastic
name = "plastic knife"
Expand Down
3 changes: 2 additions & 1 deletion code/game/objects/items/knives.dm
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@
inhand_icon_state = "huntingknife"
icon_state = "huntingknife"
wound_bonus = 10
bayonet = TRUE

/obj/item/knife/hunting/set_butchering()
AddComponent(/datum/component/butchering, \
Expand All @@ -133,7 +134,6 @@
desc = "A hunting grade survival knife."
force = 15
throwforce = 15
bayonet = TRUE

/obj/item/knife/combat/bone
name = "bone dagger"
Expand Down Expand Up @@ -172,6 +172,7 @@
attack_verb_simple = list("shank", "shiv")
armor_type = /datum/armor/none
custom_materials = list(/datum/material/glass = SMALL_MATERIAL_AMOUNT * 4)
bayonet = TRUE

/obj/item/knife/shiv/Initialize(mapload)
flags_1 &= ~CONDUCT_1
Expand Down
22 changes: 12 additions & 10 deletions code/modules/projectiles/guns/ballistic/rifle.dm
Original file line number Diff line number Diff line change
Expand Up @@ -101,19 +101,20 @@
return ..()

/obj/item/gun/ballistic/rifle/boltaction/attackby(obj/item/item, mob/user, params)
. = ..()
if(!can_jam)
balloon_alert(user, "can't jam!")
return

if(!bolt_locked)
if(!bolt_locked && !istype(item, /obj/item/knife))
balloon_alert(user, "bolt closed!")
return

if(istype(item, /obj/item/gun_maintenance_supplies) && do_after(user, 10 SECONDS, target = src))
user.visible_message(span_notice("[user] finishes maintenance of [src]."))
jamming_chance = initial(jamming_chance)
qdel(item)
. = ..()

if(istype(item, /obj/item/gun_maintenance_supplies))
if(!can_jam)
balloon_alert(user, "can't jam!")
return
if(do_after(user, 10 SECONDS, target = src))
user.visible_message(span_notice("[user] finishes maintaining [src]."))
jamming_chance = initial(jamming_chance)
qdel(item)

/obj/item/gun/ballistic/rifle/boltaction/blow_up(mob/user)
. = FALSE
Expand Down Expand Up @@ -181,6 +182,7 @@
can_modify_ammo = TRUE
can_misfire = FALSE
can_bayonet = TRUE
knife_x_offset = 25
knife_y_offset = 11
can_be_sawn_off = FALSE
projectile_damage_multiplier = 0.75
Expand Down
2 changes: 1 addition & 1 deletion code/modules/religion/religion_sects.dm
Original file line number Diff line number Diff line change
Expand Up @@ -337,7 +337,7 @@
tgui_icon = "eye"
altar_icon_state = "convertaltar-maint"
alignment = ALIGNMENT_EVIL //while maint is more neutral in my eyes, the flavor of it kinda pertains to rotting and becoming corrupted by the maints
rites_list = list(/datum/religion_rites/maint_adaptation, /datum/religion_rites/adapted_eyes, /datum/religion_rites/adapted_food, /datum/religion_rites/ritual_totem)
rites_list = list(/datum/religion_rites/maint_adaptation, /datum/religion_rites/adapted_eyes, /datum/religion_rites/adapted_food, /datum/religion_rites/ritual_totem, /datum/religion_rites/weapon_granter)
desired_items = list(/obj/item/reagent_containers = "holding organic slurry")

/datum/religion_sect/maintenance/sect_bless(mob/living/blessed_living, mob/living/chap)
Expand Down
20 changes: 20 additions & 0 deletions code/modules/religion/rites.dm
Original file line number Diff line number Diff line change
Expand Up @@ -434,6 +434,26 @@
user.emote("laugh")
new /obj/item/ritual_totem(altar_turf)
return TRUE

/datum/religion_rites/weapon_granter
name = "Maintenance Knowledge"
desc = "Creates a tome teaching you how to make an improved improvised weapon."
favor_cost = 100 //You still have to make the weapon afterwards, might want to change this though.
invoke_msg = "Grant me the ingenuinity of the Maintenance Khan!"
ritual_length = 5 SECONDS

/datum/religion_rites/weapon_granter/invoke_effect(mob/living/user, atom/movable/religious_tool)
..()
var/altar_turf = get_turf(religious_tool)
var/blessing = pick(
/obj/item/book/granter/crafting_recipe/maint_gun/pipegun_prime,
/obj/item/book/granter/crafting_recipe/trash_cannon,
/obj/item/book/granter/crafting_recipe/maint_gun/laser_musket_prime,
/obj/item/book/granter/crafting_recipe/maint_gun/smoothbore_disabler_prime,
)

new blessing(altar_turf)
return TRUE

///sparring god rites

Expand Down
12 changes: 12 additions & 0 deletions code/modules/research/designs/autolathe/medsci_designs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -211,3 +211,15 @@
RND_CATEGORY_TOOLS + RND_SUBCATEGORY_TOOLS_MEDICAL,
)
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL | DEPARTMENT_BITFLAG_SCIENCE

/datum/design/glasses
name = "Prescription Glasses"
id = "glasses"
build_type = AUTOLATHE | PROTOLATHE | AWAY_LATHE
materials = list(/datum/material/glass = HALF_SHEET_MATERIAL_AMOUNT)
build_path = /obj/item/clothing/glasses/regular
category = list(
RND_CATEGORY_INITIAL,
RND_CATEGORY_TOOLS + RND_SUBCATEGORY_TOOLS_MEDICAL,
)
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL
1 change: 1 addition & 0 deletions code/modules/research/techweb/all_nodes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,7 @@
"retractor",
"scalpel",
"stethoscope",
"glasses",
"surgical_drapes",
"surgical_tape",
"surgicaldrill",
Expand Down
10 changes: 5 additions & 5 deletions code/modules/vending/assist.dm
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@
/obj/item/assembly/prox_sensor = 5,
/obj/item/assembly/signaler = 4,
/obj/item/computer_disk/ordnance = 4,
/obj/item/stock_parts/capacitor = 3,
/obj/item/stock_parts/manipulator = 3,
/obj/item/stock_parts/matter_bin = 3,
/obj/item/stock_parts/micro_laser = 3,
/obj/item/stock_parts/scanning_module = 3,
/obj/item/stock_parts/capacitor = 5,
/obj/item/stock_parts/manipulator = 5,
/obj/item/stock_parts/matter_bin = 5,
/obj/item/stock_parts/micro_laser = 5,
/obj/item/stock_parts/scanning_module = 5,
/obj/item/wirecutters = 1,
)
contraband = list(
Expand Down
1 change: 1 addition & 0 deletions code/modules/vending/engineering.dm
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
/obj/item/multitool = 12,
/obj/item/wrench = 12,
/obj/item/t_scanner = 12,
/obj/item/stack/sticky_tape = 12,
/obj/item/stock_parts/cell = 8,
/obj/item/weldingtool = 8,
/obj/item/clothing/head/utility/welding = 8,
Expand Down
1 change: 1 addition & 0 deletions code/modules/vending/youtool.dm
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
/obj/item/analyzer = 5,
/obj/item/t_scanner = 5,
/obj/item/screwdriver = 5,
/obj/item/stack/sticky_tape = 5, //You would find tape at a hardware store.
/obj/item/flashlight/glowstick = 3,
/obj/item/flashlight/glowstick/red = 3,
/obj/item/flashlight = 5,
Expand Down
2 changes: 2 additions & 0 deletions monkestation/code/game/objects/items/guns/crank_guns.dm
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,12 @@
/obj/projectile/beam/laser/musket
damage = 30
stamina = 45
wound_bonus = -10

/obj/projectile/beam/laser/musket/prime
damage = 35
stamina = 60
wound_bonus = -10

/obj/projectile/beam/disabler/smoothbore/prime
stamina = 65
Expand Down
1 change: 1 addition & 0 deletions monkestation/code/game/objects/items/venom_knife.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
throw_speed = 5
throw_range = 7
custom_materials = null
bayonet = TRUE
/// The maximum amount of reagents per transfer that will be moved out of this reagent container
var/amount_per_transfer_from_this = 10
/// The different possible amounts of reagent to transfer out of the container
Expand Down
16 changes: 8 additions & 8 deletions monkestation/code/modules/cargo/markets/market_items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@

price_min = CARGO_CRATE_VALUE * 4
price_max = CARGO_CRATE_VALUE * 5
stock_max = 1
availability_prob = 40
stock_max = 3
availability_prob = 50

/datum/market_item/weapon/musket_recipe
name = "Journal of a Space Ranger"
Expand All @@ -25,15 +25,15 @@

price_min = CARGO_CRATE_VALUE * 4
price_max = CARGO_CRATE_VALUE * 5
stock_max = 2
availability_prob = 40
stock_max = 3
availability_prob = 50

/datum/market_item/weapon/smoothbore_recipe
name = "Old Tome"
desc = "Ahoy Maties, I, Captain Whitebeard, have plundered the ol' Nanotrasen station, among the booty retreived was this here tome about smoothbores. Alas, I have no use for its knowlege, so I am droppin it off here."
item = /obj/item/book/granter/crafting_recipe/maint_gun/smoothbore_disabler_prime

price_min = CARGO_CRATE_VALUE * 6
price_max = CARGO_CRATE_VALUE * 8
stock_max = 1
availability_prob = 20
price_min = CARGO_CRATE_VALUE * 3 //Non lethal, should be cheaper than the fancy lethals.
price_max = CARGO_CRATE_VALUE * 4
stock_max = 3
availability_prob = 50
Loading