diff --git a/baystation12.dme b/baystation12.dme index 0a94591d2a3..df7506065b2 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -433,9 +433,9 @@ #include "code\game\mecha\equipment\tools\medical_tools.dm" #include "code\game\mecha\equipment\tools\tools.dm" #include "code\game\mecha\equipment\weapons\weapons.dm" -#include "code\game\mecha\hoverpod\hoverpod.dm" #include "code\game\mecha\medical\medical.dm" #include "code\game\mecha\medical\odysseus.dm" +#include "code\game\mecha\working\hoverpod.dm" #include "code\game\mecha\working\ripley.dm" #include "code\game\mecha\working\working.dm" #include "code\game\objects\empulse.dm" diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 19fbecf36d4..7be2ad953a5 100755 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -619,7 +619,7 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee /datum/supply_packs/hoverpod name = "Hoverpod Shipment" contains = list() - cost = 75 + cost = 80 containertype = /obj/structure/largecrate/hoverpod containername = "Hoverpod Crate" group = "Operations" diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm index 42f5debc622..960f6d99c88 100644 --- a/code/game/mecha/equipment/tools/tools.dm +++ b/code/game/mecha/equipment/tools/tools.dm @@ -5,7 +5,7 @@ energy_drain = 10 var/dam_force = 20 var/obj/mecha/working/ripley/cargo_holder - required_type = list(/obj/mecha/working, /obj/mecha/hoverpod) //so that hoverpods are a bit more useful as space transportation + required_type = /obj/mecha/working attach(obj/mecha/M as obj) ..() @@ -70,7 +70,7 @@ equip_cooldown = 30 energy_drain = 10 force = 15 - required_type = list(/obj/mecha/working, /obj/mecha/combat) + required_type = list(/obj/mecha/working/ripley, /obj/mecha/combat) action(atom/target) if(!action_checks(target)) return diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 50cce47271e..da6188263a3 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -10,7 +10,7 @@ var/fire_sound //Sound played while firing. var/fire_volume = 50 //How loud it is played. var/auto_rearm = 0 //Does the weapon reload itself after each shot? - required_type = /obj/mecha/combat + required_type = list(/obj/mecha/combat, /obj/mecha/working/hoverpod/combatpod) /obj/item/mecha_parts/mecha_equipment/weapon/action_checks(atom/target) if(projectiles <= 0) diff --git a/code/game/mecha/hoverpod/hoverpod.dm b/code/game/mecha/working/hoverpod.dm similarity index 76% rename from code/game/mecha/hoverpod/hoverpod.dm rename to code/game/mecha/working/hoverpod.dm index e44feccca63..43f3f554d4d 100644 --- a/code/game/mecha/hoverpod/hoverpod.dm +++ b/code/game/mecha/working/hoverpod.dm @@ -1,4 +1,4 @@ -/obj/mecha/hoverpod +/obj/mecha/working/hoverpod desc = "Stubby and round, this space-capable craft is an ancient favorite." name = "Hover Pod" icon_state = "engineering_pod" @@ -11,25 +11,18 @@ infra_luminosity = 6 wreckage = /obj/effect/decal/mecha_wreckage/hoverpod var/list/cargo = new - var/cargo_capacity = 3 - max_equip = 2 + var/cargo_capacity = 5 + max_equip = 3 var/datum/effect/effect/system/ion_trail_follow/ion_trail -/obj/mecha/hoverpod/New() +/obj/mecha/working/hoverpod/New() ..() - var/turf/T = get_turf(src) - if(T.z != 2) - new /obj/item/mecha_parts/mecha_tracking(src) - ion_trail = new /datum/effect/effect/system/ion_trail_follow() ion_trail.set_up(src) ion_trail.start() -/obj/mecha/hoverpod/range_action(atom/target as obj|mob|turf) - return - //No space drifting -/obj/mecha/hoverpod/check_for_support() +/obj/mecha/working/hoverpod/check_for_support() //does the hoverpod have enough charge left to stabilize itself? if (has_charge(step_energy_drain)) if (!ion_trail.on) @@ -40,30 +33,30 @@ return ..() //these three procs overriden to play different sounds -/obj/mecha/hoverpod/mechturn(direction) +/obj/mecha/working/hoverpod/mechturn(direction) dir = direction //playsound(src,'sound/machines/hiss.ogg',40,1) return 1 -/obj/mecha/hoverpod/mechstep(direction) +/obj/mecha/working/hoverpod/mechstep(direction) var/result = step(src,direction) if(result) playsound(src,'sound/machines/hiss.ogg',40,1) return result -/obj/mecha/hoverpod/mechsteprand() +/obj/mecha/working/hoverpod/mechsteprand() var/result = step_rand(src) if(result) playsound(src,'sound/machines/hiss.ogg',40,1) return result -/obj/mecha/hoverpod/Exit(atom/movable/O) +/obj/mecha/working/hoverpod/Exit(atom/movable/O) if(O in cargo) return 0 return ..() -/obj/mecha/hoverpod/Topic(href, href_list) +/obj/mecha/working/hoverpod/Topic(href, href_list) ..() if(href_list["drop_from_cargo"]) var/obj/O = locate(href_list["drop_from_cargo"]) @@ -78,7 +71,7 @@ return -/obj/mecha/hoverpod/get_stats_part() +/obj/mecha/working/hoverpod/get_stats_part() var/output = ..() output += "Cargo Compartment Contents:
" if(src.cargo.len) @@ -89,7 +82,7 @@ output += "
" return output -/obj/mecha/hoverpod/Del() +/obj/mecha/working/hoverpod/Del() for(var/mob/M in src) if(M==src.occupant) continue @@ -106,27 +99,26 @@ return //Hoverpod variants - -/* Commented out the combatpod as they can't reattach their equipment if it ever gets dropped, - * and making a special exception for them seems lame. -/obj/mecha/hoverpod/combatpod +/obj/mecha/working/hoverpod/combatpod desc = "An ancient, run-down combat spacecraft." // Ideally would have a seperate icon. name = "Combat Hoverpod" health = 200 internal_damage_threshold = 35 + cargo_capacity = 2 + max_equip = 2 -/obj/mecha/hoverpod/combatpod/New() +/obj/mecha/working/hoverpod/combatpod/New() ..() var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser ME.attach(src) ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/explosive ME.attach(src) -*/ -/obj/mecha/hoverpod/shuttlepod + +/obj/mecha/working/hoverpod/shuttlepod desc = "Who knew a tiny ball could fit three people?" -/obj/mecha/hoverpod/shuttlepod/New() +/obj/mecha/working/hoverpod/shuttlepod/New() ..() var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/tool/passenger ME.attach(src) diff --git a/code/game/objects/structures/crates_lockers/largecrate.dm b/code/game/objects/structures/crates_lockers/largecrate.dm index 2923ba2321b..1958bac750c 100644 --- a/code/game/objects/structures/crates_lockers/largecrate.dm +++ b/code/game/objects/structures/crates_lockers/largecrate.dm @@ -70,5 +70,11 @@ /obj/structure/largecrate/hoverpod/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/crowbar)) - new /obj/mecha/hoverpod(loc) + var/obj/item/mecha_parts/mecha_equipment/ME + var/obj/mecha/working/hoverpod/H = new (loc) + + ME = new /obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp + ME.attach(H) + ME = new /obj/item/mecha_parts/mecha_equipment/tool/passenger + ME.attach(H) ..() \ No newline at end of file