mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-27 14:07:51 +01:00
Tiger changes
This commit is contained in:
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user