tweaks + metabolism gun

- added AL-T-Ray, a raygun that changes the targets weight gain and loss rates
- added ALTR to NutriTech Weapons research node
- the calorite fountain's curse now lasts 2000 steps
- fatoray gun projectiles can now reflect off reflective surfaces (like titanium)
This commit is contained in:
evilew
2024-03-08 00:06:24 +01:00
parent dc64540938
commit b63d973f41
7 changed files with 168 additions and 6 deletions
@@ -2,11 +2,13 @@
///GS13 designs / nutri designs
/////////////////////////////////////////
//nutritech weapons
/datum/design/fatoray_weak
name = "Basic Fatoray"
id = "fatoray_weak"
build_type = PROTOLATHE
materials = list(MAT_METAL = 8000, MAT_GLASS = 6000, MAT_CALORITE = 20000)
materials = list(MAT_METAL = 8000, MAT_GLASS = 6000, MAT_CALORITE = 10000)
construction_time = 75
build_path = /obj/item/gun/energy/fatoray/weak
category = list("Weapons")
@@ -16,12 +18,23 @@
name = "Cannonshot Fatoray"
id = "fatoray_cannon_weak"
build_type = PROTOLATHE
materials = list(MAT_METAL = 10000, MAT_GLASS = 8000, MAT_CALORITE = 30000)
materials = list(MAT_METAL = 10000, MAT_GLASS = 8000, MAT_CALORITE = 20000)
construction_time = 200
build_path = /obj/item/gun/energy/fatoray/cannon_weak
category = list("Weapons")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_SECURITY
/datum/design/alter_ray
name = "AL-T-Ray: Metabolism"
id = "alter_ray"
build_type = PROTOLATHE
materials = list(MAT_METAL = 10000, MAT_GLASS = 8000, MAT_CALORITE = 26000)
construction_time = 200
build_path = /obj/item/gun/energy/laser/alter_ray/gainrate
category = list("Weapons")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_SECURITY
//nutritech tools
/datum/design/calorite_collar
name = "Calorite Collar"
desc = "A collar that amplifies caloric intake of the wearer."
@@ -16,7 +16,7 @@
display_name = "Nutri-Tech Weapons"
description = "Ever wanted to reach your daily caloric intake in just 5 seconds?"
prereq_ids = list("biotech", "adv_engi")
design_ids = list("fatoray_weak", "fatoray_cannon_weak")
design_ids = list("fatoray_weak", "fatoray_cannon_weak", "alter_ray")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
boost_item_paths = list(/obj/item/gun/energy/fatoray, /obj/item/gun/energy/fatoray/cannon, /obj/item/trash/fatoray_scrap1, /obj/item/trash/fatoray_scrap2)
export_price = 10000
+1 -1
View File
@@ -22,7 +22,7 @@
return
if (ishuman(user) && user.has_dna())
user.cursed_fat = 1
user.fattening_steps_left += 100
user.fattening_steps_left += 2000
icon_state = "empty"
to_chat(user, "<span class='notice'>The glittering orange liquid disappears instantly as you touch it. You feel a strange, warm sensation inside, growing stronger the more you move...</span>")
curse_given = 1
@@ -0,0 +1,144 @@
/////GS13 - rayguns for metabolism and breasts/ass manipulation
//this is pretty wonky code, but ig it works
/obj/item/gun/energy/laser/alter_ray
name = "alter-ray"
icon = 'icons/obj/guns/energy.dmi'
icon_state = "lasernew"
desc = "This weapon is capable of altering one's body capabilities."
item_state = null
selfcharge = EGUN_SELFCHARGE
charge_delay = 5
ammo_x_offset = 2
clumsy_check = 1
/obj/item/gun/energy/laser/alter_ray/gainrate
name = "AL-T-Ray: Metabolism"
desc = "This weapon is capable of altering one's body capabilities. This model appears to be capable of altering one's weight gain and loss rate by 10%."
ammo_type = list(/obj/item/ammo_casing/energy/laser/gainrate_decrease, /obj/item/ammo_casing/energy/laser/gainrate_increase, /obj/item/ammo_casing/energy/laser/lossrate_decrease, /obj/item/ammo_casing/energy/laser/lossrate_increase)
// /obj/item/gun/energy/laser/alter_ray/assbreasts //genius name, I know
// name = "AL-T-Ray: Voluptousness"
// desc = "This weapon is capable of altering one's body capabilities. This model appears to be capable of altering the size's of one's breasts or buttocks."
// ammo_type = list(/obj/item/ammo_casing/energy/laser/shrinkray, /obj/item/ammo_casing/energy/laser/growthray)
/obj/item/projectile/alter_ray
name = "sizeray beam"
icon_state = "omnilaser"
hitsound = null
damage = 0
damage_type = STAMINA
flag = "laser"
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE
ricochets_max = 50
ricochet_chance = 80
is_reflectable = TRUE
var/ratechange_amount = 0.1
//projectile biz
/obj/item/projectile/alter_ray/gainrate_decrease
icon_state="bluelaser"
/obj/item/projectile/alter_ray/gainrate_increase
icon_state="laser"
/obj/item/projectile/alter_ray/lossrate_decrease
icon_state="bluelaser"
/obj/item/projectile/alter_ray/lossrate_increase
icon_state="laser"
// /obj/item/projectile/alter_ray/breast_decrease
// icon_state="bluelaser"
// /obj/item/projectile/alter_ray/breast_increase
// icon_state="laser"
// /obj/item/projectile/alter_ray/butt_decrease
// icon_state="bluelaser"
// /obj/item/projectile/alter_ray/butt_increase
// icon_state="laser"
//laser hitting / changing code
//wg rate increase
/obj/item/projectile/alter_ray/gainrate_increase/on_hit(atom/target, blocked)
. = ..()
var/mob/living/carbon/gainer = target
if(iscarbon(gainer))
if(gainer.weight_gain_rate <= 3)
gainer.weight_gain_rate += ratechange_amount
return TRUE
return FALSE
return FALSE
//wg rate decrease
/obj/item/projectile/alter_ray/gainrate_decrease/on_hit(atom/target, blocked)
. = ..()
var/mob/living/carbon/gainer = target
if(iscarbon(gainer))
if(gainer.weight_gain_rate >= 0.11)
gainer.weight_gain_rate -= ratechange_amount
return TRUE
if(gainer.weight_gain_rate <= 0.1)
return FALSE
return FALSE
//wl rate increase
/obj/item/projectile/alter_ray/lossrate_increase/on_hit(atom/target, blocked)
. = ..()
var/mob/living/carbon/gainer = target
if(iscarbon(gainer))
if(gainer.weight_loss_rate <= 3)
gainer.weight_loss_rate += ratechange_amount
return TRUE
return FALSE
return FALSE
//wl rate decrease
/obj/item/projectile/alter_ray/lossrate_decrease/on_hit(atom/target, blocked)
. = ..()
var/mob/living/carbon/gainer = target
if(iscarbon(gainer))
if(gainer.weight_loss_rate >= 0.11)
gainer.weight_loss_rate -= ratechange_amount
return TRUE
if(gainer.weight_loss_rate <= 0.1)
return FALSE
return FALSE
//ammo casings - these are needed to allow guns to switch between firing modes
/obj/item/ammo_casing/energy/laser/gainrate_increase
projectile_type = /obj/item/projectile/alter_ray/gainrate_increase
select_name = "Weight Gain Increase"
/obj/item/ammo_casing/energy/laser/gainrate_decrease
projectile_type = /obj/item/projectile/alter_ray/gainrate_decrease
select_name = "Weight Gain Decrease"
/obj/item/ammo_casing/energy/laser/lossrate_increase
projectile_type = /obj/item/projectile/alter_ray/lossrate_increase
select_name = "Weight Loss Increase"
/obj/item/ammo_casing/energy/laser/lossrate_decrease
projectile_type = /obj/item/projectile/alter_ray/lossrate_decrease
select_name = "Weight Loss Decrease"
@@ -30,8 +30,12 @@
is_reflectable = TRUE
light_range = 2
light_color = LIGHT_COLOR_ORANGE
ricochets_max = 50
ricochet_chance = 80
is_reflectable = TRUE
///How much fat is added to the target mob?
var/fat_added = 100
////// Fatoray - cannon variant, strong but can be charged
Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

+3 -2
View File
@@ -3095,8 +3095,8 @@
#include "GainStation13\code\modules\food_and_drinks\drinks.dm"
#include "GainStation13\code\modules\food_and_drinks\food.dm"
#include "GainStation13\code\modules\food_and_drinks\recipes_bigpizza.dm"
#include "GainStation13\code\modules\food_and_drinks\recipes\recipes_ported.dm"
#include "GainStation13\code\modules\food_and_drinks\objects\candy_flora.dm"
#include "GainStation13\code\modules\food_and_drinks\recipes\recipes_ported.dm"
#include "GainStation13\code\modules\mob\living\emote.dm"
#include "GainStation13\code\modules\reagents\chemistry\reagents\consumable_reagents.dm"
#include "GainStation13\code\modules\reagents\chemistry\reagents\dwarverndrinks.dm"
@@ -3117,8 +3117,9 @@
#include "GainStation13\code\obj\structure\fountain.dm"
#include "GainStation13\code\obj\structure\gsstatues.dm"
#include "GainStation13\code\obj\structure\scale.dm"
#include "GainStation13\code\obj\weapons\fatoray.dm"
#include "GainStation13\code\obj\weapons\alter_rays.dm"
#include "GainStation13\code\obj\weapons\fatbeam.dm"
#include "GainStation13\code\obj\weapons\fatoray.dm"
#include "hyperstation\code\__DEFINES\economy.dm"
#include "hyperstation\code\__DEFINES\wendigo.dm"
#include "hyperstation\code\controllers\subsystem\economy.dm"