diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index d61243116d..80aefacab1 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -377,8 +377,8 @@ var/list/sacrificed = list() "\red You hear liquid flowing.") D.real_name = "Unknown" for(var/obj/item/weapon/paper/P in this_rune.loc) - if(length(P.name)<=24) - D.real_name = P.name + if(P.info) + D.real_name = copytext(P.info, 1, MAX_NAME_LEN) break D.universal_speak = 1 D.nodamage = 0 diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index 375b54529a..ea759a357a 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -42,6 +42,7 @@ if(iswelder(W)) if(weld(W, user)) user << "You weld the assembly securely into place." + anchored = 1 state = 2 return @@ -67,6 +68,7 @@ if(weld(W, user)) user << "You unweld the assembly from it's place." state = 1 + anchored = 1 return @@ -96,14 +98,14 @@ else if(iswirecutter(W)) - new/obj/item/weapon/cable_coil(src.loc, 2) + new/obj/item/weapon/cable_coil(get_turf(src), 2) playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1) user << "You cut the wires from the circuits." state = 2 return // Upgrades! - if(is_type_in_list(W, possible_upgrades)) + if(is_type_in_list(W, possible_upgrades) && !is_type_in_list(W, upgrades)) // Is a possible upgrade and isn't in the camera already. user << "You attach the [W] into the assembly inner circuits." upgrades += W user.drop_item(W) @@ -116,7 +118,7 @@ if(U) user << "You unattach an upgrade from the assembly." playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) - U.loc = src.loc + U.loc = get_turf(src) upgrades -= U return diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index 97493ff3b4..340af7c605 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -66,7 +66,7 @@ var/obj/item/robot_parts/r_leg/r_leg = null var/obj/item/robot_parts/chest/chest = null var/obj/item/robot_parts/head/head = null - var/created_name = "Cyborg" + var/created_name = "" /obj/item/robot_parts/robot_suit/New() ..() @@ -194,8 +194,8 @@ user.drop_item() O.invisibility = 0 - O.name = created_name - O.real_name = created_name + O.custom_name = created_name + O.updatename("Default") M.brainmob.mind.transfer_to(O) diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index 5900065d4a..78734f9bb6 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -33,8 +33,7 @@ del(R.module) R.module = null R.modtype = "robot" - R.real_name = "Cyborg [R.ident]" - R.name = R.real_name + R.updatename("Default") R.nopush = 0 R.updateicon() diff --git a/code/modules/mob/living/carbon/alien/larva/life.dm b/code/modules/mob/living/carbon/alien/larva/life.dm index 76fb111c57..bb516d0677 100644 --- a/code/modules/mob/living/carbon/alien/larva/life.dm +++ b/code/modules/mob/living/carbon/alien/larva/life.dm @@ -64,7 +64,7 @@ proc/handle_mutations_and_radiation() //grow!! but not if metroid or dead - if(health>-100 && amount_grown < max_grown) + if(stat != DEAD && amount_grown < max_grown) amount_grown++ if (radiation) diff --git a/code/modules/mob/living/carbon/alien/larva/powers.dm b/code/modules/mob/living/carbon/alien/larva/powers.dm index 54cfa4727c..05f8bce917 100644 --- a/code/modules/mob/living/carbon/alien/larva/powers.dm +++ b/code/modules/mob/living/carbon/alien/larva/powers.dm @@ -4,6 +4,9 @@ set desc = "Allows to hide beneath tables or certain items. Toggled on or off." set category = "Alien" + if(stat != CONSCIOUS) + return + if (layer != TURF_LAYER+0.2) layer = TURF_LAYER+0.2 src << text("\green You are now hiding.") @@ -22,6 +25,9 @@ set desc = "Evolve into a fully grown Alien." set category = "Alien" + if(stat != CONSCIOUS) + return + if(amount_grown >= max_grown) //TODO ~Carn src << "\green You are growing into a beautiful alien! It is time to choose a caste." src << "\green There are three to choose from:" diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index ffa141b124..78d62b6767 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -6,6 +6,7 @@ maxHealth = 300 health = 300 var/sight_mode = 0 + var/custom_name = "" //Hud stuff @@ -59,10 +60,9 @@ spark_system.set_up(5, 0, src) spark_system.attach(src) - if(cmptext(real_name,"Cyborg")) - ident = rand(1, 999) - real_name += "-[ident]" - name = real_name + + ident = rand(1, 999) + updatename("Default") if(!cell) cell = new /obj/item/weapon/cell(src) @@ -117,7 +117,7 @@ return switch(mod) if("Standard") - updatename() + updatename(mod) module = new /obj/item/weapon/robot_module/standard(src) hands.icon_state = "standard" icon_state = "robot" @@ -185,13 +185,14 @@ updateicon() /mob/living/silicon/robot/proc/updatename(var/prefix as text) - if( length(real_name) < 7 || !prefix ) return - //not really necessary but just to avoid annoying people with - //unique names seeming as nobody could give me a straight answer as - //to whether to remove custom borg names completely. - if(cmptext(copytext(real_name, 1, 7),"Cyborg")) - real_name = "[prefix] [real_name]" - name = real_name + + var/changed_name = "" + if(custom_name) + changed_name = custom_name + else + changed_name = "[(prefix ? "[prefix] " : "")]Cyborg-[num2text(ident)]" + real_name = changed_name + name = real_name /mob/living/silicon/robot/verb/cmd_robot_alerts() set category = "Robot Commands"