diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index d23d0905e9..ec742a8dfe 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -113,6 +113,7 @@ if(I.force) //CIT CHANGES START HERE - combatmode and resting checks var/totitemdamage = I.force + totitemdamage *= I.force_mult //Compression kit uses this if(iscarbon(user)) var/mob/living/carbon/tempcarb = user if(!tempcarb.combatmode) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 9ff1b5cf01..0765853b9c 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -109,6 +109,9 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) var/list/grind_results //A reagent list containing the reagents this item produces when ground up in a grinder - this can be an empty list to allow for reagent transferring only var/list/juice_results //A reagent list containing blah blah... but when JUICED in a grinder! + //Compression kit vars + var/force_mult = 1 + /obj/item/Initialize() materials = typelist("materials", materials) diff --git a/code/game/objects/items/devices/compressionkit.dm b/code/game/objects/items/devices/compressionkit.dm index 9d10d2663c..cd26a06dde 100644 --- a/code/game/objects/items/devices/compressionkit.dm +++ b/code/game/objects/items/devices/compressionkit.dm @@ -2,16 +2,35 @@ name = "bluespace compression kit" desc = "An illegally modified BSRPED, capable of reducing the size of most items." icon = 'icons/obj/tools.dmi' - icon_state = "compression" + icon_state = "compression_c" item_state = "RPED" lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' w_class = WEIGHT_CLASS_NORMAL var/charges = 5 + var/damage_multiplier = 0.2 // Changing this effects how much more or less damage a resized item will do + var/mode = 0 /obj/item/compressionkit/examine(mob/user) ..() - to_chat(user, "It has [charges] charges left.") + to_chat(user, "It has [charges] charges left. Recharge with bluespace crystals.") + to_chat(user, "Use in-hand to swap toggle compress/expand mode (expand mode not yet implemented).") + +/obj/item/compressionkit/attack_self(mob/user) + if(mode == 0) + mode = 1 + icon_state = "compression_e" + to_chat(user, "You switch the compressor to expand mode. This isn't implemented yet, so right now it wont do anything different!") + return + if(mode == 1) + mode = 0 + icon_state = "compression_c" + to_chat(user, "You switch the compressor to compress mode. Usage will now reduce the size of objects.") + return + else + mode = 0 + icon_state = "compression_c" + to_chat(user, "Some coder cocked up or an admin broke your compressor. It's been set back to compress mode..") /obj/item/compressionkit/proc/sparks() var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread @@ -64,6 +83,7 @@ sparks() flash_lighting_fx(3, 3, LIGHT_COLOR_CYAN) O.w_class -= 1 + O.force_mult -= damage_multiplier charges -= 1 to_chat(user, "You successfully compress [target]! The compressor now has [charges] charges.") else diff --git a/icons/obj/tools.dmi b/icons/obj/tools.dmi index 4f59848392..d3d25adea4 100644 Binary files a/icons/obj/tools.dmi and b/icons/obj/tools.dmi differ