mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-07-25 07:04:33 +01:00
e7e7d5342b
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
170 lines
4.7 KiB
Plaintext
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"
|