* blob hud sprites

* blob HUD

* OOP is srs bsns

* changelog 9948

* haha holy shit someone stop me

* ghnazndjazhnfoizhioHNFAONHIOKZFNDZA
This commit is contained in:
DeityLink
2016-05-08 11:48:39 +02:00
committed by sood
parent 5b3a780501
commit 40b4bfee21
23 changed files with 465 additions and 113 deletions

View File

@@ -194,3 +194,17 @@
#define ui_adminbus_tdarena "2:4,13:26" #define ui_adminbus_tdarena "2:4,13:26"
#define ui_adminbus_tdgreen "3:6,13:26" #define ui_adminbus_tdgreen "3:6,13:26"
#define ui_adminbus_tdobs "2:4,14:28" #define ui_adminbus_tdobs "2:4,14:28"
//Blob HUD
#define ui_blob_bg "1:0,1:0"
#define ui_blob_powerbar "1:0,5:0"
#define ui_blob_healthbar "15:14,5:0"
#define ui_blob_spawnblob "1:18,5:5"
#define ui_blob_spawnstrong "1:18,6:9"
#define ui_blob_spawnresource "1:18,7:13"
#define ui_blob_spawnfactory "1:18,8:17"
#define ui_blob_spawnnode "1:18,9:21"
#define ui_blob_spawncore "1:18,10:25"
#define ui_blob_ping "14:24,11:21"
#define ui_blob_rally "14:24,12:25"
#define ui_blob_taunt "14:24,13:29"

View File

@@ -1,210 +1,210 @@
/datum/hud/proc/adminbus_hud() /datum/hud/proc/adminbus_hud()
mymob.gui_icons.adminbus_bg = getFromPool(/obj/screen) mymob.gui_icons.adminbus_bg = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_bg.icon = 'icons/adminbus/fullscreen.dmi' mymob.gui_icons.adminbus_bg.icon = 'icons/adminbus/fullscreen.dmi'
mymob.gui_icons.adminbus_bg.icon_state = "HUD" mymob.gui_icons.adminbus_bg.icon_state = "HUD"
mymob.gui_icons.adminbus_bg.name = "HUD" mymob.gui_icons.adminbus_bg.name = "HUD"
mymob.gui_icons.adminbus_bg.layer = 19 mymob.gui_icons.adminbus_bg.layer = 19
mymob.gui_icons.adminbus_bg.screen_loc = ui_adminbus_bg mymob.gui_icons.adminbus_bg.screen_loc = ui_adminbus_bg
mymob.gui_icons.adminbus_delete = getFromPool(/obj/screen) mymob.gui_icons.adminbus_delete = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_delete.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_delete.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_delete.icon_state = "icon_delete" mymob.gui_icons.adminbus_delete.icon_state = "icon_delete"
mymob.gui_icons.adminbus_delete.name = "Delete Bus" mymob.gui_icons.adminbus_delete.name = "Delete Bus"
mymob.gui_icons.adminbus_delete.screen_loc = ui_adminbus_delete mymob.gui_icons.adminbus_delete.screen_loc = ui_adminbus_delete
mymob.gui_icons.adminbus_delmobs = getFromPool(/obj/screen) mymob.gui_icons.adminbus_delmobs = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_delmobs.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_delmobs.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_delmobs.icon_state = "icon_delmobs" mymob.gui_icons.adminbus_delmobs.icon_state = "icon_delmobs"
mymob.gui_icons.adminbus_delmobs.name = "Delete Mobs" mymob.gui_icons.adminbus_delmobs.name = "Delete Mobs"
mymob.gui_icons.adminbus_delmobs.screen_loc = ui_adminbus_delmobs mymob.gui_icons.adminbus_delmobs.screen_loc = ui_adminbus_delmobs
mymob.gui_icons.adminbus_spclowns = getFromPool(/obj/screen) mymob.gui_icons.adminbus_spclowns = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_spclowns.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_spclowns.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_spclowns.icon_state = "icon_spclown" mymob.gui_icons.adminbus_spclowns.icon_state = "icon_spclown"
mymob.gui_icons.adminbus_spclowns.name = "Spawn Clowns" mymob.gui_icons.adminbus_spclowns.name = "Spawn Clowns"
mymob.gui_icons.adminbus_spclowns.screen_loc = ui_adminbus_spclowns mymob.gui_icons.adminbus_spclowns.screen_loc = ui_adminbus_spclowns
mymob.gui_icons.adminbus_spcarps = getFromPool(/obj/screen) mymob.gui_icons.adminbus_spcarps = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_spcarps.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_spcarps.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_spcarps.icon_state = "icon_spcarp" mymob.gui_icons.adminbus_spcarps.icon_state = "icon_spcarp"
mymob.gui_icons.adminbus_spcarps.name = "Spawn Carps" mymob.gui_icons.adminbus_spcarps.name = "Spawn Carps"
mymob.gui_icons.adminbus_spcarps.screen_loc = ui_adminbus_spcarps mymob.gui_icons.adminbus_spcarps.screen_loc = ui_adminbus_spcarps
mymob.gui_icons.adminbus_spbears = getFromPool(/obj/screen) mymob.gui_icons.adminbus_spbears = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_spbears.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_spbears.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_spbears.icon_state = "icon_spbear" mymob.gui_icons.adminbus_spbears.icon_state = "icon_spbear"
mymob.gui_icons.adminbus_spbears.name = "Spawn Bears" mymob.gui_icons.adminbus_spbears.name = "Spawn Bears"
mymob.gui_icons.adminbus_spbears.screen_loc = ui_adminbus_spbears mymob.gui_icons.adminbus_spbears.screen_loc = ui_adminbus_spbears
mymob.gui_icons.adminbus_sptrees = getFromPool(/obj/screen) mymob.gui_icons.adminbus_sptrees = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_sptrees.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_sptrees.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_sptrees.icon_state = "icon_sptree" mymob.gui_icons.adminbus_sptrees.icon_state = "icon_sptree"
mymob.gui_icons.adminbus_sptrees.name = "Spawn Trees" mymob.gui_icons.adminbus_sptrees.name = "Spawn Trees"
mymob.gui_icons.adminbus_sptrees.screen_loc = ui_adminbus_sptrees mymob.gui_icons.adminbus_sptrees.screen_loc = ui_adminbus_sptrees
mymob.gui_icons.adminbus_spspiders = getFromPool(/obj/screen) mymob.gui_icons.adminbus_spspiders = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_spspiders.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_spspiders.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_spspiders.icon_state = "icon_spspider" mymob.gui_icons.adminbus_spspiders.icon_state = "icon_spspider"
mymob.gui_icons.adminbus_spspiders.name = "Spawn Spiders" mymob.gui_icons.adminbus_spspiders.name = "Spawn Spiders"
mymob.gui_icons.adminbus_spspiders.screen_loc = ui_adminbus_spspiders mymob.gui_icons.adminbus_spspiders.screen_loc = ui_adminbus_spspiders
mymob.gui_icons.adminbus_spalien = getFromPool(/obj/screen) mymob.gui_icons.adminbus_spalien = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_spalien.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_spalien.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_spalien.icon_state = "icon_spalien" mymob.gui_icons.adminbus_spalien.icon_state = "icon_spalien"
mymob.gui_icons.adminbus_spalien.name = "Spawn Large Alien Queen" mymob.gui_icons.adminbus_spalien.name = "Spawn Large Alien Queen"
mymob.gui_icons.adminbus_spalien.screen_loc = ui_adminbus_spalien mymob.gui_icons.adminbus_spalien.screen_loc = ui_adminbus_spalien
mymob.gui_icons.adminbus_loadsids = getFromPool(/obj/screen) mymob.gui_icons.adminbus_loadsids = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_loadsids.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_loadsids.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_loadsids.icon_state = "icon_loadsids" mymob.gui_icons.adminbus_loadsids.icon_state = "icon_loadsids"
mymob.gui_icons.adminbus_loadsids.name = "Spawn Loads of Captain Spare IDs" mymob.gui_icons.adminbus_loadsids.name = "Spawn Loads of Captain Spare IDs"
mymob.gui_icons.adminbus_loadsids.screen_loc = ui_adminbus_loadsids mymob.gui_icons.adminbus_loadsids.screen_loc = ui_adminbus_loadsids
mymob.gui_icons.adminbus_loadsmoney = getFromPool(/obj/screen) mymob.gui_icons.adminbus_loadsmoney = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_loadsmoney.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_loadsmoney.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_loadsmoney.icon_state = "icon_loadsmone" mymob.gui_icons.adminbus_loadsmoney.icon_state = "icon_loadsmone"
mymob.gui_icons.adminbus_loadsmoney.name = "Spawn Loads of Money" mymob.gui_icons.adminbus_loadsmoney.name = "Spawn Loads of Money"
mymob.gui_icons.adminbus_loadsmoney.screen_loc = ui_adminbus_loadsmone mymob.gui_icons.adminbus_loadsmoney.screen_loc = ui_adminbus_loadsmone
mymob.gui_icons.adminbus_massrepair = getFromPool(/obj/screen) mymob.gui_icons.adminbus_massrepair = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_massrepair.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_massrepair.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_massrepair.icon_state = "icon_massrepair" mymob.gui_icons.adminbus_massrepair.icon_state = "icon_massrepair"
mymob.gui_icons.adminbus_massrepair.name = "Repair Surroundings" mymob.gui_icons.adminbus_massrepair.name = "Repair Surroundings"
mymob.gui_icons.adminbus_massrepair.screen_loc = ui_adminbus_massrepair mymob.gui_icons.adminbus_massrepair.screen_loc = ui_adminbus_massrepair
mymob.gui_icons.adminbus_massrejuv = getFromPool(/obj/screen) mymob.gui_icons.adminbus_massrejuv = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_massrejuv.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_massrejuv.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_massrejuv.icon_state = "icon_massrejuv" mymob.gui_icons.adminbus_massrejuv.icon_state = "icon_massrejuv"
mymob.gui_icons.adminbus_massrejuv.name = "Mass Rejuvination" mymob.gui_icons.adminbus_massrejuv.name = "Mass Rejuvination"
mymob.gui_icons.adminbus_massrejuv.screen_loc = ui_adminbus_massrejuv mymob.gui_icons.adminbus_massrejuv.screen_loc = ui_adminbus_massrejuv
mymob.gui_icons.adminbus_hook = getFromPool(/obj/screen) mymob.gui_icons.adminbus_hook = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_hook.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_hook.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_hook.icon_state = "icon_hook" mymob.gui_icons.adminbus_hook.icon_state = "icon_hook"
mymob.gui_icons.adminbus_hook.name = "Singularity Hook" mymob.gui_icons.adminbus_hook.name = "Singularity Hook"
mymob.gui_icons.adminbus_hook.screen_loc = ui_adminbus_hook mymob.gui_icons.adminbus_hook.screen_loc = ui_adminbus_hook
mymob.gui_icons.adminbus_juke = getFromPool(/obj/screen) mymob.gui_icons.adminbus_juke = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_juke.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_juke.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_juke.icon_state = "icon_jukebox" mymob.gui_icons.adminbus_juke.icon_state = "icon_jukebox"
mymob.gui_icons.adminbus_juke.name = "Adminbus-mounted Jukebox" mymob.gui_icons.adminbus_juke.name = "Adminbus-mounted Jukebox"
mymob.gui_icons.adminbus_juke.screen_loc = ui_adminbus_juke mymob.gui_icons.adminbus_juke.screen_loc = ui_adminbus_juke
mymob.gui_icons.adminbus_tele = getFromPool(/obj/screen) mymob.gui_icons.adminbus_tele = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_tele.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_tele.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_tele.icon_state = "icon_teleport" mymob.gui_icons.adminbus_tele.icon_state = "icon_teleport"
mymob.gui_icons.adminbus_tele.name = "Teleportation" mymob.gui_icons.adminbus_tele.name = "Teleportation"
mymob.gui_icons.adminbus_tele.screen_loc = ui_adminbus_tele mymob.gui_icons.adminbus_tele.screen_loc = ui_adminbus_tele
mymob.gui_icons.adminbus_bumpers_1 = getFromPool(/obj/screen) mymob.gui_icons.adminbus_bumpers_1 = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_bumpers_1.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_bumpers_1.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_bumpers_1.icon_state = "icon_bumpers_1-on" mymob.gui_icons.adminbus_bumpers_1.icon_state = "icon_bumpers_1-on"
mymob.gui_icons.adminbus_bumpers_1.name = "Capture Mobs" mymob.gui_icons.adminbus_bumpers_1.name = "Capture Mobs"
mymob.gui_icons.adminbus_bumpers_1.screen_loc = ui_adminbus_bumpers_1 mymob.gui_icons.adminbus_bumpers_1.screen_loc = ui_adminbus_bumpers_1
mymob.gui_icons.adminbus_bumpers_2 = getFromPool(/obj/screen) mymob.gui_icons.adminbus_bumpers_2 = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_bumpers_2.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_bumpers_2.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_bumpers_2.icon_state = "icon_bumpers_2-off" mymob.gui_icons.adminbus_bumpers_2.icon_state = "icon_bumpers_2-off"
mymob.gui_icons.adminbus_bumpers_2.name = "Hit Mobs" mymob.gui_icons.adminbus_bumpers_2.name = "Hit Mobs"
mymob.gui_icons.adminbus_bumpers_2.screen_loc = ui_adminbus_bumpers_2 mymob.gui_icons.adminbus_bumpers_2.screen_loc = ui_adminbus_bumpers_2
mymob.gui_icons.adminbus_bumpers_3 = getFromPool(/obj/screen) mymob.gui_icons.adminbus_bumpers_3 = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_bumpers_3.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_bumpers_3.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_bumpers_3.icon_state = "icon_bumpers_3-off" mymob.gui_icons.adminbus_bumpers_3.icon_state = "icon_bumpers_3-off"
mymob.gui_icons.adminbus_bumpers_3.name = "Gib Mobs" mymob.gui_icons.adminbus_bumpers_3.name = "Gib Mobs"
mymob.gui_icons.adminbus_bumpers_3.screen_loc = ui_adminbus_bumpers_3 mymob.gui_icons.adminbus_bumpers_3.screen_loc = ui_adminbus_bumpers_3
mymob.gui_icons.adminbus_door_0 = getFromPool(/obj/screen) mymob.gui_icons.adminbus_door_0 = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_door_0.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_door_0.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_door_0.icon_state = "icon_door_0-on" mymob.gui_icons.adminbus_door_0.icon_state = "icon_door_0-on"
mymob.gui_icons.adminbus_door_0.name = "Close Door" mymob.gui_icons.adminbus_door_0.name = "Close Door"
mymob.gui_icons.adminbus_door_0.screen_loc = ui_adminbus_door_0 mymob.gui_icons.adminbus_door_0.screen_loc = ui_adminbus_door_0
mymob.gui_icons.adminbus_door_1 = getFromPool(/obj/screen) mymob.gui_icons.adminbus_door_1 = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_door_1.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_door_1.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_door_1.icon_state = "icon_door_1-off" mymob.gui_icons.adminbus_door_1.icon_state = "icon_door_1-off"
mymob.gui_icons.adminbus_door_1.name = "Open Door" mymob.gui_icons.adminbus_door_1.name = "Open Door"
mymob.gui_icons.adminbus_door_1.screen_loc = ui_adminbus_door_1 mymob.gui_icons.adminbus_door_1.screen_loc = ui_adminbus_door_1
mymob.gui_icons.adminbus_roadlights_0 = getFromPool(/obj/screen) mymob.gui_icons.adminbus_roadlights_0 = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_roadlights_0.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_roadlights_0.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_roadlights_0.icon_state = "icon_lights_0-on" mymob.gui_icons.adminbus_roadlights_0.icon_state = "icon_lights_0-on"
mymob.gui_icons.adminbus_roadlights_0.name = "Turn Off Headlights" mymob.gui_icons.adminbus_roadlights_0.name = "Turn Off Headlights"
mymob.gui_icons.adminbus_roadlights_0.screen_loc = ui_adminbus_roadlights_0 mymob.gui_icons.adminbus_roadlights_0.screen_loc = ui_adminbus_roadlights_0
mymob.gui_icons.adminbus_roadlights_1 = getFromPool(/obj/screen) mymob.gui_icons.adminbus_roadlights_1 = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_roadlights_1.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_roadlights_1.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_roadlights_1.icon_state = "icon_lights_1-off" mymob.gui_icons.adminbus_roadlights_1.icon_state = "icon_lights_1-off"
mymob.gui_icons.adminbus_roadlights_1.name = "Dipped Headlights" mymob.gui_icons.adminbus_roadlights_1.name = "Dipped Headlights"
mymob.gui_icons.adminbus_roadlights_1.screen_loc = ui_adminbus_roadlights_1 mymob.gui_icons.adminbus_roadlights_1.screen_loc = ui_adminbus_roadlights_1
mymob.gui_icons.adminbus_roadlights_2 = getFromPool(/obj/screen) mymob.gui_icons.adminbus_roadlights_2 = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_roadlights_2.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_roadlights_2.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_roadlights_2.icon_state = "icon_lights_2-off" mymob.gui_icons.adminbus_roadlights_2.icon_state = "icon_lights_2-off"
mymob.gui_icons.adminbus_roadlights_2.name = "Main Headlights" mymob.gui_icons.adminbus_roadlights_2.name = "Main Headlights"
mymob.gui_icons.adminbus_roadlights_2.screen_loc = ui_adminbus_roadlights_2 mymob.gui_icons.adminbus_roadlights_2.screen_loc = ui_adminbus_roadlights_2
mymob.gui_icons.adminbus_free = getFromPool(/obj/screen) mymob.gui_icons.adminbus_free = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_free.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_free.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_free.icon_state = "icon_free" mymob.gui_icons.adminbus_free.icon_state = "icon_free"
mymob.gui_icons.adminbus_free.name = "Release Passengers" mymob.gui_icons.adminbus_free.name = "Release Passengers"
mymob.gui_icons.adminbus_free.screen_loc = ui_adminbus_free mymob.gui_icons.adminbus_free.screen_loc = ui_adminbus_free
mymob.gui_icons.adminbus_home = getFromPool(/obj/screen) mymob.gui_icons.adminbus_home = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_home.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_home.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_home.icon_state = "icon_home" mymob.gui_icons.adminbus_home.icon_state = "icon_home"
mymob.gui_icons.adminbus_home.name = "Send Passengers Back Home" mymob.gui_icons.adminbus_home.name = "Send Passengers Back Home"
mymob.gui_icons.adminbus_home.screen_loc = ui_adminbus_home mymob.gui_icons.adminbus_home.screen_loc = ui_adminbus_home
mymob.gui_icons.adminbus_antag = getFromPool(/obj/screen) mymob.gui_icons.adminbus_antag = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_antag.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_antag.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_antag.icon_state = "icon_antag" mymob.gui_icons.adminbus_antag.icon_state = "icon_antag"
mymob.gui_icons.adminbus_antag.name = "Antag Madness!" mymob.gui_icons.adminbus_antag.name = "Antag Madness!"
mymob.gui_icons.adminbus_antag.screen_loc = ui_adminbus_antag mymob.gui_icons.adminbus_antag.screen_loc = ui_adminbus_antag
mymob.gui_icons.adminbus_dellasers = getFromPool(/obj/screen) mymob.gui_icons.adminbus_dellasers = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_dellasers.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_dellasers.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_dellasers.icon_state = "icon_delgiven" mymob.gui_icons.adminbus_dellasers.icon_state = "icon_delgiven"
mymob.gui_icons.adminbus_dellasers.name = "Delete the given Infinite Laser Guns" mymob.gui_icons.adminbus_dellasers.name = "Delete the given Infinite Laser Guns"
mymob.gui_icons.adminbus_dellasers.screen_loc = ui_adminbus_dellasers mymob.gui_icons.adminbus_dellasers.screen_loc = ui_adminbus_dellasers
mymob.gui_icons.adminbus_givelasers = getFromPool(/obj/screen) mymob.gui_icons.adminbus_givelasers = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_givelasers.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_givelasers.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_givelasers.icon_state = "icon_givelasers" mymob.gui_icons.adminbus_givelasers.icon_state = "icon_givelasers"
mymob.gui_icons.adminbus_givelasers.name = "Give Infinite Laser Guns to the Passengers" mymob.gui_icons.adminbus_givelasers.name = "Give Infinite Laser Guns to the Passengers"
mymob.gui_icons.adminbus_givelasers.screen_loc = ui_adminbus_givelasers mymob.gui_icons.adminbus_givelasers.screen_loc = ui_adminbus_givelasers
mymob.gui_icons.adminbus_delbombs = getFromPool(/obj/screen) mymob.gui_icons.adminbus_delbombs = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_delbombs.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_delbombs.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_delbombs.icon_state = "icon_delgiven" mymob.gui_icons.adminbus_delbombs.icon_state = "icon_delgiven"
mymob.gui_icons.adminbus_delbombs.name = "Delete the given Fuse-Bombs" mymob.gui_icons.adminbus_delbombs.name = "Delete the given Fuse-Bombs"
mymob.gui_icons.adminbus_delbombs.screen_loc = ui_adminbus_delbombs mymob.gui_icons.adminbus_delbombs.screen_loc = ui_adminbus_delbombs
mymob.gui_icons.adminbus_givebombs = getFromPool(/obj/screen) mymob.gui_icons.adminbus_givebombs = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_givebombs.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_givebombs.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_givebombs.icon_state = "icon_givebombs" mymob.gui_icons.adminbus_givebombs.icon_state = "icon_givebombs"
mymob.gui_icons.adminbus_givebombs.name = "Give Fuse-Bombs to the Passengers" mymob.gui_icons.adminbus_givebombs.name = "Give Fuse-Bombs to the Passengers"
mymob.gui_icons.adminbus_givebombs.screen_loc = ui_adminbus_givebombs mymob.gui_icons.adminbus_givebombs.screen_loc = ui_adminbus_givebombs
mymob.gui_icons.adminbus_tdred = getFromPool(/obj/screen) mymob.gui_icons.adminbus_tdred = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_tdred.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_tdred.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_tdred.icon_state = "icon_tdred" mymob.gui_icons.adminbus_tdred.icon_state = "icon_tdred"
mymob.gui_icons.adminbus_tdred.name = "Send Passengers to the Thunderdome's Red Team" mymob.gui_icons.adminbus_tdred.name = "Send Passengers to the Thunderdome's Red Team"
mymob.gui_icons.adminbus_tdred.screen_loc = ui_adminbus_tdred mymob.gui_icons.adminbus_tdred.screen_loc = ui_adminbus_tdred
mymob.gui_icons.adminbus_tdarena = getFromPool(/obj/screen) mymob.gui_icons.adminbus_tdarena = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_tdarena.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_tdarena.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_tdarena.icon_state = "icon_tdarena" mymob.gui_icons.adminbus_tdarena.icon_state = "icon_tdarena"
mymob.gui_icons.adminbus_tdarena.name = "Split the Passengers between the two Thunderdome Teams" mymob.gui_icons.adminbus_tdarena.name = "Split the Passengers between the two Thunderdome Teams"
mymob.gui_icons.adminbus_tdarena.screen_loc = ui_adminbus_tdarena mymob.gui_icons.adminbus_tdarena.screen_loc = ui_adminbus_tdarena
mymob.gui_icons.adminbus_tdgreen = getFromPool(/obj/screen) mymob.gui_icons.adminbus_tdgreen = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_tdgreen.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_tdgreen.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_tdgreen.icon_state = "icon_tdgreen" mymob.gui_icons.adminbus_tdgreen.icon_state = "icon_tdgreen"
mymob.gui_icons.adminbus_tdgreen.name = "Send Passengers to the Thunderdome's Green Team" mymob.gui_icons.adminbus_tdgreen.name = "Send Passengers to the Thunderdome's Green Team"
mymob.gui_icons.adminbus_tdgreen.screen_loc = ui_adminbus_tdgreen mymob.gui_icons.adminbus_tdgreen.screen_loc = ui_adminbus_tdgreen
mymob.gui_icons.adminbus_tdobs = getFromPool(/obj/screen) mymob.gui_icons.adminbus_tdobs = getFromPool(/obj/screen/adminbus)
mymob.gui_icons.adminbus_tdobs.icon = 'icons/adminbus/32x32.dmi' mymob.gui_icons.adminbus_tdobs.icon = 'icons/adminbus/32x32.dmi'
mymob.gui_icons.adminbus_tdobs.icon_state = "icon_tdobs" mymob.gui_icons.adminbus_tdobs.icon_state = "icon_tdobs"
mymob.gui_icons.adminbus_tdobs.name = "Send Passengers to the Thunderdome's Observers' Lodge" mymob.gui_icons.adminbus_tdobs.name = "Send Passengers to the Thunderdome's Observers' Lodge"
@@ -249,7 +249,7 @@
) )
for(var/i=1;i<=16;i++) for(var/i=1;i<=16;i++)
var/obj/screen/S = getFromPool(/obj/screen) var/obj/screen/adminbus/S = getFromPool(/obj/screen/adminbus)
S.icon = 'icons/adminbus/32x32.dmi' S.icon = 'icons/adminbus/32x32.dmi'
S.icon_state = "" S.icon_state = ""
S.screen_loc = "[12-round(i/2)]:[16*((i-1)%2)],14:16" S.screen_loc = "[12-round(i/2)]:[16*((i-1)%2)],14:16"

157
code/_onclick/hud/blob.dm Normal file
View File

@@ -0,0 +1,157 @@
/datum/hud/proc/blob_hud()
mymob.gui_icons.blob_bgs = getFromPool(/obj/screen/specialblob)
mymob.gui_icons.blob_bgs.icon = 'icons/mob/screen1_blob_fullscreen.dmi'
mymob.gui_icons.blob_bgs.icon_state = "backgrounds"
mymob.gui_icons.blob_bgs.name = "Blob HUD"
mymob.gui_icons.blob_bgs.layer = 19
mymob.gui_icons.blob_bgs.screen_loc = ui_blob_bg
mymob.gui_icons.blob_bgs.mouse_opacity = 0
mymob.gui_icons.blob_coverLEFT = getFromPool(/obj/screen/specialblob)
mymob.gui_icons.blob_coverLEFT.icon = 'icons/mob/screen1_blob_fullscreen.dmi'
mymob.gui_icons.blob_coverLEFT.icon_state = "coverLEFT"
mymob.gui_icons.blob_coverLEFT.name = "Points"
mymob.gui_icons.blob_coverLEFT.layer = 21
mymob.gui_icons.blob_coverLEFT.screen_loc = ui_blob_bg
mymob.gui_icons.blob_coverLEFT.maptext_x = 1
mymob.gui_icons.blob_coverLEFT.maptext_y = 126
mymob.gui_icons.blob_coverRIGHT = getFromPool(/obj/screen/specialblob)
mymob.gui_icons.blob_coverRIGHT.icon = 'icons/mob/screen1_blob_fullscreen.dmi'
mymob.gui_icons.blob_coverRIGHT.icon_state = "coverRIGHT"
mymob.gui_icons.blob_coverRIGHT.name = "Health"
mymob.gui_icons.blob_coverRIGHT.layer = 21
mymob.gui_icons.blob_coverRIGHT.screen_loc = ui_blob_bg
mymob.gui_icons.blob_coverRIGHT.maptext_x = 464
mymob.gui_icons.blob_coverRIGHT.maptext_y = 126
mymob.gui_icons.blob_powerbar = getFromPool(/obj/screen/specialblob)
mymob.gui_icons.blob_powerbar.icon = 'icons/mob/screen1_blob_bars.dmi'
mymob.gui_icons.blob_powerbar.icon_state = "points"
mymob.gui_icons.blob_powerbar.name = "Points"
mymob.gui_icons.blob_powerbar.layer = 20
mymob.gui_icons.blob_powerbar.screen_loc = ui_blob_powerbar
mymob.gui_icons.blob_healthbar = getFromPool(/obj/screen/specialblob)
mymob.gui_icons.blob_healthbar.icon = 'icons/mob/screen1_blob_bars.dmi'
mymob.gui_icons.blob_healthbar.icon_state = "health"
mymob.gui_icons.blob_healthbar.name = "Health"
mymob.gui_icons.blob_healthbar.layer = 20
mymob.gui_icons.blob_healthbar.screen_loc = ui_blob_healthbar
mymob.gui_icons.blob_spawnblob = getFromPool(/obj/screen/specialblob)
mymob.gui_icons.blob_spawnblob.icon = 'icons/mob/screen1_blob.dmi'
mymob.gui_icons.blob_spawnblob.icon_state = "blob1"
mymob.gui_icons.blob_spawnblob.name = "Spawn Blob"
mymob.gui_icons.blob_spawnblob.layer = 22
mymob.gui_icons.blob_spawnblob.screen_loc = ui_blob_spawnblob
mymob.gui_icons.blob_spawnstrong = getFromPool(/obj/screen/specialblob)
mymob.gui_icons.blob_spawnstrong.icon = 'icons/mob/screen1_blob.dmi'
mymob.gui_icons.blob_spawnstrong.icon_state = "strong1"
mymob.gui_icons.blob_spawnstrong.name = "Spawn Strong Blob"
mymob.gui_icons.blob_spawnstrong.layer = 22
mymob.gui_icons.blob_spawnstrong.screen_loc = ui_blob_spawnstrong
mymob.gui_icons.blob_spawnresource = getFromPool(/obj/screen/specialblob)
mymob.gui_icons.blob_spawnresource.icon = 'icons/mob/screen1_blob.dmi'
mymob.gui_icons.blob_spawnresource.icon_state = "resource1"
mymob.gui_icons.blob_spawnresource.name = "Spawn Resource Blob"
mymob.gui_icons.blob_spawnresource.layer = 22
mymob.gui_icons.blob_spawnresource.screen_loc = ui_blob_spawnresource
mymob.gui_icons.blob_spawnfactory = getFromPool(/obj/screen/specialblob)
mymob.gui_icons.blob_spawnfactory.icon = 'icons/mob/screen1_blob.dmi'
mymob.gui_icons.blob_spawnfactory.icon_state = "factory1"
mymob.gui_icons.blob_spawnfactory.name = "Spawn Factory Blob"
mymob.gui_icons.blob_spawnfactory.layer = 22
mymob.gui_icons.blob_spawnfactory.screen_loc = ui_blob_spawnfactory
mymob.gui_icons.blob_spawnnode = getFromPool(/obj/screen/specialblob)
mymob.gui_icons.blob_spawnnode.icon = 'icons/mob/screen1_blob.dmi'
mymob.gui_icons.blob_spawnnode.icon_state = "node1"
mymob.gui_icons.blob_spawnnode.name = "Spawn Node Blob"
mymob.gui_icons.blob_spawnnode.layer = 22
mymob.gui_icons.blob_spawnnode.screen_loc = ui_blob_spawnnode
mymob.gui_icons.blob_spawncore = getFromPool(/obj/screen/specialblob)
mymob.gui_icons.blob_spawncore.icon = 'icons/mob/screen1_blob.dmi'
mymob.gui_icons.blob_spawncore.icon_state = "core1"
mymob.gui_icons.blob_spawncore.name = "Spawn Blob Core"
mymob.gui_icons.blob_spawncore.layer = 22
mymob.gui_icons.blob_spawncore.screen_loc = ui_blob_spawncore
mymob.gui_icons.blob_ping = getFromPool(/obj/screen/specialblob)
mymob.gui_icons.blob_ping.icon = 'icons/mob/screen1_blob.dmi'
mymob.gui_icons.blob_ping.icon_state = "ping"
mymob.gui_icons.blob_ping.name = "Call Overminds"
mymob.gui_icons.blob_ping.layer = 22
mymob.gui_icons.blob_ping.screen_loc = ui_blob_ping
mymob.gui_icons.blob_rally = getFromPool(/obj/screen/specialblob)
mymob.gui_icons.blob_rally.icon = 'icons/mob/screen1_blob.dmi'
mymob.gui_icons.blob_rally.icon_state = "rally"
mymob.gui_icons.blob_rally.name = "Rally Spores"
mymob.gui_icons.blob_rally.layer = 22
mymob.gui_icons.blob_rally.screen_loc = ui_blob_rally
mymob.gui_icons.blob_taunt = getFromPool(/obj/screen/specialblob)
mymob.gui_icons.blob_taunt.icon = 'icons/mob/screen1_blob.dmi'
mymob.gui_icons.blob_taunt.icon_state = "taunt"
mymob.gui_icons.blob_taunt.name = "Psionic Message"
mymob.gui_icons.blob_taunt.layer = 22
mymob.gui_icons.blob_taunt.screen_loc = ui_blob_taunt
mymob.client.reset_screen()
mymob.client.screen += list(
mymob.gui_icons.blob_bgs,
mymob.gui_icons.blob_coverLEFT,
mymob.gui_icons.blob_coverRIGHT,
mymob.gui_icons.blob_powerbar,
mymob.gui_icons.blob_healthbar,
mymob.gui_icons.blob_spawnblob,
mymob.gui_icons.blob_spawnstrong,
mymob.gui_icons.blob_spawnresource,
mymob.gui_icons.blob_spawnfactory,
mymob.gui_icons.blob_spawnnode,
mymob.gui_icons.blob_spawncore,
mymob.gui_icons.blob_ping,
mymob.gui_icons.blob_rally,
mymob.gui_icons.blob_taunt,
)
for(var/i=1;i<=24;i++)
var/obj/screen/specialblob/S = getFromPool(/obj/screen/specialblob)
S.icon = 'icons/mob/screen1_blob.dmi'
S.icon_state = ""
var/total_offset = -16 + (i * 20)
S.screen_loc = "[1 + round(total_offset/32)]:[total_offset%32],15:0"
mymob.gui_icons.specialblobs[i] = S
for(var/i=1;i<=24;i++)
mymob.client.screen += mymob.gui_icons.specialblobs[i]
/*
/datum/hud/proc/remove_blob_hud()
for(var/i=1;i<=24;i++)
mymob.client.screen -= mymob.gui_icons.specialblobs[i]
mymob.client.screen -= list(
mymob.gui_icons.blob_bgs,
mymob.gui_icons.blob_coverLEFT,
mymob.gui_icons.blob_coverRIGHT,
mymob.gui_icons.blob_powerbar,
mymob.gui_icons.blob_healthbar,
mymob.gui_icons.blob_spawnblob,
mymob.gui_icons.blob_spawnstrong,
mymob.gui_icons.blob_spawnresource,
mymob.gui_icons.blob_spawnfactory,
mymob.gui_icons.blob_spawnnode,
mymob.gui_icons.blob_spawncore,
mymob.gui_icons.blob_ping,
mymob.gui_icons.blob_rally,
mymob.gui_icons.blob_taunt,
)
*/

View File

@@ -19,8 +19,6 @@ var/global/obj/screen/clicker/catcher = new()
var/hotkey_ui_hidden = 0 //This is to hide the buttons that can be used via hotkeys. (hotkeybuttons list of buttons) var/hotkey_ui_hidden = 0 //This is to hide the buttons that can be used via hotkeys. (hotkeybuttons list of buttons)
var/obj/screen/lingchemdisplay var/obj/screen/lingchemdisplay
var/obj/screen/blobpwrdisplay
var/obj/screen/blobhealthdisplay
var/obj/screen/vampire_blood_display // /vg/ var/obj/screen/vampire_blood_display // /vg/
var/obj/screen/r_hand_hud_object var/obj/screen/r_hand_hud_object
var/obj/screen/l_hand_hud_object var/obj/screen/l_hand_hud_object
@@ -45,8 +43,6 @@ var/global/obj/screen/clicker/catcher = new()
disarm_intent = null disarm_intent = null
help_intent = null help_intent = null
lingchemdisplay = null lingchemdisplay = null
blobpwrdisplay = null
blobhealthdisplay = null
vampire_blood_display = null vampire_blood_display = null
r_hand_hud_object = null r_hand_hud_object = null
l_hand_hud_object = null l_hand_hud_object = null
@@ -146,8 +142,6 @@ var/global/obj/screen/clicker/catcher = new()
robot_hud() robot_hud()
else if(isobserver(mymob)) else if(isobserver(mymob))
ghost_hud() ghost_hud()
else if(isovermind(mymob))
blob_hud()
else if(isshade(mymob)) else if(isshade(mymob))
shade_hud() shade_hud()
else if(isconstruct(mymob)) else if(isconstruct(mymob))

View File

@@ -64,25 +64,6 @@
/datum/hud/proc/brain_hud(ui_style = 'icons/mob/screen1_Midnight.dmi') /datum/hud/proc/brain_hud(ui_style = 'icons/mob/screen1_Midnight.dmi')
/datum/hud/proc/blob_hud(ui_style = 'icons/mob/screen1_Midnight.dmi')
blobpwrdisplay = getFromPool(/obj/screen)
blobpwrdisplay.name = "blob power"
blobpwrdisplay.icon_state = "block"
blobpwrdisplay.screen_loc = ui_health
blobpwrdisplay.layer = 20
blobhealthdisplay = getFromPool(/obj/screen)
blobhealthdisplay.name = "blob health"
blobhealthdisplay.icon_state = "block"
blobhealthdisplay.screen_loc = ui_internal
blobhealthdisplay.layer = 20
mymob.client.reset_screen()
mymob.client.screen += list(blobpwrdisplay, blobhealthdisplay)
/datum/hud/proc/shade_hud() /datum/hud/proc/shade_hud()

View File

@@ -28,6 +28,11 @@
maptext_height = 480 maptext_height = 480
maptext_width = 480 maptext_width = 480
/obj/screen/adminbus
/obj/screen/specialblob
var/obj/effect/blob/linked_blob = null
/obj/screen/schematics /obj/screen/schematics
var/datum/rcd_schematic/ourschematic var/datum/rcd_schematic/ourschematic
@@ -666,8 +671,12 @@
M.wearglasses(null) M.wearglasses(null)
else if (istype(M.get_active_hand(), /obj/item/clothing/glasses)) else if (istype(M.get_active_hand(), /obj/item/clothing/glasses))
M.wearglasses(M.get_active_hand()) M.wearglasses(M.get_active_hand())
else
return 0
return 1
////////////ADMINBUS HUD ICONS//////////// /obj/screen/adminbus/Click()
switch(name)
if("Delete Bus") if("Delete Bus")
if(usr.locked_to && istype(usr.locked_to, /obj/structure/bed/chair/vehicle/adminbus)) if(usr.locked_to && istype(usr.locked_to, /obj/structure/bed/chair/vehicle/adminbus))
var/obj/structure/bed/chair/vehicle/adminbus/A = usr.locked_to var/obj/structure/bed/chair/vehicle/adminbus/A = usr.locked_to
@@ -804,8 +813,51 @@
if(usr.locked_to && istype(usr.locked_to, /obj/structure/bed/chair/vehicle/adminbus)) if(usr.locked_to && istype(usr.locked_to, /obj/structure/bed/chair/vehicle/adminbus))
var/obj/structure/bed/chair/vehicle/adminbus/A = usr.locked_to var/obj/structure/bed/chair/vehicle/adminbus/A = usr.locked_to
A.toggle_lights(usr,2) A.toggle_lights(usr,2)
else
return 0 /obj/screen/specialblob/Click()
switch(name)
if("Spawn Blob")
if(isovermind(usr))
var/mob/camera/blob/overmind = usr
overmind.expand_blob_power()
if("Spawn Strong Blob")
if(isovermind(usr))
var/mob/camera/blob/overmind = usr
overmind.create_shield_power()
if("Spawn Resource Blob")
if(isovermind(usr))
var/mob/camera/blob/overmind = usr
overmind.create_resource()
if("Spawn Factory Blob")
if(isovermind(usr))
var/mob/camera/blob/overmind = usr
overmind.create_factory()
if("Spawn Node Blob")
if(isovermind(usr))
var/mob/camera/blob/overmind = usr
overmind.create_node()
if("Spawn Blob Core")
if(isovermind(usr))
var/mob/camera/blob/overmind = usr
overmind.create_core()
if("Call Overminds")
if(isovermind(usr))
var/mob/camera/blob/overmind = usr
overmind.callblobs()
if("Rally Spores")
if(isovermind(usr))
var/mob/camera/blob/overmind = usr
overmind.rally_spores_power()
if("Psionic Message")
if(isovermind(usr))
var/mob/camera/blob/overmind = usr
var/message = input(overmind,"Send a message to the crew.","Psionic Message") as null|text
if(message)
overmind.telepathy(message)
if("Jump to Blob")
if(isovermind(usr) && linked_blob)
var/mob/camera/blob/overmind = usr
overmind.loc = linked_blob.loc
return 1 return 1
/obj/screen/inventory/Click() /obj/screen/inventory/Click()

View File

@@ -3,38 +3,55 @@
//Adminbus HUD stuff //Adminbus HUD stuff
var/list/rearviews[16] var/list/rearviews[16]
var/obj/screen/adminbus_bg = null var/obj/screen/adminbus/adminbus_bg = null
var/obj/screen/adminbus_delete = null var/obj/screen/adminbus/adminbus_delete = null
var/obj/screen/adminbus_delmobs = null var/obj/screen/adminbus/adminbus_delmobs = null
var/obj/screen/adminbus_spclowns = null var/obj/screen/adminbus/adminbus_spclowns = null
var/obj/screen/adminbus_spcarps = null var/obj/screen/adminbus/adminbus_spcarps = null
var/obj/screen/adminbus_spbears = null var/obj/screen/adminbus/adminbus_spbears = null
var/obj/screen/adminbus_sptrees = null var/obj/screen/adminbus/adminbus_sptrees = null
var/obj/screen/adminbus_spspiders = null var/obj/screen/adminbus/adminbus_spspiders = null
var/obj/screen/adminbus_spalien = null var/obj/screen/adminbus/adminbus_spalien = null
var/obj/screen/adminbus_loadsids = null var/obj/screen/adminbus/adminbus_loadsids = null
var/obj/screen/adminbus_loadsmoney = null var/obj/screen/adminbus/adminbus_loadsmoney = null
var/obj/screen/adminbus_massrepair = null var/obj/screen/adminbus/adminbus_massrepair = null
var/obj/screen/adminbus_massrejuv = null var/obj/screen/adminbus/adminbus_massrejuv = null
var/obj/screen/adminbus_hook = null var/obj/screen/adminbus/adminbus_hook = null
var/obj/screen/adminbus_juke = null var/obj/screen/adminbus/adminbus_juke = null
var/obj/screen/adminbus_tele = null var/obj/screen/adminbus/adminbus_tele = null
var/obj/screen/adminbus_bumpers_1 = null var/obj/screen/adminbus/adminbus_bumpers_1 = null
var/obj/screen/adminbus_bumpers_2 = null var/obj/screen/adminbus/adminbus_bumpers_2 = null
var/obj/screen/adminbus_bumpers_3 = null var/obj/screen/adminbus/adminbus_bumpers_3 = null
var/obj/screen/adminbus_door_0 = null var/obj/screen/adminbus/adminbus_door_0 = null
var/obj/screen/adminbus_door_1 = null var/obj/screen/adminbus/adminbus_door_1 = null
var/obj/screen/adminbus_roadlights_0 var/obj/screen/adminbus/adminbus_roadlights_0
var/obj/screen/adminbus_roadlights_1 var/obj/screen/adminbus/adminbus_roadlights_1
var/obj/screen/adminbus_roadlights_2 var/obj/screen/adminbus/adminbus_roadlights_2
var/obj/screen/adminbus_free = null var/obj/screen/adminbus/adminbus_free = null
var/obj/screen/adminbus_home = null var/obj/screen/adminbus/adminbus_home = null
var/obj/screen/adminbus_antag = null var/obj/screen/adminbus/adminbus_antag = null
var/obj/screen/adminbus_dellasers = null var/obj/screen/adminbus/adminbus_dellasers = null
var/obj/screen/adminbus_givelasers = null var/obj/screen/adminbus/adminbus_givelasers = null
var/obj/screen/adminbus_delbombs = null var/obj/screen/adminbus/adminbus_delbombs = null
var/obj/screen/adminbus_givebombs = null var/obj/screen/adminbus/adminbus_givebombs = null
var/obj/screen/adminbus_tdred = null var/obj/screen/adminbus/adminbus_tdred = null
var/obj/screen/adminbus_tdarena = null var/obj/screen/adminbus/adminbus_tdarena = null
var/obj/screen/adminbus_tdgreen = null var/obj/screen/adminbus/adminbus_tdgreen = null
var/obj/screen/adminbus_tdobs = null var/obj/screen/adminbus/adminbus_tdobs = null
//Blob HUD stuff
var/list/specialblobs[24]
var/obj/screen/specialblob/blob_bgs = null
var/obj/screen/specialblob/blob_coverLEFT = null
var/obj/screen/specialblob/blob_coverRIGHT = null
var/obj/screen/specialblob/blob_powerbar = null
var/obj/screen/specialblob/blob_healthbar = null
var/obj/screen/specialblob/blob_spawnblob = null
var/obj/screen/specialblob/blob_spawnstrong = null
var/obj/screen/specialblob/blob_spawnresource = null
var/obj/screen/specialblob/blob_spawnfactory = null
var/obj/screen/specialblob/blob_spawnnode = null
var/obj/screen/specialblob/blob_spawncore = null
var/obj/screen/specialblob/blob_ping = null
var/obj/screen/specialblob/blob_rally = null
var/obj/screen/specialblob/blob_taunt = null

View File

@@ -92,7 +92,7 @@
if(blob_looks[looks] == 64) if(blob_looks[looks] == 64)
anim(target = loc, a_icon = icon, flick_anim = "corepulse", sleeptime = 15, lay = 12, offX = -16, offY = -16, alph = 200) anim(target = loc, a_icon = icon, flick_anim = "corepulse", sleeptime = 15, lay = 12, offX = -16, offY = -16, alph = 200)
for(var/mob/M in viewers(src)) for(var/mob/M in viewers(src))
M.playsound_local(loc, 'sound/effects/blob_pulse.ogg', 50, 0, null, FALLOFF_SOUNDS, 0) M.playsound_local(loc, adminblob_beat, 50, 0, null, FALLOFF_SOUNDS, 0)
var/turf/T = get_turf(overmind) //The overmind's mind can expand the blob var/turf/T = get_turf(overmind) //The overmind's mind can expand the blob
var/obj/effect/blob/O = locate() in T //As long as it is 'thinking' about a blob already var/obj/effect/blob/O = locate() in T //As long as it is 'thinking' about a blob already
@@ -145,6 +145,11 @@
B.key = C.key B.key = C.key
B.blob_core = src B.blob_core = src
src.overmind = B src.overmind = B
B.special_blobs += src
B.hud_used.blob_hud()
B.update_specialblobs()
if(!B.blob_core.creator)//If this core is the first of its lineage (created by game mode/event/admins, instead of another overmind) it gets to choose its looks. if(!B.blob_core.creator)//If this core is the first of its lineage (created by game mode/event/admins, instead of another overmind) it gets to choose its looks.
var/new_name = "Blob Overmind ([rand(1, 999)])" var/new_name = "Blob Overmind ([rand(1, 999)])"
B.name = new_name B.name = new_name
@@ -155,7 +160,8 @@
B.verbs += /mob/camera/blob/proc/create_core B.verbs += /mob/camera/blob/proc/create_core
spawn() spawn()
var/chosen = input(B,"Select a blob looks", "Blob Looks", blob_looks[1]) as null|anything in blob_looks var/can_choose_from = blob_looks - "adminbus"
var/chosen = input(B,"Select a blob looks", "Blob Looks", blob_looks[1]) as null|anything in can_choose_from
if(chosen) if(chosen)
for(var/obj/effect/blob/nearby_blob in range(src,5)) for(var/obj/effect/blob/nearby_blob in range(src,5))
nearby_blob.looks = chosen nearby_blob.looks = chosen
@@ -164,10 +170,14 @@
var/new_name = "Blob Cerebrate ([rand(1, 999)])" var/new_name = "Blob Cerebrate ([rand(1, 999)])"
B.name = new_name B.name = new_name
B.real_name = new_name B.real_name = new_name
B.gui_icons.blob_spawncore.icon_state = ""
B.gui_icons.blob_spawncore.name = ""
for(var/mob/camera/blob/O in blob_overminds) for(var/mob/camera/blob/O in blob_overminds)
if(O != B) if(O != B)
to_chat(O,"<span class='notice'>A new blob cerebrate has started thinking inside a blob core! [B] joins the blob! <a href='?src=\ref[O];blobjump=\ref[loc]'>(JUMP)</a></span>") to_chat(O,"<span class='notice'>A new blob cerebrate has started thinking inside a blob core! [B] joins the blob! <a href='?src=\ref[O];blobjump=\ref[loc]'>(JUMP)</a></span>")
if(istype(ticker.mode, /datum/game_mode/blob)) if(istype(ticker.mode, /datum/game_mode/blob))
var/datum/game_mode/blob/mode = ticker.mode var/datum/game_mode/blob/mode = ticker.mode
mode.infected_crew += B.mind mode.infected_crew += B.mind

View File

@@ -52,6 +52,8 @@
S.Die() S.Die()
if(!manual_remove && overmind) if(!manual_remove && overmind)
to_chat(overmind,"<span class='warning'>A factory blob that you had created has been destroyed.</span> <b><a href='?src=\ref[overmind];blobjump=\ref[loc]'>(JUMP)</a></b>") to_chat(overmind,"<span class='warning'>A factory blob that you had created has been destroyed.</span> <b><a href='?src=\ref[overmind];blobjump=\ref[loc]'>(JUMP)</a></b>")
overmind.special_blobs -= src
overmind.update_specialblobs()
..() ..()
/obj/effect/blob/factory/update_icon(var/spawnend = 0) /obj/effect/blob/factory/update_icon(var/spawnend = 0)

View File

@@ -28,6 +28,8 @@
blob_nodes -= src blob_nodes -= src
if(!manual_remove && overmind) if(!manual_remove && overmind)
to_chat(overmind,"<span class='warning'>A node blob that you had created has been destroyed.</span> <b><a href='?src=\ref[overmind];blobjump=\ref[loc]'>(JUMP)</a></b>") to_chat(overmind,"<span class='warning'>A node blob that you had created has been destroyed.</span> <b><a href='?src=\ref[overmind];blobjump=\ref[loc]'>(JUMP)</a></b>")
overmind.special_blobs -= src
overmind.update_specialblobs()
processing_objects.Remove(src) processing_objects.Remove(src)
..() ..()
@@ -37,7 +39,7 @@
if(blob_looks[looks] == 64) if(blob_looks[looks] == 64)
anim(target = loc, a_icon = icon, flick_anim = "nodepulse", sleeptime = 15, lay = 12, offX = -16, offY = -16, alph = 150) anim(target = loc, a_icon = icon, flick_anim = "nodepulse", sleeptime = 15, lay = 12, offX = -16, offY = -16, alph = 150)
for(var/mob/M in viewers(src)) for(var/mob/M in viewers(src))
M.playsound_local(loc, 'sound/effects/blob_pulse.ogg', 50, 0, null, FALLOFF_SOUNDS, 0) M.playsound_local(loc, adminblob_beat, 50, 0, null, FALLOFF_SOUNDS, 0)
for(var/i = 1; i < 8; i += i) for(var/i = 1; i < 8; i += i)
Pulse(5, i) Pulse(5, i)

View File

@@ -24,6 +24,8 @@
blob_resources -= src blob_resources -= src
if(!manual_remove && overmind) if(!manual_remove && overmind)
to_chat(overmind,"<span class='warning'>You lost a resource blob.</span> <b><a href='?src=\ref[overmind];blobjump=\ref[loc]'>(JUMP)</a></b>") to_chat(overmind,"<span class='warning'>You lost a resource blob.</span> <b><a href='?src=\ref[overmind];blobjump=\ref[loc]'>(JUMP)</a></b>")
overmind.special_blobs -= src
overmind.update_specialblobs()
..() ..()
/obj/effect/blob/resource/update_health() /obj/effect/blob/resource/update_health()
@@ -40,6 +42,8 @@
if(B) if(B)
to_chat(B,"<span class='notice'>You take control of the resource blob.</span>") to_chat(B,"<span class='notice'>You take control of the resource blob.</span>")
overmind = B overmind = B
B.special_blobs += src
B.update_specialblobs()
update_icon() update_icon()
..() ..()

View File

@@ -29,7 +29,8 @@
/obj/effect/blob/shield/Cross(atom/movable/mover, turf/target, height=1.5, air_group = 0) /obj/effect/blob/shield/Cross(atom/movable/mover, turf/target, height=1.5, air_group = 0)
if(istype(mover) && mover.checkpass(PASSBLOB)) return 1 if(istype(mover) && mover.checkpass(PASSBLOB)) return 1
mover.Bump(src) //Only automatic for dense objects if(mover)
mover.Bump(src) //Only automatic for dense objects
return 0 return 0
/obj/effect/blob/shield/run_action() /obj/effect/blob/shield/run_action()

View File

@@ -20,6 +20,8 @@
var/blob_warning = 0 var/blob_warning = 0
var/list/special_blobs = list()
/mob/camera/blob/New() /mob/camera/blob/New()
blob_overminds += src blob_overminds += src
..() ..()
@@ -70,8 +72,14 @@
/mob/camera/blob/proc/update_health() /mob/camera/blob/proc/update_health()
if(blob_core) if(blob_core && hud_used)
hud_used.blobhealthdisplay.maptext = "<div align='center' valign='middle' style='position:relative; top:0px; left:6px'> <font color='#e36600'>[blob_core.health]</font></div>" var/matrix/M = matrix()
M.Scale(1,blob_core.health/blob_core.maxhealth)
var/total_offset = 60 + (100*(blob_core.health/blob_core.maxhealth))
hud_used.mymob.gui_icons.blob_healthbar.transform = M
hud_used.mymob.gui_icons.blob_healthbar.screen_loc = "15:14,[round(total_offset/32)]:[total_offset%32]"
hud_used.mymob.gui_icons.blob_coverRIGHT.maptext = "[blob_core.health]"
var/severity = 0 var/severity = 0
switch(round(blob_core.health)) switch(round(blob_core.health))
if(167 to 199) if(167 to 199)
@@ -86,6 +94,12 @@
severity = 5 severity = 5
if(-INFINITY to 33) if(-INFINITY to 33)
severity = 6 severity = 6
if(severity >= 5)
hud_used.mymob.gui_icons.blob_healthbar.icon_state = "healthcrit"
else
hud_used.mymob.gui_icons.blob_healthbar.icon_state = "health"
if(severity > 0) if(severity > 0)
overlay_fullscreen("damage", /obj/screen/fullscreen/brute, severity) overlay_fullscreen("damage", /obj/screen/fullscreen/brute, severity)
else else
@@ -94,9 +108,42 @@
/mob/camera/blob/proc/add_points(var/points) /mob/camera/blob/proc/add_points(var/points)
if(points != 0) if(points != 0)
blob_points = Clamp(blob_points + points, 0, max_blob_points) blob_points = Clamp(blob_points + points, 0, max_blob_points)
//sanity for manual spawned blob cameras
//Updating the HUD
if(hud_used) if(hud_used)
hud_used.blobpwrdisplay.maptext = "<div align='center' valign='middle' style='position:relative; top:0px; left:6px'> <font color='#82ed00'>[src.blob_points]</font></div>" var/matrix/M = matrix()
M.Scale(1,blob_points/max_blob_points)
var/total_offset = 60 + (100*(blob_points/max_blob_points))
hud_used.mymob.gui_icons.blob_powerbar.transform = M
hud_used.mymob.gui_icons.blob_powerbar.screen_loc = "1:0,[round(total_offset/32)]:[total_offset%32]"
hud_used.mymob.gui_icons.blob_coverLEFT.maptext = "[blob_points]"
hud_used.mymob.gui_icons.blob_coverLEFT.maptext_x = 4
if(blob_points >= 100)
hud_used.mymob.gui_icons.blob_coverLEFT.maptext_x = 1
hud_used.mymob.gui_icons.blob_spawnblob.color = grayscale
hud_used.mymob.gui_icons.blob_spawnstrong.color = grayscale
hud_used.mymob.gui_icons.blob_spawnresource.color = grayscale
hud_used.mymob.gui_icons.blob_spawnfactory.color = grayscale
hud_used.mymob.gui_icons.blob_spawnnode.color = grayscale
hud_used.mymob.gui_icons.blob_spawncore.color = grayscale
hud_used.mymob.gui_icons.blob_rally.color = grayscale
hud_used.mymob.gui_icons.blob_taunt.color = grayscale
if(blob_points >= 5)
hud_used.mymob.gui_icons.blob_spawnblob.color = null
hud_used.mymob.gui_icons.blob_rally.color = null
if(blob_points >= 10)
hud_used.mymob.gui_icons.blob_spawnstrong.color = null
if(blob_points >= 15)
hud_used.mymob.gui_icons.blob_taunt.color = null
if(blob_points >= 40)
hud_used.mymob.gui_icons.blob_spawnresource.color = null
if(blob_points >= 60)
hud_used.mymob.gui_icons.blob_spawnfactory.color = null
hud_used.mymob.gui_icons.blob_spawnnode.color = null
if(blob_points >= 100)
hud_used.mymob.gui_icons.blob_spawncore.color = null
/mob/camera/blob/say(var/message) /mob/camera/blob/say(var/message)
if (!message) if (!message)
@@ -191,3 +238,30 @@
// Update on_moved listeners. // Update on_moved listeners.
INVOKE_EVENT(on_moved,list("loc"=NewLoc)) INVOKE_EVENT(on_moved,list("loc"=NewLoc))
/mob/camera/blob/proc/update_specialblobs()
if(client && gui_icons)
for(var/i=1;i<=24;i++)
client.screen -= gui_icons.specialblobs[i]
var/obj/screen/specialblob/S = gui_icons.specialblobs[i]
var/obj/effect/blob/B = null
if(i<=special_blobs.len)
B = special_blobs[i]
if(!B)
S.icon_state = ""
S.name = ""
S.linked_blob = null
else
switch(B.type)
if(/obj/effect/blob/core)
S.icon_state = "smallcore"
if(/obj/effect/blob/resource)
S.icon_state = "smallresource"
if(/obj/effect/blob/factory)
S.icon_state = "smallfactory"
if(/obj/effect/blob/node)
S.icon_state = "smallnode"
S.name = "Jump to Blob"
S.linked_blob = B
gui_icons.specialblobs[i] = S
client.screen += gui_icons.specialblobs[i]

View File

@@ -94,6 +94,8 @@
var/obj/effect/blob/resource/R = locate() in T var/obj/effect/blob/resource/R = locate() in T
if(R) if(R)
R.overmind = src R.overmind = src
special_blobs += R
update_specialblobs()
return return
/mob/camera/blob/proc/create_core() /mob/camera/blob/proc/create_core()
@@ -162,6 +164,8 @@
var/obj/effect/blob/node/N = locate() in T var/obj/effect/blob/node/N = locate() in T
if(N) if(N)
N.overmind = src N.overmind = src
special_blobs += N
update_specialblobs()
return return
@@ -196,6 +200,8 @@
var/obj/effect/blob/factory/F = locate() in T var/obj/effect/blob/factory/F = locate() in T
if(F) if(F)
F.overmind = src F.overmind = src
special_blobs += F
update_specialblobs()
return return

View File

@@ -261,6 +261,8 @@ var/list/blob_looks
icon = 'icons/mob/blob_64x64.dmi' icon = 'icons/mob/blob_64x64.dmi'
if("classic") if("classic")
icon = 'icons/mob/blob.dmi' icon = 'icons/mob/blob.dmi'
if("adminbus")
icon = adminblob_icon
//<----------------------------------------------------------------------------DEAR SPRITERS, THIS IS WHERE YOU ADD YOUR NEW BLOB DMIs //<----------------------------------------------------------------------------DEAR SPRITERS, THIS IS WHERE YOU ADD YOUR NEW BLOB DMIs
/*EXAMPLES /*EXAMPLES
if("fleshy") if("fleshy")
@@ -275,6 +277,7 @@ var/list/blob_looks
var/list/blob_looks = list( var/list/blob_looks = list(
"new" = 64, "new" = 64,
"classic" = 32, "classic" = 32,
"adminbus" = adminblob_size,
) )
//<---------------------------------------ALSO ADD THE NAME OF YOUR BLOB LOOKS HERE, AS WELL AS THE RESOLUTION OF THE DMIS (64 or 32) //<---------------------------------------ALSO ADD THE NAME OF YOUR BLOB LOOKS HERE, AS WELL AS THE RESOLUTION OF THE DMIS (64 or 32)

View File

@@ -387,7 +387,7 @@
for(var/i=1;i<=MAX_CAPACITY;i++) for(var/i=1;i<=MAX_CAPACITY;i++)
var/mob/living/M = occupant var/mob/living/M = occupant
M.client.screen -= M.gui_icons.rearviews[i] M.client.screen -= M.gui_icons.rearviews[i]
var/obj/screen/S = M.gui_icons.rearviews[i] var/obj/screen/adminbus/S = M.gui_icons.rearviews[i]
var/icon/passenger_img = null var/icon/passenger_img = null
var/atom/A = null var/atom/A = null
if(i<=passengers.len) if(i<=passengers.len)

View File

@@ -404,3 +404,11 @@ var/global/hardcore_mode = 0
//Global list of all unsimulated mineral turfs for xenoarch //Global list of all unsimulated mineral turfs for xenoarch
var/global/list/mineral_turfs = list() var/global/list/mineral_turfs = list()
var/global/list/static_list = list('sound/effects/static/static1.ogg','sound/effects/static/static2.ogg','sound/effects/static/static3.ogg','sound/effects/static/static4.ogg','sound/effects/static/static5.ogg',) var/global/list/static_list = list('sound/effects/static/static1.ogg','sound/effects/static/static2.ogg','sound/effects/static/static3.ogg','sound/effects/static/static4.ogg','sound/effects/static/static5.ogg',)
//Used to set an atom's color var to "grayscale". The magic of color matrixes.
var/list/grayscale = list(0.3,0.3,0.3,0,0.59,0.59,0.59,0,0.11,0.11,0.11,0,0,0,0,1,0,0,0,0)
//For adminbus blob looks
var/adminblob_icon = null
var/adminblob_size = 64
var/adminblob_beat = 'sound/effects/blob_pulse.ogg'

View File

@@ -1042,12 +1042,32 @@ var/list/admin_verbs_mod = list(
set name = "Set Blob Looks" set name = "Set Blob Looks"
set category = "Fun" set category = "Fun"
var/chosen = input("This will change the looks of every blob currently in the world.", "Blob Looks", blob_looks[1]) as null|anything in blob_looks var/to_choose_from = list("ADMINBUS (custom DMI upload)")
to_choose_from += blob_looks - "adminbus"
var/chosen = input("This will change the looks of every blob currently in the world.", "Blob Looks", blob_looks[1]) as null|anything in to_choose_from
if(chosen) if(!chosen)
for(var/obj/effect/blob/B in blobs) return
B.looks = chosen
B.update_looks(1) if(chosen == "ADMINBUS (custom DMI upload)")
adminblob_icon = input("Pick Icon:","Icon") as icon
if(!adminblob_icon)
return
adminblob_size = text2num(alert("Which size are those icons?","","64","32"))
if((adminblob_size == 64) && (alert("Do you want to use a custom Pulse soundfile?","","Yes","No") == "Yes"))
adminblob_beat = input("Pick Soundfile (DO NOT USE AN OVERLY LONG SOUNDFILE UNLESS YOU ARE READY TO FACE THE CONSEQUENCES):","(DO NOT USE AN OVERLY LONG SOUNDFILE UNLESS YOU ARE READY TO FACE THE CONSEQUENCES)") as file
else
adminblob_beat = 'sound/effects/blob_pulse.ogg'
blob_looks["adminbus"] = adminblob_size
chosen = "adminbus"
else
adminblob_icon = null
for(var/obj/effect/blob/B in blobs)
B.looks = chosen
B.update_looks(1)
log_admin("[key_name(src)] set all blobs to use the \"[chosen]\" look.") log_admin("[key_name(src)] set all blobs to use the \"[chosen]\" look.")
message_admins("<span class='notice'>[key_name_admin(src)] set all blobs to use the \"[chosen]\" look.</span>") message_admins("<span class='notice'>[key_name_admin(src)] set all blobs to use the \"[chosen]\" look.</span>")

View File

@@ -0,0 +1,6 @@
author: Deity Link
delete-after: true
changes:
- rscadd: (BLOB HUD) Blob Overminds now have their own amazing custom HUD. Points gauge on the left, Health gauge on the right. The health gauge start flashing when it gets low.
- rscadd: (BLOB HUD) Buttons that require more points than you currently have appear grayscale.
- rscadd: (BLOB HUD) You can always jump back to your core using the small button to the top left. The first 24 special blobs that you've created (not counting the ones that got destroyed) also appear at the top, and you can quickly teleport from one to another by clicking them.

BIN
icons/mob/screen1_blob.dmi Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -63,6 +63,7 @@
#include "code\_onclick\hud\ai.dm" #include "code\_onclick\hud\ai.dm"
#include "code\_onclick\hud\alien.dm" #include "code\_onclick\hud\alien.dm"
#include "code\_onclick\hud\alien_larva.dm" #include "code\_onclick\hud\alien_larva.dm"
#include "code\_onclick\hud\blob.dm"
#include "code\_onclick\hud\fullscreen.dm" #include "code\_onclick\hud\fullscreen.dm"
#include "code\_onclick\hud\hud.dm" #include "code\_onclick\hud\hud.dm"
#include "code\_onclick\hud\human.dm" #include "code\_onclick\hud\human.dm"