mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-11 07:58:57 +01:00
e0f4b3b7fc
This PR updates the repo fully to Byond 516.1673. We now have access to Associative Lists, Vectors, Matrices, and a huge number of math improvements tha will allow us to catapult the repo into a new era of simulationism. I have tested this PR to verify that it works. <img width="1076" height="1079" alt="image" src="https://github.com/user-attachments/assets/c69a7276-7611-4a59-8630-46d8dd8a12a6" />
31 lines
1.1 KiB
Plaintext
31 lines
1.1 KiB
Plaintext
/datum/event/blob
|
|
// Quite a short fuse due to the potential severity of this event.
|
|
announceWhen = 12
|
|
ic_name = "a biohazard"
|
|
|
|
/datum/event/blob/announce()
|
|
level_seven_announcement(affecting_z)
|
|
|
|
/datum/event/blob/start()
|
|
..()
|
|
|
|
// This stores the list of the possible number of blobs, weighted towards 2. Adjust if a different weighting if desired.
|
|
var/alist/numberOfBlobs = alist(1 = 1, 2 = 2, 3 = 1)
|
|
|
|
// We pick randomly from the list to determine how many we spawn.
|
|
for(var/i = 1 to pickweight(numberOfBlobs))
|
|
var/turf/T = pick_subarea_turf(/area/horizon/maintenance, list(/proc/is_station_turf, /proc/not_turf_contains_dense_objects))
|
|
if(!T)
|
|
// If we can't find a turf anywhere, we aren't going to find one in subsequent loops and we can call it here.
|
|
log_and_message_admins("Blob event failed to find a viable turf.")
|
|
kill(TRUE)
|
|
return
|
|
|
|
log_and_message_admins("Blob spawned at \the [get_area(T)]", location = T)
|
|
// Spawn the blob in.
|
|
var/obj/effect/blob/core/Blob = new /obj/effect/blob/core(T)
|
|
|
|
// Blobs receive a burst of growth from the moment they spawn!
|
|
for(var/int = 1 to rand(3, 4))
|
|
Blob.process()
|