mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-23 20:17:15 +01:00
Merge pull request #15070 from Heroman3003/altevian-props
Adds some altevian-themed props
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
/obj/structure/prop/altevian_generator_wrecked
|
||||
name = "Converted High Energy Exchange Supplier Extractor"
|
||||
desc = "A take on the classic PACMAN reactors that are seen throughout the galaxy. The altevians have ripped apart the tech and seemed to of found a way to maximize the fuel usage one would see with this kind of process. \
|
||||
However, it is a lot bulkier and nearly impossible to break apart, but still can be moved if need be with special tools. This one appears to be totally wrecked though."
|
||||
icon = 'icons/obj/props/decor64x64.dmi'
|
||||
icon_state = "alteviangenwrecked"
|
||||
bound_width = 64
|
||||
bound_height = 64
|
||||
|
||||
/obj/structure/prop/altevian_jump_drive
|
||||
name = "Prosper-M Stellar Drive"
|
||||
desc = "A drive created by the Altevian Hegemony that focuses heavily on using Bluespace and other tactics to achieve a stable traversal between the stars. \
|
||||
This drive is commonly seen on their medium sized craft to help with logistical operations."
|
||||
icon = 'icons/obj/props/decor128x128.dmi'
|
||||
icon_state = "altevian_jump_drive"
|
||||
bound_width = 128
|
||||
bound_height = 128
|
||||
var/has_misc_overlay = TRUE
|
||||
|
||||
/obj/structure/prop/altevian_jump_drive/Initialize()
|
||||
.=..()
|
||||
update_icon()
|
||||
|
||||
/obj/structure/prop/altevian_jump_drive/update_icon()
|
||||
cut_overlays()
|
||||
if(has_misc_overlay)
|
||||
add_overlay("jump_drive_misc_anim_overlay")
|
||||
|
||||
/obj/structure/prop/altevian_jump_drive/active
|
||||
icon_state = "altevian_jump_drive-active"
|
||||
|
||||
/obj/structure/prop/altevian_jump_drive/wrecked
|
||||
icon_state = "altevian_jump_drive_wrecked"
|
||||
desc = "A drive created by the Altevian Hegemony that focuses heavily on using Bluespace and other tactics to achieve a stable traversal between the stars. \
|
||||
This drive is commonly seen on their medium sized craft to help with logistical operations. This one appears to be totally wrecked."
|
||||
has_misc_overlay = FALSE
|
||||
@@ -32,11 +32,11 @@
|
||||
/obj/machinery/power/port_gen/proc/TogglePower()
|
||||
if(active)
|
||||
active = FALSE
|
||||
icon_state = "[initial(icon_state)]"
|
||||
update_icon()
|
||||
// soundloop.stop()
|
||||
else if(HasFuel())
|
||||
active = TRUE
|
||||
icon_state = "[initial(icon_state)]on"
|
||||
update_icon()
|
||||
// soundloop.start()
|
||||
|
||||
/obj/machinery/power/port_gen/process()
|
||||
@@ -45,9 +45,15 @@
|
||||
UseFuel()
|
||||
else
|
||||
active = FALSE
|
||||
icon_state = initial(icon_state)
|
||||
update_icon()
|
||||
handleInactive()
|
||||
|
||||
/obj/machinery/power/port_gen/update_icon()
|
||||
if(active)
|
||||
icon_state = "[initial(icon_state)]on"
|
||||
else
|
||||
icon_state = initial(icon_state)
|
||||
|
||||
/obj/machinery/power/powered()
|
||||
return 1 //doesn't require an external power source
|
||||
|
||||
@@ -125,7 +131,7 @@
|
||||
default_apply_parts()
|
||||
if(anchored)
|
||||
connect_to_network()
|
||||
|
||||
|
||||
/obj/machinery/power/port_gen/pacman/Destroy()
|
||||
DropFuel()
|
||||
return ..()
|
||||
@@ -310,7 +316,7 @@
|
||||
if(!ui)
|
||||
ui = new(user, src, "PortableGenerator", name)
|
||||
ui.open()
|
||||
|
||||
|
||||
/obj/machinery/power/port_gen/pacman/tgui_data(mob/user)
|
||||
var/list/data = list()
|
||||
|
||||
@@ -322,7 +328,7 @@
|
||||
data["is_ai"] = TRUE
|
||||
else
|
||||
data["is_ai"] = FALSE
|
||||
|
||||
|
||||
data["sheet_name"] = capitalize(sheet_name)
|
||||
data["fuel_stored"] = round((sheets * 1000) + (sheet_left * 1000))
|
||||
data["fuel_capacity"] = round(max_sheets * 1000, 0.1)
|
||||
|
||||
@@ -412,3 +412,89 @@
|
||||
circuit = /obj/item/weapon/circuitboard/machine/reg_c
|
||||
default_power_gen = 500000 //Half power
|
||||
nutrition_drain = 0.5 //for half cost - EQUIVALENT EXCHANGE >:O
|
||||
|
||||
|
||||
// Big altevian version of pacman. has a lot of copypaste from regular kind, but less flexible.
|
||||
/obj/machinery/power/port_gen/large_altevian
|
||||
name = "Converted High Energy Exchange Supplier Extractor"
|
||||
desc = "A take on the classic PACMAN reactors that are seen throughout the galaxy. The altevians have ripped apart the tech and seemed to of found a way to maximize the fuel usage one would see with this kind of process. \
|
||||
However, it is a lot bulkier and nearly impossible to break apart, but still can be moved if need be with special tools."
|
||||
icon = 'icons/obj/props/decor64x64.dmi'
|
||||
icon_state = "alteviangen"
|
||||
bound_width = 64
|
||||
bound_height = 64
|
||||
anchored = TRUE
|
||||
power_gen = 200000
|
||||
|
||||
var/sheet_name = "Phoron Sheets"
|
||||
var/sheet_path = /obj/item/stack/material/phoron
|
||||
var/sheets = 0 //How many sheets of material are loaded in the generator
|
||||
var/sheet_left = 0 //How much is left of the current sheet
|
||||
var/time_per_sheet = 120 //fuel efficiency - how long 1 sheet lasts at power level 1
|
||||
var/max_sheets = 100 //max capacity of the hopper
|
||||
|
||||
/obj/machinery/power/port_gen/large_altevian/Initialize()
|
||||
.=..()
|
||||
if(anchored)
|
||||
connect_to_network()
|
||||
|
||||
/obj/machinery/power/port_gen/large_altevian/Destroy()
|
||||
DropFuel()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/power/port_gen/large_altevian/examine(mob/user)
|
||||
. = ..()
|
||||
. += "There [sheets == 1 ? "is" : "are"] [sheets] sheet\s left in the hopper."
|
||||
|
||||
/obj/machinery/power/port_gen/large_altevian/HasFuel()
|
||||
var/needed_sheets = power_output / time_per_sheet
|
||||
if(sheets >= needed_sheets - sheet_left)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/obj/machinery/power/port_gen/large_altevian/DropFuel()
|
||||
if(sheets)
|
||||
var/obj/item/stack/material/S = new sheet_path(loc, sheets)
|
||||
sheets -= S.get_amount()
|
||||
|
||||
/obj/machinery/power/port_gen/large_altevian/UseFuel()
|
||||
var/needed_sheets = power_output / time_per_sheet
|
||||
if (needed_sheets > sheet_left)
|
||||
sheets--
|
||||
sheet_left = (1 + sheet_left) - needed_sheets
|
||||
else
|
||||
sheet_left -= needed_sheets
|
||||
|
||||
/obj/machinery/power/port_gen/large_altevian/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
if(istype(O, sheet_path))
|
||||
var/obj/item/stack/addstack = O
|
||||
var/amount = min((max_sheets - sheets), addstack.get_amount())
|
||||
if(amount < 1)
|
||||
to_chat(user, "<span class='warning'>The [src.name] is full!</span>")
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You add [amount] sheet\s to the [src.name].</span>")
|
||||
sheets += amount
|
||||
addstack.use(amount)
|
||||
update_icon()
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/machinery/power/port_gen/large_altevian/attack_hand(mob/user as mob)
|
||||
..()
|
||||
if (!anchored)
|
||||
return
|
||||
TogglePower()
|
||||
|
||||
/obj/machinery/power/port_gen/large_altevian/attack_ai(mob/user as mob)
|
||||
TogglePower()
|
||||
|
||||
/obj/machinery/power/port_gen/large_altevian/update_icon()
|
||||
..()
|
||||
|
||||
cut_overlays()
|
||||
if(sheets > 75)
|
||||
add_overlay("alteviangen-fuel-100")
|
||||
else if(sheets > 25)
|
||||
add_overlay("alteviangen-fuel-66")
|
||||
else if(sheets > 0)
|
||||
add_overlay("alteviangen-fuel-33")
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 41 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 46 KiB |
@@ -1587,6 +1587,7 @@
|
||||
#include "code\game\objects\structures\ghost_pods\survivor.dm"
|
||||
#include "code\game\objects\structures\props\alien_props.dm"
|
||||
#include "code\game\objects\structures\props\alien_props_vr.dm"
|
||||
#include "code\game\objects\structures\props\altevian.dm"
|
||||
#include "code\game\objects\structures\props\beam_prism.dm"
|
||||
#include "code\game\objects\structures\props\blackbox.dm"
|
||||
#include "code\game\objects\structures\props\esoteric.dm"
|
||||
|
||||
Reference in New Issue
Block a user