mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-21 11:07:12 +01:00
Adds a cap to Xenobiology Mobs and Allows Sentient Giant Spider prompts to be disabled (#17316)
Co-authored-by: dearmochi <1496804+dearmochi@users.noreply.github.com>
This commit is contained in:
@@ -21,7 +21,7 @@
|
||||
return
|
||||
|
||||
|
||||
/datum/chemical_reaction/proc/chemical_mob_spawn(datum/reagents/holder, amount_to_spawn, reaction_name, mob_class = HOSTILE_SPAWN, mob_faction = "chemicalsummon", random = TRUE)
|
||||
/datum/chemical_reaction/proc/chemical_mob_spawn(datum/reagents/holder, amount_to_spawn, reaction_name, mob_class = HOSTILE_SPAWN, mob_faction = "chemicalsummon", random = TRUE, gold_core_spawn = FALSE)
|
||||
if(holder && holder.my_atom)
|
||||
var/atom/A = holder.my_atom
|
||||
var/turf/T = get_turf(A)
|
||||
@@ -48,6 +48,8 @@
|
||||
S = create_random_mob(get_turf(holder.my_atom), mob_class)
|
||||
else
|
||||
S = new mob_class(get_turf(holder.my_atom))//Spawn our specific mob_class
|
||||
if(gold_core_spawn) //For tracking xenobiology mobs
|
||||
S.xenobiology_spawned = TRUE
|
||||
S.faction |= mob_faction
|
||||
if(prob(50))
|
||||
for(var/j = 1, j <= rand(1, 3), j++)
|
||||
|
||||
@@ -102,7 +102,11 @@
|
||||
|
||||
/datum/chemical_reaction/slimemobspawn/proc/summon_mobs(datum/reagents/holder, turf/T)
|
||||
T.visible_message("<span class='danger'>The slime extract begins to vibrate violently!</span>")
|
||||
addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 5, "Gold Slime", HOSTILE_SPAWN), 50)
|
||||
if(SSmobs.xenobiology_mobs < MAX_GOLD_CORE_MOBS)
|
||||
addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 5, "Gold Slime", HOSTILE_SPAWN, "chemicalsummon", TRUE, TRUE), 50)
|
||||
SSmobs.xenobiology_mobs += 5
|
||||
else
|
||||
T.visible_message("<span class='danger'>The slime extract sputters out, there's too many mobs to make any more!</span>")
|
||||
|
||||
/datum/chemical_reaction/slimemobspawn/lesser
|
||||
name = "Slime Crit Lesser"
|
||||
@@ -111,7 +115,11 @@
|
||||
|
||||
/datum/chemical_reaction/slimemobspawn/lesser/summon_mobs(datum/reagents/holder, turf/T)
|
||||
T.visible_message("<span class='danger'>The slime extract begins to vibrate violently!</span>")
|
||||
addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 3, "Lesser Gold Slime", HOSTILE_SPAWN, "neutral"), 50)
|
||||
if(SSmobs.xenobiology_mobs < MAX_GOLD_CORE_MOBS)
|
||||
addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 3, "Lesser Gold Slime", HOSTILE_SPAWN, "neutral", TRUE, TRUE), 50)
|
||||
SSmobs.xenobiology_mobs += 3
|
||||
else
|
||||
T.visible_message("<span class='danger'>The slime extract sputters out, there's too many mobs to make any more!</span>")
|
||||
|
||||
/datum/chemical_reaction/slimemobspawn/friendly
|
||||
name = "Slime Crit Friendly"
|
||||
@@ -120,7 +128,11 @@
|
||||
|
||||
/datum/chemical_reaction/slimemobspawn/friendly/summon_mobs(datum/reagents/holder, turf/T)
|
||||
T.visible_message("<span class='danger'>The slime extract begins to vibrate adorably!</span>")
|
||||
addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 1, "Friendly Gold Slime", FRIENDLY_SPAWN, "neutral"), 50)
|
||||
if(SSmobs.xenobiology_mobs < MAX_GOLD_CORE_MOBS)
|
||||
addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 1, "Friendly Gold Slime", FRIENDLY_SPAWN, "neutral", TRUE, TRUE), 50)
|
||||
SSmobs.xenobiology_mobs += 1
|
||||
else
|
||||
T.visible_message("<span class='danger'>The slime extract sputters out, there's too many mobs to make any more!</span>")
|
||||
|
||||
//Silver
|
||||
/datum/chemical_reaction/slimebork
|
||||
|
||||
Reference in New Issue
Block a user