Files
2026-06-04 09:11:57 -04:00

170 lines
4.7 KiB
Plaintext

/obj/item/gun/energy/freezegun
name = "Pulse Froster Prototype"
desc = "A strange gun pulsing with energy, it's touch chilling you to the core."
icon = 'modular_chomp/icons/obj/guns/precursor/eclipse.dmi'
icon_state = "cryogun"
item_state = "cryogun"
wielded_item_state = "cryogun-wielded"
matter = list(MAT_DURASTEEL = 1000, MAT_MORPHIUM = 500)
charge_cost = 80 //How much energy is needed to fire.
accept_cell_type = /obj/item/cell/device
cell_type = /obj/item/cell/device/weapon
projectile_type = /obj/item/projectile/energy/frostsphere
recoil_mode = 0
charge_meter = 1
reload_time = 10
firemodes = list(
list(mode_name="normal", fire_delay=5, projectile_type=/obj/item/projectile/energy/frostsphere, charge_cost = 80),
list(mode_name="shotgun", fire_delay=15, projectile_type=/obj/item/projectile/bullet/frostshotgun, charge_cost = 240),
)
/obj/item/grenade/chem_grenade/frost
name = "frost grenade"
desc = "Currently in the testing phase, pratical purposes are unknown."
icon_state = "foam"
path = 1
stage = 2
sealed = TRUE
/obj/item/grenade/chem_grenade/frost/Initialize(mapload)
. = ..()
var/obj/item/reagent_containers/glass/beaker/bluespace/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/bluespace/B2 = new(src)
B1.reagents.add_reagent(REAGENT_ID_CRYOSLURRY, 150)
B1.reagents.add_reagent(REAGENT_ID_POTASSIUM, 150)
B2.reagents.add_reagent(REAGENT_ID_PHOSPHORUS, 150)
B2.reagents.add_reagent(REAGENT_ID_SUGAR, 150)
detonator = new/obj/item/assembly_holder/timer_igniter(src)
beakers += B1
/obj/item/projectile/bullet/frostshotgun
use_submunitions = 1
only_submunitions = 1
range = 0
embed_chance = 0
submunition_spread_max = 1200
submunition_spread_min = 500
submunitions = list(/obj/item/projectile/energy/frostsphere = 4)
hud_state = "plasma_sphere"
/obj/item/projectile/bullet/frostshotgun/on_range()
qdel(src)
/obj/item/projectile/energy/frostsphere
name = "frost sphere"
icon_state = "ice_2"
fire_sound = 'sound/weapons/pulse3.ogg'
damage = 20
modifier_type_to_apply = /datum/modifier/cryogelled
modifier_duration = 0.25 MINUTE
speed = 2.5
range = 12
hud_state = "water"
/obj/item/projectile/energy/mechahack
name = "remote hack"
icon = 'modular_chomp/icons/obj/guns/precursor/eclipse.dmi'
icon_state = "databreach"
nodamage = 1
irradiate = 3
speed = 1 //a bit faster due to the source having a 3 second wind up
/obj/item/projectile/energy/mechahack/on_hit(atom/target)
. = ..()
if(istype(target, /obj/mecha))
remote_eject(target)
/obj/item/projectile/energy/mechahack/proc/remote_eject(obj/mecha/M)
if(!M)
return
visible_message(span_critical("\The [M] is remotly hacked and ejects [M.occupant]!"))
M.go_out()
/obj/item/projectile/energy/lightingspark
name = "lighting spark"
icon_state = "spark"
nodamage = 1
damage_type = HALLOSS
speed = 2
var/power = 20 //How hard it will hit for with electrocute_act(), decreases with each bounce.
/obj/item/projectile/energy/lightingspark/attack_mob(mob/living/target_mob, distance, miss_modifier=0)
//First we shock the guy we just hit.
if(ishuman(target_mob))
var/mob/living/carbon/human/H = target_mob
var/obj/item/organ/external/affected = H.get_organ(check_zone(BP_TORSO))
H.electrocute_act(power, src, H.get_siemens_coefficient_organ(affected), affected, 0)
else
target_mob.electrocute_act(power, src, 0.75, BP_TORSO)
/obj/item/projectile/energy/eclipse_boss
name = "experimental laser"
icon = 'modular_chomp/icons/obj/guns/precursor/eclipse.dmi'
icon_state = "laser"
check_armour = "laser"
speed = 10
crawl_destroy = TRUE
/obj/item/projectile/energy/eclipse_boss/chillingwind
name = "ice winds"
icon_state = "ice_wind"
damage = 15
armor_penetration = 70
modifier_type_to_apply = /datum/modifier/cryogelled
modifier_duration = 0.25 MINUTE
/obj/item/projectile/energy/eclipse_boss/metalsphere
name = "metal sphere"
icon_state = "metal_sphere"
damage_type = BRUTE
check_armour = "bullet"
damage = 20
agony = 10
armor_penetration = 50
/obj/item/projectile/energy/eclipse_boss/energyjavelin
name = "searing javelin"
icon_state = "javelin"
damage_type = SEARING
damage = 40
armor_penetration = 30
//projectiles
/obj/item/projectile/energy/astral_collective
name = "abnormal energy"
speed = 3
damage = 28
damage_type = BURN
icon = 'modular_chomp/icons/obj/guns/precursor/eclipse.dmi'
icon_state = "laser"
check_armour = "laser"
/obj/item/projectile/energy/astral_collective/basic
damage_type = SEARING
/obj/item/projectile/energy/astral_collective/spear
icon_state = "spear"
damage = 20
armor_penetration = 30
/obj/item/projectile/energy/astral_collective/fire
icon_state = "fire"
damage = 10
incendiary = 2
flammability = 3
/obj/item/projectile/energy/astral_collective/dagger
damage = 8
armor_penetration = 60
icon_state = "dagger"