mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 02:16:05 +00:00
Nerf Firebird
- Firebird can no longer go through walls (server vote 10-7) - Firebird now leaves fire trails in space. - Slightly re-organized jetpack code.
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
var/obj/item/weapon/cell/high/battery
|
||||
var/datum/gas_mixture/cabin_air
|
||||
var/obj/machinery/portable_atmospherics/canister/internal_tank
|
||||
var/datum/effect/effect/system/ion_trail_follow/space_trail/ion_trail
|
||||
var/datum/effect/effect/system/trail/space_trail/ion_trail
|
||||
var/use_internal_tank = 0
|
||||
var/datum/global_iterator/pr_int_temp_processor //normalizes internal air mixture temperature
|
||||
var/datum/global_iterator/pr_give_air //moves air from tank to cabin
|
||||
@@ -39,7 +39,7 @@
|
||||
battery = new()
|
||||
add_cabin()
|
||||
add_airtank()
|
||||
src.ion_trail = new /datum/effect/effect/system/ion_trail_follow/space_trail()
|
||||
src.ion_trail = new /datum/effect/effect/system/trail/space_trail()
|
||||
src.ion_trail.set_up(src)
|
||||
src.ion_trail.start()
|
||||
src.use_internal_tank = 1
|
||||
|
||||
@@ -512,16 +512,35 @@ steam.start() -- spawns the effect
|
||||
/// and don't call start() in a loop that will be repeated otherwise it'll get spammed!
|
||||
/////////////////////////////////////////////
|
||||
|
||||
/obj/effect/effect/ion_trails
|
||||
name = "ion trails"
|
||||
icon_state = "ion_trails"
|
||||
/obj/effect/effect/trails
|
||||
name = ""
|
||||
icon_state = ""
|
||||
anchored = 1
|
||||
|
||||
/datum/effect/effect/system/ion_trail_follow
|
||||
var/base_name="ion"
|
||||
|
||||
/obj/effect/effect/trails/New()
|
||||
..()
|
||||
name = "[base_name] trails"
|
||||
icon_state = "[base_name]_trails"
|
||||
|
||||
/obj/effect/effect/trails/proc/Play()
|
||||
flick("[base_name]_fade", src)
|
||||
icon_state = "blank"
|
||||
spawn( 20 )
|
||||
if(src)
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/effect/trails/ion
|
||||
base_name = "ion"
|
||||
|
||||
/datum/effect/effect/system/trail
|
||||
var/turf/oldposition
|
||||
var/processing = 1
|
||||
var/on = 1
|
||||
|
||||
var/trail_type=/obj/effect/effect/trails/ion
|
||||
|
||||
set_up(atom/atom)
|
||||
attach(atom)
|
||||
oldposition = get_turf(atom)
|
||||
@@ -536,31 +555,24 @@ steam.start() -- spawns the effect
|
||||
var/turf/T = get_turf(src.holder)
|
||||
if(T != src.oldposition)
|
||||
if(istype(T, /turf/space))
|
||||
var/obj/effect/effect/ion_trails/I = new /obj/effect/effect/ion_trails(src.oldposition)
|
||||
var/obj/effect/effect/trails/I = new trail_type(src.oldposition)
|
||||
src.oldposition = T
|
||||
I.dir = src.holder.dir
|
||||
flick("ion_fade", I)
|
||||
I.icon_state = "blank"
|
||||
spawn( 20 )
|
||||
if(I) qdel(I)
|
||||
spawn(2)
|
||||
if(src.on)
|
||||
src.processing = 1
|
||||
src.start()
|
||||
else
|
||||
spawn(2)
|
||||
if(src.on)
|
||||
src.processing = 1
|
||||
src.start()
|
||||
I.Play()
|
||||
spawn(2)
|
||||
if(src.on)
|
||||
src.processing = 1
|
||||
src.start()
|
||||
|
||||
proc/stop()
|
||||
src.processing = 0
|
||||
src.on = 0
|
||||
|
||||
/datum/effect/effect/system/ion_trail_follow/space_trail
|
||||
/datum/effect/effect/system/trail/space_trail
|
||||
var/turf/oldloc // secondary ion trail loc
|
||||
var/turf/currloc
|
||||
/datum/effect/effect/system/ion_trail_follow/space_trail/start()
|
||||
|
||||
/datum/effect/effect/system/trail/space_trail/start()
|
||||
if(!src.on)
|
||||
src.on = 1
|
||||
src.processing = 1
|
||||
@@ -591,8 +603,8 @@ steam.start() -- spawns the effect
|
||||
src.oldloc = get_step(oldposition,NORTH)
|
||||
//src.oldloc = get_step(oldloc,EAST)
|
||||
if(istype(T, /turf/space))
|
||||
var/obj/effect/effect/ion_trails/I = new /obj/effect/effect/ion_trails(src.oldposition)
|
||||
var/obj/effect/effect/ion_trails/II = new /obj/effect/effect/ion_trails(src.oldloc)
|
||||
var/obj/effect/effect/trails/ion/I = new /obj/effect/effect/trails/ion(src.oldposition)
|
||||
var/obj/effect/effect/trails/ion/II = new /obj/effect/effect/trails/ion(src.oldloc)
|
||||
//src.oldposition = T
|
||||
I.dir = src.holder.dir
|
||||
II.dir = src.holder.dir
|
||||
@@ -603,15 +615,11 @@ steam.start() -- spawns the effect
|
||||
spawn( 20 )
|
||||
if(I) qdel(I)
|
||||
if(II) qdel(II)
|
||||
spawn(2)
|
||||
if(src.on)
|
||||
src.processing = 1
|
||||
src.start()
|
||||
else
|
||||
spawn(2)
|
||||
if(src.on)
|
||||
src.processing = 1
|
||||
src.start()
|
||||
|
||||
spawn(2)
|
||||
if(src.on)
|
||||
src.processing = 1
|
||||
src.start()
|
||||
currloc = T
|
||||
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
w_class = 3.0
|
||||
item_state = "jetpack"
|
||||
distribute_pressure = ONE_ATMOSPHERE*O2STANDARD
|
||||
var/datum/effect/effect/system/ion_trail_follow/ion_trail
|
||||
var/datum/effect/effect/system/trail/ion_trail
|
||||
var/on = 0.0
|
||||
var/stabilization_on = 0
|
||||
var/volume_rate = 500 //Needed for borg jetpack transfer
|
||||
@@ -66,7 +66,7 @@
|
||||
|
||||
/obj/item/weapon/tank/jetpack/New()
|
||||
. = ..()
|
||||
ion_trail = new /datum/effect/effect/system/ion_trail_follow()
|
||||
ion_trail = new /datum/effect/effect/system/trail()
|
||||
ion_trail.set_up(src)
|
||||
|
||||
/obj/item/weapon/tank/jetpack/void
|
||||
|
||||
@@ -3,6 +3,17 @@
|
||||
desc = "A keyring with a small steel key, and a fancy blue and gold fob."
|
||||
icon_state = "magic_keys"
|
||||
|
||||
/obj/effect/effect/trails/firebird
|
||||
base_name = "fire"
|
||||
|
||||
/obj/effect/effect/trails/firebird/Play()
|
||||
dir=pick(cardinal)
|
||||
spawn(rand(10,20))
|
||||
qdel(src)
|
||||
|
||||
/datum/effect/effect/system/trail/firebird
|
||||
trail_type = /obj/effect/effect/trails/firebird
|
||||
|
||||
/obj/structure/stool/bed/chair/vehicle/wizmobile
|
||||
name = "\improper Firebird"
|
||||
desc = "A Pontiac Firebird Trans Am with skulls and crossbones on the hood, dark grey paint, and gold trim. No magic required for this baby."
|
||||
@@ -13,9 +24,20 @@
|
||||
//ethereal=1 // NERF
|
||||
var/can_move=1
|
||||
|
||||
var/datum/effect/effect/system/trail/firebird/ion_trail
|
||||
|
||||
/obj/structure/stool/bed/chair/vehicle/wizmobile/New()
|
||||
..()
|
||||
ion_trail = new /datum/effect/effect/system/trail/firebird()
|
||||
ion_trail.set_up(src)
|
||||
ion_trail.start()
|
||||
|
||||
|
||||
/* Server vote on 16-12-2014 to disable wallmoving (10-7 Y)
|
||||
// Shit be ethereal.
|
||||
/obj/structure/stool/bed/chair/vehicle/wizmobile/CanPass(atom/movable/mover, turf/target, height=1.5, air_group = 0)
|
||||
return 1
|
||||
*/
|
||||
|
||||
/obj/structure/stool/bed/chair/vehicle/wizmobile/update_mob()
|
||||
if(buckled_mob)
|
||||
@@ -47,6 +69,7 @@
|
||||
|
||||
update_mob()
|
||||
|
||||
/* Server vote on 16-12-2014 to disable wallmoving (10-7 Y)
|
||||
/obj/structure/stool/bed/chair/vehicle/wizmobile/Bump(var/atom/obstacle)
|
||||
if(can_move)
|
||||
can_move = 0
|
||||
@@ -62,3 +85,4 @@
|
||||
else
|
||||
. = ..()
|
||||
return
|
||||
*/
|
||||
@@ -25,7 +25,7 @@
|
||||
environment_smash = 2
|
||||
minimum_distance = 3
|
||||
retreat_distance = 2
|
||||
var/datum/effect/effect/system/ion_trail_follow/ion_trail
|
||||
var/datum/effect/effect/system/trail/ion_trail
|
||||
var/hostile_time = 0
|
||||
|
||||
//the drone randomly switches between hostile/retaliation only states because it's malfunctioning
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 305 KiB After Width: | Height: | Size: 370 KiB |
Reference in New Issue
Block a user