mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-27 15:17:01 +01:00
@@ -10,8 +10,7 @@ var/list/blob_nodes = list()
|
||||
name = "blob"
|
||||
config_tag = "blob"
|
||||
|
||||
required_players = 0
|
||||
required_enemies = 0
|
||||
required_players = 15
|
||||
|
||||
restricted_jobs = list("Cyborg", "AI")
|
||||
|
||||
@@ -21,11 +20,10 @@ var/list/blob_nodes = list()
|
||||
var/declared = 0
|
||||
|
||||
var/cores_to_spawn = 1
|
||||
var/players_per_core = 26
|
||||
var/players_per_core = 30
|
||||
|
||||
var/blob_count = 0
|
||||
var/blobnukecount = 300//Might be a bit low
|
||||
var/blobwincount = 600//Still needs testing
|
||||
var/blobwincount = 500
|
||||
|
||||
var/list/infected_crew = list()
|
||||
|
||||
@@ -39,7 +37,6 @@ var/list/blob_nodes = list()
|
||||
|
||||
cores_to_spawn = max(round(num_players()/players_per_core, 1), 1)
|
||||
|
||||
blobnukecount = initial(blobnukecount) * cores_to_spawn
|
||||
blobwincount = initial(blobwincount) * cores_to_spawn
|
||||
|
||||
|
||||
@@ -80,6 +77,14 @@ var/list/blob_nodes = list()
|
||||
if(emergency_shuttle)
|
||||
emergency_shuttle.always_fake_recall = 1
|
||||
|
||||
// Disable the blob event for this round.
|
||||
if(events)
|
||||
var/datum/round_event_control/blob/B = locate() in events.control
|
||||
if(B)
|
||||
B.max_occurrences = 0 // disable the event
|
||||
else
|
||||
error("Events variable is null in blob gamemode post setup.")
|
||||
|
||||
spawn(10)
|
||||
start_state = new /datum/station_state()
|
||||
start_state.count()
|
||||
@@ -114,7 +119,7 @@ var/list/blob_nodes = list()
|
||||
|
||||
|
||||
if(blob_client && location)
|
||||
new /obj/effect/blob/core(location, 200, blob_client)
|
||||
new /obj/effect/blob/core(location, 200, blob_client, 2)
|
||||
|
||||
// Stage 0
|
||||
sleep(40)
|
||||
|
||||
@@ -3,17 +3,18 @@
|
||||
icon = 'icons/mob/blob.dmi'
|
||||
icon_state = "blob_core"
|
||||
health = 200
|
||||
brute_resist = 2
|
||||
fire_resist = 2
|
||||
var/mob/camera/blob/overmind = null // the blob core's overmind
|
||||
var/overmind_get_delay = 0 // we don't want to constantly try to find an overmind, do it every 30 seconds
|
||||
var/resource_delay = 0
|
||||
var/point_rate = 1
|
||||
|
||||
New(loc, var/h = 200, var/client/new_overmind = null)
|
||||
New(loc, var/h = 200, var/client/new_overmind = null, var/new_rate = 1)
|
||||
blob_cores += src
|
||||
processing_objects.Add(src)
|
||||
if(!overmind)
|
||||
create_overmind(new_overmind)
|
||||
point_rate = new_rate
|
||||
..(loc, h)
|
||||
|
||||
|
||||
@@ -41,7 +42,7 @@
|
||||
else
|
||||
if(resource_delay <= world.time)
|
||||
resource_delay = world.time + 10 // 1 second
|
||||
overmind.add_points(2)
|
||||
overmind.add_points(point_rate)
|
||||
health = min(initial(health), health + 1)
|
||||
for(var/i = 1; i < 8; i += i)
|
||||
Pulse(0, i)
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
icon = 'icons/mob/blob.dmi'
|
||||
icon_state = "blob_factory"
|
||||
health = 100
|
||||
brute_resist = 1
|
||||
fire_resist = 2
|
||||
var/list/spores = list()
|
||||
var/max_spores = 3
|
||||
@@ -34,8 +33,8 @@
|
||||
icon_state = "blobpod"
|
||||
icon_living = "blobpod"
|
||||
pass_flags = PASSBLOB
|
||||
health = 15
|
||||
maxHealth = 15
|
||||
health = 40
|
||||
maxHealth = 40
|
||||
melee_damage_lower = 2
|
||||
melee_damage_upper = 4
|
||||
attacktext = "hits"
|
||||
@@ -66,4 +65,4 @@
|
||||
Die()
|
||||
if(factory)
|
||||
factory.spores -= src
|
||||
..()
|
||||
del(src)
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
icon = 'icons/mob/blob.dmi'
|
||||
icon_state = "blob_node"
|
||||
health = 100
|
||||
brute_resist = 1
|
||||
fire_resist = 2
|
||||
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
icon = 'icons/mob/blob.dmi'
|
||||
icon_state = "blob_resource"
|
||||
health = 30
|
||||
brute_resist = 1
|
||||
fire_resist = 2
|
||||
var/mob/camera/blob/overmind = null
|
||||
var/resource_delay = 0
|
||||
|
||||
@@ -3,11 +3,7 @@
|
||||
icon = 'icons/mob/blob.dmi'
|
||||
icon_state = "blob_idle"
|
||||
desc = "Some blob creature thingy"
|
||||
density = 1
|
||||
opacity = 0
|
||||
anchored = 1
|
||||
health = 100
|
||||
brute_resist = 1
|
||||
fire_resist = 2
|
||||
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
anchored = 1
|
||||
var/active = 1
|
||||
var/health = 30
|
||||
var/brute_resist = 4
|
||||
var/brute_resist = 5
|
||||
var/fire_resist = 1
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
|
||||
proc/expand(var/turf/T = null, var/prob = 1)
|
||||
if(prob && !prob(health)) return
|
||||
if(istype(T, /turf/space)) return
|
||||
if(istype(T, /turf/space) && prob(75)) return
|
||||
if(!T)
|
||||
var/list/dirs = list(1,2,4,8)
|
||||
for(var/i = 1 to 4)
|
||||
@@ -108,15 +108,7 @@
|
||||
|
||||
ex_act(severity)
|
||||
var/damage = 50
|
||||
switch(severity)
|
||||
if(1)
|
||||
src.health -= rand(100,120)
|
||||
if(2)
|
||||
src.health -= rand(60,100)
|
||||
if(3)
|
||||
src.health -= rand(20,60)
|
||||
|
||||
health -= (damage/brute_resist)
|
||||
health -= ((damage/brute_resist) - (severity * 5))
|
||||
update_icon()
|
||||
return
|
||||
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
weight = 5
|
||||
max_occurrences = 1
|
||||
|
||||
earliest_start = 48000 // 1 hour 20 minutes
|
||||
|
||||
/datum/round_event/blob
|
||||
announceWhen = 12
|
||||
endWhen = 120
|
||||
|
||||
@@ -133,7 +133,7 @@ proc/move_mining_shuttle()
|
||||
usr.set_machine(src)
|
||||
src.add_fingerprint(usr)
|
||||
if(href_list["move"])
|
||||
if(ticker.mode.name == "blob")
|
||||
if(mining_shuttle_location == 1 && istype(ticker.mode, /datum/game_mode/blob)) // shuttle is on the station, this will mean miners can come back
|
||||
if(ticker.mode:declared)
|
||||
usr << "Under directive 7-10, [station_name()] is quarantined until further notice."
|
||||
return
|
||||
|
||||
@@ -238,6 +238,9 @@
|
||||
adjustBruteLoss(60)
|
||||
updatehealth()
|
||||
return 1
|
||||
else
|
||||
gib()
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/mob/living/silicon/robot/Stat()
|
||||
|
||||
@@ -39,6 +39,10 @@
|
||||
//gas.volume = 1.05 * CELLSTANDARD
|
||||
update()
|
||||
|
||||
Del()
|
||||
for(var/atom/movable/AM in contents)
|
||||
AM.loc = src.loc
|
||||
..()
|
||||
|
||||
// attack by item places it in to disposal
|
||||
attackby(var/obj/item/I, var/mob/user)
|
||||
|
||||
Reference in New Issue
Block a user