mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 03:57:13 +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:
@@ -26,11 +26,11 @@
|
||||
if(parent)
|
||||
UnregisterSignal(parent, COMSIG_ATOM_BULLET_ACT)
|
||||
|
||||
/datum/component/debris/proc/register_for_impact(datum/source, obj/item/projectile/proj)
|
||||
/datum/component/debris/proc/register_for_impact(datum/source, obj/projectile/proj)
|
||||
SIGNAL_HANDLER // COMSIG_ATOM_BULLET_ACT
|
||||
INVOKE_ASYNC(src, PROC_REF(on_impact), proj)
|
||||
|
||||
/datum/component/debris/proc/on_impact(obj/item/projectile/P)
|
||||
/datum/component/debris/proc/on_impact(obj/projectile/P)
|
||||
var/angle = !isnull(P.Angle) ? P.Angle : round(get_angle(P.starting, parent), 1)
|
||||
var/x_component = sin(angle) * debris_velocity
|
||||
var/y_component = cos(angle) * debris_velocity
|
||||
|
||||
@@ -148,7 +148,7 @@
|
||||
if(rider.m_intent == MOVE_INTENT_WALK)
|
||||
vehicle_move_delay += 0.6
|
||||
|
||||
/datum/component/riding/vehicle/scooter/skateboard/proc/check_knockoff(datum/source, obj/item/projectile)
|
||||
/datum/component/riding/vehicle/scooter/skateboard/proc/check_knockoff(datum/source, obj/projectile)
|
||||
SIGNAL_HANDLER // COMSIG_ATOM_BULLET_ACT
|
||||
if(!istype(parent, /obj/tgvehicle/scooter/skateboard))
|
||||
return
|
||||
|
||||
@@ -154,7 +154,7 @@
|
||||
var/charge_loss = 1 // how many charges do we lose
|
||||
|
||||
if(isprojectile(hitby))
|
||||
var/obj/item/projectile/P = hitby
|
||||
var/obj/projectile/P = hitby
|
||||
if(P.shield_buster)
|
||||
charge_loss = 3
|
||||
if(lose_multiple_charges)
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
if(I.flags & ABSTRACT)
|
||||
return
|
||||
if(isprojectile(entered))
|
||||
var/obj/item/projectile/P = entered
|
||||
var/obj/projectile/P = entered
|
||||
if(P.original != parent)
|
||||
return
|
||||
if(ismob(source))
|
||||
|
||||
@@ -156,7 +156,7 @@
|
||||
/datum/disease/wand_rot/proc/sneeze_fireballs()
|
||||
var/fuck_you_dir = pick(GLOB.alldirs)
|
||||
var/turf/target_tile = get_edge_target_turf(affected_mob, fuck_you_dir)
|
||||
var/obj/item/projectile/magic/fireball/FB = new /obj/item/projectile/magic/fireball(affected_mob.loc)
|
||||
var/obj/projectile/magic/fireball/FB = new /obj/projectile/magic/fireball(affected_mob.loc)
|
||||
FB.current = get_turf(affected_mob)
|
||||
FB.original = target_tile
|
||||
FB.firer = affected_mob
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
return
|
||||
|
||||
/// Even if another component blocked this hit, someone still shot at us
|
||||
/datum/element/relay_attackers/proc/on_bullet_act(atom/target, obj/item/projectile/hit_projectile)
|
||||
/datum/element/relay_attackers/proc/on_bullet_act(atom/target, obj/projectile/hit_projectile)
|
||||
SIGNAL_HANDLER // COMSIG_ATOM_BULLET_ACT
|
||||
if(!hit_projectile.is_hostile_projectile())
|
||||
return
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
var/angle_to_singulo = ATAN2(host.y - source.y, host.x - source.x)
|
||||
var/distance_to_singulo = get_dist(source, host)
|
||||
|
||||
var/obj/item/projectile/P = entered
|
||||
var/obj/projectile/P = entered
|
||||
var/distance = distance_to_singulo
|
||||
var/projectile_angle = P.Angle
|
||||
var/angle_to_projectile = angle_to_singulo
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
plasma_cost = 50
|
||||
selection_activated_message = "<span class='notice'><B>Your prepare some neurotoxin!</B></span>"
|
||||
selection_deactivated_message = "<span class='notice'><B>You swallow your prepared neurotoxin.</B></span>"
|
||||
var/neurotoxin_type = /obj/item/projectile/bullet/neurotoxin
|
||||
var/neurotoxin_type = /obj/projectile/bullet/neurotoxin
|
||||
action_icon_state = "alien_neurotoxin_0"
|
||||
|
||||
/datum/spell/alien_spell/neurotoxin/create_new_targeting()
|
||||
@@ -24,7 +24,7 @@
|
||||
if(!istype(U) || !istype(T))
|
||||
return FALSE
|
||||
|
||||
var/obj/item/projectile/bullet/neurotoxin/neurotoxin = new neurotoxin_type(user.loc)
|
||||
var/obj/projectile/bullet/neurotoxin/neurotoxin = new neurotoxin_type(user.loc)
|
||||
neurotoxin.current = get_turf(user)
|
||||
neurotoxin.original = target
|
||||
neurotoxin.firer = user
|
||||
@@ -36,5 +36,5 @@
|
||||
|
||||
/datum/spell/alien_spell/neurotoxin/death_to_xenos
|
||||
desc = "This ability allows you to fire some neurotoxin. Knocks aliens down."
|
||||
neurotoxin_type = /obj/item/projectile/bullet/anti_alien_toxin
|
||||
neurotoxin_type = /obj/projectile/bullet/anti_alien_toxin
|
||||
base_cooldown = 2 SECONDS
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
holy_area_cancast = FALSE //Stops cult magic from working on holy ground eg: chapel
|
||||
proj_lifespan = 10
|
||||
proj_step_delay = 5
|
||||
proj_type = /obj/item/projectile/magic/magic_missile/lesser
|
||||
proj_type = /obj/projectile/magic/magic_missile/lesser
|
||||
|
||||
/datum/spell/projectile/magic_missile/lesser/create_new_targeting()
|
||||
var/datum/spell_targeting/targeted/T = new()
|
||||
@@ -135,7 +135,7 @@
|
||||
T.max_targets = 6
|
||||
return T
|
||||
|
||||
/obj/item/projectile/magic/magic_missile/lesser
|
||||
/obj/projectile/magic/magic_missile/lesser
|
||||
name = "lesser magic missile"
|
||||
knockdown = 6 SECONDS
|
||||
weaken = 0
|
||||
|
||||
@@ -44,5 +44,5 @@
|
||||
ammo_type = /obj/item/ammo_casing/magic/arcane_barrage/fireball
|
||||
|
||||
/obj/item/ammo_casing/magic/arcane_barrage/fireball
|
||||
projectile_type = /obj/item/projectile/magic/fireball
|
||||
projectile_type = /obj/projectile/magic/fireball
|
||||
muzzle_flash_effect = null
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
for(var/mob/living/target in targets)
|
||||
spawn(0)
|
||||
var/obj/item/projectile/projectile = new proj_type(get_turf(user))
|
||||
var/obj/projectile/projectile = new proj_type(get_turf(user))
|
||||
projectile.icon = proj_icon
|
||||
projectile.icon_state = proj_icon_state
|
||||
projectile.dir = get_dir(target, projectile)
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
proj_icon_state = "magicm"
|
||||
proj_name = "a magic missile"
|
||||
proj_lingering = 1
|
||||
proj_type = /obj/item/projectile/magic/magic_missile
|
||||
proj_type = /obj/projectile/magic/magic_missile
|
||||
|
||||
proj_lifespan = 20
|
||||
proj_step_delay = 2
|
||||
@@ -29,7 +29,7 @@
|
||||
T.max_targets = INFINITY
|
||||
return T
|
||||
|
||||
/obj/item/projectile/magic/magic_missile
|
||||
/obj/projectile/magic/magic_missile
|
||||
name = "Magic Missile"
|
||||
hitsound = 'sound/magic/mm_hit.ogg'
|
||||
weaken = 6 SECONDS
|
||||
@@ -48,7 +48,7 @@
|
||||
proj_icon_state = "bike_horn"
|
||||
proj_name = "A bike horn"
|
||||
proj_lingering = 1
|
||||
proj_type = /obj/item/projectile/magic/magic_missile/honk_missile
|
||||
proj_type = /obj/projectile/magic/magic_missile/honk_missile
|
||||
|
||||
proj_lifespan = 20
|
||||
proj_step_delay = 5
|
||||
@@ -68,7 +68,7 @@
|
||||
T.max_targets = INFINITY
|
||||
return T
|
||||
|
||||
/obj/item/projectile/magic/magic_missile/honk_missile
|
||||
/obj/projectile/magic/magic_missile/honk_missile
|
||||
name = "Funny Missile"
|
||||
hitsound = 'sound/items/bikehorn.ogg'
|
||||
|
||||
@@ -324,7 +324,7 @@
|
||||
selection_activated_message = "<span class='notice'>You prepare to cast your fireball spell! <B>Left-click to cast at a target!</B></span>"
|
||||
selection_deactivated_message = "<span class='notice'>You extinguish your fireball...for now.</span>"
|
||||
|
||||
var/fireball_type = /obj/item/projectile/magic/fireball
|
||||
var/fireball_type = /obj/projectile/magic/fireball
|
||||
action_icon_state = "fireball0"
|
||||
sound = 'sound/magic/fireball.ogg'
|
||||
|
||||
@@ -350,7 +350,7 @@
|
||||
if(!isturf(U) || !isturf(T))
|
||||
return FALSE
|
||||
|
||||
var/obj/item/projectile/magic/fireball/FB = new fireball_type(user.loc)
|
||||
var/obj/projectile/magic/fireball/FB = new fireball_type(user.loc)
|
||||
FB.current = get_turf(user)
|
||||
FB.original = target
|
||||
FB.firer = user
|
||||
@@ -364,7 +364,7 @@
|
||||
name = "Homing Toolbox"
|
||||
desc = "This spell summons and throws a magical homing toolbox at your opponent."
|
||||
sound = 'sound/weapons/smash.ogg'
|
||||
fireball_type = /obj/item/projectile/homing/magic/toolbox
|
||||
fireball_type = /obj/projectile/homing/magic/toolbox
|
||||
invocation = "ROBUSTIO!"
|
||||
|
||||
selection_activated_message = "<span class='notice'>You prepare to cast your homing toolbox! <B>Left-click to cast at a target!</B></span>"
|
||||
@@ -374,7 +374,7 @@
|
||||
name = "Greater Homing Fireball"
|
||||
desc = "This spell fires a strong homing fireball at a target."
|
||||
invocation = "ZI-ONI SOMA"
|
||||
fireball_type = /obj/item/projectile/homing/magic/homing_fireball
|
||||
fireball_type = /obj/projectile/homing/magic/homing_fireball
|
||||
|
||||
selection_activated_message = "<span class='notice'>You prepare to cast your greater homing fireball spell! <B>Left-click to cast at a target!</B></span>"
|
||||
|
||||
|
||||
@@ -922,8 +922,8 @@
|
||||
if(L.affects_vampire(owner))
|
||||
L.adjust_bodytemperature(-1.5 * TEMPERATURE_DAMAGE_COEFFICIENT)
|
||||
continue
|
||||
if(istype(AM, /obj/item/projectile))
|
||||
var/obj/item/projectile/P = AM
|
||||
if(istype(AM, /obj/projectile))
|
||||
var/obj/projectile/P = AM
|
||||
if(P.flag == ENERGY || P.flag == LASER)
|
||||
P.damage *= 0.85
|
||||
|
||||
|
||||
Reference in New Issue
Block a user