Adds 'drone' versions of mercenary mobs.

This commit is contained in:
Casey
2023-03-27 00:00:57 -04:00
committed by CHOMPStation2
parent 6916040a4d
commit 7aa42e6583
4 changed files with 163 additions and 3 deletions

View File

@@ -26,15 +26,30 @@
var/corpseidjob = null // Needs to be in quotes, such as "Clown" or "Chef." This just determines what the ID reads as, not their access var/corpseidjob = null // Needs to be in quotes, such as "Clown" or "Chef." This just determines what the ID reads as, not their access
var/corpseidaccess = null //This is for access. See access.dm for which jobs give what access. Again, put in quotes. Use "Captain" if you want it to be all access. var/corpseidaccess = null //This is for access. See access.dm for which jobs give what access. Again, put in quotes. Use "Captain" if you want it to be all access.
var/corpseidicon = null //For setting it to be a gold, silver, CentCom etc ID var/corpseidicon = null //For setting it to be a gold, silver, CentCom etc ID
<<<<<<< HEAD
var/corpsesensormode = 0 //CHOMPAdd - For setting the suit sensors of a corpse. Default to 0 so we don't annoy medbay. var/corpsesensormode = 0 //CHOMPAdd - For setting the suit sensors of a corpse. Default to 0 so we don't annoy medbay.
=======
var/corpsesynthtype = 0 // 0 for organic, 1 for drone, 2 for posibrain
var/corpsesynthbrand = "Unbranded"
>>>>>>> a4f47f02f1... Merge pull request #14730 from Heroman3003/synthmob
/obj/effect/landmark/mobcorpse/New() /obj/effect/landmark/mobcorpse/New()
createCorpse() createCorpse()
/obj/effect/landmark/mobcorpse/proc/createCorpse() //Creates a mob and checks for gear in each slot before attempting to equip it. /obj/effect/landmark/mobcorpse/proc/createCorpse() //Creates a mob and checks for gear in each slot before attempting to equip it.
var/mob/living/carbon/human/M = new /mob/living/carbon/human (src.loc) var/mob/living/carbon/human/M = new /mob/living/carbon/human (src.loc)
M.real_name = src.name M.real_name = generateCorpseName()
M.set_stat(DEAD) //Kills the new mob M.set_stat(DEAD) //Kills the new mob
if(corpsesynthtype > 0)
to_world("Synth")
if(!corpsesynthbrand)
corpsesynthbrand = "Unbranded"
for(var/obj/item/organ/external/O in M.organs)
switch(corpsesynthtype)
if(1)
O.digitize(corpsesynthbrand)
if(2)
O.robotize(corpsesynthbrand)
if(src.corpseuniform) if(src.corpseuniform)
M.equip_to_slot_or_del(new src.corpseuniform(M), slot_w_uniform) M.equip_to_slot_or_del(new src.corpseuniform(M), slot_w_uniform)
if(M.w_uniform) if(M.w_uniform)
@@ -84,7 +99,8 @@
delete_me = 1 delete_me = 1
qdel(src) qdel(src)
/obj/effect/landmark/mobcorpse/proc/generateCorpseName()
return name
//List of different corpse types //List of different corpse types

View File

@@ -1,2 +1,26 @@
/obj/effect/landmark/mobcorpse/syndicatecommando /obj/effect/landmark/mobcorpse/syndicatecommando
name = "Mercenary Commando" name = "Mercenary Commando"
/obj/effect/landmark/mobcorpse/syndicatesoldier/drone
name = "Mercenary Drone"
corpseidjob = "Operative"
corpsesynthtype = 1
corpsesynthbrand = "Xion"
/obj/effect/landmark/mobcorpse/syndicatesoldier/drone/generateCorpseName()
var/letter = pick(list("Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega"))
var/number = rand(0,999)
var/purpose = pick(list("Recon","Combat","Kill","Guard","Scout","Murder","Capture","Raid","Attack","Battle"))
return "[letter]-[number] [purpose] Droid"
/obj/effect/landmark/mobcorpse/syndicatecommando/drone
name = "Mercenary Drone"
corpseidjob = "Operative"
corpsesynthtype = 1
corpsesynthbrand = "Xion"
/obj/effect/landmark/mobcorpse/syndicatecommando/drone/generateCorpseName()
var/letter = pick(list("Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega"))
var/number = rand(0,999)
var/purpose = pick(list("Recon","Combat","Kill","Guard","Scout","Murder","Capture","Raid","Attack","Battle"))
return "[letter]-[number] [purpose] Droid"

View File

@@ -23,3 +23,120 @@
min_n2 = 0 min_n2 = 0
max_n2 = 0 max_n2 = 0
minbodytemp = 0 minbodytemp = 0
/datum/say_list/merc/drone
speak = list("Area patrol in progress.",
"All systems nominal.",
"Situation analysis finalized. No hostiles detected.",
"Reporting status: all functions normal.",
"Location under control.")
emote_see = list("beeps", "pings", "twitches erratically", "looks around")
say_understood = list("Command acknowledged.")
say_cannot = list("Command error.")
say_maybe_target = list("Please come out.", "Where did you go?", "Scanning...")
say_got_target = list("Engaging.", "Targeting.", "Combat initiated.", "Following protocol. Eliminating hostile.")
say_threaten = list("This location is under control. You have %UNDEFINED% seconds to depart.", "Your presence at these premises must be terminated.")
say_stand_down = list("Your compliance is welcome.")
say_escalate = list("Combat initiated.", "Your termination is inevitable.")
threaten_sound = 'sound/weapons/TargetOn.ogg'
stand_down_sound = 'sound/weapons/TargetOff.ogg'
/mob/living/simple_mob/humanoid/merc/drone
name = "combat droid"
desc = "A set of prosthetics, piloted by simplistic combat algorhithm and dressed in combat armor."
tt_desc = null
say_list_type = /datum/say_list/merc/drone
corpse = /obj/effect/landmark/mobcorpse/syndicatesoldier/drone
/mob/living/simple_mob/humanoid/merc/melee/drone
name = "combat droid"
desc = "A set of prosthetics, piloted by simplistic combat algorhithm and dressed in combat armor."
tt_desc = null
say_list_type = /datum/say_list/merc/drone
corpse = /obj/effect/landmark/mobcorpse/syndicatesoldier/drone
/mob/living/simple_mob/humanoid/merc/melee/sword/drone
name = "combat droid"
desc = "A set of prosthetics, piloted by simplistic combat algorhithm and dressed in combat armor."
tt_desc = null
say_list_type = /datum/say_list/merc/drone
corpse = /obj/effect/landmark/mobcorpse/syndicatesoldier/drone
/mob/living/simple_mob/humanoid/merc/ranged/drone
name = "combat droid"
desc = "A set of prosthetics, piloted by simplistic combat algorhithm and dressed in combat armor."
tt_desc = null
say_list_type = /datum/say_list/merc/drone
corpse = /obj/effect/landmark/mobcorpse/syndicatesoldier/drone
/mob/living/simple_mob/humanoid/merc/ranged/smg/drone
name = "combat droid"
desc = "A set of prosthetics, piloted by simplistic combat algorhithm and dressed in combat armor."
tt_desc = null
say_list_type = /datum/say_list/merc/drone
corpse = /obj/effect/landmark/mobcorpse/syndicatesoldier/drone
/mob/living/simple_mob/humanoid/merc/ranged/rifle/drone
name = "combat droid"
desc = "A set of prosthetics, piloted by simplistic combat algorhithm and dressed in combat armor."
tt_desc = null
say_list_type = /datum/say_list/merc/drone
corpse = /obj/effect/landmark/mobcorpse/syndicatesoldier/drone
/mob/living/simple_mob/humanoid/merc/ranged/rifle/mag/drone
name = "combat droid"
desc = "A set of prosthetics, piloted by simplistic combat algorhithm and dressed in combat armor."
tt_desc = null
say_list_type = /datum/say_list/merc/drone
corpse = /obj/effect/landmark/mobcorpse/syndicatesoldier/drone
/mob/living/simple_mob/humanoid/merc/ranged/laser/drone
name = "combat droid"
desc = "A set of prosthetics, piloted by simplistic combat algorhithm and dressed in combat armor."
tt_desc = null
say_list_type = /datum/say_list/merc/drone
corpse = /obj/effect/landmark/mobcorpse/syndicatesoldier/drone
/mob/living/simple_mob/humanoid/merc/ranged/ionrifle/drone
name = "combat droid"
desc = "A set of prosthetics, piloted by simplistic combat algorhithm and dressed in combat armor."
tt_desc = null
say_list_type = /datum/say_list/merc/drone
corpse = /obj/effect/landmark/mobcorpse/syndicatesoldier/drone
/mob/living/simple_mob/humanoid/merc/ranged/grenadier/drone
name = "combat droid"
desc = "A set of prosthetics, piloted by simplistic combat algorhithm and dressed in combat armor."
tt_desc = null
say_list_type = /datum/say_list/merc/drone
corpse = /obj/effect/landmark/mobcorpse/syndicatesoldier/drone
/mob/living/simple_mob/humanoid/merc/ranged/technician/drone
name = "combat droid"
desc = "A set of prosthetics, piloted by simplistic combat algorhithm and dressed in combat armor."
tt_desc = null
say_list_type = /datum/say_list/merc/drone
corpse = /obj/effect/landmark/mobcorpse/syndicatesoldier/drone
/mob/living/simple_mob/humanoid/merc/ranged/sniper/drone
name = "combat droid"
desc = "A set of prosthetics, piloted by simplistic combat algorhithm and dressed in combat armor."
tt_desc = null
say_list_type = /datum/say_list/merc/drone
corpse = /obj/effect/landmark/mobcorpse/syndicatesoldier/drone
/mob/living/simple_mob/humanoid/merc/melee/sword/space/drone
name = "combat droid"
desc = "A set of prosthetics, piloted by simplistic combat algorhithm and dressed in combat spacesuit."
tt_desc = null
say_list_type = /datum/say_list/merc/drone
corpse = /obj/effect/landmark/mobcorpse/syndicatecommando/drone
/mob/living/simple_mob/humanoid/merc/ranged/space/drone
name = "combat droid"
desc = "A set of prosthetics, piloted by simplistic combat algorhithm and dressed in combat spacesuit."
tt_desc = null
say_list_type = /datum/say_list/merc/drone
corpse = /obj/effect/landmark/mobcorpse/syndicatecommando/drone

View File

@@ -13,3 +13,6 @@
min_broken_damage = o_min_broken_damage min_broken_damage = o_min_broken_damage
else else
return ..() return ..()
/obj/item/organ/external/digitize(var/company, var/skip_prosthetics = FALSE, var/keep_organs = FALSE)
robotize(company, skip_prosthetics, keep_organs)