mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-20 23:21:10 +00:00
This PR adds a new utility mechanic for the cult. Pylons can now be upgraded into arcane defensive turrets, which fire bolts of demonic energy. These turrets are entirely automated, somewhat-rapid firing, extremely accurate and quite long ranged, but their damage is very low, and thus their total DPS, even with the fire rate, is still far lower than most real ranged weapons.
181 lines
4.3 KiB
Plaintext
181 lines
4.3 KiB
Plaintext
/obj/effect/projectile
|
|
icon = 'icons/effects/projectiles.dmi'
|
|
icon_state = "bolt"
|
|
layer = 20
|
|
|
|
/obj/effect/projectile/New(var/turf/location)
|
|
if(istype(location))
|
|
loc = location
|
|
|
|
/obj/effect/projectile/proc/set_transform(var/matrix/M)
|
|
if(istype(M))
|
|
transform = M
|
|
|
|
/obj/effect/projectile/proc/activate(var/kill_delay = 3)
|
|
spawn(kill_delay)
|
|
qdel(src) //see effect_system.dm - sets loc to null and lets GC handle removing these effects
|
|
|
|
return
|
|
|
|
//----------------------------
|
|
// Laser beam
|
|
//----------------------------
|
|
/obj/effect/projectile/laser/tracer
|
|
icon_state = "beam"
|
|
|
|
/obj/effect/projectile/laser/muzzle
|
|
icon_state = "muzzle_laser"
|
|
|
|
/obj/effect/projectile/laser/impact
|
|
icon_state = "impact_laser"
|
|
|
|
//----------------------------
|
|
// Blue laser beam
|
|
//----------------------------
|
|
/obj/effect/projectile/laser_blue/tracer
|
|
icon_state = "beam_blue"
|
|
|
|
/obj/effect/projectile/laser_blue/muzzle
|
|
icon_state = "muzzle_blue"
|
|
|
|
/obj/effect/projectile/laser_blue/impact
|
|
icon_state = "impact_blue"
|
|
|
|
//----------------------------
|
|
// Omni laser beam
|
|
//----------------------------
|
|
/obj/effect/projectile/laser_omni/tracer
|
|
icon_state = "beam_omni"
|
|
|
|
/obj/effect/projectile/laser_omni/muzzle
|
|
icon_state = "muzzle_omni"
|
|
|
|
/obj/effect/projectile/laser_omni/impact
|
|
icon_state = "impact_omni"
|
|
|
|
//----------------------------
|
|
// Xray laser beam
|
|
//----------------------------
|
|
/obj/effect/projectile/xray/tracer
|
|
icon_state = "xray"
|
|
|
|
/obj/effect/projectile/xray/muzzle
|
|
icon_state = "muzzle_xray"
|
|
|
|
/obj/effect/projectile/xray/impact
|
|
icon_state = "impact_xray"
|
|
|
|
//----------------------------
|
|
// Heavy laser beam
|
|
//----------------------------
|
|
/obj/effect/projectile/laser_heavy/tracer
|
|
icon_state = "beam_heavy"
|
|
|
|
/obj/effect/projectile/laser_heavy/muzzle
|
|
icon_state = "muzzle_beam_heavy"
|
|
|
|
/obj/effect/projectile/laser_heavy/impact
|
|
icon_state = "impact_beam_heavy"
|
|
|
|
//----------------------------
|
|
// Pulse laser beam
|
|
//----------------------------
|
|
/obj/effect/projectile/laser_pulse/tracer
|
|
icon_state = "u_laser"
|
|
|
|
/obj/effect/projectile/laser_pulse/muzzle
|
|
icon_state = "muzzle_u_laser"
|
|
|
|
/obj/effect/projectile/laser_pulse/impact
|
|
icon_state = "impact_u_laser"
|
|
|
|
//----------------------------
|
|
// Pulse muzzle effect only
|
|
//----------------------------
|
|
/obj/effect/projectile/pulse/muzzle
|
|
icon_state = "muzzle_pulse"
|
|
|
|
//----------------------------
|
|
// Emitter beam
|
|
//----------------------------
|
|
/obj/effect/projectile/emitter/tracer
|
|
icon_state = "emitter"
|
|
|
|
/obj/effect/projectile/emitter/muzzle
|
|
icon_state = "muzzle_emitter"
|
|
|
|
/obj/effect/projectile/emitter/impact
|
|
icon_state = "impact_emitter"
|
|
|
|
//----------------------------
|
|
// Stun beam
|
|
//----------------------------
|
|
/obj/effect/projectile/stun/tracer
|
|
icon_state = "stun"
|
|
|
|
/obj/effect/projectile/stun/muzzle
|
|
icon_state = "muzzle_stun"
|
|
|
|
/obj/effect/projectile/stun/impact
|
|
icon_state = "impact_stun"
|
|
|
|
//----------------------------
|
|
// Eye beam
|
|
//----------------------------
|
|
/obj/effect/projectile/eyelaser/tracer
|
|
icon_state = "eye"
|
|
|
|
/obj/effect/projectile/eyelaser/muzzle
|
|
icon_state = "muzzle_eye"
|
|
|
|
/obj/effect/projectile/eyelaser/impact
|
|
icon_state = "impact_eye"
|
|
|
|
//----------------------------
|
|
// Bullet
|
|
//----------------------------
|
|
/obj/effect/projectile/bullet/muzzle
|
|
icon_state = "muzzle_bullet"
|
|
|
|
// Solar beam
|
|
//----------------------------
|
|
/obj/effect/projectile/solar/tracer
|
|
icon_state = "solar"
|
|
|
|
/obj/effect/projectile/solar/muzzle
|
|
icon_state = "muzzle_solar"
|
|
|
|
/obj/effect/projectile/solar/impact
|
|
icon_state = "impact_solar"
|
|
|
|
//----------------------------
|
|
// Pulse muzzle
|
|
//----------------------------
|
|
/obj/effect/projectile/pulse_bullet/muzzle
|
|
icon_state = "muzzle_pulse"
|
|
|
|
|
|
//----------------------------
|
|
// Demonic Beam
|
|
//----------------------------
|
|
/obj/effect/projectile/cult/tracer
|
|
icon_state = "cult"
|
|
|
|
/obj/effect/projectile/cult/muzzle
|
|
icon_state = "muzzle_cult"
|
|
|
|
/obj/effect/projectile/cult/impact
|
|
icon_state = "impact_cult"
|
|
|
|
|
|
//----------------------------
|
|
// Empowered Demonic Beam
|
|
//----------------------------
|
|
/obj/effect/projectile/cult/heavy/tracer
|
|
icon_state = "hcult"
|
|
|
|
/obj/effect/projectile/cult/heavy/muzzle
|
|
icon_state = "muzzle_hcult"
|
|
|
|
/obj/effect/projectile/cult/heavy/impact
|
|
icon_state = "impact_hcult" |