mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-20 19:49:39 +01:00
Changes a bit how hardsuit jetpack upgrade works (#19165)
Hardsuit jetpack upgrade item is replaced by an actual jetpack - the same as the one that exists inside the upgraded suit. It still can't be used separately. Hardsuit jetpack has hardsuit jetpack sprites instead of voidsuit pack. You can remove jetpack from hardsuit by using screwdriver on it. Unrelated: Fixes mining vendor UI a bit: items with long names no longer take two lines. Changes staff of storms path to actual staff.
This commit is contained in:
@@ -88,6 +88,34 @@
|
||||
jetpack = new jetpack(src)
|
||||
..()
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/tank/jetpack/suit))
|
||||
if(jetpack)
|
||||
user << "<span class='warning'>[src] already has a jetpack installed.</span>"
|
||||
return
|
||||
if(src == user.get_item_by_slot(slot_wear_suit)) //Make sure the player is not wearing the suit before applying the upgrade.
|
||||
user << "<span class='warning'>You cannot install the upgrade to [src] while wearing it.</span>"
|
||||
return
|
||||
|
||||
if(user.unEquip(I))
|
||||
jetpack = I
|
||||
I.loc = src
|
||||
user << "<span class='notice'>You successfully install the jetpack into [src].</span>"
|
||||
|
||||
else if(istype(I, /obj/item/weapon/screwdriver))
|
||||
if(!jetpack)
|
||||
user << "<span class='warning'>[src] has no jetpack installed.</span>"
|
||||
return
|
||||
if(src == user.get_item_by_slot(slot_wear_suit))
|
||||
user << "<span class='warning'>You cannot remove the jetpack from [src] while wearing it.</span>"
|
||||
return
|
||||
|
||||
jetpack.turn_off()
|
||||
jetpack.loc = get_turf(src)
|
||||
jetpack = null
|
||||
user << "<span class='notice'>You successfully remove the jetpack from [src].</span>"
|
||||
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/equipped(mob/user, slot)
|
||||
..()
|
||||
if(jetpack)
|
||||
|
||||
@@ -441,28 +441,6 @@
|
||||
icon = 'icons/obj/mining.dmi'
|
||||
icon_state = "xeno_warning"
|
||||
|
||||
/******************Hardsuit Jetpack Upgrade*******************/
|
||||
/obj/item/hardsuit_jetpack
|
||||
name = "hardsuit jetpack upgrade"
|
||||
icon_state = "jetpack_upgrade"
|
||||
desc = "A modular, compact set of thrusters designed to integrate with a hardsuit. It is fueled by a tank inserted into the suit's storage compartment."
|
||||
origin_tech = "materials=4;magnets=4;engineering=5"
|
||||
// Same as jetpack implant minus biotech, makes sense.
|
||||
|
||||
|
||||
/obj/item/hardsuit_jetpack/afterattack(var/obj/item/clothing/suit/space/hardsuit/S, mob/user)
|
||||
..()
|
||||
if(!istype(S))
|
||||
user << "<span class='warning'>This upgrade can only be applied to a hardsuit.</span>"
|
||||
else if(S.jetpack)
|
||||
user << "<span class='warning'>[S] already has a jetpack installed.</span>"
|
||||
else if(S == user.get_item_by_slot(slot_wear_suit)) //Make sure the player is not wearing the suit before applying the upgrade.
|
||||
user << "<span class='warning'>You cannot install the upgrade to [S] while wearing it.</span>"
|
||||
else
|
||||
S.jetpack = new /obj/item/weapon/tank/jetpack/suit(S)
|
||||
user << "<span class='notice'>You successfully install the jetpack into [S].</span>"
|
||||
qdel(src)
|
||||
|
||||
/*********************Hivelord stabilizer****************/
|
||||
|
||||
/obj/item/weapon/hivelordstabilizer
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
new /datum/data/mining_equipment("Fulton Pack", /obj/item/weapon/extraction_pack, 1000),
|
||||
new /datum/data/mining_equipment("Lazarus Injector", /obj/item/weapon/lazarus_injector, 1000),
|
||||
new /datum/data/mining_equipment("Silver Pickaxe", /obj/item/weapon/pickaxe/silver, 1000),
|
||||
new /datum/data/mining_equipment("Jetpack Upgrade", /obj/item/hardsuit_jetpack, 2000),
|
||||
new /datum/data/mining_equipment("Jetpack Upgrade", /obj/item/weapon/tank/jetpack/suit, 2000),
|
||||
new /datum/data/mining_equipment("Space Cash", /obj/item/stack/spacecash/c1000, 2000),
|
||||
new /datum/data/mining_equipment("Mining Hardsuit", /obj/item/clothing/suit/space/hardsuit/mining, 2000),
|
||||
new /datum/data/mining_equipment("Diamond Pickaxe", /obj/item/weapon/pickaxe/diamond, 2000),
|
||||
@@ -94,7 +94,7 @@
|
||||
else
|
||||
dat += "No ID inserted. <A href='?src=\ref[src];choice=insert'>Insert ID.</A><br>"
|
||||
dat += "</div>"
|
||||
dat += "<br><b>Equipment point cost list:</b><BR><table border='0' width='200'>"
|
||||
dat += "<br><b>Equipment point cost list:</b><BR><table border='0' width='300'>"
|
||||
for(var/datum/data/mining_equipment/prize in prize_list)
|
||||
dat += "<tr><td>[prize.equipment_name]</td><td>[prize.cost]</td><td><A href='?src=\ref[src];purchase=\ref[prize]'>Purchase</A></td></tr>"
|
||||
dat += "</table>"
|
||||
|
||||
@@ -107,7 +107,7 @@ Difficulty: Medium
|
||||
last_legion = FALSE
|
||||
break
|
||||
if(last_legion)
|
||||
src.loot = list(/obj/item/weapon/staff_of_storms)
|
||||
src.loot = list(/obj/item/weapon/staff/storm)
|
||||
else if(prob(5))
|
||||
src.loot = list(/obj/structure/closet/crate/necropolis/tendril)
|
||||
..()
|
||||
@@ -124,7 +124,7 @@ Difficulty: Medium
|
||||
|
||||
//Loot
|
||||
|
||||
/obj/item/weapon/staff_of_storms
|
||||
/obj/item/weapon/staff/storm
|
||||
name = "staff of storms"
|
||||
desc = "An ancient staff retrieved from the remains of Legion. The wind stirs as you move it."
|
||||
icon_state = "staffofstorms"
|
||||
@@ -138,7 +138,7 @@ Difficulty: Medium
|
||||
hitsound = 'sound/weapons/sear.ogg'
|
||||
var/storm_cooldown = 0
|
||||
|
||||
/obj/item/weapon/staff_of_storms/attack_self(mob/user)
|
||||
/obj/item/weapon/staff/storm/attack_self(mob/user)
|
||||
if(storm_cooldown > world.time)
|
||||
user << "<span class='warning'>The staff is still recharging!</span>"
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user