Files
Paradise/code/game/objects/items/weapons/disks.dm
T
0c25bf4a21 Cloning Rework (#21683)
* guts the cloning pod

* guts cloning console (except the tgui)

* clonescanner, more gutting, linkage

* reagent stuff

* `cloning_data` datum

* scanner inserting/removing

* scanning logic

* auto-linkage

* `get_cloning_cost()` in its entirety

* logic for which limbs to grow

* RefreshParts() and insert_organ()

* removes misinformation

* robot parts

* more organ insertion logic

* more organ code :D

* create_clone

* beginnings of clone logic

* cloning addl. stuff

* cloning finalization

* fixes CI?

* whitespace fixes (regex edition)

* ejection logic

* Update code/game/machinery/clonepod.dm

Co-authored-by: Nathan Winters <100448493+CinnamonSnowball@users.noreply.github.com>

* stuff

* stuff 2

* update_icon_state stuff

* clonepod TGUI

* organ fix yipee

* cloning console UI beginnings

* cloning console main menu

* reagents stuff

* beginning of damage tab

* damages menu skeleton

* aiuhgugh

* splits up code

* ejecting patient updates ui

* contra reviews

* temp fix for CI

* tgui finished? (clueless)

* Cloning :D
it's done

* manual & tweaks

* more feedback!

* cooldown
because you can spam the fuck out if it otherwise and it's really loud for the ghost

* oops

* tweaks

* edits EVERY MAP OH GOD

* no link stuff

* oops

* Apply suggestions from code review

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Apply suggestions from code review (pt. 2)

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/game/machinery/computer/cloning.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>

* dgamer review

* Update code/game/machinery/clonepod.dm

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>

* henri stuff

* makes it compile

* builds tgui (oops)

* rebuilt bundle i guess?

* not stale i swear

* fixes

* whoops

* countdown stuff

* sirryan review pt. 1

* sirryan review pt 2

* every day i'm shuffling (or something idk)

* wasdfhdfg

* sean clonepod.dm changes

* update_icon(UPDATE_ICON_STATE)

* Update code/game/machinery/clonescanner.dm

Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>

* icon stuff

* map weirdness

* henri disks

* unfucks maps?

* cc maps

* eject button

* Apply suggestions from code review

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>

* Update code/game/machinery/clonepod.dm

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>

* dgamer review 2

* ourgh

* dgamer review 3

* waaaah

* fixes access locks

* fixes
Fixes the numbers issues (and no feet hopefully?)

* re-adds feet

* more fixes yipee

* un-biomass

* fixes ghost stuff

* exploit fix

---------

Co-authored-by: Nathan Winters <100448493+CinnamonSnowball@users.noreply.github.com>
Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
2024-03-16 16:51:13 +00:00

75 lines
2.3 KiB
Plaintext

/obj/item/disk
icon = 'icons/obj/module.dmi'
w_class = WEIGHT_CLASS_TINY
item_state = "card-id"
icon_state = "datadisk0"
drop_sound = 'sound/items/handling/disk_drop.ogg'
pickup_sound = 'sound/items/handling/disk_pickup.ogg'
/obj/item/disk/data
name = "Cloning Data Disk"
icon_state = "datadisk0" //Gosh I hope syndies don't mistake them for the nuke disk.
var/datum/dna2/record/buf = null
var/read_only = FALSE //Well,it's still a floppy disk
/obj/item/disk/data/proc/initialize_data()
buf = new
buf.dna = new
/obj/item/disk/data/Destroy()
QDEL_NULL(buf)
return ..()
/obj/item/disk/data/demo
name = "data disk - 'God Emperor of Mankind'"
read_only = TRUE
/obj/item/disk/data/demo/New()
. = ..()
initialize_data()
buf.types = DNA2_BUF_UE|DNA2_BUF_UI
buf.dna.real_name = "God Emperor of Mankind"
buf.dna.unique_enzymes = md5(buf.dna.real_name)
buf.dna.UI = list(0x066,0x000,0x033,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0xAF0,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x033,0x066,0x0FF,0x4DB,0x002,0x690,0x000,0x000,0x000,0x328,0x045,0x5FC,0x053,0x035,0x035,0x035)
if(length(buf.dna.UI) != DNA_UI_LENGTH) //If there's a disparity b/w the dna UI string lengths, 0-fill the extra blocks in this UI.
for(var/i in length(buf.dna.UI) to DNA_UI_LENGTH)
buf.dna.UI += 0x000
buf.dna.ResetSE()
buf.dna.UpdateUI()
/obj/item/disk/data/monkey
name = "data disk - 'Mr. Muggles'"
read_only = 1
/obj/item/disk/data/monkey/New()
. = ..()
initialize_data()
buf.types = DNA2_BUF_SE
var/list/new_SE = list(0x098,0x3E8,0x403,0x44C,0x39F,0x4B0,0x59D,0x514,0x5FC,0x578,0x5DC,0x640,0x6A4)
for(var/i = length(new_SE); i <= DNA_SE_LENGTH; i++)
new_SE += rand(1, 1024)
buf.dna.SE = new_SE
buf.dna.SetSEValueRange(GLOB.monkeyblock, 0xDAC, 0xFFF)
//Disk stuff.
/obj/item/disk/data/New()
. = ..()
var/diskcolor = pick(0, 1, 2)
icon_state = "datadisk[diskcolor]"
/obj/item/disk/data/attack_self(mob/user)
read_only = !read_only
to_chat(user, "You flip the write-protect tab to [read_only ? "protected" : "unprotected"].")
/obj/item/disk/data/examine(mob/user)
. = ..()
. += "The write-protect tab is set to [read_only ? "protected" : "unprotected"]."
/obj/item/storage/box/disks
name = "Diskette Box"
icon_state = "disk_kit"
/obj/item/storage/box/disks/populate_contents()
for(var/i in 1 to 7)
new /obj/item/disk/data(src)