mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-18 14:12:20 +00:00
@@ -25,7 +25,7 @@
|
|||||||
/datum/seed/proc/request_player(var/mob/living/host)
|
/datum/seed/proc/request_player(var/mob/living/host)
|
||||||
if(!host) return
|
if(!host) return
|
||||||
for(var/mob/dead/observer/O in player_list)
|
for(var/mob/dead/observer/O in player_list)
|
||||||
if(jobban_isbanned(O, "Dionaea") || (!is_alien_whitelisted(O, "Diona") && config.usealienwhitelist))
|
if(jobban_isbanned(O, "Dionaea"))
|
||||||
continue
|
continue
|
||||||
if(O.client)
|
if(O.client)
|
||||||
if(O.client.prefs.be_special & BE_PLANT && !(O.client in currently_querying))
|
if(O.client.prefs.be_special & BE_PLANT && !(O.client in currently_querying))
|
||||||
|
|||||||
@@ -58,6 +58,7 @@
|
|||||||
desc = "It's a tiny plant critter."
|
desc = "It's a tiny plant critter."
|
||||||
icon_state = "nymph"
|
icon_state = "nymph"
|
||||||
origin_tech = "magnets=3;biotech=5"
|
origin_tech = "magnets=3;biotech=5"
|
||||||
|
slot_flags = SLOT_HEAD | SLOT_OCLOTHING
|
||||||
|
|
||||||
/obj/item/weapon/holder/drone
|
/obj/item/weapon/holder/drone
|
||||||
name = "maintenance drone"
|
name = "maintenance drone"
|
||||||
|
|||||||
@@ -12,8 +12,8 @@
|
|||||||
var/list/donors = list()
|
var/list/donors = list()
|
||||||
var/last_checked_stage = 0
|
var/last_checked_stage = 0
|
||||||
|
|
||||||
universal_understand = 0 // Dionaea do not need to speak to people
|
universal_understand = 1
|
||||||
universal_speak = 0 // before becoming an adult. Use *chirp.
|
universal_speak = 0 // Dionaea do not need to speak to people other than other dionaea.
|
||||||
holder_type = /obj/item/weapon/holder/diona
|
holder_type = /obj/item/weapon/holder/diona
|
||||||
|
|
||||||
/mob/living/carbon/alien/diona/New()
|
/mob/living/carbon/alien/diona/New()
|
||||||
|
|||||||
@@ -5,6 +5,9 @@
|
|||||||
set name = "Merge with gestalt"
|
set name = "Merge with gestalt"
|
||||||
set desc = "Merge with another diona."
|
set desc = "Merge with another diona."
|
||||||
|
|
||||||
|
if(stat == DEAD || paralysis || weakened || stunned || restrained())
|
||||||
|
return
|
||||||
|
|
||||||
if(istype(src.loc,/mob/living/carbon))
|
if(istype(src.loc,/mob/living/carbon))
|
||||||
src.verbs -= /mob/living/carbon/alien/diona/proc/merge
|
src.verbs -= /mob/living/carbon/alien/diona/proc/merge
|
||||||
return
|
return
|
||||||
@@ -40,6 +43,9 @@
|
|||||||
set name = "Split from gestalt"
|
set name = "Split from gestalt"
|
||||||
set desc = "Split away from your gestalt as a lone nymph."
|
set desc = "Split away from your gestalt as a lone nymph."
|
||||||
|
|
||||||
|
if(stat == DEAD || paralysis || weakened || stunned || restrained())
|
||||||
|
return
|
||||||
|
|
||||||
if(!(istype(src.loc,/mob/living/carbon)))
|
if(!(istype(src.loc,/mob/living/carbon)))
|
||||||
src.verbs -= /mob/living/carbon/alien/diona/proc/split
|
src.verbs -= /mob/living/carbon/alien/diona/proc/split
|
||||||
return
|
return
|
||||||
@@ -64,6 +70,9 @@
|
|||||||
set name = "Steal Blood"
|
set name = "Steal Blood"
|
||||||
set desc = "Take a blood sample from a suitable donor."
|
set desc = "Take a blood sample from a suitable donor."
|
||||||
|
|
||||||
|
if(stat == DEAD || paralysis || weakened || stunned || restrained())
|
||||||
|
return
|
||||||
|
|
||||||
var/list/choices = list()
|
var/list/choices = list()
|
||||||
for(var/mob/living/carbon/human/H in oview(1,src))
|
for(var/mob/living/carbon/human/H in oview(1,src))
|
||||||
if(src.Adjacent(H))
|
if(src.Adjacent(H))
|
||||||
|
|||||||
@@ -61,28 +61,28 @@
|
|||||||
silent = 0
|
silent = 0
|
||||||
else
|
else
|
||||||
updatehealth()
|
updatehealth()
|
||||||
|
handle_stunned()
|
||||||
|
handle_weakened()
|
||||||
if(health <= 0)
|
if(health <= 0)
|
||||||
death()
|
death()
|
||||||
blinded = 1
|
blinded = 1
|
||||||
silent = 0
|
silent = 0
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
if(paralysis)
|
if(paralysis && paralysis > 0)
|
||||||
AdjustParalysis(-1)
|
handle_paralysed()
|
||||||
blinded = 1
|
blinded = 1
|
||||||
stat = UNCONSCIOUS
|
stat = UNCONSCIOUS
|
||||||
if(halloss > 0)
|
if(halloss > 0)
|
||||||
adjustHalLoss(-3)
|
adjustHalLoss(-3)
|
||||||
else if(sleeping)
|
|
||||||
|
|
||||||
|
if(sleeping)
|
||||||
adjustHalLoss(-3)
|
adjustHalLoss(-3)
|
||||||
if (mind)
|
if (mind)
|
||||||
if((mind.active && client != null) || immune_to_ssd)
|
if((mind.active && client != null) || immune_to_ssd)
|
||||||
sleeping = max(sleeping-1, 0)
|
sleeping = max(sleeping-1, 0)
|
||||||
blinded = 1
|
blinded = 1
|
||||||
stat = UNCONSCIOUS
|
stat = UNCONSCIOUS
|
||||||
|
|
||||||
else if(resting)
|
else if(resting)
|
||||||
if(halloss > 0)
|
if(halloss > 0)
|
||||||
adjustHalLoss(-3)
|
adjustHalLoss(-3)
|
||||||
|
|||||||
@@ -6,6 +6,9 @@
|
|||||||
set name = "Fertilize plant"
|
set name = "Fertilize plant"
|
||||||
set desc = "Turn your food into nutrients for plants."
|
set desc = "Turn your food into nutrients for plants."
|
||||||
|
|
||||||
|
if(stat == DEAD || paralysis || weakened || stunned || restrained())
|
||||||
|
return
|
||||||
|
|
||||||
var/list/trays = list()
|
var/list/trays = list()
|
||||||
for(var/obj/machinery/portable_atmospherics/hydroponics/tray in range(1))
|
for(var/obj/machinery/portable_atmospherics/hydroponics/tray in range(1))
|
||||||
if(tray.nutrilevel < 10 && src.Adjacent(tray))
|
if(tray.nutrilevel < 10 && src.Adjacent(tray))
|
||||||
@@ -25,6 +28,9 @@
|
|||||||
set name = "Eat Weeds"
|
set name = "Eat Weeds"
|
||||||
set desc = "Clean the weeds out of soil or a hydroponics tray."
|
set desc = "Clean the weeds out of soil or a hydroponics tray."
|
||||||
|
|
||||||
|
if(stat == DEAD || paralysis || weakened || stunned || restrained())
|
||||||
|
return
|
||||||
|
|
||||||
var/list/trays = list()
|
var/list/trays = list()
|
||||||
for(var/obj/machinery/portable_atmospherics/hydroponics/tray in range(1))
|
for(var/obj/machinery/portable_atmospherics/hydroponics/tray in range(1))
|
||||||
if(tray.weedlevel > 0 && src.Adjacent(tray))
|
if(tray.weedlevel > 0 && src.Adjacent(tray))
|
||||||
|
|||||||
@@ -457,8 +457,9 @@
|
|||||||
set name = "Resist"
|
set name = "Resist"
|
||||||
set category = "IC"
|
set category = "IC"
|
||||||
|
|
||||||
if(!isliving(usr) || usr.next_move > world.time)
|
if(usr.stat || !isliving(usr) || usr.next_move > world.time)
|
||||||
return
|
return
|
||||||
|
|
||||||
usr.next_move = world.time + 20
|
usr.next_move = world.time + 20
|
||||||
|
|
||||||
var/mob/living/L = usr
|
var/mob/living/L = usr
|
||||||
|
|||||||
@@ -2,14 +2,20 @@
|
|||||||
set name = "Crawl through Vent"
|
set name = "Crawl through Vent"
|
||||||
set desc = "Enter an air vent and crawl through the pipe system."
|
set desc = "Enter an air vent and crawl through the pipe system."
|
||||||
set category = "Abilities"
|
set category = "Abilities"
|
||||||
handle_ventcrawl()
|
|
||||||
|
if(stat == DEAD || paralysis || weakened || stunned || restrained())
|
||||||
return
|
return
|
||||||
|
|
||||||
|
handle_ventcrawl()
|
||||||
|
|
||||||
/mob/living/proc/hide()
|
/mob/living/proc/hide()
|
||||||
set name = "Hide"
|
set name = "Hide"
|
||||||
set desc = "Allows to hide beneath tables or certain items. Toggled on or off."
|
set desc = "Allows to hide beneath tables or certain items. Toggled on or off."
|
||||||
set category = "Abilities"
|
set category = "Abilities"
|
||||||
|
|
||||||
|
if(stat == DEAD || paralysis || weakened || stunned || restrained())
|
||||||
|
return
|
||||||
|
|
||||||
if (layer != TURF_LAYER+0.2)
|
if (layer != TURF_LAYER+0.2)
|
||||||
layer = TURF_LAYER+0.2
|
layer = TURF_LAYER+0.2
|
||||||
src << text("\blue You are now hiding.")
|
src << text("\blue You are now hiding.")
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 151 KiB After Width: | Height: | Size: 151 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 153 KiB After Width: | Height: | Size: 153 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 262 KiB After Width: | Height: | Size: 262 KiB |
Reference in New Issue
Block a user