More fixes

This commit is contained in:
ZomgPonies
2013-11-29 11:10:31 -05:00
parent 89d8abada2
commit 461bd52462
4 changed files with 40 additions and 5 deletions
+8 -3
View File
@@ -79,9 +79,10 @@ Growing it to term with nothing injected will grab a ghost from the observers. *
if(source && source.stat == 2 && source.client && source.ckey && config.revival_pod_plants)
transfer_personality(source.client)
else // If no sample was injected or revival is not allowed, we grab an interested observer.
message_admins("Requesting player for nymph")
request_player()
spawn(75) //If we don't have a ghost or the ghost is now unplayed, we just give the harvester some seeds.
spawn(100) //If we don't have a ghost or the ghost is now unplayed, we just give the harvester some seeds.
if(!found_player)
parent.visible_message("The pod has formed badly, and all you can do is salvage some of the seeds.")
var/seed_count = 1
@@ -98,16 +99,20 @@ Growing it to term with nothing injected will grab a ghost from the observers. *
/obj/item/seeds/replicapod/proc/request_player()
for(var/mob/O in respawnable_list)
if(O.client)
message_admins("Found client for nymph")
if(O.client.prefs.be_special & BE_PLANT)
message_admins("Questioning client for nymph")
question(O.client)
/obj/item/seeds/replicapod/proc/question(var/client/C)
spawn(0)
if(!C) return
message_admins("Sending popup for nymph")
var/response = alert(C, "Someone is harvesting a replica pod. Would you like to play as a Dionaea?", "Replica pod harvest", "Yes", "No", "Never for this round.")
if(!C || ckey)
return
if(response == "Yes")
message_admins("Transferring personality for nymph")
transfer_personality(C)
else if (response == "Never for this round")
C.prefs.be_special ^= BE_PLANT
@@ -115,11 +120,11 @@ Growing it to term with nothing injected will grab a ghost from the observers. *
/obj/item/seeds/replicapod/proc/transfer_personality(var/client/player)
if(!player) return
respawnable_list -= player
found_player = 1
var/mob/living/carbon/monkey/diona/podman = new(parent.loc)
podman.ckey = player.ckey
respawnable_list -= player
if(player.mob && player.mob.mind)
player.mob.mind.transfer_to(podman)
@@ -20,7 +20,7 @@
icon_living = "spiderbot-chassis"
icon_dead = "spiderbot-smashed"
wander = 0
universal_speak = 1
health = 10
maxHealth = 10
+1 -1
View File
@@ -932,7 +932,7 @@ mob/verb/yank_out_object()
if(usr in respawnable_list)
var/list/creatures = list("Mouse")
for(var/mob/living/simple_animal/S in living_mob_list)
if(safe_animal(S.type))
if(safe_animal_respawn(S.type))
if(!S.key)
creatures += S
var/picked = input("Please select a creature to respawn as", "Respawn as Mindless Creature") as null|anything in creatures
+30
View File
@@ -380,3 +380,33 @@
return 1 // ZOMG PONIES WHEEE
//Not in here? Must be untested!
return 0
/mob/proc/safe_animal_respawn(var/MP)
//Bad mobs! - Remember to add a comment explaining what's wrong with the mob
if(!MP)
return 0 //Sanity, this should never happen.
//Good mobs!
if(ispath(MP, /mob/living/simple_animal/cat))
return 1
if(ispath(MP, /mob/living/simple_animal/corgi))
return 1
if(ispath(MP, /mob/living/simple_animal/crab))
return 1
if(ispath(MP, /mob/living/simple_animal/chicken))
return 1
if(ispath(MP, /mob/living/simple_animal/cow))
return 1
if(ispath(MP, /mob/living/simple_animal/parrot))
return 1
if(ispath(MP, /mob/living/simple_animal/pony))
return 1
if(ispath(MP, /mob/living/simple_animal/hostile/carp))
return 1
if(ispath(MP, /mob/living/simple_animal/hostile/bear))
return 1
//Not in here? Must be untested!
return 0