mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-20 03:25:49 +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:
@@ -12,7 +12,7 @@
|
||||
ai_controller = /datum/ai_controller/basic_controller/alien/queen
|
||||
|
||||
is_ranged = TRUE
|
||||
projectile_type = /obj/item/projectile/neurotox
|
||||
projectile_type = /obj/projectile/neurotox
|
||||
projectile_sound = 'sound/weapons/pierce.ogg'
|
||||
ranged_cooldown = 3 SECONDS
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
ai_controller = /datum/ai_controller/basic_controller/alien/sentinel
|
||||
|
||||
is_ranged = TRUE
|
||||
projectile_type = /obj/item/projectile/neurotox
|
||||
projectile_type = /obj/projectile/neurotox
|
||||
projectile_sound = 'sound/weapons/pierce.ogg'
|
||||
ranged_cooldown = 3 SECONDS
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/item/projectile/hivebotbullet
|
||||
/obj/projectile/hivebotbullet
|
||||
|
||||
/mob/living/basic/hivebot
|
||||
name = "Hivebot"
|
||||
@@ -28,7 +28,7 @@
|
||||
basic_mob_flags = DEL_ON_DEATH
|
||||
step_type = FOOTSTEP_MOB_CLAW
|
||||
ai_controller = /datum/ai_controller/basic_controller/hivebot
|
||||
projectile_type = /obj/item/projectile/hivebotbullet
|
||||
projectile_type = /obj/projectile/hivebotbullet
|
||||
projectile_sound = 'sound/weapons/gunshots/gunshot.ogg'
|
||||
|
||||
/mob/living/basic/hivebot/range
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
icon_state = "piratespaceranged"
|
||||
icon_living = "piratespaceranged"
|
||||
is_ranged = TRUE
|
||||
projectile_type = /obj/item/projectile/beam
|
||||
projectile_type = /obj/projectile/beam
|
||||
projectile_sound = 'sound/weapons/laser.ogg'
|
||||
ranged_burst_count = 2
|
||||
ranged_burst_interval = 0.5 SECONDS // Same fire rate as people!
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
step_type = FOOTSTEP_MOB_SHOE
|
||||
|
||||
is_ranged = TRUE
|
||||
projectile_type = /obj/item/projectile/plasma/adv
|
||||
projectile_type = /obj/projectile/plasma/adv
|
||||
projectile_sound = 'sound/weapons/laser.ogg'
|
||||
ranged_cooldown = 1.75 SECONDS
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
icon_state = "vox_foreman"
|
||||
icon_living = "vox_foreman"
|
||||
ai_controller = /datum/ai_controller/basic_controller/simple/vox_foreman
|
||||
projectile_type = /obj/item/projectile/bullet/spike
|
||||
projectile_type = /obj/projectile/bullet/spike
|
||||
projectile_sound = 'sound/weapons/bladeslice.ogg'
|
||||
ranged_burst_count = 2
|
||||
ranged_burst_interval = 0.5 SECONDS
|
||||
|
||||
@@ -130,14 +130,14 @@
|
||||
return ..()
|
||||
|
||||
/mob/living/basic/mining_drone/CanPass(atom/movable/O)
|
||||
if(istype(O, /obj/item/projectile/kinetic))
|
||||
var/obj/item/projectile/kinetic/K = O
|
||||
if(istype(O, /obj/projectile/kinetic))
|
||||
var/obj/projectile/kinetic/K = O
|
||||
if(K.kinetic_gun)
|
||||
for(var/A in K.kinetic_gun.get_modkits())
|
||||
var/obj/item/borg/upgrade/modkit/M = A
|
||||
if(istype(M, /obj/item/borg/upgrade/modkit/minebot_passthrough))
|
||||
return TRUE
|
||||
if(istype(O, /obj/item/projectile/destabilizer))
|
||||
if(istype(O, /obj/projectile/destabilizer))
|
||||
return TRUE
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
ai_controller = /datum/ai_controller/basic_controller/watcher
|
||||
is_ranged = TRUE
|
||||
ranged_cooldown = 3 SECONDS
|
||||
projectile_type = /obj/item/projectile/temp/basilisk
|
||||
projectile_type = /obj/projectile/temp/basilisk
|
||||
projectile_sound = 'sound/weapons/pierce.ogg'
|
||||
|
||||
loot = list(/obj/item/stack/ore/diamond{layer = ABOVE_MOB_LAYER},
|
||||
@@ -35,12 +35,12 @@
|
||||
. = ..()
|
||||
AddElement(/datum/element/ai_retaliate)
|
||||
|
||||
/obj/item/projectile/temp/basilisk
|
||||
/obj/projectile/temp/basilisk
|
||||
name = "freezing blast"
|
||||
icon_state = "ice_2"
|
||||
temperature = 50
|
||||
|
||||
/obj/item/projectile/temp/basilisk/on_hit(atom/target, blocked)
|
||||
/obj/projectile/temp/basilisk/on_hit(atom/target, blocked)
|
||||
..()
|
||||
if(isrobot(target))
|
||||
var/mob/living/silicon/robot/cyborg = target
|
||||
@@ -94,7 +94,7 @@
|
||||
light_range = 3
|
||||
light_power = 2.5
|
||||
light_color = LIGHT_COLOR_LAVA
|
||||
projectile_type = /obj/item/projectile/temp/basilisk/magmawing
|
||||
projectile_type = /obj/projectile/temp/basilisk/magmawing
|
||||
crusher_loot = /obj/item/crusher_trophy/blaster_tubes/magma_wing
|
||||
crusher_drop_mod = 100 // These things are extremely rare (1/133 per spawner). You shouldn't have to hope for another stroke of luck to get it's trophy after finding it
|
||||
|
||||
@@ -107,12 +107,12 @@
|
||||
icon_dead = "watcher_icewing_dead"
|
||||
maxHealth = 170
|
||||
health = 170
|
||||
projectile_type = /obj/item/projectile/temp/basilisk/icewing
|
||||
projectile_type = /obj/projectile/temp/basilisk/icewing
|
||||
butcher_results = list(/obj/item/stack/ore/diamond = 5, /obj/item/stack/sheet/bone = 1) // No sinew; the wings are too fragile to be usable
|
||||
crusher_loot = /obj/item/crusher_trophy/watcher_wing/ice_wing
|
||||
crusher_drop_mod = 100 // These things are extremely rare (1/400 per spawner). You shouldn't have to hope for another stroke of luck to get it's trophy after finding it
|
||||
|
||||
/obj/item/projectile/temp/basilisk/magmawing
|
||||
/obj/projectile/temp/basilisk/magmawing
|
||||
name = "scorching blast"
|
||||
icon_state = "lava"
|
||||
damage = 5
|
||||
@@ -120,11 +120,11 @@
|
||||
temperature = 500 // Heats you up!
|
||||
immolate = 1
|
||||
|
||||
/obj/item/projectile/temp/basilisk/icewing
|
||||
/obj/projectile/temp/basilisk/icewing
|
||||
damage = 5
|
||||
nodamage = FALSE
|
||||
|
||||
/obj/item/projectile/temp/basilisk/icewing/on_hit(atom/target, blocked = FALSE)
|
||||
/obj/projectile/temp/basilisk/icewing/on_hit(atom/target, blocked = FALSE)
|
||||
. = ..()
|
||||
if(.)
|
||||
var/mob/living/L = target
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
for(var/obj/item/stack/ore/ore in src)
|
||||
ore.forceMove(loc)
|
||||
|
||||
/mob/living/basic/mining/goldgrub/bullet_act(obj/item/projectile/P)
|
||||
/mob/living/basic/mining/goldgrub/bullet_act(obj/projectile/P)
|
||||
if(P.armor_penetration_flat + P.armor_penetration_percentage >= 100)
|
||||
return ..()
|
||||
visible_message("<span class='danger'>[P.name] was repelled by [name]'s girth!</span>")
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
/// Message to output if throwing damage is absorbed
|
||||
var/throw_blocked_message = "bounces off"
|
||||
|
||||
/mob/living/basic/mining/bullet_act(obj/item/projectile/P) // Reduces damage from most projectiles to curb off-screen kills
|
||||
/mob/living/basic/mining/bullet_act(obj/projectile/P) // Reduces damage from most projectiles to curb off-screen kills
|
||||
if(P.damage < 30 && P.damage_type != BRUTE && has_laser_resist)
|
||||
P.damage = (P.damage / 3)
|
||||
visible_message("<span class='danger'>[P] has a reduced effect on [src]!</span>")
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
/mob/living/basic/netherworld/Initialize(mapload)
|
||||
. = ..()
|
||||
if(prob(grappler_chance))
|
||||
AddComponent(/datum/component/ranged_attacks, projectile_type = /obj/item/projectile/energy/demonic_grappler, projectile_sound = 'sound/weapons/wave.ogg')
|
||||
AddComponent(/datum/component/ranged_attacks, projectile_type = /obj/projectile/energy/demonic_grappler, projectile_sound = 'sound/weapons/wave.ogg')
|
||||
name = "grappling " + name
|
||||
ai_controller = new /datum/ai_controller/basic_controller/simple/simple_skirmisher/prowler(src)
|
||||
update_appearance(UPDATE_NAME)
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
is_ranged = TRUE
|
||||
ranged_burst_count = 3
|
||||
ranged_burst_interval = 0.4
|
||||
projectile_type = /obj/item/projectile/beam/immolator/weak/hitscan
|
||||
projectile_type = /obj/projectile/beam/immolator/weak/hitscan
|
||||
projectile_sound = 'sound/weapons/laser3.ogg'
|
||||
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
|
||||
minimum_survivable_temperature = 0
|
||||
@@ -88,7 +88,7 @@
|
||||
update_icons()
|
||||
|
||||
/// We overide the basic effect, as malfunctioning drones are in space, and use jets to dodge. Also lets us do cool effects.
|
||||
/mob/living/basic/malf_drone/advanced_bullet_dodge(mob/living/source, obj/item/projectile/hitting_projectile)
|
||||
/mob/living/basic/malf_drone/advanced_bullet_dodge(mob/living/source, obj/projectile/hitting_projectile)
|
||||
if(HAS_TRAIT(source, TRAIT_IMMOBILIZED))
|
||||
return NONE
|
||||
if(source.stat != CONSCIOUS)
|
||||
|
||||
Reference in New Issue
Block a user