/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
@@ -34,9 +34,9 @@
ActivationReaction(user, "weapon")
return ..()
/obj/machinery/anomalous_crystal/bullet_act(obj/item/projectile/P, def_zone)
/obj/machinery/anomalous_crystal/bullet_act(obj/projectile/P, def_zone)
..()
if(istype(P, /obj/item/projectile/magic))
if(istype(P, /obj/projectile/magic))
ActivationReaction(P.firer, "magic", P.damage_type)
return
ActivationReaction(P.firer, P.flag, P.damage_type)
@@ -140,16 +140,16 @@
/// Generates a projectile when interacted with
/obj/machinery/anomalous_crystal/emitter
cooldown_add = 50
var/generated_projectile = /obj/item/projectile/beam/emitter
var/generated_projectile = /obj/projectile/beam/emitter
/obj/machinery/anomalous_crystal/emitter/Initialize(mapload)
. = ..()
generated_projectile = pick(/obj/item/projectile/magic/fireball/infernal,
/obj/item/projectile/bullet/meteorshot, /obj/item/projectile/beam/xray, /obj/item/projectile/colossus)
generated_projectile = pick(/obj/projectile/magic/fireball/infernal,
/obj/projectile/bullet/meteorshot, /obj/projectile/beam/xray, /obj/projectile/colossus)
/obj/machinery/anomalous_crystal/emitter/ActivationReaction(mob/user, method)
if(..())
var/obj/item/projectile/P = new generated_projectile(get_turf(src))
var/obj/projectile/P = new generated_projectile(get_turf(src))
P.dir = dir
switch(dir)
if(NORTH)
@@ -349,13 +349,13 @@
/obj/item/ammo_casing/magic/hook
name = "hook"
desc = "a hook."
projectile_type = /obj/item/projectile/hook
projectile_type = /obj/projectile/hook
caliber = "hook"
icon = 'icons/obj/lavaland/artefacts.dmi'
icon_state = "hook"
muzzle_flash_effect = null
/obj/item/projectile/hook
/obj/projectile/hook
name = "hook"
icon_state = "hook"
icon = 'icons/obj/lavaland/artefacts.dmi'
@@ -365,13 +365,13 @@
weaken = 1 SECONDS
knockdown = 6 SECONDS
/obj/item/projectile/hook/fire(setAngle)
/obj/projectile/hook/fire(setAngle)
if(firer)
chain = firer.Beam(src, icon_state = "chain", time = INFINITY, maxdistance = INFINITY)
..()
//TODO: root the firer until the chain returns
/obj/item/projectile/hook/on_hit(atom/target)
/obj/projectile/hook/on_hit(atom/target)
. = ..()
if(isliving(target))
var/mob/living/L = target
@@ -382,7 +382,7 @@
L.forceMove(get_turf(firer))
L.density = old_density
/obj/item/projectile/hook/Destroy()
/obj/projectile/hook/Destroy()
QDEL_NULL(chain)
return ..()
@@ -243,7 +243,7 @@
if(berserk_active)
return
if(isprojectile(hitby))
var/obj/item/projectile/P = hitby
var/obj/projectile/P = hitby
if(P.damage_type == STAMINA)
return //no disabler rage
var/berserk_value = damage * DAMAGE_TO_CHARGE_SCALE