add verb to cham, general improvements

This commit is contained in:
datlo
2019-01-07 06:35:22 +00:00
parent d66b8d9f20
commit b8fac2681f
3 changed files with 41 additions and 28 deletions
@@ -57,27 +57,37 @@
modtype = "Syndicate Saboteur"
designation = "Syndicate Saboteur"
var/mail_destination = 0
var/obj/item/borg_chameleon/active_proj = null
var/obj/item/borg_chameleon/cham_proj = null
playstyle_string = "<span class='userdanger'>You are a Syndicate saboteur cyborg!</span><br>\
<b>You are equipped with robust engineering tools to aid you in your mission: help the operatives secure the nuclear authentication disk. \
Your destination tagger will allow you to stealthily traverse the disposal network across the station \
Your built-in mail tagger will allow you to stealthily traverse the disposal network across the station. \
Your cyborg chameleon projector allows you to assume the appearance of a Nanotrasen engineering cyborg, and undertake covert actions on the station. \
You are able to hijack Nanotrasen cyborgs by emagging their internal components, make sure to flash them first. \
You are armed with a standard energy sword, use it to ambush key targets if needed.\
Be aware that taking damage or being touched will break your disguise. \
Be aware that taking damage will break your disguise. \
<i>Help the operatives secure the disk at all costs!</i></b>"
/mob/living/silicon/robot/syndicate/saboteur/init()
..()
module = new /obj/item/robot_module/syndicate_saboteur(src)
/mob/living/silicon/robot/verb/modify_name()
set name = "Modify name"
/mob/living/silicon/robot/syndicate/saboteur/verb/modify_name()
set name = "Modify Name"
set desc = "Change your systems' registered name to fool Nanotrasen systems. No cost."
set category = "Saboteur"
rename_self(braintype, 1)
rename_self(braintype, TRUE, TRUE)
/mob/living/silicon/robot/syndicate/saboteur/verb/toggle_chameleon()
set name = "Toggle Chameleon Projector"
set desc = "Change your appearance to a Nanotrasen cyborg. Costs power to use and maintain."
set category = "Saboteur"
if(cham_proj)
cham_proj.attack_self(src)
else
to_chat("<span class='warning'>Error : No chameleon projector system found.</span>")
/mob/living/silicon/robot/syndicate/saboteur/verb/set_mail_tag()
set name = "Set mail tag"
set name = "Set Mail Tag"
set desc = "Tag yourself for delivery through the disposals system."
set category = "Saboteur"
@@ -99,31 +109,31 @@
return
/mob/living/silicon/robot/syndicate/saboteur/attackby()
if(active_proj)
active_proj.disrupt(src)
if(cham_proj)
cham_proj.disrupt(src)
..()
/mob/living/silicon/robot/syndicate/saboteur/attack_hand()
if(active_proj)
active_proj.disrupt(src)
if(cham_proj)
cham_proj.disrupt(src)
..()
/mob/living/silicon/robot/syndicate/saboteur/ex_act()
if(active_proj)
active_proj.disrupt(src)
if(cham_proj)
cham_proj.disrupt(src)
..()
/mob/living/silicon/robot/syndicate/saboteur/emp_act()
if(active_proj)
active_proj.disrupt(src)
if(cham_proj)
cham_proj.disrupt(src)
..()
/mob/living/silicon/robot/syndicate/saboteur/bullet_act()
if(active_proj)
active_proj.disrupt(src)
if(cham_proj)
cham_proj.disrupt(src)
..()
/mob/living/silicon/robot/syndicate/saboteur/attackby()
if(active_proj)
active_proj.disrupt(src)
if(cham_proj)
cham_proj.disrupt(src)
..()
+6 -3
View File
@@ -560,7 +560,7 @@ var/list/intents = list(INTENT_HELP,INTENT_DISARM,INTENT_GRAB,INTENT_HARM)
objective.explanation_text = copytext(objective.explanation_text, 1, pos)+newname+copytext(objective.explanation_text, pos+length)
return 1
/mob/proc/rename_self(var/role, var/allow_numbers=0)
/mob/proc/rename_self(var/role, var/allow_numbers = FALSE, var/force = FALSE)
spawn(0)
var/oldname = real_name
@@ -568,8 +568,11 @@ var/list/intents = list(INTENT_HELP,INTENT_DISARM,INTENT_GRAB,INTENT_HARM)
var/newname
for(var/i=1,i<=3,i++) //we get 3 attempts to pick a suitable name.
newname = input(src, "You are a [role]. Would you like to change your name to something else? (You have 3 minutes to select a new name.)", "Name Change", oldname) as text
if((world.time - time_passed) > 1800)
if(force)
newname = input(src, "Pick a new name.", "Name Change", oldname) as text
else
newname = input(src, "You are a [role]. Would you like to change your name to something else? (You have 3 minutes to select a new name.)", "Name Change", oldname) as text
if(((world.time - time_passed) > 1800) && !force)
alert(src, "Unfortunately, more than 3 minutes have passed for selecting your name. If you are a robot, use the Namepick verb; otherwise, adminhelp.", "Name Change")
return //took too long
newname = reject_bad_name(newname,allow_numbers) //returns null if the name doesn't meet some basic requirements. Tidies up a few other things like bad-characters.