mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-21 12:04:48 +01:00
/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:
@@ -118,7 +118,7 @@
|
||||
var/turf/proj_turf = get_turf_for_projectile(user)
|
||||
if(!isturf(proj_turf))
|
||||
return
|
||||
var/obj/item/projectile/destabilizer/D = new /obj/item/projectile/destabilizer(proj_turf)
|
||||
var/obj/projectile/destabilizer/D = new /obj/projectile/destabilizer(proj_turf)
|
||||
for(var/t in trophies)
|
||||
var/obj/item/crusher_trophy/T = t
|
||||
T.on_projectile_fire(D, user)
|
||||
@@ -197,7 +197,7 @@
|
||||
update_action_buttons()
|
||||
|
||||
//destablizing force
|
||||
/obj/item/projectile/destabilizer
|
||||
/obj/projectile/destabilizer
|
||||
name = "destabilizing force"
|
||||
icon_state = "pulse1"
|
||||
nodamage = TRUE
|
||||
@@ -207,11 +207,11 @@
|
||||
log_override = TRUE
|
||||
var/obj/item/kinetic_crusher/hammer_synced
|
||||
|
||||
/obj/item/projectile/destabilizer/Destroy()
|
||||
/obj/projectile/destabilizer/Destroy()
|
||||
hammer_synced = null
|
||||
return ..()
|
||||
|
||||
/obj/item/projectile/destabilizer/on_hit(atom/target, blocked = FALSE)
|
||||
/obj/projectile/destabilizer/on_hit(atom/target, blocked = FALSE)
|
||||
if(isliving(target))
|
||||
var/mob/living/L = target
|
||||
var/had_effect = (L.has_status_effect(STATUS_EFFECT_CRUSHERMARK)) //used as a boolean
|
||||
@@ -279,7 +279,7 @@
|
||||
/obj/item/crusher_trophy/proc/on_melee_hit(mob/living/target, mob/living/user) //the target and the user
|
||||
return
|
||||
|
||||
/obj/item/crusher_trophy/proc/on_projectile_fire(obj/item/projectile/destabilizer/marker, mob/living/user) //the projectile fired and the user
|
||||
/obj/item/crusher_trophy/proc/on_projectile_fire(obj/projectile/destabilizer/marker, mob/living/user) //the projectile fired and the user
|
||||
return
|
||||
|
||||
/obj/item/crusher_trophy/proc/on_mark_application(mob/living/target, datum/status_effect/crusher_mark/mark, had_mark) //the target, the mark applied, and if the target had a mark before
|
||||
@@ -346,7 +346,7 @@
|
||||
/obj/item/crusher_trophy/blaster_tubes/magma_wing/effect_desc()
|
||||
return "mark detonation to make the next destabilizer shot deal <b>[bonus_value]</b> damage"
|
||||
|
||||
/obj/item/crusher_trophy/blaster_tubes/magma_wing/on_projectile_fire(obj/item/projectile/destabilizer/marker, mob/living/user)
|
||||
/obj/item/crusher_trophy/blaster_tubes/magma_wing/on_projectile_fire(obj/projectile/destabilizer/marker, mob/living/user)
|
||||
if(deadly_shot)
|
||||
marker.name = "heated [marker.name]"
|
||||
marker.icon_state = "lava"
|
||||
@@ -479,7 +479,7 @@
|
||||
/obj/item/crusher_trophy/blaster_tubes/effect_desc()
|
||||
return "mark detonation to make the next destabilizer shot deal <b>[bonus_value]</b> damage but move slower"
|
||||
|
||||
/obj/item/crusher_trophy/blaster_tubes/on_projectile_fire(obj/item/projectile/destabilizer/marker, mob/living/user)
|
||||
/obj/item/crusher_trophy/blaster_tubes/on_projectile_fire(obj/projectile/destabilizer/marker, mob/living/user)
|
||||
if(deadly_shot)
|
||||
marker.name = "deadly [marker.name]"
|
||||
marker.icon_state = "chronobolt"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -311,7 +311,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/item/gibtonite/bullet_act(obj/item/projectile/P)
|
||||
/obj/item/gibtonite/bullet_act(obj/projectile/P)
|
||||
GibtoniteReaction(P.firer)
|
||||
..()
|
||||
|
||||
@@ -416,7 +416,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
materials = list(MAT_PLASMA = 400)
|
||||
credits = 80
|
||||
|
||||
/obj/item/coin/plasma/bullet_act(obj/item/projectile/P)
|
||||
/obj/item/coin/plasma/bullet_act(obj/projectile/P)
|
||||
if(!QDELETED(src) && !P.nodamage && (P.damage_type == BURN))
|
||||
log_and_set_aflame(P.firer, P)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user