mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 03:57:13 +01:00
FEAT: Two new attachable armor for Ripley (#25231)
* FEAT: Two new attachable armor for Ripley * Delete mecha 32x48.dmi * Update code/game/objects/items/stacks/sheets/leather.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/game/mecha/working/ripley.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/game/mecha/working/ripley.dm Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> * Add defines into separate files, change descriptions a bit * fix * change (loc) to get_turf(src) * mecha * edit defines * Update leather.dm * Update code/game/mecha/working/ripley.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Signed-off-by: Сиротка <114731039+ErdGinalD@users.noreply.github.com> * Update leather.dm * Update code/game/objects/items/stacks/sheets/leather.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Signed-off-by: Сиротка <114731039+ErdGinalD@users.noreply.github.com> * Update mechfabricator_designs.dm * fix .dmi * Update code/game/mecha/working/ripley.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Сиротка <114731039+ErdGinalD@users.noreply.github.com> * Update code/game/mecha/working/ripley.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Сиротка <114731039+ErdGinalD@users.noreply.github.com> * Update code/game/mecha/working/ripley.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Сиротка <114731039+ErdGinalD@users.noreply.github.com> * Update ripley.dm * Update code/game/objects/items/stacks/sheets/leather.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Сиротка <114731039+ErdGinalD@users.noreply.github.com> * Update code/game/objects/items/stacks/sheets/leather.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Сиротка <114731039+ErdGinalD@users.noreply.github.com> --------- Signed-off-by: Сиротка <114731039+ErdGinalD@users.noreply.github.com> Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
This commit is contained in:
co-authored by
Henri215
1080pCat
DGamerL
parent
9afec80430
commit
b216289b41
@@ -178,7 +178,7 @@ GLOBAL_LIST_INIT(sinew_recipes, list (
|
||||
|
||||
/obj/item/stack/sheet/animalhide/goliath_hide
|
||||
name = "goliath hide plates"
|
||||
desc = "Pieces of a goliath's rocky hide, these might be able to make your suit a bit more durable to attack from the local fauna."
|
||||
desc = "Pieces of a goliath's rocky hide, these might be able to make your miner equipment such as suits, plasmaman helmets, borgs and Ripley class exosuits a bit more durable to attack from the local fauna."
|
||||
icon = 'icons/obj/stacks/organic.dmi'
|
||||
icon_state = "goliath_hide"
|
||||
item_state = "goliath_hide"
|
||||
@@ -198,41 +198,80 @@ GLOBAL_LIST_INIT(sinew_recipes, list (
|
||||
if(is_type_in_typecache(target, goliath_platable_armor_typecache))
|
||||
var/obj/item/clothing/C = target
|
||||
var/datum/armor/current_armor = C.armor
|
||||
if(current_armor.getRating(MELEE) < 60)
|
||||
C.armor = current_armor.setRating(melee_value = min(current_armor.getRating(MELEE) + 10, 60))
|
||||
if(current_armor.getRating(MELEE) < 75)
|
||||
if(!use(1))
|
||||
to_chat(user, "<span class='notice'>You dont have enough [src] for this!</span>")
|
||||
return
|
||||
C.armor = current_armor.setRating(melee_value = min(current_armor.getRating(MELEE) + 15, 75))
|
||||
to_chat(user, "<span class='info'>You strengthen [target], improving its resistance against melee attacks.</span>")
|
||||
use(1)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You can't improve [C] any further!</span>")
|
||||
else if(istype(target, /obj/mecha/working/ripley))
|
||||
var/obj/mecha/working/ripley/D = target
|
||||
if(D.hides < 3)
|
||||
if(D.hides < HIDES_COVERED_FULL && !D.plates && !D.drake_hides)
|
||||
if(!use(1))
|
||||
to_chat(user, "<span class='notice'>You dont have enough [src] for this!</span>")
|
||||
return
|
||||
D.hides++
|
||||
D.armor = D.armor.setRating(melee_value = min(D.armor.getRating(MELEE) + 10, 70))
|
||||
D.armor = D.armor.setRating(bullet_value = min(D.armor.getRating(BULLET) + 5, 50))
|
||||
D.armor = D.armor.setRating(laser_value = min(D.armor.getRating(LASER) + 5, 50))
|
||||
to_chat(user, "<span class='info'>You strengthen [target], improving its resistance against melee attacks.</span>")
|
||||
D.armor = D.armor.setRating(melee_value = min(D.armor.getRating(MELEE) + 25, 115))
|
||||
D.armor = D.armor.setRating(bullet_value = min(D.armor.getRating(BULLET) + 7, 60))
|
||||
D.armor = D.armor.setRating(laser_value = min(D.armor.getRating(LASER) + 7, 60))
|
||||
to_chat(user, "<span class='info'>You strengthen [target], improving its resistance against attacks.</span>")
|
||||
D.update_appearance(UPDATE_DESC|UPDATE_OVERLAYS)
|
||||
use(1)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You can't improve [D] any further!</span>")
|
||||
else if(isrobot(target))
|
||||
var/mob/living/silicon/robot/R = target
|
||||
if(istype(R.module, /obj/item/robot_module/miner))
|
||||
var/datum/armor/current_armor = R.armor
|
||||
if(current_armor.getRating(MELEE) < 60)
|
||||
R.armor = current_armor.setRating(melee_value = min(current_armor.getRating(MELEE) + 10, 60))
|
||||
if(current_armor.getRating(MELEE) < 75)
|
||||
if(!use(1))
|
||||
to_chat(user, "<span class='notice'>You dont have enough [src] for this!</span>")
|
||||
return
|
||||
R.armor = current_armor.setRating(melee_value = min(current_armor.getRating(MELEE) + 15, 75))
|
||||
to_chat(user, "<span class='info'>You strengthen [target], improving its resistance against melee attacks.</span>")
|
||||
use(1)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You can't improve [R] any further!</span>")
|
||||
else
|
||||
to_chat(user, "<span class='warning'>[R]'s armor can not be improved!</span>")
|
||||
|
||||
/obj/item/stack/sheet/animalhide/armor_plate
|
||||
name = "armor plate"
|
||||
desc = "This piece of metal can be attached to the mech itself, enhancing its protective characteristics. Unfortunately, only working class exosuits have notches for such armor."
|
||||
icon = 'icons/mecha/mecha_equipment.dmi'
|
||||
icon_state = "armor_plate"
|
||||
item_state = "armor_plate"
|
||||
singular_name = "armor plate"
|
||||
flags = NOBLUDGEON
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
layer = MOB_LAYER
|
||||
|
||||
/obj/item/stack/sheet/animalhide/armor_plate/afterattack(atom/target, mob/user, proximity_flag)
|
||||
if(!proximity_flag)
|
||||
return
|
||||
if(istype(target, /obj/mecha/working/ripley))
|
||||
var/obj/mecha/working/ripley/D = target
|
||||
if(D.plates < PLATES_COVERED_FULL && !D.hides && !D.drake_hides)
|
||||
if(!use(1))
|
||||
to_chat(user, "<span class='notice'>You dont have enough [src] for this!</span>")
|
||||
return
|
||||
use(1)
|
||||
D.plates++
|
||||
D.armor = D.armor.setRating(melee_value = min(D.armor.getRating(MELEE) + 10, 70))
|
||||
D.armor = D.armor.setRating(bullet_value = min(D.armor.getRating(BULLET) + 4, 50))
|
||||
D.armor = D.armor.setRating(laser_value = min(D.armor.getRating(LASER) + 4, 50))
|
||||
to_chat(user, "<span class='info'>You strengthen [target], improving its resistance against attacks.</span>")
|
||||
D.update_appearance(UPDATE_DESC|UPDATE_OVERLAYS)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You can't improve [D] any further!</span>")
|
||||
|
||||
/obj/item/stack/sheet/animalhide/armor_plate/attackby(obj/item/W, mob/user, params)
|
||||
return // no steel leather for ya
|
||||
|
||||
/obj/item/stack/sheet/animalhide/ashdrake
|
||||
name = "ash drake hide"
|
||||
desc = "The strong, scaled hide of an ash drake."
|
||||
desc = "The strong, scaled hide of an ash drake. Can be attached to the mech itself, greatly enhancing its protective characteristics. Unfortunately, only working class exosuits have notches for such armor."
|
||||
icon = 'icons/obj/stacks/organic.dmi'
|
||||
icon_state = "dragon_hide"
|
||||
item_state = "dragon_hide"
|
||||
@@ -242,9 +281,30 @@ GLOBAL_LIST_INIT(sinew_recipes, list (
|
||||
layer = MOB_LAYER
|
||||
dynamic_icon_state = TRUE
|
||||
|
||||
/obj/item/stack/sheet/animalhide/ashdrake/afterattack(atom/target, mob/user, proximity_flag)
|
||||
if(!proximity_flag)
|
||||
return
|
||||
if(istype(target, /obj/mecha/working/ripley))
|
||||
var/obj/mecha/working/ripley/D = target
|
||||
if(D.drake_hides < DRAKE_HIDES_COVERED_FULL && !D.hides && !D.plates)
|
||||
if(!use(1))
|
||||
to_chat(user, "<span class='notice'>You dont have enough [src] for this!</span>")
|
||||
return
|
||||
use(1)
|
||||
D.drake_hides++
|
||||
D.max_integrity += 50
|
||||
D.obj_integrity += 50
|
||||
D.armor = D.armor.setRating(melee_value = min(D.armor.getRating(MELEE) + 45, 175)) // 77.7% melee armor maximum
|
||||
D.armor = D.armor.setRating(bullet_value = min(D.armor.getRating(BULLET) + 7, 60))
|
||||
D.armor = D.armor.setRating(laser_value = min(D.armor.getRating(LASER) + 7, 60))
|
||||
to_chat(user, "<span class='info'>You strengthen [target], improving its resistance against attacks.</span>")
|
||||
D.update_appearance(UPDATE_DESC|UPDATE_OVERLAYS)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You can't improve [D] any further!</span>")
|
||||
|
||||
//Step one - dehairing.
|
||||
|
||||
/obj/item/stack/sheet/animalhide/attackby(obj/item/W as obj, mob/user as mob, params)
|
||||
/obj/item/stack/sheet/animalhide/attackby(obj/item/W, mob/user, params)
|
||||
if(W.sharp)
|
||||
user.visible_message("[user] starts cutting hair off \the [src].", "<span class='notice'>You start cutting the hair off \the [src]...</span>", "<span class='italics'>You hear the sound of a knife rubbing against flesh.</span>")
|
||||
if(do_after(user, 50 * W.toolspeed, target = src))
|
||||
|
||||
Reference in New Issue
Block a user