/obj/item/projectile --> /obj/projectile (#30411)

* yers

* vars

* map changes

* some comments (clearly not stolen from items)

* fix component

* summary
This commit is contained in:
kyunkyunkyun
2025-11-12 10:23:20 +00:00
committed by GitHub
parent e92a45369a
commit f96b26b75a
169 changed files with 858 additions and 851 deletions
@@ -253,7 +253,7 @@
/obj/item/ammo_casing/magic/tentacle
name = "tentacle"
desc = "a tentacle."
projectile_type = /obj/item/projectile/tentacle
projectile_type = /obj/projectile/tentacle
caliber = "tentacle"
icon = 'icons/obj/projectiles.dmi'
icon_state = "tentacle_end"
@@ -269,7 +269,7 @@
gun = null
return ..()
/obj/item/projectile/tentacle
/obj/projectile/tentacle
name = "tentacle"
icon_state = "tentacle_end"
damage = 0
@@ -278,11 +278,11 @@
reflectability = REFLECTABILITY_NEVER //Let us not reflect this ever. It's not quite a bullet, and a cling should never wrap its tentacle around itself, it controls its body well
var/obj/item/ammo_casing/magic/tentacle/source //the item that shot it
/obj/item/projectile/tentacle/New(obj/item/ammo_casing/magic/tentacle/tentacle_casing)
/obj/projectile/tentacle/New(obj/item/ammo_casing/magic/tentacle/tentacle_casing)
source = tentacle_casing
..()
/obj/item/projectile/tentacle/fire(setAngle)
/obj/projectile/tentacle/fire(setAngle)
if(firer)
chain = firer.Beam(src, icon_state = "tentacle", time = INFINITY, maxdistance = INFINITY)
..()
@@ -298,7 +298,7 @@
I.melee_attack_chain(src, C)//Hits the victim with whatever they are holding that is no the zero force tentacle
/obj/item/projectile/tentacle/on_hit(atom/target, blocked = 0)
/obj/projectile/tentacle/on_hit(atom/target, blocked = 0)
var/mob/living/carbon/human/H = firer
source.gun.hit_something = TRUE
source.gun.check_should_delete()
@@ -369,7 +369,7 @@
C.throw_at(get_step_towards(H,C), 8, 2, callback=CALLBACK(H, TYPE_PROC_REF(/mob, tentacle_stab), C))
return TRUE
/obj/item/projectile/tentacle/Destroy()
/obj/projectile/tentacle/Destroy()
qdel(chain)
source = null
return ..()
@@ -133,7 +133,7 @@
/obj/item/ammo_casing/magic/grapple_ammo
name = "grapple"
desc = "a hand"
projectile_type = /obj/item/projectile/tether/flayer
projectile_type = /obj/projectile/tether/flayer
icon = 'icons/obj/clothing/modsuit/mod_modules.dmi'
icon_state = "flayer_claw"
caliber = "grapple"
@@ -149,7 +149,7 @@
. = ..()
grapple = null
/obj/item/projectile/tether/flayer
/obj/projectile/tether/flayer
name = "Grapple Arm"
range = 10
damage = 15
@@ -160,20 +160,20 @@
/// The ammo this came from
var/obj/item/ammo_casing/magic/grapple_ammo/ammo
/obj/item/projectile/tether/flayer/Initialize(mapload, obj/item/ammo_casing/magic/grapple_ammo/grapple_casing)
/obj/projectile/tether/flayer/Initialize(mapload, obj/item/ammo_casing/magic/grapple_ammo/grapple_casing)
. = ..()
ammo = grapple_casing
/obj/item/projectile/tether/flayer/fire(setAngle)
/obj/projectile/tether/flayer/fire(setAngle)
. = ..()
make_chain()
SEND_SIGNAL(firer, COMSIG_FLAYER_RETRACT_IMPLANTS)
/obj/item/projectile/tether/flayer/Destroy()
/obj/projectile/tether/flayer/Destroy()
. = ..()
ammo = null
/obj/item/projectile/tether/flayer/on_hit(atom/target, blocked = 0)
/obj/projectile/tether/flayer/on_hit(atom/target, blocked = 0)
. = ..()
playsound(target, 'sound/items/zip.ogg', 75, TRUE)
if(isliving(target) && blocked < 100)
@@ -129,7 +129,7 @@
desc = "Summon a hand of demonic energy, snaring and throwing its target around, based on your intent. Disarm pushes, grab pulls."
gain_desc = "You have gained the ability to snare and disrupt people with demonic appendages."
base_cooldown = 30 SECONDS
fireball_type = /obj/item/projectile/magic/demonic_grasp
fireball_type = /obj/projectile/magic/demonic_grasp
selection_activated_message = "<span class='notice'>You raise your hand, full of demonic energy! <B>Left-click to cast at a target!</B></span>"
selection_deactivated_message = "<span class='notice'>You re-absorb the energy...for now.</span>"
@@ -149,17 +149,17 @@
V.required_blood = 20
return V
/obj/item/projectile/magic/demonic_grasp
/obj/projectile/magic/demonic_grasp
name = "demonic grasp"
// parry this you filthy casual
reflectability = REFLECTABILITY_NEVER
icon_state = null
/obj/item/projectile/magic/demonic_grasp/pixel_move(trajectory_multiplier)
/obj/projectile/magic/demonic_grasp/pixel_move(trajectory_multiplier)
. = ..()
new /obj/effect/temp_visual/demonic_grasp(loc)
/obj/item/projectile/magic/demonic_grasp/on_hit(atom/target, blocked, hit_zone)
/obj/projectile/magic/demonic_grasp/on_hit(atom/target, blocked, hit_zone)
. = ..()
if(!.)
return
@@ -184,7 +184,7 @@
throw_target = get_step(firer, get_dir(firer, L))
L.throw_at(throw_target, 2, 5, spin = FALSE, diagonals_first = TRUE, callback = CALLBACK(src, PROC_REF(create_snare), L)) // pull towards
/obj/item/projectile/magic/demonic_grasp/proc/create_snare(mob/target)
/obj/projectile/magic/demonic_grasp/proc/create_snare(mob/target)
new /obj/effect/temp_visual/demonic_snare(target.loc)
/obj/effect/temp_visual/demonic_grasp
@@ -323,7 +323,7 @@
for(var/mob/living/L in view(8, owner))
if(L.affects_vampire(owner))
L.adjust_bodytemperature(-3 * TEMPERATURE_DAMAGE_COEFFICIENT) //The dark is cold and unforgiving. Equivelnt to -60 with previous values.
for(var/obj/item/projectile/P in view(8, owner))
for(var/obj/projectile/P in view(8, owner))
if(P.flag == ENERGY || P.flag == LASER)
P.damage *= 0.7