Adds basilisk hide and hivelord cores as mining rig upgrades (#33244)
* added basilisk and hivelord armor * change laser from 90 to 50 * Update mining_mobs.dm * rad from 100 to 50 * laser down to 30, changed scaling to 5 from 10 * lower energy to 30? * Update mining_mobs.dm
@@ -3,19 +3,21 @@
|
||||
#define HIDES_IDENTITY_NEVER -1
|
||||
|
||||
//clothing flags
|
||||
#define MASKINTERNALS 1 // mask allows internals
|
||||
#define NOSLIP 2 //prevents from slipping on wet floors, etc
|
||||
#define BLOCK_GAS_SMOKE_EFFECT 4 //blocks the effect that chemical clouds would have on a mob
|
||||
#define ONESIZEFITSALL 8
|
||||
#define PLASMAGUARD 16 //Does not get contaminated by plasma.
|
||||
#define BLOCK_BREATHING 32 //When worn, prevents breathing!
|
||||
#define GOLIATHREINFORCE 64
|
||||
#define CANEXTINGUISH 128
|
||||
#define CONTAINPLASMAMAN 256
|
||||
#define IGNORE_LUBE 512
|
||||
#define MAGPULSE 1024 //prevents slipping in space, singulo pulling, etc
|
||||
#define GENDERFIT 2048 //Toggles gender fitting so it appends _f for female mob icon.
|
||||
#define COLORS_OVERLAY 4096 //if toggled on, the color variable will also modify the color of how it looks on the wearer
|
||||
#define MASKINTERNALS (1 << 0) // mask allows internals
|
||||
#define NOSLIP (1 << 1) //prevents from slipping on wet floors, etc
|
||||
#define BLOCK_GAS_SMOKE_EFFECT (1 << 2) //blocks the effect that chemical clouds would have on a mob
|
||||
#define ONESIZEFITSALL (1 << 3)
|
||||
#define PLASMAGUARD (1 << 4) //Does not get contaminated by plasma.
|
||||
#define BLOCK_BREATHING (1 << 5) //When worn, prevents breathing!
|
||||
#define GOLIATH_REINFORCEABLE (1 << 6)
|
||||
#define HIVELORD_REINFORCEABLE (1 << 7)
|
||||
#define BASILISK_REINFORCEABLE (1 << 8)
|
||||
#define CANEXTINGUISH (1 << 9)
|
||||
#define CONTAINPLASMAMAN (1 << 10)
|
||||
#define IGNORE_LUBE (1 << 11)
|
||||
#define MAGPULSE (1 << 12) //prevents slipping in space, singulo pulling, etc
|
||||
#define GENDERFIT (1 << 13) //Toggles gender fitting so it appends _f for female mob icon.
|
||||
#define COLORS_OVERLAY (1 << 14)//if toggled on, the color variable will also modify the color of how it looks on the wearer
|
||||
|
||||
//clothing audible emote flags
|
||||
#define CLOTHING_SOUND_SCREAM "scream"
|
||||
|
||||
@@ -250,14 +250,14 @@
|
||||
icon_state = "vox-pressure"
|
||||
item_state = "vox-pressure"
|
||||
desc = "A huge, pressurized suit, designed for distinctly nonhuman proportions. It looks unusually cheap, even for Vox."
|
||||
clothing_flags = GOLIATHREINFORCE
|
||||
clothing_flags = GOLIATH_REINFORCEABLE|HIVELORD_REINFORCEABLE|BASILISK_REINFORCEABLE
|
||||
|
||||
/obj/item/clothing/head/helmet/space/vox/civ/trader //brownhelmet
|
||||
name = "alien helmet"
|
||||
icon_state = "vox-pressure"
|
||||
item_state = "vox-pressure"
|
||||
desc = "Hey, wasn't this a prop in \'The Abyss\'?"
|
||||
clothing_flags = GOLIATHREINFORCE
|
||||
clothing_flags = GOLIATH_REINFORCEABLE|HIVELORD_REINFORCEABLE|BASILISK_REINFORCEABLE
|
||||
|
||||
/obj/item/clothing/suit/space/vox/civ/trader/flex
|
||||
name = "flexible trader pressure suit"
|
||||
@@ -409,12 +409,12 @@
|
||||
/obj/item/clothing/suit/space/vox/civ/mining
|
||||
name = "vox mining pressure suit"
|
||||
icon_state = "vox-civ-mining"
|
||||
clothing_flags = GOLIATHREINFORCE
|
||||
clothing_flags = GOLIATH_REINFORCEABLE|HIVELORD_REINFORCEABLE|BASILISK_REINFORCEABLE
|
||||
|
||||
/obj/item/clothing/head/helmet/space/vox/civ/mining
|
||||
name = "vox mining pressure helmet"
|
||||
icon_state = "vox-civ-mining"
|
||||
clothing_flags = GOLIATHREINFORCE
|
||||
clothing_flags = GOLIATH_REINFORCEABLE|HIVELORD_REINFORCEABLE|BASILISK_REINFORCEABLE
|
||||
|
||||
//Engineering
|
||||
/obj/item/clothing/suit/space/vox/civ/engineer
|
||||
|
||||
@@ -223,14 +223,14 @@
|
||||
icon_state = "plasmamanMiner_suit"
|
||||
armor = list(melee = 30, bullet = 5, laser = 15,energy = 5, bomb = 30, bio = 100, rad = 20)
|
||||
slowdown = HARDSUIT_SLOWDOWN_LOW
|
||||
clothing_flags = GOLIATHREINFORCE|CONTAINPLASMAMAN
|
||||
clothing_flags = GOLIATH_REINFORCEABLE|HIVELORD_REINFORCEABLE|BASILISK_REINFORCEABLE|CONTAINPLASMAMAN
|
||||
|
||||
/obj/item/clothing/head/helmet/space/plasmaman/miner
|
||||
name = "plasmaman miner helmet"
|
||||
icon_state = "plasmamanMiner_helmet0"
|
||||
base_state = "plasmamanMiner_helmet"
|
||||
armor = list(melee = 30, bullet = 5, laser = 15,energy = 5, bomb = 30, bio = 100, rad = 20)
|
||||
clothing_flags = GOLIATHREINFORCE|CONTAINPLASMAMAN
|
||||
clothing_flags = GOLIATH_REINFORCEABLE|HIVELORD_REINFORCEABLE|BASILISK_REINFORCEABLE|CONTAINPLASMAMAN
|
||||
|
||||
|
||||
// MEDSCI
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
species_restricted = list("exclude",VOX_SHAPED)
|
||||
armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 10)
|
||||
pressure_resistance = 40 * ONE_ATMOSPHERE
|
||||
clothing_flags = GOLIATHREINFORCE
|
||||
clothing_flags = GOLIATH_REINFORCEABLE|HIVELORD_REINFORCEABLE|BASILISK_REINFORCEABLE
|
||||
|
||||
/obj/item/clothing/suit/space/rig/mining
|
||||
icon_state = "rig-mining"
|
||||
@@ -85,7 +85,7 @@
|
||||
species_restricted = list("exclude",VOX_SHAPED)
|
||||
armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 10)
|
||||
pressure_resistance = 40 * ONE_ATMOSPHERE
|
||||
clothing_flags = GOLIATHREINFORCE
|
||||
clothing_flags = GOLIATH_REINFORCEABLE|HIVELORD_REINFORCEABLE|BASILISK_REINFORCEABLE
|
||||
head_type = /obj/item/clothing/head/helmet/space/rig/mining
|
||||
allowed = list(
|
||||
/obj/item/device/flashlight,
|
||||
@@ -522,7 +522,7 @@
|
||||
species_fit = list(GREY_SHAPED)
|
||||
species_restricted = list("exclude",VOX_SHAPED)
|
||||
_color = "knight"
|
||||
clothing_flags = PLASMAGUARD|GOLIATHREINFORCE
|
||||
clothing_flags = PLASMAGUARD|GOLIATH_REINFORCEABLE|HIVELORD_REINFORCEABLE|BASILISK_REINFORCEABLE
|
||||
|
||||
|
||||
/obj/item/clothing/suit/space/rig/knight
|
||||
@@ -536,7 +536,7 @@
|
||||
siemens_coefficient = 0.5
|
||||
species_fit = list(GREY_SHAPED)
|
||||
species_restricted = list("exclude",VOX_SHAPED)
|
||||
clothing_flags = PLASMAGUARD|GOLIATHREINFORCE
|
||||
clothing_flags = PLASMAGUARD|GOLIATH_REINFORCEABLE|HIVELORD_REINFORCEABLE|BASILISK_REINFORCEABLE
|
||||
head_type = /obj/item/clothing/head/helmet/space/rig/knight
|
||||
|
||||
/obj/item/clothing/head/helmet/space/rig/knight/black
|
||||
@@ -646,7 +646,7 @@
|
||||
item_state = "rorsuit"
|
||||
species_fit = list(INSECT_SHAPED)
|
||||
armor = list(melee = 40, bullet = 0, laser = 0,energy = 0, bomb = 65, bio = 100, rad = 50)
|
||||
clothing_flags = GOLIATHREINFORCE
|
||||
clothing_flags = GOLIATH_REINFORCEABLE|HIVELORD_REINFORCEABLE|BASILISK_REINFORCEABLE
|
||||
head_type = /obj/item/clothing/head/helmet/space/rig/ror
|
||||
|
||||
/obj/item/clothing/head/helmet/space/rig/ror
|
||||
@@ -656,7 +656,7 @@
|
||||
item_state = "rorhelm"
|
||||
species_fit = list(INSECT_SHAPED)
|
||||
armor = list(melee = 40, bullet = 0, laser = 0,energy = 0, bomb = 65, bio = 100, rad = 50)
|
||||
clothing_flags = GOLIATHREINFORCE
|
||||
clothing_flags = GOLIATH_REINFORCEABLE|HIVELORD_REINFORCEABLE|BASILISK_REINFORCEABLE
|
||||
|
||||
/obj/item/clothing/head/helmet/space/rig/ror/update_icon()
|
||||
return
|
||||
|
||||
@@ -176,7 +176,7 @@
|
||||
body_parts_covered = ARMS|LEGS|FULL_TORSO|FEET|HANDS
|
||||
slowdown = HARDSUIT_SLOWDOWN_LOW
|
||||
armor = list(melee = 40, bullet = 5, laser = 5, energy = 5, bomb = 0, bio = 0, rad = 0)
|
||||
clothing_flags = GOLIATHREINFORCE
|
||||
clothing_flags = GOLIATH_REINFORCEABLE|HIVELORD_REINFORCEABLE|BASILISK_REINFORCEABLE
|
||||
|
||||
|
||||
/obj/item/clothing/suit/armor/samurai
|
||||
|
||||
@@ -134,16 +134,42 @@
|
||||
if(3.0)
|
||||
adjustBruteLoss(110)
|
||||
|
||||
/obj/item/asteroid/basilisk_hide
|
||||
name = "basilisk crystals"
|
||||
desc = "You shouldn't ever see this."
|
||||
icon = 'icons/obj/mining.dmi'
|
||||
icon_state = "Diamond ore"
|
||||
|
||||
/obj/item/asteroid/basilisk_hide/New()
|
||||
/mob/living/simple_animal/hostile/asteroid/basilisk/death(var/gibbed = FALSE)
|
||||
visible_message("<span class='danger'>\The [src] shatters before dying, leaving some diamond ore.</span>")
|
||||
drop_stack(/obj/item/stack/ore/diamond, loc, 2)
|
||||
..()
|
||||
qdel(src)
|
||||
..(gibbed)
|
||||
|
||||
/obj/item/asteroid/basilisk_hide
|
||||
name = "basilisk hide"
|
||||
desc = "Diamond-studded hide."
|
||||
icon = 'icons/obj/items.dmi'
|
||||
icon_state = "basilisk_hide"
|
||||
|
||||
/obj/item/asteroid/basilisk_hide/afterattack(atom/target, mob/user, proximity_flag)
|
||||
if(!(proximity_flag && istype(target, /obj/item/clothing)))
|
||||
return
|
||||
var/obj/item/clothing/C = target
|
||||
if(!(C.clothing_flags & BASILISK_REINFORCEABLE))
|
||||
return
|
||||
|
||||
C.clothing_flags &= ~HIVELORD_REINFORCEABLE
|
||||
C.clothing_flags &= ~GOLIATH_REINFORCEABLE
|
||||
|
||||
var/current_armor = C.armor
|
||||
C.hidecount++
|
||||
if(current_armor["laser"] < 30)
|
||||
current_armor["laser"] = min(current_armor["laser"] + 5, 30)
|
||||
to_chat(user, "<span class='info'>You strengthen [target], improving its dissipation of lasers.</span>")
|
||||
qdel(src)
|
||||
else
|
||||
to_chat(user, "<span class='info'>You can't improve [C] any further.</span>")
|
||||
if(has_icon(C.icon, "[initial(C.item_state)]_basilisk[C.hidecount]"))
|
||||
C.name = "reinforced [initial(C.name)]"
|
||||
C.item_state = "[initial(C.item_state)]_basilisk[C.hidecount]"
|
||||
C.icon_state = "[initial(C.icon_state)]_basilisk[C.hidecount]"
|
||||
C._color = "mining_basilisk[C.hidecount]"
|
||||
if(user.is_wearing_item(C))
|
||||
user.regenerate_icons()
|
||||
|
||||
/mob/living/simple_animal/hostile/asteroid/goldgrub
|
||||
name = "goldgrub"
|
||||
@@ -373,6 +399,33 @@
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/asteroid/hivelord_core/afterattack(atom/target, mob/user, proximity_flag)
|
||||
if(!(proximity_flag && istype(target, /obj/item/clothing)))
|
||||
return
|
||||
var/obj/item/clothing/C = target
|
||||
if(!(C.clothing_flags & HIVELORD_REINFORCEABLE))
|
||||
return
|
||||
|
||||
C.clothing_flags &= ~GOLIATH_REINFORCEABLE
|
||||
C.clothing_flags &= ~BASILISK_REINFORCEABLE
|
||||
|
||||
var/current_armor = C.armor
|
||||
C.hidecount++
|
||||
if(current_armor["bio"] < 100 || current_armor["rad"] < 50)
|
||||
current_armor["bio"] = min(current_armor["bio"] + 10, 100)
|
||||
current_armor["rad"] = min(current_armor["rad"] + 10, 50)
|
||||
to_chat(user, "<span class='info'>You strengthen [target], improving its resistance against biological and radiological attacks.</span>")
|
||||
qdel(src)
|
||||
else
|
||||
to_chat(user, "<span class='info'>You can't improve [C] any further.</span>")
|
||||
if(has_icon(C.icon, "[initial(C.item_state)]_hivelord[C.hidecount]"))
|
||||
C.name = "reinforced [initial(C.name)]"
|
||||
C.item_state = "[initial(C.item_state)]_hivelord[C.hidecount]"
|
||||
C.icon_state = "[initial(C.icon_state)]_hivelord[C.hidecount]"
|
||||
C._color = "mining_hivelord[C.hidecount]"
|
||||
if(user.is_wearing_item(C))
|
||||
user.regenerate_icons()
|
||||
|
||||
/obj/item/asteroid/hivelord_core/attack_self(mob/user as mob)
|
||||
if (iscarbon(user))
|
||||
return consume(user, user)
|
||||
@@ -548,24 +601,30 @@
|
||||
w_class = W_CLASS_MEDIUM
|
||||
|
||||
/obj/item/asteroid/goliath_hide/afterattack(atom/target, mob/user, proximity_flag)
|
||||
if(proximity_flag && istype(target, /obj/item/clothing))
|
||||
var/obj/item/clothing/C = target
|
||||
var/current_armor = C.armor
|
||||
if(C.clothing_flags & GOLIATHREINFORCE)
|
||||
C.hidecount ++
|
||||
if(current_armor["melee"] < 90)
|
||||
current_armor["melee"] = min(current_armor["melee"] + 10, 90)
|
||||
to_chat(user, "<span class='info'>You strengthen [target], improving its resistance against melee attacks.</span>")
|
||||
qdel(src)
|
||||
else
|
||||
to_chat(user, "<span class='info'>You can't improve [C] any further.</span>")
|
||||
if(has_icon(C.icon, "[initial(C.item_state)]_goliath[C.hidecount]"))
|
||||
C.name = "reinforced [initial(C.name)]"
|
||||
C.item_state = "[initial(C.item_state)]_goliath[C.hidecount]"
|
||||
C.icon_state = "[initial(C.icon_state)]_goliath[C.hidecount]"
|
||||
C._color = "mining_goliath[C.hidecount]"
|
||||
if(user.is_wearing_item(C))
|
||||
user.regenerate_icons()
|
||||
if(!(proximity_flag && istype(target, /obj/item/clothing)))
|
||||
return
|
||||
var/obj/item/clothing/C = target
|
||||
if(!(C.clothing_flags & GOLIATH_REINFORCEABLE))
|
||||
return
|
||||
|
||||
C.clothing_flags &= ~HIVELORD_REINFORCEABLE
|
||||
C.clothing_flags &= ~BASILISK_REINFORCEABLE
|
||||
|
||||
var/current_armor = C.armor
|
||||
C.hidecount++
|
||||
if(current_armor["melee"] < 90)
|
||||
current_armor["melee"] = min(current_armor["melee"] + 10, 90)
|
||||
to_chat(user, "<span class='info'>You strengthen [target], improving its resistance against melee attacks.</span>")
|
||||
qdel(src)
|
||||
else
|
||||
to_chat(user, "<span class='info'>You can't improve [C] any further.</span>")
|
||||
if(has_icon(C.icon, "[initial(C.item_state)]_goliath[C.hidecount]"))
|
||||
C.name = "reinforced [initial(C.name)]"
|
||||
C.item_state = "[initial(C.item_state)]_goliath[C.hidecount]"
|
||||
C.icon_state = "[initial(C.icon_state)]_goliath[C.hidecount]"
|
||||
C._color = "mining_goliath[C.hidecount]"
|
||||
if(user.is_wearing_item(C))
|
||||
user.regenerate_icons()
|
||||
|
||||
/mob/living/simple_animal/hostile/asteroid/goliath/david
|
||||
name = "david"
|
||||
|
||||
|
Before Width: | Height: | Size: 231 KiB After Width: | Height: | Size: 235 KiB |
|
Before Width: | Height: | Size: 444 KiB After Width: | Height: | Size: 457 KiB |
|
Before Width: | Height: | Size: 157 KiB After Width: | Height: | Size: 158 KiB |
|
Before Width: | Height: | Size: 193 KiB After Width: | Height: | Size: 196 KiB |
|
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 109 KiB |