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/obj/item/weapon/cell/high/battery
|
||||||
var/datum/gas_mixture/cabin_air
|
var/datum/gas_mixture/cabin_air
|
||||||
var/obj/machinery/portable_atmospherics/canister/internal_tank
|
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/use_internal_tank = 0
|
||||||
var/datum/global_iterator/pr_int_temp_processor //normalizes internal air mixture temperature
|
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
|
var/datum/global_iterator/pr_give_air //moves air from tank to cabin
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
battery = new()
|
battery = new()
|
||||||
add_cabin()
|
add_cabin()
|
||||||
add_airtank()
|
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.set_up(src)
|
||||||
src.ion_trail.start()
|
src.ion_trail.start()
|
||||||
src.use_internal_tank = 1
|
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!
|
/// and don't call start() in a loop that will be repeated otherwise it'll get spammed!
|
||||||
/////////////////////////////////////////////
|
/////////////////////////////////////////////
|
||||||
|
|
||||||
/obj/effect/effect/ion_trails
|
/obj/effect/effect/trails
|
||||||
name = "ion trails"
|
name = ""
|
||||||
icon_state = "ion_trails"
|
icon_state = ""
|
||||||
anchored = 1
|
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/turf/oldposition
|
||||||
var/processing = 1
|
var/processing = 1
|
||||||
var/on = 1
|
var/on = 1
|
||||||
|
|
||||||
|
var/trail_type=/obj/effect/effect/trails/ion
|
||||||
|
|
||||||
set_up(atom/atom)
|
set_up(atom/atom)
|
||||||
attach(atom)
|
attach(atom)
|
||||||
oldposition = get_turf(atom)
|
oldposition = get_turf(atom)
|
||||||
@@ -536,31 +555,24 @@ steam.start() -- spawns the effect
|
|||||||
var/turf/T = get_turf(src.holder)
|
var/turf/T = get_turf(src.holder)
|
||||||
if(T != src.oldposition)
|
if(T != src.oldposition)
|
||||||
if(istype(T, /turf/space))
|
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
|
src.oldposition = T
|
||||||
I.dir = src.holder.dir
|
I.dir = src.holder.dir
|
||||||
flick("ion_fade", I)
|
I.Play()
|
||||||
I.icon_state = "blank"
|
spawn(2)
|
||||||
spawn( 20 )
|
if(src.on)
|
||||||
if(I) qdel(I)
|
src.processing = 1
|
||||||
spawn(2)
|
src.start()
|
||||||
if(src.on)
|
|
||||||
src.processing = 1
|
|
||||||
src.start()
|
|
||||||
else
|
|
||||||
spawn(2)
|
|
||||||
if(src.on)
|
|
||||||
src.processing = 1
|
|
||||||
src.start()
|
|
||||||
|
|
||||||
proc/stop()
|
proc/stop()
|
||||||
src.processing = 0
|
src.processing = 0
|
||||||
src.on = 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/oldloc // secondary ion trail loc
|
||||||
var/turf/currloc
|
var/turf/currloc
|
||||||
/datum/effect/effect/system/ion_trail_follow/space_trail/start()
|
|
||||||
|
/datum/effect/effect/system/trail/space_trail/start()
|
||||||
if(!src.on)
|
if(!src.on)
|
||||||
src.on = 1
|
src.on = 1
|
||||||
src.processing = 1
|
src.processing = 1
|
||||||
@@ -591,8 +603,8 @@ steam.start() -- spawns the effect
|
|||||||
src.oldloc = get_step(oldposition,NORTH)
|
src.oldloc = get_step(oldposition,NORTH)
|
||||||
//src.oldloc = get_step(oldloc,EAST)
|
//src.oldloc = get_step(oldloc,EAST)
|
||||||
if(istype(T, /turf/space))
|
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/ion/I = new /obj/effect/effect/trails/ion(src.oldposition)
|
||||||
var/obj/effect/effect/ion_trails/II = new /obj/effect/effect/ion_trails(src.oldloc)
|
var/obj/effect/effect/trails/ion/II = new /obj/effect/effect/trails/ion(src.oldloc)
|
||||||
//src.oldposition = T
|
//src.oldposition = T
|
||||||
I.dir = src.holder.dir
|
I.dir = src.holder.dir
|
||||||
II.dir = src.holder.dir
|
II.dir = src.holder.dir
|
||||||
@@ -603,15 +615,11 @@ steam.start() -- spawns the effect
|
|||||||
spawn( 20 )
|
spawn( 20 )
|
||||||
if(I) qdel(I)
|
if(I) qdel(I)
|
||||||
if(II) qdel(II)
|
if(II) qdel(II)
|
||||||
spawn(2)
|
|
||||||
if(src.on)
|
spawn(2)
|
||||||
src.processing = 1
|
if(src.on)
|
||||||
src.start()
|
src.processing = 1
|
||||||
else
|
src.start()
|
||||||
spawn(2)
|
|
||||||
if(src.on)
|
|
||||||
src.processing = 1
|
|
||||||
src.start()
|
|
||||||
currloc = T
|
currloc = T
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
w_class = 3.0
|
w_class = 3.0
|
||||||
item_state = "jetpack"
|
item_state = "jetpack"
|
||||||
distribute_pressure = ONE_ATMOSPHERE*O2STANDARD
|
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/on = 0.0
|
||||||
var/stabilization_on = 0
|
var/stabilization_on = 0
|
||||||
var/volume_rate = 500 //Needed for borg jetpack transfer
|
var/volume_rate = 500 //Needed for borg jetpack transfer
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
|
|
||||||
/obj/item/weapon/tank/jetpack/New()
|
/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)
|
ion_trail.set_up(src)
|
||||||
|
|
||||||
/obj/item/weapon/tank/jetpack/void
|
/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."
|
desc = "A keyring with a small steel key, and a fancy blue and gold fob."
|
||||||
icon_state = "magic_keys"
|
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
|
/obj/structure/stool/bed/chair/vehicle/wizmobile
|
||||||
name = "\improper Firebird"
|
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."
|
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
|
//ethereal=1 // NERF
|
||||||
var/can_move=1
|
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.
|
// Shit be ethereal.
|
||||||
/obj/structure/stool/bed/chair/vehicle/wizmobile/CanPass(atom/movable/mover, turf/target, height=1.5, air_group = 0)
|
/obj/structure/stool/bed/chair/vehicle/wizmobile/CanPass(atom/movable/mover, turf/target, height=1.5, air_group = 0)
|
||||||
return 1
|
return 1
|
||||||
|
*/
|
||||||
|
|
||||||
/obj/structure/stool/bed/chair/vehicle/wizmobile/update_mob()
|
/obj/structure/stool/bed/chair/vehicle/wizmobile/update_mob()
|
||||||
if(buckled_mob)
|
if(buckled_mob)
|
||||||
@@ -47,6 +69,7 @@
|
|||||||
|
|
||||||
update_mob()
|
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)
|
/obj/structure/stool/bed/chair/vehicle/wizmobile/Bump(var/atom/obstacle)
|
||||||
if(can_move)
|
if(can_move)
|
||||||
can_move = 0
|
can_move = 0
|
||||||
@@ -62,3 +85,4 @@
|
|||||||
else
|
else
|
||||||
. = ..()
|
. = ..()
|
||||||
return
|
return
|
||||||
|
*/
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
environment_smash = 2
|
environment_smash = 2
|
||||||
minimum_distance = 3
|
minimum_distance = 3
|
||||||
retreat_distance = 2
|
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
|
var/hostile_time = 0
|
||||||
|
|
||||||
//the drone randomly switches between hostile/retaliation only states because it's malfunctioning
|
//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