mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-27 23:27:34 +01:00
cockroach refactor (#48836)
About The Pull Request cockroaches are now a hostile mob and glockroaches are a child also glockroaches dont 1 shot tables and stuff anymore Why It's Good For The Game copypaste BAD?? Changelog 🆑 refactor: glockroach /🆑
This commit is contained in:
@@ -2139,7 +2139,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/starboard/fore)
|
||||
"aiE" = (
|
||||
/mob/living/simple_animal/cockroach,
|
||||
/mob/living/simple_animal/hostile/cockroach,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/starboard/fore)
|
||||
"aiF" = (
|
||||
@@ -4303,7 +4303,7 @@
|
||||
/area/vacant_room/office)
|
||||
"and" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/mob/living/simple_animal/cockroach,
|
||||
/mob/living/simple_animal/hostile/cockroach,
|
||||
/turf/open/floor/wood,
|
||||
/area/vacant_room/office)
|
||||
"ane" = (
|
||||
@@ -5291,7 +5291,7 @@
|
||||
/turf/open/floor/plasteel/grimy,
|
||||
/area/vacant_room/office)
|
||||
"apa" = (
|
||||
/mob/living/simple_animal/cockroach,
|
||||
/mob/living/simple_animal/hostile/cockroach,
|
||||
/turf/open/floor/plasteel/grimy,
|
||||
/area/vacant_room/office)
|
||||
"apb" = (
|
||||
@@ -9117,7 +9117,7 @@
|
||||
},
|
||||
/area/maintenance/port/fore)
|
||||
"awu" = (
|
||||
/mob/living/simple_animal/cockroach,
|
||||
/mob/living/simple_animal/hostile/cockroach,
|
||||
/turf/open/floor/wood,
|
||||
/area/maintenance/port/fore)
|
||||
"awv" = (
|
||||
@@ -9854,7 +9854,7 @@
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/structure/cable,
|
||||
/mob/living/simple_animal/cockroach,
|
||||
/mob/living/simple_animal/hostile/cockroach,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/port/fore)
|
||||
"axU" = (
|
||||
@@ -20369,7 +20369,7 @@
|
||||
"aRK" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on,
|
||||
/mob/living/simple_animal/cockroach,
|
||||
/mob/living/simple_animal/hostile/cockroach,
|
||||
/turf/open/floor/wood{
|
||||
icon_state = "wood-broken5"
|
||||
},
|
||||
@@ -27448,7 +27448,7 @@
|
||||
/turf/open/floor/engine/o2,
|
||||
/area/engine/atmos)
|
||||
"bdo" = (
|
||||
/mob/living/simple_animal/cockroach,
|
||||
/mob/living/simple_animal/hostile/cockroach,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/port/fore)
|
||||
"bdp" = (
|
||||
@@ -63185,7 +63185,7 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/cable,
|
||||
/mob/living/simple_animal/cockroach,
|
||||
/mob/living/simple_animal/hostile/cockroach,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/starboard)
|
||||
"cnh" = (
|
||||
@@ -76985,7 +76985,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 5
|
||||
},
|
||||
/mob/living/simple_animal/cockroach,
|
||||
/mob/living/simple_animal/hostile/cockroach,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/port)
|
||||
"cMV" = (
|
||||
@@ -88537,7 +88537,7 @@
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/cable,
|
||||
/mob/living/simple_animal/cockroach,
|
||||
/mob/living/simple_animal/hostile/cockroach,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/abandoned_gambling_den)
|
||||
"dhN" = (
|
||||
@@ -91483,7 +91483,7 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/cable,
|
||||
/mob/living/simple_animal/cockroach,
|
||||
/mob/living/simple_animal/hostile/cockroach,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/maintenance/starboard/aft)
|
||||
"dnN" = (
|
||||
@@ -92525,7 +92525,7 @@
|
||||
"dpQ" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/mob/living/simple_animal/cockroach,
|
||||
/mob/living/simple_animal/hostile/cockroach,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/abandoned_gambling_den)
|
||||
"dpR" = (
|
||||
@@ -96206,7 +96206,7 @@
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/mob/living/simple_animal/cockroach,
|
||||
/mob/living/simple_animal/hostile/cockroach,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/abandoned_gambling_den)
|
||||
"dxH" = (
|
||||
@@ -102151,7 +102151,7 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/cable,
|
||||
/mob/living/simple_animal/cockroach,
|
||||
/mob/living/simple_animal/hostile/cockroach,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/theatre/abandoned)
|
||||
"dJu" = (
|
||||
@@ -102234,7 +102234,7 @@
|
||||
/turf/open/floor/wood,
|
||||
/area/security/detectives_office/private_investigators_office)
|
||||
"dJE" = (
|
||||
/mob/living/simple_animal/cockroach,
|
||||
/mob/living/simple_animal/hostile/cockroach,
|
||||
/turf/open/floor/wood,
|
||||
/area/security/detectives_office/private_investigators_office)
|
||||
"dJF" = (
|
||||
@@ -106525,7 +106525,7 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/cable,
|
||||
/mob/living/simple_animal/cockroach,
|
||||
/mob/living/simple_animal/hostile/cockroach,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/port/aft)
|
||||
"dRH" = (
|
||||
@@ -107576,7 +107576,7 @@
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/medical/virology)
|
||||
"dUc" = (
|
||||
/mob/living/simple_animal/cockroach,
|
||||
/mob/living/simple_animal/hostile/cockroach,
|
||||
/turf/open/floor/wood,
|
||||
/area/library/abandoned)
|
||||
"dUd" = (
|
||||
|
||||
@@ -633,7 +633,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
|
||||
strong_against = typecacheof(list(
|
||||
/mob/living/simple_animal/hostile/poison/bees/,
|
||||
/mob/living/simple_animal/butterfly,
|
||||
/mob/living/simple_animal/cockroach,
|
||||
/mob/living/simple_animal/hostile/cockroach,
|
||||
/obj/item/queen_bee
|
||||
))
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
var/cockroaches = prob(33) ? 3 : 0
|
||||
while(cockroaches)
|
||||
new /mob/living/simple_animal/cockroach(get_turf(vent))
|
||||
new /mob/living/simple_animal/hostile/cockroach(get_turf(vent))
|
||||
cockroaches--
|
||||
CHECK_TICK
|
||||
|
||||
|
||||
@@ -204,7 +204,7 @@
|
||||
new /obj/item/dnainjector/wackymut(src)
|
||||
if(91)
|
||||
for(var/i in 1 to 30)
|
||||
new /mob/living/simple_animal/cockroach(src)
|
||||
new /mob/living/simple_animal/hostile/cockroach(src)
|
||||
if(92)
|
||||
new /obj/item/katana(src)
|
||||
if(93)
|
||||
|
||||
@@ -299,7 +299,7 @@
|
||||
target_types += /obj/effect/decal/cleanable/trail_holder
|
||||
|
||||
if(pests)
|
||||
target_types += /mob/living/simple_animal/cockroach
|
||||
target_types += /mob/living/simple_animal/hostile/cockroach
|
||||
target_types += /mob/living/simple_animal/mouse
|
||||
|
||||
if(drawn)
|
||||
@@ -333,7 +333,7 @@
|
||||
playsound(src, 'sound/effects/spray2.ogg', 50, TRUE, -6)
|
||||
A.acid_act(75, 10)
|
||||
target = null
|
||||
else if(istype(A, /mob/living/simple_animal/cockroach) || istype(A, /mob/living/simple_animal/mouse))
|
||||
else if(istype(A, /mob/living/simple_animal/hostile/cockroach) || istype(A, /mob/living/simple_animal/mouse))
|
||||
var/mob/living/simple_animal/M = target
|
||||
if(!M.stat)
|
||||
visible_message("<span class='danger'>[src] smashes [target] with its mop!</span>")
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
/mob/living/simple_animal/cockroach
|
||||
name = "cockroach"
|
||||
desc = "This station is just crawling with bugs."
|
||||
icon_state = "cockroach"
|
||||
icon_dead = "cockroach"
|
||||
health = 1
|
||||
maxHealth = 1
|
||||
turns_per_move = 5
|
||||
loot = list(/obj/effect/decal/cleanable/insectguts)
|
||||
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
|
||||
minbodytemp = 270
|
||||
maxbodytemp = INFINITY
|
||||
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
|
||||
mob_size = MOB_SIZE_TINY
|
||||
mob_biotypes = MOB_ORGANIC|MOB_BUG
|
||||
response_disarm_continuous = "shoos"
|
||||
response_disarm_simple = "shoo"
|
||||
response_harm_continuous = "splats"
|
||||
response_harm_simple = "splat"
|
||||
speak_emote = list("chitters")
|
||||
density = FALSE
|
||||
ventcrawler = VENTCRAWLER_ALWAYS
|
||||
gold_core_spawnable = FRIENDLY_SPAWN
|
||||
verb_say = "chitters"
|
||||
verb_ask = "chitters inquisitively"
|
||||
verb_exclaim = "chitters loudly"
|
||||
verb_yell = "chitters loudly"
|
||||
var/squish_chance = 50
|
||||
del_on_death = 1
|
||||
|
||||
/mob/living/simple_animal/cockroach/death(gibbed)
|
||||
if(SSticker.mode && SSticker.mode.station_was_nuked) //If the nuke is going off, then cockroaches are invincible. Keeps the nuke from killing them, cause cockroaches are immune to nukes.
|
||||
return
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/cockroach/Crossed(var/atom/movable/AM)
|
||||
if(ismob(AM))
|
||||
if(isliving(AM))
|
||||
var/mob/living/A = AM
|
||||
if(A.mob_size > MOB_SIZE_SMALL && !(A.movement_type & FLYING))
|
||||
if(prob(squish_chance))
|
||||
if(ishuman(A))
|
||||
var/mob/living/carbon/human/H = A
|
||||
if(HAS_TRAIT(H, TRAIT_PACIFISM))
|
||||
H.visible_message("<span class='notice'>[src] avoids getting crushed.</span>", "<span class='warning'>You avoid crushing [src]!</span>")
|
||||
return
|
||||
A.visible_message("<span class='notice'>[A] crushes [src].</span>", "<span class='notice'>You crushed [src].</span>")
|
||||
adjustBruteLoss(1) //kills a normal cockroach
|
||||
else
|
||||
visible_message("<span class='notice'>[src] avoids getting crushed.</span>")
|
||||
else
|
||||
if(isstructure(AM))
|
||||
if(prob(squish_chance))
|
||||
AM.visible_message("<span class='notice'>[src] was crushed under [AM].</span>")
|
||||
adjustBruteLoss(1)
|
||||
else
|
||||
visible_message("<span class='notice'>[src] avoids getting crushed.</span>")
|
||||
|
||||
/mob/living/simple_animal/cockroach/ex_act() //Explosions are a terrible way to handle a cockroach.
|
||||
return
|
||||
@@ -26,7 +26,7 @@
|
||||
gold_core_spawnable = FRIENDLY_SPAWN
|
||||
obj_damage = 0
|
||||
environment_smash = ENVIRONMENT_SMASH_NONE
|
||||
var/static/list/edibles = typecacheof(list(/mob/living/simple_animal/butterfly, /mob/living/simple_animal/cockroach)) //list of atoms, however turfs won't affect AI, but will affect consumption.
|
||||
var/static/list/edibles = typecacheof(list(/mob/living/simple_animal/butterfly, /mob/living/simple_animal/hostile/cockroach)) //list of atoms, however turfs won't affect AI, but will affect consumption.
|
||||
|
||||
/mob/living/simple_animal/hostile/lizard/CanAttack(atom/the_target)//Can we actually attack a possible target?
|
||||
if(see_invisible < the_target.invisibility)//Target's invisible to us, forget it
|
||||
|
||||
+35
-21
@@ -1,16 +1,7 @@
|
||||
/obj/projectile/glockroachbullet
|
||||
damage = 10 //same damage as a hivebot
|
||||
damage_type = BRUTE
|
||||
|
||||
/obj/item/ammo_casing/glockroach
|
||||
name = "0.9mm bullet casing"
|
||||
desc = "A... 0.9mm bullet casing? What?"
|
||||
projectile_type = /obj/projectile/glockroachbullet
|
||||
|
||||
/mob/living/simple_animal/hostile/glockroach //copypasted from cockroach.dm so i could use the shooting code in hostile.dm
|
||||
name = "glockroach"
|
||||
desc = "HOLY SHIT, THAT COCKROACH HAS A GUN!"
|
||||
icon_state = "glockroach"
|
||||
/mob/living/simple_animal/hostile/cockroach
|
||||
name = "cockroach"
|
||||
desc = "This station is just crawling with bugs."
|
||||
icon_state = "cockroach"
|
||||
icon_dead = "cockroach"
|
||||
health = 1
|
||||
maxHealth = 1
|
||||
@@ -28,25 +19,49 @@
|
||||
response_harm_simple = "splat"
|
||||
speak_emote = list("chitters")
|
||||
density = FALSE
|
||||
melee_damage_lower = 0
|
||||
melee_damage_upper = 0
|
||||
obj_damage = 0
|
||||
ventcrawler = VENTCRAWLER_ALWAYS
|
||||
gold_core_spawnable = HOSTILE_SPAWN
|
||||
gold_core_spawnable = FRIENDLY_SPAWN
|
||||
verb_say = "chitters"
|
||||
verb_ask = "chitters inquisitively"
|
||||
verb_exclaim = "chitters loudly"
|
||||
verb_yell = "chitters loudly"
|
||||
del_on_death = TRUE
|
||||
environment_smash = ENVIRONMENT_SMASH_NONE
|
||||
faction = list("neutral")
|
||||
var/squish_chance = 50
|
||||
|
||||
/obj/projectile/glockroachbullet
|
||||
damage = 10 //same damage as a hivebot
|
||||
damage_type = BRUTE
|
||||
|
||||
/obj/item/ammo_casing/glockroach
|
||||
name = "0.9mm bullet casing"
|
||||
desc = "A... 0.9mm bullet casing? What?"
|
||||
projectile_type = /obj/projectile/glockroachbullet
|
||||
|
||||
/mob/living/simple_animal/hostile/cockroach/glockroach
|
||||
name = "glockroach"
|
||||
desc = "HOLY SHIT, THAT COCKROACH HAS A GUN!"
|
||||
icon_state = "glockroach"
|
||||
melee_damage_lower = 5
|
||||
melee_damage_upper = 5
|
||||
obj_damage = 20
|
||||
gold_core_spawnable = HOSTILE_SPAWN
|
||||
projectilesound = 'sound/weapons/gun/pistol/shot.ogg'
|
||||
projectiletype = /obj/projectile/glockroachbullet
|
||||
casingtype = /obj/item/ammo_casing/glockroach
|
||||
ranged = 1
|
||||
var/squish_chance = 50
|
||||
del_on_death = 1
|
||||
ranged = TRUE
|
||||
faction = list("hostile")
|
||||
|
||||
/mob/living/simple_animal/hostile/glockroach/death(gibbed)
|
||||
/mob/living/simple_animal/hostile/cockroach/death(gibbed)
|
||||
if(SSticker.mode && SSticker.mode.station_was_nuked) //If the nuke is going off, then cockroaches are invincible. Keeps the nuke from killing them, cause cockroaches are immune to nukes.
|
||||
return
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/hostile/glockroach/Crossed(var/atom/movable/AM)
|
||||
/mob/living/simple_animal/hostile/cockroach/Crossed(var/atom/movable/AM)
|
||||
if(ismob(AM))
|
||||
if(isliving(AM))
|
||||
var/mob/living/A = AM
|
||||
@@ -64,6 +79,5 @@
|
||||
else
|
||||
visible_message("<span class='notice'>[src] avoids getting crushed.</span>")
|
||||
|
||||
/mob/living/simple_animal/hostile/glockroach/ex_act() //Explosions are a terrible way to handle a cockroach.
|
||||
/mob/living/simple_animal/hostile/cockroach/ex_act() //Explosions are a terrible way to handle a cockroach.
|
||||
return
|
||||
|
||||
@@ -733,7 +733,7 @@ Difficulty: Very Hard
|
||||
mobcheck = TRUE
|
||||
break
|
||||
if(!mobcheck)
|
||||
new /mob/living/simple_animal/cockroach(get_step(src,dir)) //Just in case there aren't any animals on the station, this will leave you with a terrible option to possess if you feel like it
|
||||
new /mob/living/simple_animal/hostile/cockroach(get_step(src,dir)) //Just in case there aren't any animals on the station, this will leave you with a terrible option to possess if you feel like it //i found it funny that in the file for a giant angel beast theres a cockroach
|
||||
|
||||
/obj/structure/closet/stasis
|
||||
name = "quantum entanglement stasis warp field"
|
||||
|
||||
+1
-2
@@ -2236,7 +2236,6 @@
|
||||
#include "code\modules\mob\living\simple_animal\bot\SuperBeepsky.dm"
|
||||
#include "code\modules\mob\living\simple_animal\friendly\butterfly.dm"
|
||||
#include "code\modules\mob\living\simple_animal\friendly\cat.dm"
|
||||
#include "code\modules\mob\living\simple_animal\friendly\cockroach.dm"
|
||||
#include "code\modules\mob\living\simple_animal\friendly\crab.dm"
|
||||
#include "code\modules\mob\living\simple_animal\friendly\dog.dm"
|
||||
#include "code\modules\mob\living\simple_animal\friendly\farm_animals.dm"
|
||||
@@ -2274,11 +2273,11 @@
|
||||
#include "code\modules\mob\living\simple_animal\hostile\bees.dm"
|
||||
#include "code\modules\mob\living\simple_animal\hostile\carp.dm"
|
||||
#include "code\modules\mob\living\simple_animal\hostile\cat_butcher.dm"
|
||||
#include "code\modules\mob\living\simple_animal\hostile\cockroach.dm"
|
||||
#include "code\modules\mob\living\simple_animal\hostile\dark_wizard.dm"
|
||||
#include "code\modules\mob\living\simple_animal\hostile\eyeballs.dm"
|
||||
#include "code\modules\mob\living\simple_animal\hostile\faithless.dm"
|
||||
#include "code\modules\mob\living\simple_animal\hostile\giant_spider.dm"
|
||||
#include "code\modules\mob\living\simple_animal\hostile\glockroach.dm"
|
||||
#include "code\modules\mob\living\simple_animal\hostile\goose.dm"
|
||||
#include "code\modules\mob\living\simple_animal\hostile\headcrab.dm"
|
||||
#include "code\modules\mob\living\simple_animal\hostile\hivebot.dm"
|
||||
|
||||
Reference in New Issue
Block a user