Tiger changes

This commit is contained in:
Kyep
2017-02-25 06:06:51 -08:00
parent a2731fcb08
commit 6fac5bcc98
5 changed files with 134 additions and 136 deletions
@@ -1,4 +1,3 @@
/area/awaymission/UO71
name = "UO71"
icon_state = "away"
@@ -81,103 +80,103 @@
/obj/item/weapon/paper/terrorspiders1
name = "paper - 'Sealed Facility'"
info = {"<b>SEALED FACILITY</b><br>\
<br>\
This facility is sealed shut by order of Commander Marquez. Do not enter.<br>\
Terror spiders live here. We believe they are a weapon developed by the syndicate.<br>\
Any surviving personnel are to evacuate immediately via the gateway.<br>\
info = {"<b>SEALED FACILITY</b><br>
<br>
This facility is sealed shut by order of Commander Marquez. Do not enter.<br>
Terror spiders live here. We believe they are a weapon developed by the syndicate.<br>
Any surviving personnel are to evacuate immediately via the gateway.<br>
"}
/obj/item/weapon/paper/terrorspiders2
name = "paper - 'The Trio of Terror'"
info = {"<b>Status Report on the 'Terrors'</b><br>\
<br>\
All the spiders are deadly. We know this much already. Within an hour of their appearance, they have killed several staff.<br>\
Three, however, bear particular mention, as they appear to be leading the spider hivemind.<br>\
<br>\
The Mother is held in containment 1. Advise leaving her alone.<br>\
It is likely that the hundreds of tiny spiders swarming over her back would come to her defense if she was threatened.<br>\
<br>\
The Prince is held in containment 2. He appears very aggressive, incredibly fast, strong, and durable. Extreme force and agility would be required to neutralize him.<br>\
It is likely the appearance of the prince was related to our initial aggression against the Queen. These things can THINK.<br>\
<br>\
The Queen cannot be contained. She lives in the old bar, south of mining. She continues to breed dangerous spiders at an alarming rate.<br>\
Many of her offspring are already roaming the compound, traveling through the vents. Contact with the team sent to subdue her has been lost.<br>\
<br>\
<br>\
Based on the situation, Commander, I advise immediate evacuation through the gateway.<br>\
-Research Director Simons<br>\
info = {"<b>Status Report on the 'Terrors'</b><br>
<br>
All the spiders are deadly. We know this much already. Within an hour of their appearance, they have killed several staff.<br>
Three, however, bear particular mention, as they appear to be leading the spider hivemind.<br>
<br>
The Mother is held in containment 1. Advise leaving her alone.<br>
It is likely that the hundreds of tiny spiders swarming over her back would come to her defense if she was threatened.<br>
<br>
The Prince is held in containment 2. He appears very aggressive, incredibly fast, strong, and durable. Extreme force and agility would be required to neutralize him.<br>
It is likely the appearance of the prince was related to our initial aggression against the Queen. These things can THINK.<br>
<br>
The Queen cannot be contained. She lives in the old bar, south of mining. She continues to breed dangerous spiders at an alarming rate.<br>
Many of her offspring are already roaming the compound, traveling through the vents. Contact with the team sent to subdue her has been lost.<br>
<br>
<br>
Based on the situation, Commander, I advise immediate evacuation through the gateway.<br>
-Research Director Simons<br>
"}
/obj/item/weapon/paper/terrorspiders3
name = "paper - 'Final Report'"
info = {"FROM: Field Agent 0738<br>\
TO: Syndicate #873589<br>\
SUBJECT: Mission Success<br>\
<br>\
I have seeded the Terror Queen egg in a dingy looking bar that bored engineers constructed near the mining tunnels.<br>\
No doubt she will grow soon.<br>\
<br>\
I have also placed the Mother and Prince eggs nearby, injected with sedative. Hopefully the dimwitted NT scientists bring them back for study.<br>\
With any luck, the Queen will sense them telepathically, think NT is holding her children hostage, and attack.<br>\
<br>\
I am going to extract out of the gateway before this all goes down.<br>\
I don't imagine the staff have very long to live once the Queen declares war on this place.<br>\
info = {"FROM: Field Agent 0738<br>
TO: Syndicate #873589<br>
SUBJECT: Mission Success<br>
<br>
I have seeded the Terror Queen egg in a dingy looking bar that bored engineers constructed near the mining tunnels.<br>
No doubt she will grow soon.<br>
<br>
I have also placed the Mother and Prince eggs nearby, injected with sedative. Hopefully the dimwitted NT scientists bring them back for study.<br>
With any luck, the Queen will sense them telepathically, think NT is holding her children hostage, and attack.<br>
<br>
I am going to extract out of the gateway before this all goes down.<br>
I don't imagine the staff have very long to live once the Queen declares war on this place.<br>
"}
/obj/item/weapon/paper/terrorspiders4
name = "paper - 'Prescription for Jones, David'"
info = {"PRESCRIPTION FOR: David Jones<br>\
RANK: Miner<br>\
FOR: Haloperidol<br>\
REASON FOR TREATMENT: Hallucinations, Paranoia<br>\
CAUSE: Hallucinations caused by encounter with toxic spit of spider in the caves. Paranoia caused by disappearing staff and suspicions of syndicate infiltration.<br>\
TREATMENT PLAN: Take as needed. See Dr. Phloxi in one week if symptoms persist. <br>\
info = {"PRESCRIPTION FOR: David Jones<br>
RANK: Miner<br>
FOR: Haloperidol<br>
REASON FOR TREATMENT: Hallucinations, Paranoia<br>
CAUSE: Hallucinations caused by encounter with toxic spit of spider in the caves. Paranoia caused by disappearing staff and suspicions of syndicate infiltration.<br>
TREATMENT PLAN: Take as needed. See Dr. Phloxi in one week if symptoms persist. <br>
"}
/obj/item/weapon/paper/terrorspiders5
name = "paper - 'A Study in Terror'"
info = {"<b>Findings Overview</b><br>\
<br>\
<p>Gray Spiders<br>Stealthy predators that ambush prey from vents. Otherwise weak.</p>\
<p>Red Spiders<br>Can kill anyone in melee, but slow.</p>\
<p>Green<br>Will lay eggs on dead bodies, breeding more spiders.</p>\
<p>Black<br>Even a single bite is enough to kill a humanoid, given time.</p>\
<p>White<br>Injects a parasitic agent. Deemed to pose too great an infection risk to study.</p>\
<p>Purple<br>Only seen guarding the nest of the Queen to the south. Appear to be territorial, and very dangerous.</p>\
<p>Prince<br>Held in containment 2. Appears to be a sort of super-warrior. Fast, strong, and thickly armored.</p>\
<p>Mother<br>Carries hordes of spiderlings on its back. Held in containment 1. </p>\
<p>Queen<br>Unable to contain. Present south of Cargo before contact was lost. Presumed ruler of the local hive.</p>\
info = {"<b>Findings Overview</b><br>
<br>
<p>Gray Spiders<br>Stealthy predators that ambush prey from vents. Otherwise weak.</p>
<p>Red Spiders<br>Can kill anyone in melee, but slow.</p>
<p>Green<br>Will lay eggs on dead bodies, breeding more spiders.</p>
<p>Black<br>Even a single bite is enough to kill a humanoid, given time.</p>
<p>White<br>Injects a parasitic agent. Deemed to pose too great an infection risk to study.</p>
<p>Purple<br>Only seen guarding the nest of the Queen to the south. Appear to be territorial, and very dangerous.</p>
<p>Prince<br>Held in containment 2. Appears to be a sort of super-warrior. Fast, strong, and thickly armored.</p>
<p>Mother<br>Carries hordes of spiderlings on its back. Held in containment 1. </p>
<p>Queen<br>Unable to contain. Present south of Cargo before contact was lost. Presumed ruler of the local hive.</p>
"}
/obj/item/weapon/paper/terrorspiders6
name = "paper - 'A Study in Venom'"
info = {"<b>Initial Report - Black Widow Venom</b><br>\
<br>\
Even a single bite kills within a few minutes. Immediate charcoal is necessary for the victim to survive.<br>\
The fascinating thing is that multiple bites actually cause rapid symptom onset. The victim quickly loses the ability to walk.<br>\
One test monkey went from perfect health to death in under 60 seconds - from 3 bites.<br>\
info = {"<b>Initial Report - Black Widow Venom</b><br>
<br>
Even a single bite kills within a few minutes. Immediate charcoal is necessary for the victim to survive.<br>
The fascinating thing is that multiple bites actually cause rapid symptom onset. The victim quickly loses the ability to walk.<br>
One test monkey went from perfect health to death in under 60 seconds - from 3 bites.<br>
I am so very glad I'm not responsible for keeping these things contained."}
/obj/item/weapon/paper/terrorspiders7
name = "paper - 'Security Orders'"
info = {"<b>Directives for Officer James</b><br>\
<br>\
1. Find a way to lift the bridge lockdown.<br>\
2. Kill any spiders you encounter.<br>\
3. Once on the bridge, open a path to the Queen in the south, and find a way to kill her, ending the infestation. <br>\
Good luck, Officer.<br>\
info = {"<b>Directives for Officer James</b><br>
<br>
1. Find a way to lift the bridge lockdown.<br>
2. Kill any spiders you encounter.<br>
3. Once on the bridge, open a path to the Queen in the south, and find a way to kill her, ending the infestation. <br>
Good luck, Officer.<br>
"}
/obj/item/weapon/paper/terrorspiders8
name = "paper - 'Last Words'"
info = {"<b>The Last Words of Nurse Barnes</b><br>\
<br>\
It is too much. First Phil, then those damn spiders bite Mary too. Heaven help us. <br>\
I'll be evacuating as soon as I've grabbed my supplies. I had to pay for those myself. Stupid budget cuts. <br>\
The new world they've found for us isn't that hospitable, but at least there are no deadly spid---<br>\
(the writing trails off, as if the writer was interrupted)<br>\
info = {"<b>The Last Words of Nurse Barnes</b><br>
<br>
It is too much. First Phil, then those damn spiders bite Mary too. Heaven help us. <br>
I'll be evacuating as soon as I've grabbed my supplies. I had to pay for those myself. Stupid budget cuts. <br>
The new world they've found for us isn't that hospitable, but at least there are no deadly spid---<br>
(the writing trails off, as if the writer was interrupted)<br>
"}
@@ -1,4 +1,3 @@
// --------------------------------------------------------------------------------
// ----------------- TERROR SPIDERS: T5 EMPRESS OF TERROR -------------------------
// --------------------------------------------------------------------------------
@@ -45,12 +45,12 @@
/mob/living/simple_animal/hostile/poison/terror_spider/gray/adjustBruteLoss(damage)
..(damage)
if(invisibility > 0 || icon_state == "terror_gray_cloaked")
if(invisibility > 0)
GrayDeCloak()
/mob/living/simple_animal/hostile/poison/terror_spider/gray/adjustFireLoss(damage)
..(damage)
if(invisibility > 0 || icon_state == "terror_gray_cloaked")
if(invisibility > 0)
GrayDeCloak()
/mob/living/simple_animal/hostile/poison/terror_spider/gray/Aggro()
@@ -58,7 +58,7 @@
..()
/mob/living/simple_animal/hostile/poison/terror_spider/gray/AttackingTarget()
if(invisibility > 0 || icon_state == "terror_gray_cloaked")
if(invisibility > 0)
GrayDeCloak()
else
..()
@@ -41,7 +41,7 @@
degenerate = 1
Q.DoLayTerrorEggs(/mob/living/simple_animal/hostile/poison/terror_spider/purple,1,0)
visible_message("<span class='notice'>[src] chitters in the direction of [Q]!</span>")
..()
. = ..()
/mob/living/simple_animal/hostile/poison/terror_spider/purple/spider_specialattack(mob/living/carbon/human/L, poisonable)
if(cycles_noqueen < 6 && prob(10))
@@ -95,68 +95,69 @@
// --------------------------------------------------------------------------------
/mob/living/simple_animal/hostile/poison/terror_spider/handle_automated_action()
if(!stat && !ckey) // if we are not dead, and we're not player controlled
if(AIStatus != AI_OFF && !target)
var/my_ventcrawl_freq = freq_ventcrawl_idle
if(ts_count_dead > 0)
if(world.time < (ts_death_last + ts_death_window))
my_ventcrawl_freq = freq_ventcrawl_combat
// First, check for general actions that any spider could take.
if(path_to_vent)
if(entry_vent)
if(spider_steps_taken > spider_max_steps)
path_to_vent = 0
stop_automated_movement = 0
spider_steps_taken = 0
path_to_vent = 0
entry_vent = null
else if(get_dist(src, entry_vent) <= 1)
path_to_vent = 0
stop_automated_movement = 1
spider_steps_taken = 0
spawn(50)
stop_automated_movement = 0
TSVentCrawlRandom(entry_vent)
else
spider_steps_taken++
CreatePath(entry_vent)
step_to(src,entry_vent)
if(spider_debug > 0)
visible_message("<span class='notice'>[src] moves towards the vent [entry_vent].</span>")
else
if (stat || ckey)
return ..()
if(AIStatus != AI_OFF && !target)
var/my_ventcrawl_freq = freq_ventcrawl_idle
if(ts_count_dead > 0)
if(world.time < (ts_death_last + ts_death_window))
my_ventcrawl_freq = freq_ventcrawl_combat
// First, check for general actions that any spider could take.
if(path_to_vent)
if(entry_vent)
if(spider_steps_taken > spider_max_steps)
path_to_vent = 0
else if(ai_break_lights && world.time > (last_break_light + freq_break_light))
last_break_light = world.time
for(var/obj/machinery/light/L in range(1, src))
if(!L.status)
step_to(src,L)
L.on = 1
L.broken()
L.do_attack_animation(src)
visible_message("<span class='danger'>[src] smashes the [L.name].</span>")
break
else if(ai_spins_webs && world.time > (last_spins_webs + freq_spins_webs))
last_spins_webs = world.time
var/obj/effect/spider/terrorweb/T = locate() in get_turf(src)
if(!T)
new /obj/effect/spider/terrorweb(get_turf(src))
visible_message("<span class='notice'>[src] puts up some spider webs.</span>")
else if(ai_ventcrawls && world.time > (last_ventcrawl_time + my_ventcrawl_freq))
if(prob(idle_ventcrawl_chance))
last_ventcrawl_time = world.time
var/vdistance = 99
for(var/obj/machinery/atmospherics/unary/vent_pump/v in view(10, src))
if(!v.welded)
if(get_dist(src,v) < vdistance)
entry_vent = v
vdistance = get_dist(src,v)
if(entry_vent)
path_to_vent = 1
stop_automated_movement = 0
spider_steps_taken = 0
path_to_vent = 0
entry_vent = null
else if(get_dist(src, entry_vent) <= 1)
path_to_vent = 0
stop_automated_movement = 1
spider_steps_taken = 0
spawn(50)
stop_automated_movement = 0
TSVentCrawlRandom(entry_vent)
else
spider_steps_taken++
CreatePath(entry_vent)
step_to(src,entry_vent)
if(spider_debug > 0)
visible_message("<span class='notice'>[src] moves towards the vent [entry_vent].</span>")
else
// If none of the general actions apply, check for class-specific actions.
spider_special_action()
else if(AIStatus != AI_OFF && target)
CreatePath(target)
path_to_vent = 0
else if(ai_break_lights && world.time > (last_break_light + freq_break_light))
last_break_light = world.time
for(var/obj/machinery/light/L in range(1, src))
if(!L.status)
step_to(src,L)
L.on = 1
L.broken()
L.do_attack_animation(src)
visible_message("<span class='danger'>[src] smashes the [L.name].</span>")
break
else if(ai_spins_webs && world.time > (last_spins_webs + freq_spins_webs))
last_spins_webs = world.time
var/obj/effect/spider/terrorweb/T = locate() in get_turf(src)
if(!T)
new /obj/effect/spider/terrorweb(get_turf(src))
visible_message("<span class='notice'>[src] puts up some spider webs.</span>")
else if(ai_ventcrawls && world.time > (last_ventcrawl_time + my_ventcrawl_freq))
if(prob(idle_ventcrawl_chance))
last_ventcrawl_time = world.time
var/vdistance = 99
for(var/obj/machinery/atmospherics/unary/vent_pump/v in view(10, src))
if(!v.welded)
if(get_dist(src,v) < vdistance)
entry_vent = v
vdistance = get_dist(src,v)
if(entry_vent)
path_to_vent = 1
else
// If none of the general actions apply, check for class-specific actions.
spider_special_action()
else if(AIStatus != AI_OFF && target)
CreatePath(target)
..()
/mob/living/simple_animal/hostile/poison/terror_spider/adjustBruteLoss(damage)
@@ -180,7 +181,7 @@
var/mob/living/M = A
if(!("terrorspiders" in M.faction))
enemies |= M
visible_message("<span class='danger'>[src] glares at [M]! </span>")
visible_message("<span class='danger'>[src] glares at [M]!</span>")
else if(istype(A, /obj/mecha))
var/obj/mecha/M = A
if(M.occupant)
@@ -227,7 +228,6 @@
chasecycles = 0
/mob/living/simple_animal/hostile/poison/terror_spider/proc/ClearObstacle(turf/target_turf)
// ***** This does not allow spiders to smash windoors (e.g: UO71 bar windoor)
var/list/valid_obstacles = list(/obj/structure/window, /obj/structure/closet, /obj/structure/table, /obj/structure/grille, /obj/structure/rack, /obj/machinery/door/window)
for(var/dir in cardinal) // North, South, East, West
var/obj/structure/obstacle = locate(/obj/structure, get_step(src, dir))