[MIRROR] Kills BOTH /poison paths by turning poisonous into an element. (+fantasty prefix, sanity on attackingtarget signal, and more) (#5586)

* Kills BOTH /poison paths by turning poisonous into an element. (+fantasty prefix, sanity on attackingtarget signal, and more) (#58882)

* Kills BOTH /poison paths by turning poisonous into an element. (+fantasty prefix, sanity on attackingtarget signal, and more)

* AAAAAAAA

* Update spellbook.dm

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
This commit is contained in:
SkyratBot
2021-05-10 15:12:34 +01:00
committed by GitHub
co-authored by tralezab Gandalf
parent c8c2931552
commit 01a2d62e9e
49 changed files with 333 additions and 252 deletions
+20 -20
View File
@@ -43,10 +43,10 @@
. = ..()
if(genetic)
return
if(istype(mover, /mob/living/simple_animal/hostile/poison/giant_spider))
if(istype(mover, /mob/living/simple_animal/hostile/giant_spider))
return TRUE
else if(isliving(mover))
if(istype(mover.pulledby, /mob/living/simple_animal/hostile/poison/giant_spider))
if(istype(mover.pulledby, /mob/living/simple_animal/hostile/giant_spider))
return TRUE
if(prob(50))
to_chat(mover, "<span class='danger'>You get stuck in \the [src] for a moment.</span>")
@@ -88,9 +88,9 @@
///Whether or not a ghost can use the cluster to become a spider.
var/ghost_ready = FALSE
///The types of spiders the egg sac could produce.
var/list/mob/living/potentialspawns = list(/mob/living/simple_animal/hostile/poison/giant_spider,
/mob/living/simple_animal/hostile/poison/giant_spider/hunter,
/mob/living/simple_animal/hostile/poison/giant_spider/nurse)
var/list/mob/living/potentialspawns = list(/mob/living/simple_animal/hostile/giant_spider,
/mob/living/simple_animal/hostile/giant_spider/hunter,
/mob/living/simple_animal/hostile/giant_spider/nurse)
/obj/structure/spider/eggcluster/Initialize()
pixel_x = base_pixel_x + rand(3,-3)
@@ -131,7 +131,7 @@
var/list/spider_list = list()
var/list/display_spiders = list()
for(var/choice in potentialspawns)
var/mob/living/simple_animal/hostile/poison/giant_spider/spider = choice
var/mob/living/simple_animal/hostile/giant_spider/spider = choice
spider_list[initial(spider.name)] = choice
var/datum/radial_menu_choice/option = new
@@ -145,7 +145,7 @@
chosen_spider = spider_list[chosen_spider]
if(QDELETED(src) || QDELETED(user) || !chosen_spider)
return FALSE
var/mob/living/simple_animal/hostile/poison/giant_spider/new_spider = new chosen_spider(src.loc)
var/mob/living/simple_animal/hostile/giant_spider/new_spider = new chosen_spider(src.loc)
new_spider.faction = faction.Copy()
new_spider.directive = directive
new_spider.key = user.key
@@ -155,19 +155,19 @@
/obj/structure/spider/eggcluster/enriched
name = "enriched egg cluster"
color = rgb(148,0,211)
potentialspawns = list(/mob/living/simple_animal/hostile/poison/giant_spider/tarantula,
/mob/living/simple_animal/hostile/poison/giant_spider/viper,
/mob/living/simple_animal/hostile/poison/giant_spider/midwife)
potentialspawns = list(/mob/living/simple_animal/hostile/giant_spider/tarantula,
/mob/living/simple_animal/hostile/giant_spider/viper,
/mob/living/simple_animal/hostile/giant_spider/midwife)
/obj/structure/spider/eggcluster/bloody
name = "bloody egg cluster"
color = rgb(255,0,0)
directive = "You are the spawn of a visicious changeling. You have no ambitions except to wreak havoc and ensure your own survival. You are aggressive to all living beings outside of your species, including changelings."
potentialspawns = list(/mob/living/simple_animal/hostile/poison/giant_spider/hunter/flesh)
potentialspawns = list(/mob/living/simple_animal/hostile/giant_spider/hunter/flesh)
/obj/structure/spider/eggcluster/midwife
name = "midwife egg cluster"
potentialspawns = list(/mob/living/simple_animal/hostile/poison/giant_spider/midwife)
potentialspawns = list(/mob/living/simple_animal/hostile/giant_spider/midwife)
directive = "Ensure the survival of the spider species and overtake whatever structure you find yourself in."
/obj/structure/spider/spiderling
@@ -196,19 +196,19 @@
AddComponent(/datum/component/swarming)
/obj/structure/spider/spiderling/hunter
grow_as = /mob/living/simple_animal/hostile/poison/giant_spider/hunter
grow_as = /mob/living/simple_animal/hostile/giant_spider/hunter
/obj/structure/spider/spiderling/nurse
grow_as = /mob/living/simple_animal/hostile/poison/giant_spider/nurse
grow_as = /mob/living/simple_animal/hostile/giant_spider/nurse
/obj/structure/spider/spiderling/midwife
grow_as = /mob/living/simple_animal/hostile/poison/giant_spider/midwife
grow_as = /mob/living/simple_animal/hostile/giant_spider/midwife
/obj/structure/spider/spiderling/viper
grow_as = /mob/living/simple_animal/hostile/poison/giant_spider/viper
grow_as = /mob/living/simple_animal/hostile/giant_spider/viper
/obj/structure/spider/spiderling/tarantula
grow_as = /mob/living/simple_animal/hostile/poison/giant_spider/tarantula
grow_as = /mob/living/simple_animal/hostile/giant_spider/tarantula
/obj/structure/spider/spiderling/Bump(atom/user)
if(istype(user, /obj/structure/table))
@@ -288,10 +288,10 @@
if(amount_grown >= 100)
if(!grow_as)
if(prob(3))
grow_as = pick(/mob/living/simple_animal/hostile/poison/giant_spider/tarantula, /mob/living/simple_animal/hostile/poison/giant_spider/viper, /mob/living/simple_animal/hostile/poison/giant_spider/midwife)
grow_as = pick(/mob/living/simple_animal/hostile/giant_spider/tarantula, /mob/living/simple_animal/hostile/giant_spider/viper, /mob/living/simple_animal/hostile/giant_spider/midwife)
else
grow_as = pick(/mob/living/simple_animal/hostile/poison/giant_spider, /mob/living/simple_animal/hostile/poison/giant_spider/hunter, /mob/living/simple_animal/hostile/poison/giant_spider/nurse)
var/mob/living/simple_animal/hostile/poison/giant_spider/S = new grow_as(src.loc)
grow_as = pick(/mob/living/simple_animal/hostile/giant_spider, /mob/living/simple_animal/hostile/giant_spider/hunter, /mob/living/simple_animal/hostile/giant_spider/nurse)
var/mob/living/simple_animal/hostile/giant_spider/S = new grow_as(src.loc)
S.faction = faction.Copy()
S.directive = directive
qdel(src)