Terror Spiders 5 - Fixes & Tweaks II

Fixes:
- Spiders can no longer get stuck in vents, because they coccooned a mob
on top of a pipe, and it broke the pipe. Similarly, spiders can no
longer coccoon anchored objects of any kind. Fixes bug #6221 properly.
- Spiders will no longer ignore mechs and space pods. This was leading
to people cheesing the away mission with a ripley and a mech-mounted
drill.
- Prince, Queen, etc in away missions no longer stand still like
statues. Grays still stay on their vents.
- White spider in away mission can no longer infect people in a way that
makes it possible to transfer spiderlings to the main station.
- White spider eggs no exist for two minutes longer than they should
after hatching from someone.
- Signs in the away mission no longer contain the text 'improper'.
- Spiderlings that hatch in the away mission with an opened queen lair
no longer get stuck.
- Two misplaced lights in the away mission have been fixed.
- Queen nests in the away mission which live for a very long time can no
longer depressurize their area by smashing walls.

Updates:
- Webs spun by white spiders will infect humans who are silly enough to
walk into them. Hardsuits protect against this.
- Spiders will now be quicker to open doors. This should stop them
getting hung up on doors they can open.
- Empress has been tweaked to have an 'erase brood' ability (wipes
infestation, for adminbus), and her spit does BURN instead of TOX.
This commit is contained in:
Kyep
2017-03-04 03:40:59 -08:00
parent a1ad310cf3
commit 9b3153cabc
8 changed files with 92 additions and 57 deletions
+4 -4
View File
@@ -60,8 +60,8 @@
// the spider eggs secrete stimulants to keep their host alive until they hatch
switch(current_cycle)
if(1) // immediately
to_chat(owner,"<span class='danger'>Your spider bite wound hurts horribly! </span>")
if(istype(get_area(owner), /area/awaycontent) || istype(get_area(owner), /area/awaymission))
to_chat(owner,"<span class='danger'>Your wound hurts horribly! </span>")
if(is_away_level(owner.z))
awaymission_infection = 1
if(15) // 30s... enough time for the nerve agent to kick in, the pain to be blocked, and healing to begin
to_chat(owner,"<span class='notice'>The pain has faded, and stopped bleeding, though the skin around it has turned black.</span>")
@@ -76,7 +76,7 @@
if(110) // 3m40s...
to_chat(owner,"<span class='danger'>The black flesh splits open completely, revealing a cluster of small black oval shapes inside you, shapes that seem to be moving!</span>")
if(120) // 4m...
if(awaymission_infection && is_away_level(owner.z))
if(awaymission_infection && !is_away_level(owner.z))
// we started in the awaymission, we ended on the station.
// To prevent someone bringing an infection back, we're going to trigger an alternate, equally-bad result here.
// Actually, let's make it slightly worse... just to discourage people from bringing back infections.
@@ -108,7 +108,7 @@
owner.gib()
else
owner.adjustToxLoss(rand(100,180)) // normal case, range: 100-180, average 140, almost crit (150).
if(190) // 6m 30s
if(130) // 4m 20s
to_chat(owner,"<span class='danger'>The spiderlings are gone. Your wound, though, looks worse than ever. Remnants of tiny spider eggs, and dead spiders, inside your flesh. Disgusting.</span>")
qdel(src)