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:
Rob Nelson
2014-12-16 18:46:06 -08:00
parent ad3bb62cd0
commit 622f330a22
6 changed files with 69 additions and 37 deletions

View File

@@ -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

View File

@@ -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,18 +555,10 @@ 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
I.Play()
spawn(2)
if(src.on)
src.processing = 1
@@ -557,10 +568,11 @@ steam.start() -- spawns the effect
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,11 +615,7 @@ 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

View File

@@ -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

View File

@@ -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
*/

View File

@@ -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