Skip to content

Commit

Permalink
[CF/COL] Prosthetics Clinic, and 5 new Prosthetics (#2481)
Browse files Browse the repository at this point in the history
* updates minor things

couple of prosthetics

Update ModularTegustation/tegu_items/prosthetics/mantis.dm

Update ModularTegustation/tegu_items/prosthetics/chainsword.dm

Update extra_arm_implant.dm

Update vending.dm

Update extra_arm_implant.dm

Update extra_arm_implant.dm

Update chainsword.dm

adds more shit

adds prosthetic clinic

continues

Update zippyarm.dm

Co-Authored-By: Gboster-0 <[email protected]>

* Update extra_arm_implant.dm

* asd

* Update rats.dm

* Update extra_arm_implant.dm

* Update ModularTegustation/tegu_items/prosthetics/extrarm.dm

Co-authored-by: Gboster-0 <[email protected]>

* Update ModularTegustation/tegu_items/prosthetics/extrarm.dm

Co-authored-by: Gboster-0 <[email protected]>

* Update ModularTegustation/tegu_items/prosthetics/extrarm.dm

Co-authored-by: Gboster-0 <[email protected]>

* Update ModularTegustation/tegu_items/prosthetics/extra_arm_implant.dm

Co-authored-by: Gboster-0 <[email protected]>

* Update ModularTegustation/tegu_items/prosthetics/extra_arm_implant.dm

Co-authored-by: Gboster-0 <[email protected]>

* Update ModularTegustation/tegu_items/prosthetics/extrarm.dm

Co-authored-by: Gboster-0 <[email protected]>

---------

Co-authored-by: Gboster-0 <[email protected]>
  • Loading branch information
Kitsunemitsu and Gboster-0 authored Dec 6, 2024
1 parent 8cc7d9a commit 6afa1b4
Show file tree
Hide file tree
Showing 17 changed files with 1,848 additions and 1,497 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@
return ..()
if(prob(50))
to_chat(user,span_warning("You pinch your fingers in the weapon."))
user.apply_damage(10, RED_DAMAGE, null, user.run_armor_check(null, BLACK_DAMAGE))
user.apply_damage(5, RED_DAMAGE, null, user.run_armor_check(null, RED_DAMAGE))
return FALSE
return ..()

55 changes: 16 additions & 39 deletions ModularTegustation/tegu_items/associations/vending.dm
Original file line number Diff line number Diff line change
Expand Up @@ -216,64 +216,41 @@
icon_state = "robotics"
icon_deny = null
products = list(
/obj/item/stock_parts/cell/high = 100,
/obj/item/bodypart/head/robot = 100,
/obj/item/bodypart/chest/robot = 100,
/obj/item/bodypart/l_arm/robot = 100,
/obj/item/bodypart/r_arm/robot = 100,
/obj/item/bodypart/l_leg/robot = 100,
/obj/item/bodypart/r_leg/robot = 100,
//Healing shit
/obj/item/weldingtool = 100,
/obj/item/stack/cable_coil = 100,
/obj/item/organ/stomach/cybernetic/tier2 = 100,
/obj/item/organ/heart/cybernetic/tier2 = 100,
/obj/item/organ/lungs/cybernetic/tier2 = 100,
/obj/item/organ/liver/cybernetic/tier2 = 100,
/obj/item/organ/eyes/robotic/glow = 100,
/obj/item/organ/ears/cybernetic = 100,
)

premium = list(
/obj/item/shears = 1,
)

default_price = 300
extra_price = 500
input_display_header = "Prosthetic plus"



//cityvending
/obj/machinery/vending/prosthetic
name = "\improper Prosthetic plus vending"
desc = "A machine used to purchase new prosthetic limbs"
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF
product_slogans = "Looking good!"
product_ads = "You need it!"
icon_state = "robotics"
icon_deny = null
products = list(
/obj/item/stock_parts/cell/high = 100,

//Regular shit
/obj/item/bodypart/head/robot = 100,
/obj/item/bodypart/chest/robot = 100,
//obj/item/bodypart/chest/robot = 100, //currently broken
/obj/item/bodypart/l_arm/robot = 100,
/obj/item/bodypart/r_arm/robot = 100,
/obj/item/bodypart/l_leg/robot = 100,
/obj/item/bodypart/r_leg/robot = 100,
/obj/item/weldingtool = 100,
/obj/item/stack/cable_coil = 100,
/obj/item/organ/stomach/cybernetic/tier2 = 100,
/obj/item/organ/heart/cybernetic/tier2 = 100,
/obj/item/organ/lungs/cybernetic/tier2 = 100,
/obj/item/organ/liver/cybernetic/tier2 = 100,
/obj/item/organ/eyes/robotic/glow = 100,
/obj/item/organ/ears/cybernetic = 100,
/obj/item/organ/cyberimp/arm/zippy = 100,
)

premium = list(
/obj/item/shears = 1,
/obj/item/bodypart/l_arm/robot/explosive = 100,
/obj/item/bodypart/r_arm/robot/explosive = 100,
/obj/item/organ/cyberimp/arm/mantis = 100,
/obj/item/organ/cyberimp/arm/mantis/black = 100,
/obj/item/organ/cyberimp/arm/chainsword = 100,
/obj/item/organ/cyberimp/arm/surgery = 100,
/obj/item/extra_arm = 100,
/obj/item/extra_arm/double = 100,
)

default_price = 300
extra_price = 500
extra_price = 700
input_display_header = "Prosthetic plus"


52 changes: 52 additions & 0 deletions ModularTegustation/tegu_items/prosthetics/chainsword.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
/obj/item/organ/cyberimp/arm/chainsword
name = "chainsword implant"
desc = "A chainsword that can be retracted into your arm.."
contents = newlist(/obj/item/ego_weapon/city/handchainsword)
syndicate_implant = TRUE

/obj/item/organ/cyberimp/arm/chainsword/l
zone = BODY_ZONE_L_ARM


/obj/item/ego_weapon/city/handchainsword
name = "chainsword"
desc = "This weapon attacks many times, grafted to your hand."
icon = 'ModularTegustation/tegu_items/prosthetics/icons/generic.dmi'
icon_state = "hand_chainsword"
hitsound = 'sound/weapons/bladeslice.ogg'
flags_1 = CONDUCT_1
force = 15
attack_speed = 2
damtype = RED_DAMAGE
w_class = WEIGHT_CLASS_NORMAL
attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts")
attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut")


/obj/item/ego_weapon/city/handchainsword/equipped(mob/user, slot, initial)
. = ..()
if(slot != ITEM_SLOT_HANDS)
return
var/side = user.get_held_index_of_item(src)

if(side == LEFT_HANDS)
transform = null
else
transform = matrix(-1, 0, 0, 0, 1, 0)
//little bit of stam loss
var/mob/living/carbon/human/H = user
H.adjustStaminaLoss(H.maxHealth*0.5, TRUE, TRUE)


/obj/item/ego_weapon/city/handchainsword/attack(mob/living/target, mob/living/user)
if(!..())
return
user.Immobilize(15)
for(var/i = 1 to 3)
sleep(2)
if(target in view(reach,user))
playsound(loc, hitsound, get_clamped_volume(), TRUE, extrarange = stealthy_audio ? SILENCED_SOUND_EXTRARANGE : -1, falloff_distance = 0)
user.do_attack_animation(target)
target.attacked_by(src, user)
log_combat(user, target, pick(attack_verb_continuous), src.name, "(INTENT: [uppertext(user.a_intent)]) (DAMTYPE: [uppertext(damtype)])")

31 changes: 31 additions & 0 deletions ModularTegustation/tegu_items/prosthetics/explosivearm.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/obj/item/bodypart/l_arm/robot/explosive
name = "explosive left arm"
desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case. This arm explodes upon being disabled, blowing itself off and dealing massive damage to anyone nearby."
icon = 'ModularTegustation/tegu_items/prosthetics/icons/explosivearm.dmi'
icon_state = "explosive_l_arm"
max_damage = 20
brute_reduction = 0
burn_reduction = 0


/obj/item/bodypart/l_arm/robot/explosive/on_disabled()
explosion(owner,0,0,5,8)
for(var/mob/living/H in view(5, get_turf(src)))
H.adjustBruteLoss(H.maxHealth*0.8, TRUE, TRUE)


/obj/item/bodypart/r_arm/robot/explosive
name = "explosive right arm"
desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case. This arm explodes upon being disabled, blowing itself off and dealing massive damage to anyone nearby."
icon = 'ModularTegustation/tegu_items/prosthetics/icons/explosivearm.dmi'
icon_state = "explosive_r_arm"
max_damage = 20
brute_reduction = 0
burn_reduction = 0


/obj/item/bodypart/r_arm/robot/explosive/on_disabled()
explosion(owner,0,0,5,8)
for(var/mob/living/H in view(5, get_turf(src)))
H.adjustBruteLoss(H.maxHealth*0.8, TRUE, TRUE)

70 changes: 70 additions & 0 deletions ModularTegustation/tegu_items/prosthetics/extra_arm_implant.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
GLOBAL_LIST_EMPTY(threearmed_fucks)
//This is temporary

/obj/item/extra_arm
name = "\improper Extra Arm Implant"
desc = "An extremely expensive implant allowing a fixer to gain newly found dexterity and handiness. However, this slows you down."
icon = 'icons/obj/device.dmi'
icon_state = "autoimplanter"
var/uses = 1
var/arms_added = 1
custom_premium_price = 1400

/obj/item/extra_arm/attack_self(mob/user)
if(!uses)
to_chat(user, span_alert("[src] has already been used. The tools are dull and won't reactivate."))
return
if(user in GLOB.threearmed_fucks) //not letting people get 6 arms
to_chat(user, span_alert("You already have an extra arm."))
return
var/limbs = user.held_items.len
user.change_number_of_hands(limbs+1)
GLOB.threearmed_fucks += user
user.visible_message(span_alert("[user] presses a button on [src], and you hear a short mechanical noise."), span_alert("You feel a sharp sting as [src] plunges into your body."))
to_chat(user, span_notice("Your extra arm whirrs with life"))
playsound(get_turf(user), 'sound/weapons/circsawhit.ogg', 50, TRUE)
user.add_movespeed_modifier(/datum/movespeed_modifier/armimplant)
if(uses >= 1)
uses--
if(!uses)
desc = "[initial(desc)] Looks like it's been used up."


/datum/movespeed_modifier/armimplant
variable = TRUE
multiplicative_slowdown = 0.30



/obj/item/extra_arm/double
name = "\improper Double Arms Implant"
desc = "An extremely expensive implant allowing a fixer to gain newly found dexterity and handiness. However, this slows you down greatly."
icon = 'icons/obj/device.dmi'
icon_state = "autoimplanter"
arms_added = 2
custom_premium_price = 1800


/datum/movespeed_modifier/doublearmimplant
variable = TRUE
multiplicative_slowdown = 0.50


/obj/item/extra_arm/double/attack_self(mob/user)
if(!uses)
to_chat(user, span_alert("[src] has already been used. The tools are dull and won't reactivate."))
return
if(user in GLOB.threearmed_fucks) //not letting people get 6 arms
to_chat(user, span_alert("You already have an extra arm."))
return
var/limbs = user.held_items.len
user.change_number_of_hands(limbs+2)
GLOB.threearmed_fucks += user
user.visible_message(span_notice("[user] presses a button on [src], and you hear a short mechanical noise."), span_alert("You feel a sharp sting as [src] plunges into your body."))
to_chat(user, span_notice("Your extra arm whirrs with life"))
playsound(get_turf(user), 'sound/weapons/circsawhit.ogg', 50, TRUE)
user.add_movespeed_modifier(/datum/movespeed_modifier/doublearmimplant)
if(uses >= 1)
uses--
if(!uses)
desc = "[initial(desc)] Looks like it's been used up."
40 changes: 40 additions & 0 deletions ModularTegustation/tegu_items/prosthetics/extrarm.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@

/obj/item/bodypart/chest/robot/extraarm
name = "extra arms torso"
desc = "A heavily reinforced case containing cyborg logic boards, with space for a standard power cell."
inhand_icon_state = "buildpipe"
icon = 'icons/mob/augmentation/augments.dmi'
custom_premium_price = 1400

/obj/item/bodypart/chest/robot/extraarm/set_owner(new_owner)
..()
playsound(get_turf(owner), 'sound/weapons/circsawhit.ogg', 50, TRUE)
var/limbs = owner.held_items.len
owner.change_number_of_hands(limbs+1)


//Mechandrites for the Mechanicus

/obj/item/mechandrites
name = "\improper Mechandrite Implanter"
desc = "An implanter for mechandrites, allowing a follower of the Omnissiah to gain newly found dexterity and handiness"
icon = 'icons/obj/device.dmi'
icon_state = "autoimplanter"
var/uses = 1

/obj/item/mechandrites/attack_self(mob/user)
if(!uses)
to_chat(user, span_notice("[src] has already been used. The tools are dull and won't reactivate."))
return
var/limbs = user.held_items.len
if(limbs >= 4)
to_chat(user, span_alert("You already have an extra arm."))
return
user.change_number_of_hands(limbs+1)
user.visible_message(span_notice("[user] presses a button on [src], and you hear a short mechanical noise."), span_notice("You feel a sharp sting as [src] plunges into your body."))
to_chat(user, span_notice("Your mechandrites whirr with life"))
playsound(get_turf(user), 'sound/weapons/circsawhit.ogg', 50, TRUE)
if(uses == 1)
uses--
if(!uses)
desc = "[initial(desc)] Looks like it's been used up."
Binary file not shown.
Binary file not shown.
Binary file not shown.
54 changes: 54 additions & 0 deletions ModularTegustation/tegu_items/prosthetics/mantis.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
/obj/item/organ/cyberimp/arm/mantis
name = "Mantis blade implants"
desc = "Mantis blades designed by some sicko in district."
contents = newlist(/obj/item/ego_weapon/city/mantis)
syndicate_implant = TRUE

/obj/item/organ/cyberimp/arm/mantis/l
zone = BODY_ZONE_L_ARM

/obj/item/ego_weapon/city/mantis
name = "mantis blade"
desc = "A blade designed to be hidden just beneath the skin. The brain is directly linked to this bad boy, allowing it to spring into action. Deals red damage when equipped."
icon = 'ModularTegustation/tegu_items/prosthetics/icons/generic.dmi'
icon_state = "mantis"
hitsound = 'sound/weapons/bladeslice.ogg'
flags_1 = CONDUCT_1
force = 30
damtype = RED_DAMAGE
w_class = WEIGHT_CLASS_NORMAL
attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts")
attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut")


/obj/item/ego_weapon/city/mantis/equipped(mob/user, slot, initial)
. = ..()
if(slot != ITEM_SLOT_HANDS)
return
var/side = user.get_held_index_of_item(src)

if(side == LEFT_HANDS)
transform = null
else
transform = matrix(-1, 0, 0, 0, 1, 0)
//little bit of stam loss
var/mob/living/carbon/human/H = user
H.adjustStaminaLoss(H.maxHealth*0.5, TRUE, TRUE)


/obj/item/organ/cyberimp/arm/mantis/black
name = "Mantis blade (B) implants"
desc = "Mantis blades designed by some sicko in district."
contents = newlist(/obj/item/ego_weapon/city/mantis/black)
syndicate_implant = TRUE

/obj/item/organ/cyberimp/arm/mantis/black/l
zone = BODY_ZONE_L_ARM
syndicate_implant = TRUE

/obj/item/ego_weapon/city/mantis/black
name = "mantis blade (B)"
desc = "A blade designed to be hidden just beneath the skin. The brain is directly linked to this bad boy, allowing it to spring into action. Deals black damage when equipped."
icon_state = "mantisblack"
damtype = BLACK_DAMAGE

11 changes: 11 additions & 0 deletions ModularTegustation/tegu_items/prosthetics/zippyarm.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/obj/item/organ/cyberimp/arm/zippy
name = "Zippy 3000 implant"
desc = "A cheap pistol implant made by XX corp. May or may not be recommended for use."
contents = newlist(/obj/item/ego_weapon/ranged/pistol/rats)
syndicate_implant = TRUE
//Doesn't need a nerf, the gun's kinda shit lmao

/obj/item/organ/cyberimp/arm/zippy/l
zone = BODY_ZONE_L_ARM
syndicate_implant = TRUE

Loading

0 comments on commit 6afa1b4

Please sign in to comment.