mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
279 lines
8.9 KiB
Plaintext
279 lines
8.9 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)
|
|
origin_tech = list(TECH_COMBAT = 6, TECH_POWER = 5, TECH_PRECURSOR = 3)
|
|
|
|
|
|
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
|
|
|
|
move_delay = 0
|
|
|
|
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/gun/energy/flamegun
|
|
name = "Flame Crystal Projector"
|
|
desc = "A strange gun pulsing with energy, it's touch warming you up."
|
|
icon = 'modular_chomp/icons/obj/guns/precursor/eclipse.dmi'
|
|
icon_state = "flamegun"
|
|
item_state = "flamegun"
|
|
wielded_item_state = "flame-wielded"
|
|
|
|
w_class = ITEMSIZE_LARGE
|
|
|
|
accept_cell_type = /obj/item/cell/device
|
|
cell_type = /obj/item/cell/device/weapon
|
|
projectile_type = /obj/item/projectile/energy/flamecrystal
|
|
|
|
matter = list(MAT_DURASTEEL = 1000, MAT_MORPHIUM = 500)
|
|
origin_tech = list(TECH_COMBAT = 6, TECH_POWER = 5, TECH_PRECURSOR = 3)
|
|
|
|
recoil_mode = 0
|
|
charge_meter = 1
|
|
|
|
move_delay = 0
|
|
|
|
charge_cost = 80
|
|
|
|
reload_time = 10
|
|
|
|
firemodes = list(
|
|
list(mode_name="normal", fire_delay=5, projectile_type=/obj/item/projectile/energy/flamecrystal, charge_cost = 80),
|
|
list(mode_name="shotgun", fire_delay=15, projectile_type=/obj/item/projectile/bullet/flamegun, charge_cost = 240),
|
|
list(mode_name="explosive", fire_delay=10, projectile_type=/obj/item/projectile/energy/fireball, charge_cost = 160),
|
|
)
|
|
|
|
/obj/item/gun/energy/elementalray
|
|
name = "Proto-type Weapon Avatar"
|
|
desc = "A strange gun vibrating with energy, lathered with diffrent buttons and switches."
|
|
icon = 'modular_chomp/icons/obj/guns/precursor/eclipse.dmi'
|
|
icon_state = "avatar"
|
|
item_state = "avatar"
|
|
wielded_item_state = "avatar-wielded"
|
|
|
|
accept_cell_type = /obj/item/cell/device
|
|
cell_type = /obj/item/cell/device/weapon
|
|
projectile_type = /obj/item/projectile/bullet/flamegun
|
|
|
|
matter = list(MAT_DURASTEEL = 1000, MAT_MORPHIUM = 500)
|
|
origin_tech = list(TECH_COMBAT = 6, TECH_POWER = 5, TECH_PRECURSOR = 3)
|
|
|
|
recoil_mode = 0
|
|
charge_meter = 1
|
|
|
|
move_delay = 0
|
|
|
|
charge_cost = 160
|
|
|
|
reload_time = 20
|
|
|
|
firemodes = list(
|
|
list(mode_name="fire", burst=1, fire_delay=15, projectile_type=/obj/item/projectile/bullet/flamegun, charge_cost = 160, modifystate="avatarfire"),
|
|
list(mode_name="lighting", burst=1, fire_delay=20, projectile_type=/obj/item/projectile/beam/lightingsurge, charge_cost = 480, modifystate="avatarlighting"),
|
|
list(mode_name="frost", burst=3, fire_delay=15, projectile_type=/obj/item/projectile/energy/frostsphere, charge_cost = 260, modifystate="avatarfrost"),
|
|
list(mode_name="acid", burst=1, fire_delay=0.5, projectile_type=/obj/item/projectile/energy/muckblob, charge_cost = 10, modifystate="avataracid"),
|
|
)
|
|
|
|
/obj/item/gun/energy/elementalray/emag_act(var/remaining_charges, var/mob/user)
|
|
..()
|
|
to_chat(user, span_notice("You short circuit the internal locking mechanisms of \the [src]!"))
|
|
firemodes = list(
|
|
list(mode_name="fire", burst=1, fire_delay=15, projectile_type=/obj/item/projectile/bullet/flamegun, charge_cost = 160),
|
|
list(mode_name="lighting", burst=1, fire_delay=20, projectile_type=/obj/item/projectile/beam/lightingsurge, charge_cost = 480),
|
|
list(mode_name="frost", burst=3, fire_delay=15, projectile_type=/obj/item/projectile/energy/frostsphere, charge_cost = 160),
|
|
list(mode_name="acid", burst=1, fire_delay=0.5, projectile_type=/obj/item/projectile/energy/muckblob, charge_cost = 10),
|
|
list(mode_name="error", burst=1, fire_delay=30, projectile_type=/obj/item/projectile/bullet/errorelement, charge_cost = 1040),
|
|
)
|
|
return 1
|
|
|
|
/obj/item/projectile/bullet/errorelement //You are the bullet hell
|
|
use_submunitions = 1
|
|
only_submunitions = 1
|
|
range = 0
|
|
embed_chance = 0
|
|
submunition_spread_max = 3600
|
|
submunition_spread_min = 500
|
|
submunitions = list(/obj/item/projectile/energy/flamecrystal = 2, /obj/item/projectile/energy/frostsphere = 2, /obj/item/projectile/beam/lightingsurge = 1, /obj/item/projectile/energy/muckblob = 5)
|
|
hud_state = "laser_heat"
|
|
|
|
/obj/item/projectile/beam/lightingsurge //Anti-synth laser
|
|
damage = 60
|
|
light_color = "#00CCFF"
|
|
damage_type = ELECTROMAG
|
|
|
|
/obj/item/projectile/energy/muckblob
|
|
damage = 4
|
|
damage_type = BIOACID
|
|
check_armour = "bio"
|
|
combustion = FALSE
|
|
modifier_type_to_apply = /datum/modifier/muck
|
|
modifier_duration = 5
|
|
speed = 0.6
|
|
range = 8
|
|
|
|
/datum/modifier/muck
|
|
name = "acid covered"
|
|
desc = "You are covered in acid"
|
|
mob_overlay_state = "poisoned"
|
|
|
|
on_created_text = span_warning("You are covered in muck...")
|
|
on_expired_text = span_notice("You are no longer covered in muck.")
|
|
stacks = MODIFIER_STACK_ALLOWED
|
|
|
|
slowdown = 0.2
|
|
|
|
|
|
/obj/item/gun/energy/pulseglove
|
|
name = "Strange Glove"
|
|
desc = "A bulky glove cladded with strange tech. It hums with energy, and the battery port is inaccessiable"
|
|
icon = 'modular_chomp/icons/obj/guns/precursor/eclipse.dmi'
|
|
icon_state = "darkglove"
|
|
item_state = "darkglove"
|
|
|
|
charge_cost = 380 // 13 shots
|
|
|
|
projectile_type = /obj/item/projectile/bullet/lightingburst
|
|
cell_type = /obj/item/cell/device/weapon/recharge/alien
|
|
battery_lock = 1
|
|
|
|
|
|
/obj/item/projectile/energy/redlighting
|
|
name = "Flame Crystal"
|
|
icon = 'modular_chomp/icons/mob/eclipse.dmi' //commiting sin
|
|
icon_state = "redlighting"
|
|
damage = 20
|
|
armor_penetration = 20
|
|
hud_state = "laser_sniper"
|
|
|
|
/obj/item/projectile/energy/darkmeteor
|
|
name = "Strange Sphere"
|
|
icon = 'modular_chomp/icons/mob/eclipse.dmi' //commiting sin
|
|
icon_state = "darkmeteor"
|
|
damage = 60
|
|
damage_type = BRUTE
|
|
check_armour = "melee"
|
|
speed = 15
|
|
|
|
/obj/item/projectile/bullet/meteorstorm
|
|
use_submunitions = 1
|
|
only_submunitions = 1
|
|
range = 0
|
|
embed_chance = 0
|
|
submunition_spread_max = 3600
|
|
submunition_spread_min = 1200
|
|
submunitions = list(/obj/item/projectile/energy/darkmeteor = 3)
|
|
|
|
/obj/item/projectile/bullet/lightingburst
|
|
use_submunitions = 1
|
|
only_submunitions = 1
|
|
range = 0
|
|
embed_chance = 0
|
|
submunition_spread_max = 1200
|
|
submunition_spread_min = 200
|
|
submunitions = list(/obj/item/projectile/energy/redlighting = 3)
|
|
hud_state = "laser_sniper"
|
|
|
|
|
|
|
|
/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(var/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(var/mob/living/target_mob, var/distance, var/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/bullet/crystaline
|
|
name = "crystal bullet"
|
|
icon = 'modular_chomp/icons/obj/guns/precursor/eclipse.dmi'
|
|
icon_state = "crystal"
|
|
damage = 30
|
|
armor_penetration = 20
|
|
embed_chance = 0
|
|
speed = 2
|
|
|
|
/obj/item/projectile/energy/eclipse
|
|
name = "experimental laser"
|
|
icon = 'modular_chomp/icons/obj/guns/precursor/eclipse.dmi'
|
|
icon_state = "laser"
|
|
check_armour = "laser"
|
|
damage = 30
|
|
armor_penetration = 20
|
|
speed = 2
|
|
|
|
//The normal laser is easier to guard, but can chain screw ups easier
|
|
/obj/item/projectile/energy/eclipse/lorge
|
|
damage = 30
|
|
armor_penetration = 60
|
|
eyeblur = 3
|
|
icon_state = "mega_laser"
|
|
speed = 10
|
|
|
|
/obj/item/projectile/energy/eclipse/lorgealien
|
|
damage = 50
|
|
armor_penetration = 60
|
|
icon_state = "mega_laser_p"
|
|
speed = 10
|
|
|
|
/obj/item/projectile/bullet/crystalineburst
|
|
use_submunitions = 1
|
|
range = 0
|
|
embed_chance = 0
|
|
spread_submunition_damage = FALSE
|
|
submunition_spread_max = 120
|
|
submunition_spread_min = 60
|
|
submunitions = list(/obj/item/projectile/bullet/crystaline = 5)
|
|
|
|
/obj/item/projectile/energy/eclipse/janusjavelin //This will end you
|
|
name = "energy javelin"
|
|
icon_state = "javelin"
|
|
damage_type = SEARING
|
|
check_armour = "bullet"
|
|
damage = 90
|
|
armor_penetration = 50
|
|
speed = 10
|