Admins now have an 'Animalize' button on mob player panels. This allows an admin to turn a mob into any simple_animal they wish.

Unfortunately I had to disallow certain animal types until they can be fixed.

- Mice: I know, it sucks. Mice were the reason I started making this button to begin with, and it's something that both players and admins are requesting. The problem is that when a mob is turned into a mouse, for some reason it becomes impossible to pull up their player panel. If that gets fixed, I'll allow this button to turn players into mice.

- Space Bears: The bear's AI does not seem to turn off when it is player controlled. Basically the bear will automatically maul nearby players to death and spam emotes regardless of the player's actions or inaction.

- Parrots: They are unfinished. They have no sprite, no movement and are completely untested. They were one of Poly's creations that never ended up getting finished. I like the idea of parrots though, someone should work on them!

- Space Worms: Another unfinished project. Currently they drop new space worms when the player moves and you can end up eating your own tail. Eating your tail drops a new space worm and regenerates your tail. I only spent about 15 seconds as a space worm, so there are probably more issues.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4557 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
johnsonmt88@gmail.com
2012-08-27 02:51:07 +00:00
parent fbd575f6ef
commit 4406c057c9
4 changed files with 127 additions and 1 deletions

View File

@@ -1081,6 +1081,17 @@ var/global/BSACooldown = 0
else
alert("You cannot perform this action. You must be of a higher administrative rank!")
return
if (href_list["makeanimal"])
if(src.level>=3)
var/mob/M = locate(href_list["makeanimal"])
if(!istype(M, /mob/new_player))
usr.client.cmd_admin_animalize(M)
else
alert("The mob must not be a new_player.")
return
else
alert("You cannot perform this action. You must be of a higher administrative rank!")
return
/***************** BEFORE**************
if (href_list["l_players"])
@@ -2307,6 +2318,12 @@ var/global/BSACooldown = 0
body += "<A href='?src=\ref[src];makealien=\ref[M]'>Make Alien</A> | "
body += "<A href='?src=\ref[src];makemetroid=\ref[M]'>Make Metroid</A> "
//Simple Animals
if(isanimal(M))
body += "<A href='?src=\ref[src];makeanimal=\ref[M]'>Re-Animalize</A> | "
else
body += "<A href='?src=\ref[src];makeanimal=\ref[M]'>Animalize</A> | "
body += "<br><br>"
body += "<b>Rudimentary transformation:</b><font size=2><br>These transformations only create a new mob type and copy stuff over. They do not take into account MMIs and similar mob-specific things. The buttons in 'Transformations' are preferred, when possible.</font><br>"
body += "<A href='?src=\ref[src];simplemake=observer;mob=\ref[M]'>Observer</A> | "

View File

@@ -172,6 +172,27 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
else
alert("Invalid mob")
/client/proc/cmd_admin_animalize(var/mob/M in mob_list)
set category = "Fun"
set name = "Make Simple Animal"
if(!ticker)
alert("Wait until the game starts")
return
if(!M)
alert("That mob doesn't seem to exist, close the panel and try again.")
return
if(istype(M, /mob/new_player))
alert("The mob must not be a new_player.")
return
log_admin("[key_name(src)] has animalized [M.key].")
spawn(10)
M.Animalize()
/client/proc/makepAI(var/turf/T in mob_list)
set category = "Fun"
set name = "Make pAI"

View File

@@ -269,4 +269,87 @@
new_corgi << "<B>You are now a Corgi. Yap Yap!</B>"
spawn(0)//To prevent the proc from returning null.
del(src)
return
return
/mob/living/carbon/human/Animalize()
var/list/mobtypes = typesof(/mob/living/simple_animal)
var/mobpath = input("Which type of mob should [src] turn into?", "Choose a type") in mobtypes
if(bad_animal(mobpath))
usr << "\red Sorry but this mob type is currently unavailable."
return
if(monkeyizing)
return
for(var/obj/item/W in src)
drop_from_inventory(W)
regenerate_icons()
monkeyizing = 1
canmove = 0
icon = null
invisibility = 101
for(var/t in organs)
del(t)
var/mob/new_mob = new mobpath(src.loc)
new_mob.key = key
new_mob.a_intent = "hurt"
new_mob.UI = UI
new_mob << "You suddenly feel more... animalistic."
spawn()
del(src)
return
/mob/proc/Animalize()
var/list/mobtypes = typesof(/mob/living/simple_animal)
var/mobpath = input("Which type of mob should [src] turn into?", "Choose a type") in mobtypes
if(bad_animal(mobpath))
usr << "\red Sorry but this mob type is currently unavailable."
return
var/mob/new_mob = new mobpath(src.loc)
new_mob.key = key
new_mob.a_intent = "hurt"
new_mob.UI = UI
new_mob << "You feel more... animalistic"
del(src)
//Certain mob types either do not work, or have major problems and should now be allowed to be controlled by players.
/mob/proc/bad_animal(var/MP)
//Sanity, this should never happen.
if(!MP || !ispath(MP, /mob/living/simple_animal))
return 1
//It is impossible to pull up the player panel for mice
if(ispath(MP, /mob/living/simple_animal/mouse))
return 1
//Bears will auto-attack mobs, even if they're player controlled
if(ispath(MP, /mob/living/simple_animal/bear))
return 1
//Parrots are unfinished, they have no sprite, movement, ect...
else if(ispath(MP, /mob/living/simple_animal/parrot))
return 1
//Very buggy, they seem to just spawn additional space worms everywhere and eating your own tail results in new worms spawning.
else if(ispath(MP, /mob/living/simple_animal/space_worm))
return 1
//No problems found!
else
return 0

View File

@@ -49,6 +49,11 @@ should be listed in the changelog upon commit tho. Thanks. -->
<!-- To take advantage of the pretty new format (well it was new when I wrote this anyway), open the "add-to-changelog.html" file in any browser and add the stuff and then generate the html code and paste it here -->
<div class="commit sansserif">
<h2 class="date">August 26, 2012</h2>
<h3 class="author">Nodrak updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Admins now have an 'Animalize' button on a mob's player panel. This button allows admins to turn players into simple animals.<br>There are a few exceptions. Mice, Parrots, Bears and Space Worms all have issues that, until fixed, prevent me from allowing players those transformations.</li>
</ul>
<h2 class="date">August 25, 2012</h2>
<h3 class="author">Carnwennan updated:</h3>
<ul class="changes bgimages16">