mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 11:37:40 +01:00
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:
co-authored by
Sirryan2002
parent
d08786fe8b
commit
ba1fa9fb63
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user