cascade stuff

This commit is contained in:
DeityLink
2015-02-27 22:35:24 +01:00
parent 7b959d5eb1
commit 33045d816b
9 changed files with 88 additions and 19 deletions

View File

@@ -9,9 +9,16 @@
mymob.visible.name = "visible"
mymob.visible.screen_loc = ui_health
mymob.flash = new /obj/screen()
mymob.flash.icon = 'icons/mob/screen1.dmi'
mymob.flash.icon_state = "blank"
mymob.flash.name = "flash"
mymob.flash.screen_loc = "1,1 to 15,15"
mymob.flash.layer = 17
mymob.client.screen = null
mymob.client.screen += list(mymob.visible)
mymob.client.screen += list(mymob.visible, mymob.flash)
/datum/hud/proc/corgi_hud()
mymob.fire = new /obj/screen()
@@ -44,9 +51,16 @@
mymob.toxin.name = "toxin"
mymob.toxin.screen_loc = ui_toxin
mymob.flash = new /obj/screen()
mymob.flash.icon = 'icons/mob/screen1.dmi'
mymob.flash.icon_state = "blank"
mymob.flash.name = "flash"
mymob.flash.screen_loc = "1,1 to 15,15"
mymob.flash.layer = 17
mymob.client.screen = null
mymob.client.screen += list(mymob.fire, mymob.healths, mymob.pullin, mymob.oxygen, mymob.toxin)
mymob.client.screen += list(mymob.fire, mymob.healths, mymob.pullin, mymob.oxygen, mymob.toxin, mymob.flash)
/datum/hud/proc/brain_hud(ui_style = 'icons/mob/screen1_Midnight.dmi')
mymob.blind = new /obj/screen()
@@ -99,9 +113,16 @@
mymob.zone_sel.overlays.len = 0
mymob.zone_sel.overlays += image('icons/mob/zone_sel.dmi', "[mymob.zone_sel.selecting]")
mymob.flash = new /obj/screen()
mymob.flash.icon = 'icons/mob/screen1.dmi'
mymob.flash.icon_state = "blank"
mymob.flash.name = "flash"
mymob.flash.screen_loc = "1,1 to 15,15"
mymob.flash.layer = 17
mymob.client.screen = null
mymob.client.screen += list(mymob.healths, mymob.pullin, mymob.zone_sel, mymob.purged)
mymob.client.screen += list(mymob.healths, mymob.pullin, mymob.zone_sel, mymob.purged, mymob.flash)
/datum/hud/proc/construct_hud()
var/constructtype
@@ -115,6 +136,13 @@
else if(istype(mymob,/mob/living/simple_animal/construct/harvester))
constructtype = "harvester"
mymob.flash = new /obj/screen()
mymob.flash.icon = 'icons/mob/screen1.dmi'
mymob.flash.icon_state = "blank"
mymob.flash.name = "flash"
mymob.flash.screen_loc = "1,1 to 15,15"
mymob.flash.layer = 17
if(constructtype)
mymob.fire = new /obj/screen()
mymob.fire.icon = 'icons/mob/screen1_construct.dmi'
@@ -147,7 +175,7 @@
mymob.client.screen = null
mymob.client.screen += list(mymob.fire, mymob.healths, mymob.pullin, mymob.zone_sel, mymob.purged)
mymob.client.screen += list(mymob.fire, mymob.healths, mymob.pullin, mymob.zone_sel, mymob.purged, mymob.flash)
switch(constructtype)
if("artificer")
@@ -181,7 +209,7 @@
mymob.construct_spell5.name = "pylon"
mymob.construct_spell5.screen_loc = ui_construct_spell5
mymob.client.screen += list(mymob.construct_spell1, mymob.construct_spell2, mymob.construct_spell3, mymob.construct_spell4, mymob.construct_spell5)
mymob.client.screen += list(mymob.construct_spell1, mymob.construct_spell2, mymob.construct_spell3, mymob.construct_spell4, mymob.construct_spell5, mymob.flash)
if("wraith")
mymob.construct_spell1 = new /obj/screen()
@@ -190,7 +218,7 @@
mymob.construct_spell1.name = "shift"
mymob.construct_spell1.screen_loc = ui_construct_spell1
mymob.client.screen += mymob.construct_spell1
mymob.client.screen += list(mymob.construct_spell1, mymob.flash)
if("juggernaut")
mymob.construct_spell1 = new /obj/screen()
@@ -199,7 +227,7 @@
mymob.construct_spell1.name = "juggerwall"
mymob.construct_spell1.screen_loc = ui_construct_spell1
mymob.client.screen += mymob.construct_spell1
mymob.client.screen += list(mymob.construct_spell1, mymob.flash)
if("harvester")
mymob.construct_spell1 = new /obj/screen()
@@ -220,5 +248,5 @@
mymob.construct_spell3.name = "harvest"
mymob.construct_spell3.screen_loc = ui_construct_spell3
mymob.client.screen += list(mymob.construct_spell1, mymob.construct_spell2, mymob.construct_spell3)
mymob.client.screen += list(mymob.construct_spell1, mymob.construct_spell2, mymob.construct_spell3, mymob.flash)

View File

@@ -33,6 +33,8 @@ datum/updateQueueWorker/proc/doWork()
if (istype(object) && !isturf(object) && !object.disposed && isnull(object.gcDestroyed)) // We only work with real objects
call(object, procName)(arglist(arguments))
else if (istype(object, /turf/unsimulated/wall/supermatter)) // Of course, everything has its exceptions
call(object, procName)(arglist(arguments))
// If there's nothing left to execute
// or we were killed while running the above code, mark finished and return.

View File

@@ -60,8 +60,9 @@ In short:
runedec += 9000 //basically removing the rune cap
for(var/turf/T in world)
T.update_lumcount(1, 255, 0, 0, 0)
spawn()
for(var/turf/T in world)
T.update_lumcount(1, 255, 0, 0, 0)
ticker.StartThematic("endgame")

View File

@@ -3,24 +3,27 @@
/obj/machinery/singularity/narsie/large/exit
name = "Bluespace Rift"
desc = "NO TIME TO EXPLAIN, JUMP IN"
icon = 'icons/obj/mrclean.dmi' // Placeholder.
icon_state = ""
icon = 'icons/obj/rift.dmi'
icon_state = "rift"
move_self = 0
announce=0
layer=LIGHTING_LAYER+1 // ITS SO BRIGHT
layer=LIGHTING_LAYER+2 // ITS SO BRIGHT
consume_range = 6
/obj/machinery/singularity/narsie/large/exit/New()
..(cultspawn=0)
processing_objects.Add(src)
/obj/machinery/singularity/narsie/large/exit/update_icon()
overlays = 0
//if (target && !isturf(target))
// overlays += "eyes"
/obj/machinery/singularity/narsie/large/exit/process()
for(var/mob/M in player_list)
if(M.client)
M.see_rift(src)
eat()
/obj/machinery/singularity/narsie/large/exit/acquire(var/mob/food)
@@ -35,8 +38,8 @@
else if (isturf(A))
var/turf/T = A
var/dist = get_dist(T, src)
if (dist <= consume_range && !istype(T,/turf/space))
T.ChangeTurf(/turf/space)
if (dist <= consume_range && T.density)
T.density = 0
for (var/atom/movable/AM in T.contents)
if (AM == src) // This is the snowflake.

View File

@@ -35,6 +35,11 @@
set background = 1
world << "<span class='sinister' style='font-size:22pt'>You are blinded by a brilliant flash of energy.</span>"
world << sound('sound/effects/cascade.ogg')
for(var/mob/M in player_list)
flick("e_flash", M.flash)
if(emergency_shuttle.direction==2)
captain_announce("The emergency shuttle has returned due to bluespace distortion.")
@@ -44,7 +49,7 @@
for(var/area/ca in world)
var/area/A=get_area_master(ca)
if(!istype(A,/area) || A.name=="Space")
if(!istype(A,/area) || A.name=="Space" || istype(A,/area/beach))
continue
// No cheating~
@@ -87,6 +92,16 @@
APC.emagged = 1
APC.queue_icon_update()
APC.areaMaster.power_light = 0
APC.areaMaster.power_equip = 0
APC.areaMaster.power_environ = 0
APC.areaMaster.power_change()
spawn()
for(var/turf/T in world)
if(T.z != map.zCentcomm)
T.update_lumcount(1, 160, 255, 0, 0)
// Disable Nar-Sie.
ticker.mode.eldergod=0

View File

@@ -212,6 +212,23 @@
del(narsimage)
del(narglow)
/mob/proc/see_rift(var/obj/machinery/singularity/narsie/large/exit/R)
if((R.z == src.z) && (get_dist(R,src) <= (R.consume_range+10)) && !(R in view(src)))
if(!riftimage)
riftimage = image('icons/obj/rift.dmi',src.loc,"rift",LIGHTING_LAYER+2,1)
riftimage.mouse_opacity = 0
var/new_x = 32 * (R.x - src.x) + R.pixel_x
var/new_y = 32 * (R.y - src.y) + R.pixel_y
riftimage.pixel_x = new_x
riftimage.pixel_y = new_y
riftimage.loc = src.loc
src << riftimage
else
if(riftimage)
del(riftimage)
/mob/proc/get_item_by_slot(slot_id)
switch(slot_id)

View File

@@ -55,6 +55,9 @@
var/image/narsimage = null
var/image/narglow = null
//thou shall always be able to see the Bluespace Rift
var/image/riftimage = null
/*A bunch of this stuff really needs to go under their own defines instead of being globally attached to mob.
A variable should only be globally attached to turfs/objects/whatever, when it is in fact needed as such.
The current method unnecessarily clusters up the variable list, especially for humans (although rearranging won't really clean it up a lot but the difference will be noticable for other mobs).

BIN
icons/obj/rift.dmi Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

BIN
sound/effects/cascade.ogg Normal file

Binary file not shown.