Resprites Xeno structures. Adds Xeno Doors. Fixes and polishes a lot of issues and features of Xenos (#19978)

* Benodoor1

* TheScopeOfThisPRisOutTheWindow

* BalancesDoor+GoodSounds

* Fixes Map Issues(?) - Mapedit by Lightfire

* FixesMapIssues for good

* Nests+WallWeeds(WIP)

* Doorforcing

* EggSprite

* Weed,Carbon,Wallchecks

* Spelling+cleanercomment1

* ReviewBatchTest

Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>

* Sirryan'sReviewBatchTest

Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>

* Sirryan'sReviewFinalBatch

Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>

* MoreFixesForReview

* Initializes+UserFeedbackWarns

* ForgorWallweedName

* SeanRequestsPart1

* SeanPart2

* SirryanReviewPart1

Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>

* TheWeedening

* SirryanReviewPart2

* CleaningLayer

* SirryanReviewPart1

Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>

* SirryanReviewPart2

* SirryanReview

Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>

* RemovingOldSprites

Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>
This commit is contained in:
Eric6426-Blossom
2023-01-10 17:03:43 -05:00
committed by GitHub
co-authored by Sirryan2002
parent d08786fe8b
commit ba1fa9fb63
23 changed files with 356 additions and 97 deletions
@@ -28,9 +28,14 @@ Doesn't work on other aliens/AI.*/
return
if(powerc(50,1))
for(var/obj/structure/alien/resin in get_turf(src))
to_chat(src, "<span class='danger'>There is already a resin construction here.</span>")
return
adjustPlasma(-50)
for(var/mob/O in viewers(src, null))
O.show_message(text("<span class='alertalien'>[src] has planted some alien weeds!</span>"), 1)
for(var/obj/structure/alien/weeds/W in get_turf(src))
qdel(W)
new /obj/structure/alien/weeds/node(loc)
return
@@ -114,29 +119,39 @@ Doesn't work on other aliens/AI.*/
return
/mob/living/carbon/alien/humanoid/proc/resin() // -- TLE
set name = "Secrete Resin (55)"
set name = "Secrete Resin"
set desc = "Secrete tough malleable resin."
set category = "Alien"
var/list/resin_buildings = list("Resin Wall (55)" = image(icon = 'icons/obj/smooth_structures/alien/resin_wall.dmi', icon_state = "resin_wall-0"),
"Resin Nest (55)" = image(icon = 'icons/mob/alien.dmi', icon_state = "nest"),
"Resin Door (80)" = image(icon = 'icons/obj/smooth_structures/alien/resin_door.dmi', icon_state = "resin"))
var/choice = show_radial_menu(src, src, resin_buildings, src, radius = 40)
if(powerc(55, TRUE))
var/choice = input("Choose what you wish to shape.","Resin building") as null|anything in list("resin wall","resin membrane","resin nest") //would do it through typesof but then the player choice would have the type path and we don't want the internal workings to be exposed ICly - Urist
if(!choice || !powerc(55, TRUE))
return
var/obj/structure/alien/resin/T = locate() in get_turf(src)
if(T)
var/built = FALSE
if(locate(/obj/structure/alien/resin) in get_turf(src))
to_chat(src, "<span class='danger'>There is already a resin construction here.</span>")
return
adjustPlasma(-55)
for(var/mob/O in viewers(src, null))
O.show_message(text("<span class='alertalien'>[src] vomits up a thick purple substance and shapes it!</span>"), 1)
switch(choice)
if("resin wall")
if("Resin Wall (55)")
new /obj/structure/alien/resin/wall(loc)
if("resin membrane")
new /obj/structure/alien/resin/membrane(loc)
if("resin nest")
built = TRUE
if("Resin Nest (55)")
new /obj/structure/bed/nest(loc)
built = TRUE
if("Resin Door (80)")
if(powerc(25, TRUE))
var/obj/structure/alien/resin/door/door = new(loc)
door.dir = dir
adjustPlasma(-25)
built = TRUE
else
to_chat(src, "<span class='noticealien'>Not enough plasma stored.</span>")
adjustPlasma(55)
if(built)
visible_message("<span class='alertalien'>[src] vomits up a thick purple substance and shapes it!</span>")
return
/mob/living/carbon/alien/humanoid/verb/regurgitate()
@@ -15,14 +15,15 @@
alien_slash_damage = 30 //Queens do higher slashing damage to people
alien_movement_delay = 1 //This represents a movement delay of 1, or roughly 80% the movement speed of a normal carbon mob
/mob/living/carbon/alien/humanoid/queen/Initialize(mapload)
. = ..()
//there should only be one queen
for(var/mob/living/carbon/alien/humanoid/queen/Q in GLOB.alive_mob_list)
if(Q == src)
ADD_TRAIT(Q, TRAIT_FORCE_DOORS, VAMPIRE_TRAIT)
continue
if(Q.stat == DEAD)
ADD_TRAIT(Q, TRAIT_FORCE_DOORS, VAMPIRE_TRAIT)
continue
if(Q.client)
name = "alien princess ([rand(1, 999)])" //if this is too cutesy feel free to change it/remove it.