mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-01-07 07:53:15 +00:00
Merge pull request #3126 from VOREStation/exp-ss-overlays
Port SSoverlays
This commit is contained in:
@@ -194,6 +194,8 @@ var/list/admin_verbs_debug = list(
|
||||
/client/proc/cmd_debug_del_all,
|
||||
/client/proc/cmd_debug_tog_aliens,
|
||||
/client/proc/cmd_display_del_log,
|
||||
/client/proc/cmd_display_init_log,
|
||||
/client/proc/cmd_display_overlay_log,
|
||||
/client/proc/air_report,
|
||||
/client/proc/reload_admins,
|
||||
/client/proc/reload_eventMs,
|
||||
|
||||
@@ -327,6 +327,36 @@
|
||||
|
||||
usr << browse(dellog.Join(), "window=dellog")
|
||||
|
||||
/client/proc/cmd_display_init_log()
|
||||
set category = "Debug"
|
||||
set name = "Display Initialize() Log"
|
||||
set desc = "Displays a list of things that didn't handle Initialize() properly"
|
||||
|
||||
if(!check_rights(R_DEBUG)) return
|
||||
src << browse(replacetext(SSatoms.InitLog(), "\n", "<br>"), "window=initlog")
|
||||
|
||||
/client/proc/cmd_display_overlay_log()
|
||||
set category = "Debug"
|
||||
set name = "Display overlay Log"
|
||||
set desc = "Display SSoverlays log of everything that's passed through it."
|
||||
|
||||
if(!check_rights(R_DEBUG)) return
|
||||
render_stats(SSoverlays.stats, src)
|
||||
|
||||
// Render stats list for round-end statistics.
|
||||
/proc/render_stats(list/stats, user, sort = /proc/cmp_generic_stat_item_time)
|
||||
sortTim(stats, sort, TRUE)
|
||||
|
||||
var/list/lines = list()
|
||||
for (var/entry in stats)
|
||||
var/list/data = stats[entry]
|
||||
lines += "[entry] => [num2text(data[STAT_ENTRY_TIME], 10)]ms ([data[STAT_ENTRY_COUNT]]) (avg:[num2text(data[STAT_ENTRY_TIME]/(data[STAT_ENTRY_COUNT] || 1), 99)])"
|
||||
|
||||
if (user)
|
||||
user << browse("<ol><li>[lines.Join("</li><li>")]</li></ol>", "window=[url_encode("stats:\ref[stats]")]")
|
||||
else
|
||||
. = lines.Join("\n")
|
||||
|
||||
/client/proc/cmd_admin_grantfullaccess(var/mob/M in mob_list)
|
||||
set category = "Admin"
|
||||
set name = "Grant Full Access"
|
||||
|
||||
@@ -113,45 +113,33 @@
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/gun/projectile/nsfw/update_icon()
|
||||
var/mutable_appearance/ma = new(src)
|
||||
update_charge()
|
||||
|
||||
cut_overlays()
|
||||
if(!chambered)
|
||||
ma.overlays = list()
|
||||
appearance = ma
|
||||
return
|
||||
|
||||
var/obj/item/ammo_casing/nsfw_batt/batt = chambered
|
||||
var/batt_color = batt.type_color //Used many times
|
||||
var/list/newverlays = list()
|
||||
|
||||
//Mode bar
|
||||
var/mutable_appearance/mode_bar = mutable_appearance(icon, "[initial(icon_state)]_type")
|
||||
var/image/mode_bar = image(icon, icon_state = "[initial(icon_state)]_type")
|
||||
mode_bar.color = batt_color
|
||||
newverlays += mode_bar
|
||||
add_overlay(mode_bar)
|
||||
|
||||
//Barrel color
|
||||
var/mutable_appearance/barrel_color = mutable_appearance(icon, "[initial(icon_state)]_barrel")
|
||||
var/image/barrel_color = image(icon, icon_state = "[initial(icon_state)]_barrel")
|
||||
barrel_color.alpha = 150
|
||||
barrel_color.color = batt_color
|
||||
newverlays += barrel_color
|
||||
add_overlay(barrel_color)
|
||||
|
||||
//Charge bar
|
||||
var/ratio = Ceiling((charge_left / max_charge) * charge_sections)
|
||||
for(var/i = 0, i < ratio, i++)
|
||||
var/mutable_appearance/charge_bar = mutable_appearance(icon, "[initial(icon_state)]_charge")
|
||||
var/image/charge_bar = image(icon, icon_state = "[initial(icon_state)]_charge")
|
||||
charge_bar.pixel_x = i
|
||||
charge_bar.color = batt_color
|
||||
newverlays += charge_bar
|
||||
|
||||
ma.overlays = newverlays
|
||||
if(ma.overlays.len != newverlays.len) //PANIC!
|
||||
del(ma)
|
||||
spawn(5)
|
||||
update_icon()
|
||||
return
|
||||
|
||||
appearance = ma
|
||||
add_overlay(charge_bar)
|
||||
|
||||
// The Magazine //
|
||||
/obj/item/ammo_magazine/nsfw_mag
|
||||
@@ -169,49 +157,31 @@
|
||||
max_ammo = 3
|
||||
mag_type = MAGAZINE
|
||||
|
||||
var/list/modes
|
||||
|
||||
/obj/item/ammo_magazine/nsfw_mag/New()
|
||||
..()
|
||||
modes = list()
|
||||
var/list/modes = list()
|
||||
|
||||
/obj/item/ammo_magazine/nsfw_mag/update_icon()
|
||||
var/mutable_appearance/ma = new(src)
|
||||
|
||||
cut_overlays()
|
||||
if(!stored_ammo.len)
|
||||
ma.overlays = list()
|
||||
appearance = ma
|
||||
return //Why bother
|
||||
|
||||
var/x_offset = 5
|
||||
var/list/newverlays = list()
|
||||
|
||||
var/current = 0
|
||||
for(var/B in stored_ammo)
|
||||
var/obj/item/ammo_casing/nsfw_batt/batt = B
|
||||
var/mutable_appearance/cap = mutable_appearance(icon,"[initial(icon_state)]_cap")
|
||||
var/image/cap = image(icon, icon_state = "[initial(icon_state)]_cap")
|
||||
cap.color = batt.type_color
|
||||
cap.pixel_x = current * x_offset //Caps don't need a pixel_y offset
|
||||
newverlays += cap
|
||||
add_overlay(cap)
|
||||
|
||||
if(batt.shots_left)
|
||||
var/ratio = Ceiling((batt.shots_left / initial(batt.shots_left)) * 4) //4 is how many lights we have a sprite for
|
||||
var/mutable_appearance/charge = mutable_appearance(icon,"[initial(icon_state)]_charge-[ratio]")
|
||||
var/image/charge = image(icon, icon_state = "[initial(icon_state)]_charge-[ratio]")
|
||||
charge.color = "#29EAF4" //Could use battery color but eh.
|
||||
charge.pixel_x = current * x_offset
|
||||
newverlays += charge
|
||||
add_overlay(charge)
|
||||
|
||||
current++ //Increment for offsets
|
||||
|
||||
ma.overlays = newverlays
|
||||
if(ma.overlays.len != newverlays.len) //PANIC!
|
||||
del(ma)
|
||||
spawn(5)
|
||||
update_icon()
|
||||
return
|
||||
|
||||
appearance = ma
|
||||
|
||||
// The Casing //
|
||||
/obj/item/ammo_casing/nsfw_batt
|
||||
name = "\'NSFW\' microbattery - UNKNOWN"
|
||||
@@ -230,20 +200,18 @@
|
||||
var/type_name = null
|
||||
projectile_type = /obj/item/projectile/beam
|
||||
|
||||
/obj/item/ammo_casing/nsfw_batt/New()
|
||||
/obj/item/ammo_casing/nsfw_batt/initialize()
|
||||
. = ..()
|
||||
pixel_x = rand(-10, 10)
|
||||
pixel_y = rand(-10, 10)
|
||||
update_icon()
|
||||
|
||||
/obj/item/ammo_casing/nsfw_batt/update_icon()
|
||||
var/mutable_appearance/ma = new(src)
|
||||
ma.overlays.Cut()
|
||||
cut_overlays()
|
||||
|
||||
var/mutable_appearance/ends = mutable_appearance(icon,"[initial(icon_state)]_ends")
|
||||
var/image/ends = image(icon, icon_state = "[initial(icon_state)]_ends")
|
||||
ends.color = type_color
|
||||
ma.overlays += ends
|
||||
|
||||
appearance = ma
|
||||
add_overlay(ends)
|
||||
|
||||
/obj/item/ammo_casing/nsfw_batt/expend()
|
||||
shots_left--
|
||||
|
||||
Reference in New Issue
Block a user