Tweaks carp/dweller behavior and the spawn chances of a couple of major events (#10024)

This commit is contained in:
fernerr
2020-09-21 17:04:53 -03:00
committed by GitHub
parent 40df00325d
commit da892f89e1
7 changed files with 40 additions and 11 deletions
+4 -2
View File
@@ -51,13 +51,15 @@
while (i <= num_groups)
var/group_size = rand(group_size_min, group_size_max)
for (var/j = 1, j <= group_size, j++)
if(prob(99))
if(prob(95))
var/mob/living/simple_animal/hostile/carp/carp = new(spawn_locations[i])
spawned_carp += WEAKREF(carp)
else if(prob(80))
var/mob/living/simple_animal/carp/baby/carp = new(spawn_locations[i])
spawned_carp += WEAKREF(carp)
else
var/mob/living/simple_animal/hostile/carp/shark/carp = new(spawn_locations[i])
spawned_carp += WEAKREF(carp)
CHECK_TICK
i++
+3 -3
View File
@@ -171,12 +171,12 @@ var/global/list/severity_to_string = list(EVENT_LEVEL_MUNDANE = "Mundane", EVENT
severity = EVENT_LEVEL_MAJOR
available_events = list(
new /datum/event_meta(EVENT_LEVEL_MAJOR, "Nothing", /datum/event/nothing, 135),
new /datum/event_meta(EVENT_LEVEL_MAJOR, "Blob", /datum/event/blob, 40, list(ASSIGNMENT_ENGINEER = 5,ASSIGNMENT_SECURITY = 5), 1),
new /datum/event_meta(EVENT_LEVEL_MAJOR, "Blob", /datum/event/blob, 40, list(ASSIGNMENT_ENGINEER = 5), 1),
new /datum/event_meta(EVENT_LEVEL_MAJOR, "Carp Migration", /datum/event/carp_migration, 50, list(ASSIGNMENT_SECURITY = 10), 1),
new /datum/event_meta(EVENT_LEVEL_MAJOR, "Meteor Wave", /datum/event/meteor_wave, 40, list(ASSIGNMENT_ENGINEER = 10),1),
new /datum/event_meta(EVENT_LEVEL_MAJOR, "Space Vines", /datum/event/spacevine, 75, list(ASSIGNMENT_ENGINEER = 10, ASSIGNMENT_GARDENER = 20), 1),
new /datum/event_meta(EVENT_LEVEL_MAJOR, "Spider Infestation", /datum/event/spider_infestation, 25, list(ASSIGNMENT_SECURITY = 10, ASSIGNMENT_MEDICAL = 5), 1),
new /datum/event_meta(EVENT_LEVEL_MAJOR, "Major Vermin Infestation", /datum/event/infestation/major, 15, list(ASSIGNMENT_SECURITY = 15, ASSIGNMENT_MEDICAL = 10))
new /datum/event_meta(EVENT_LEVEL_MAJOR, "Major Vermin Infestation", /datum/event/infestation/major, 15, list(ASSIGNMENT_SECURITY = 15, ASSIGNMENT_MEDICAL = 5))
)
#undef ASSIGNMENT_ANY
@@ -187,4 +187,4 @@ var/global/list/severity_to_string = list(EVENT_LEVEL_MUNDANE = "Mundane", EVENT
#undef ASSIGNMENT_JANITOR
#undef ASSIGNMENT_MEDICAL
#undef ASSIGNMENT_SCIENTIST
#undef ASSIGNMENT_SECURITY
#undef ASSIGNMENT_SECURITY
+16 -5
View File
@@ -26,11 +26,22 @@
INFESTATION_SPACE_BATS = 1,
INFESTATION_SPIDERLINGS = 1
)
/datum/event/infestation/major
possible_mobs = list(
INFESTATION_HIVEBOTS = 1,
INFESTATION_SLIMES = 1
)
/datum/event/infestation/major/setup()
var/player_count = 0
for(var/mob/living/carbon/human/H in living_mob_list)
if(H.stat == CONSCIOUS && H.client)
player_count++
if(player_count >= 15)
possible_mobs = list(
INFESTATION_HIVEBOTS = 1,
INFESTATION_SLIMES = 1
)
else
possible_mobs = list(
INFESTATION_SLIMES = 1
)
..()
/datum/event/infestation/setup()
choose_area()
@@ -21,6 +21,8 @@
response_disarm = "attempts to push"
response_harm = "injures"
gender = NEUTER
faction = "carp"
flying = TRUE
//Space carp aren't affected by atmos.
min_oxy = 0
@@ -74,10 +74,12 @@
return e
/mob/living/simple_animal/hostile/carp/DestroySurroundings(var/bypass_prob = FALSE)
if(stance != HOSTILE_STANCE_ATTACKING)
return 0
if(prob(break_stuff_probability) || bypass_prob)
for(var/dir in cardinal) // North, South, East, West
var/obj/effect/energy_field/e = locate(/obj/effect/energy_field, get_step(src, dir))
if(e)
if(e && e.strength >= 1)
e.Stress(rand(1,2))
visible_message("<span class='danger'>\the [src] bites \the [e]!</span>")
src.do_attack_animation(e)
@@ -60,6 +60,12 @@
tracer_type = /obj/effect/projectile/tracer/stun
impact_type = /obj/effect/projectile/impact/stun
/mob/living/simple_animal/hostile/retaliate/cavern_dweller/DestroySurroundings(var/bypass_prob = FALSE)
if(stance != HOSTILE_STANCE_ATTACKING)
return 0
else
..()
/obj/item/projectile/beam/cavern/on_hit(var/atom/target, var/blocked = 0)
if(ishuman(target))
var/mob/living/carbon/human/M = target