Skip to content

Commit

Permalink
Clerkbot Change (#1763)
Browse files Browse the repository at this point in the history
Changes clerkbot gadgets to be one use and be dropped by clerkbots on death.
  • Loading branch information
InsightfulParasite authored Dec 29, 2023
1 parent af04081 commit 9219876
Show file tree
Hide file tree
Showing 6 changed files with 72 additions and 53 deletions.
49 changes: 0 additions & 49 deletions ModularTegustation/tegu_items/gadgets/powered.dm
Original file line number Diff line number Diff line change
Expand Up @@ -219,55 +219,6 @@
inuse = FALSE
update_icon()

/obj/item/powered_gadget/clerkbot_gadget
name = "Instant Clerkbot Constructor"
desc = "An instant constructor for Clerkbots. Loyal little things that attack hostile creatures. Only for clerks."
icon_state = "clerkbot2_deactivated"
batterycost = 10000

/obj/item/powered_gadget/clerkbot_gadget/attack_self(mob/user)
..()
if(cell && cell.charge >= batterycost)
cell.charge = cell.charge - batterycost
if(!istype(user) || !(user?.mind?.assigned_role in GLOB.service_positions))
to_chat(user, span_notice("The Gadget's light flashes red. You aren't a clerk. Check the label before use."))
return
new /mob/living/simple_animal/hostile/clerkbot(get_turf(user))
to_chat(user, span_nicegreen("The Gadget turns warm and sparks."))

/mob/living/simple_animal/hostile/clerkbot/Initialize()
..()
icon = 'ModularTegustation/Teguicons/32x32.dmi'
icon_state = "clerkbot2"
icon_living = "clerkbot2"
if(prob(50))
icon_state = "clerkbot1"
icon_living = "clerkbot1"

/mob/living/simple_animal/hostile/clerkbot
name = "A Well Rounded Clerkbot"
desc = "Trusted and loyal best friend."
icon = 'ModularTegustation/Teguicons/32x32.dmi'
icon_state = "clerkbot2"
icon_living = "clerkbot2"
faction = list("neutral")
health = 150
maxHealth = 150
melee_damage_type = RED_DAMAGE
damage_coeff = list(RED_DAMAGE = 0.9, WHITE_DAMAGE = 0.9, BLACK_DAMAGE = 0.9, PALE_DAMAGE = 1.5)
melee_damage_lower = 12
melee_damage_upper = 14
robust_searching = TRUE
stat_attack = HARD_CRIT
del_on_death = TRUE
attack_verb_continuous = "buzzes"
attack_verb_simple = "buzz"
attack_sound = 'sound/weapons/bite.ogg'

/mob/living/simple_animal/hostile/clerkbot/Initialize()
..()
QDEL_IN(src, (120 SECONDS))

//The taser
/obj/item/powered_gadget/handheld_taser
name = "Handheld Taser"
Expand Down
68 changes: 68 additions & 0 deletions ModularTegustation/tegu_items/gadgets/unpowered.dm
Original file line number Diff line number Diff line change
Expand Up @@ -499,3 +499,71 @@
)
mid_length = 2 SECONDS
volume = 20

//Clerkbot Spawner
/obj/item/clerkbot_gadget
name = "Instant Clerkbot Constructor"
desc = "An instant constructor for Clerkbots. Loyal little things that attack hostile creatures. In order to prevent \
abnormalities infesting the clerkbots, only those registered as a Lobotomy Corp clerk can activate them. Clerkbot \
will last for 2 minutes before it preforms auto shutdown."
icon = 'ModularTegustation/Teguicons/teguitems.dmi'
icon_state = "clerkbot2_deactivated"

/obj/item/clerkbot_gadget/attack_self(mob/user)
..()
if(!istype(user) || !(user?.mind?.assigned_role in GLOB.service_positions))
to_chat(user, span_notice("The Gadget's light flashes red. You aren't a clerk. Check the label before use."))
return
new /mob/living/simple_animal/hostile/clerkbot(get_turf(user))
to_chat(user, span_nicegreen("The Gadget turns warm and sparks."))
qdel(src)

//Clerkbot spawned by the Clerkbot Spawner
/mob/living/simple_animal/hostile/clerkbot
name = "A Well Rounded Clerkbot"
desc = "Trusted and loyal best friend."
icon = 'ModularTegustation/Teguicons/32x32.dmi'
icon_state = "clerkbot2"
icon_living = "clerkbot2"
gender = NEUTER
mob_biotypes = MOB_ROBOTIC
faction = list("neutral")
health = 150
maxHealth = 150
healable = FALSE
melee_damage_type = RED_DAMAGE
damage_coeff = list(RED_DAMAGE = 0.9, WHITE_DAMAGE = 0.9, BLACK_DAMAGE = 0.9, PALE_DAMAGE = 1.5)
melee_damage_lower = 12
melee_damage_upper = 14
robust_searching = TRUE
stat_attack = HARD_CRIT
del_on_death = TRUE
attack_verb_continuous = "buzzes"
attack_verb_simple = "buzz"
attack_sound = 'sound/weapons/etherealhit.ogg'
verb_say = "states"
verb_ask = "queries"
verb_exclaim = "declares"
verb_yell = "alarms"
bubble_icon = "machine"
speech_span = SPAN_ROBOT

/mob/living/simple_animal/hostile/clerkbot/Initialize()
..()
QDEL_IN(src, (120 SECONDS))
if(prob(50))
icon_state = "clerkbot1"
icon_living = "clerkbot1"

/mob/living/simple_animal/hostile/clerkbot/Login()
. = ..()
if(!. || !client)
return FALSE
to_chat(src, "<b>WARNING:THIS CREATURE IS TEMPORARY AND WILL DELETE ITSELF AFTER A GIVEN TIME!</b>")

/mob/living/simple_animal/hostile/clerkbot/Destroy()
new /obj/item/clerkbot_gadget(get_turf(src))
return ..()

/mob/living/simple_animal/hostile/clerkbot/spawn_gibs()
new /obj/effect/gibspawner/robot(drop_location(), src)
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
lootlist = list(
/obj/item/powered_gadget/detector_gadget/abnormality,
/obj/item/powered_gadget/slowingtrapmk1,
/obj/item/powered_gadget/clerkbot_gadget,
/obj/item/clerkbot_gadget,
/obj/item/powered_gadget/handheld_taser,
/obj/item/storage/box/minertracker,
/obj/item/forcefield_projector,
Expand Down
2 changes: 1 addition & 1 deletion ModularTegustation/tegu_items/representative/console.dm
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@
new /datum/data/extraction_cargo("L Corp Regeneration Augmentation Kit", /obj/item/safety_kit, 400, L_CORP_REP) = 1,
new /datum/data/extraction_cargo("L Corp Slowing Trap Generator", /obj/item/powered_gadget/slowingtrapmk1, 400, L_CORP_REP) = 1,
new /datum/data/extraction_cargo("L Corp Vitals Projector", /obj/item/powered_gadget/vitals_projector, 400, L_CORP_REP) = 1,
new /datum/data/extraction_cargo("L Corp Clerkbot Kit", /obj/item/powered_gadget/clerkbot_gadget, 400, L_CORP_REP) = 1,
new /datum/data/extraction_cargo("L Corp Clerkbot Kit", /obj/item/clerkbot_gadget, 400, L_CORP_REP) = 1,
new /datum/data/extraction_cargo("L Corp Taser", /obj/item/powered_gadget/handheld_taser, 700, L_CORP_REP) = 1,
)

Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/computer/extraction_cargo.dm
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
new /datum/data/extraction_cargo("Keen-Sense Rangefinder ", /obj/item/powered_gadget/detector_gadget/ordeal, 200, CAT_GADGET) = 1,
new /datum/data/extraction_cargo("EMAIS Capacity Upgrade ", /obj/item/hypo_upgrade/cap_increase, 200, CAT_GADGET) = 1,
new /datum/data/extraction_cargo("Prototype Enkephalin Injector ",/obj/item/powered_gadget/enkephalin_injector, 200, CAT_GADGET) = 1,
new /datum/data/extraction_cargo("Instant Clerkbot Constructor ",/obj/item/powered_gadget/clerkbot_gadget, 250, CAT_GADGET) = 1,
new /datum/data/extraction_cargo("Instant Clerkbot Constructor ",/obj/item/clerkbot_gadget, 250, CAT_GADGET) = 1,
//new /datum/data/extraction_cargo("C-Fear Protection Injector ", /obj/item/trait_injector/clerk_fear_immunity_injector, 300, CAT_GADGET) = 1,
new /datum/data/extraction_cargo("Handheld Taser", /obj/item/powered_gadget/handheld_taser, 300, CAT_GADGET) = 1,
new /datum/data/extraction_cargo("Vitals Projector ", /obj/item/powered_gadget/vitals_projector, 300, CAT_GADGET) = 1,
Expand Down
2 changes: 1 addition & 1 deletion code/modules/jobs/job_types/assistant.dm
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ GLOBAL_LIST_EMPTY(spawned_clerks)
/obj/item/powered_gadget/detector_gadget/abnormality,
/obj/item/powered_gadget/detector_gadget/ordeal,
/obj/item/powered_gadget/enkephalin_injector,
/obj/item/powered_gadget/clerkbot_gadget,
/obj/item/clerkbot_gadget,
/obj/item/powered_gadget/handheld_taser,
/obj/item/powered_gadget/vitals_projector,
/obj/item/reagent_containers/hypospray/emais,
Expand Down

0 comments on commit 9219876

Please sign in to comment.