/obj/mecha/working/ripley desc = "Autonomous Power Loader Unit. This newer model is refitted with powerful armour against the dangers of the EVA mining process." name = "APLU \"Ripley\"" icon_state = "ripley" initial_icon = "ripley" step_in = 5 max_temperature = 20000 health = 200 lights_power = 7 deflect_chance = 15 damage_absorption = list("brute"=0.6,"bomb"=0.2) wreckage = /obj/effect/decal/mecha_wreckage/ripley var/list/cargo = new var/cargo_capacity = 15 /* /obj/mecha/working/ripley/New() ..() return */ /obj/mecha/working/ripley/Destroy() while(src.damage_absorption.["brute"] < 0.6) new /obj/item/asteroid/goliath_hide(src.loc) src.damage_absorption.["brute"] = src.damage_absorption.["brute"] + 0.1 //If a goliath-plated ripley gets killed, all the plates drop for(var/atom/movable/A in src.cargo) A.loc = loc step_rand(A) cargo.Cut() return ..() /obj/mecha/working/ripley/go_out() ..() if (src.damage_absorption.["brute"] < 0.6 && src.damage_absorption.["brute"] > 0.3) src.overlays = null src.overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g-open") else if (src.damage_absorption.["brute"] == 0.3) src.overlays = null src.overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g-full-open") /obj/mecha/working/ripley/moved_inside(var/mob/living/carbon/human/H as mob) ..() if (src.damage_absorption.["brute"] < 0.6 && src.damage_absorption.["brute"] > 0.3) src.overlays = null src.overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g") else if (src.damage_absorption.["brute"] == 0.3) src.overlays = null src.overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g-full") /obj/mecha/working/ripley/mmi_moved_inside(var/obj/item/device/mmi/mmi_as_oc as obj,mob/user as mob) ..() if (src.damage_absorption.["brute"] < 0.6 && src.damage_absorption.["brute"] > 0.3) src.overlays = null src.overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g") else if (src.damage_absorption.["brute"] == 0.3) src.overlays = null src.overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g-full") /obj/mecha/working/ripley/firefighter desc = "Standart APLU chassis was refitted with additional thermal protection and cistern." name = "APLU \"Firefighter\"" icon_state = "firefighter" initial_icon = "firefighter" max_temperature = 65000 health = 250 lights_power = 7 damage_absorption = list("fire"=0.5,"bullet"=0.8,"bomb"=0.5) wreckage = /obj/effect/decal/mecha_wreckage/ripley/firefighter /obj/mecha/working/ripley/deathripley desc = "OH SHIT IT'S THE DEATHSQUAD WE'RE ALL GONNA DIE" name = "DEATH-RIPLEY" icon_state = "deathripley" step_in = 2 opacity=0 lights_power = 7 wreckage = /obj/effect/decal/mecha_wreckage/ripley/deathripley step_energy_drain = 0 /obj/mecha/working/ripley/deathripley/New() ..() var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/tool/safety_clamp ME.attach(src) return /obj/mecha/working/ripley/mining desc = "An old, dusty mining ripley." name = "APLU \"Miner\"" /obj/mecha/working/ripley/mining/New() ..() //Attach drill if(prob(25)) //Possible diamond drill... Feeling lucky? var/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill/D = new /obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill D.attach(src) else var/obj/item/mecha_parts/mecha_equipment/tool/drill/D = new /obj/item/mecha_parts/mecha_equipment/tool/drill D.attach(src) //Attach hydrolic clamp var/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp/HC = new /obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp HC.attach(src) for(var/obj/item/mecha_parts/mecha_tracking/B in src.contents)//Deletes the beacon so it can't be found easily qdel(B) /obj/mecha/working/ripley/Exit(atom/movable/O) if(O in cargo) return 0 return ..() /obj/mecha/working/ripley/Topic(href, href_list) ..() if(href_list["drop_from_cargo"]) var/obj/O = locate(href_list["drop_from_cargo"]) if(O && O in src.cargo) src.occupant_message("\blue You unload [O].") O.loc = get_turf(src) src.cargo -= O var/turf/T = get_turf(O) if(T) T.Entered(O) src.log_message("Unloaded [O]. Cargo compartment capacity: [cargo_capacity - src.cargo.len]") return /obj/mecha/working/ripley/get_stats_part() var/output = ..() output += "Cargo Compartment Contents:
" if(src.cargo.len) for(var/obj/O in src.cargo) output += "Unload : [O]
" else output += "Nothing" output += "
" return output /obj/mecha/working/ripley/Destroy() for(var/mob/M in src) if(M==src.occupant) continue M.loc = get_turf(src) M.loc.Entered(M) step_rand(M) for(var/atom/movable/A in src.cargo) A.loc = get_turf(src) var/turf/T = get_turf(A) if(T) T.Entered(A) step_rand(A) return ..()