mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-20 19:44:46 +01:00
Merges AI Branch into Master
This commit is contained in:
@@ -381,8 +381,8 @@
|
||||
else
|
||||
icon_state = icon_opened
|
||||
|
||||
/obj/structure/closet/attack_generic(var/mob/user, var/damage, var/attack_message = "destroys", var/wallbreaker)
|
||||
if(damage < 10 || !wallbreaker)
|
||||
/obj/structure/closet/attack_generic(var/mob/user, var/damage, var/attack_message = "destroys")
|
||||
if(damage < STRUCTURE_MIN_DAMAGE_THRESHOLD)
|
||||
return
|
||||
user.do_attack_animation(src)
|
||||
visible_message("<span class='danger'>[user] [attack_message] the [src]!</span>")
|
||||
@@ -459,4 +459,4 @@
|
||||
if(src.loc)
|
||||
if(istype(src.loc, /obj/structure/closet))
|
||||
return (loc.return_air_for_internal_lifeform(L))
|
||||
return return_air()
|
||||
return return_air()
|
||||
|
||||
@@ -90,23 +90,23 @@
|
||||
|
||||
/obj/structure/largecrate/animal/corgi
|
||||
name = "corgi carrier"
|
||||
starts_with = list(/mob/living/simple_animal/corgi)
|
||||
starts_with = list(/mob/living/simple_mob/animal/passive/dog/corgi)
|
||||
|
||||
/obj/structure/largecrate/animal/cow
|
||||
name = "cow crate"
|
||||
starts_with = list(/mob/living/simple_animal/cow)
|
||||
starts_with = list(/mob/living/simple_mob/animal/passive/cow)
|
||||
|
||||
/obj/structure/largecrate/animal/goat
|
||||
name = "goat crate"
|
||||
starts_with = list(/mob/living/simple_animal/retaliate/goat)
|
||||
starts_with = list(/mob/living/simple_mob/animal/goat)
|
||||
|
||||
/obj/structure/largecrate/animal/cat
|
||||
name = "cat carrier"
|
||||
starts_with = list(/mob/living/simple_animal/cat)
|
||||
starts_with = list(/mob/living/simple_mob/animal/passive/cat)
|
||||
|
||||
/obj/structure/largecrate/animal/cat/bones
|
||||
starts_with = list(/mob/living/simple_animal/cat/fluff/bones)
|
||||
starts_with = list(/mob/living/simple_mob/animal/passive/cat/bones)
|
||||
|
||||
/obj/structure/largecrate/animal/chick
|
||||
name = "chicken crate"
|
||||
starts_with = list(/mob/living/simple_animal/chick = 5)
|
||||
starts_with = list(/mob/living/simple_mob/animal/passive/chick = 5)
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
/obj/structure/ghost_pod/manual/corgi/create_occupant(var/mob/M)
|
||||
lightning_strike(get_turf(src), cosmetic = TRUE)
|
||||
density = FALSE
|
||||
var/mob/living/simple_animal/corgi/R = new(get_turf(src))
|
||||
var/mob/living/simple_mob/animal/passive/dog/corgi/R = new(get_turf(src))
|
||||
if(M.mind)
|
||||
M.mind.transfer_to(R)
|
||||
to_chat(M, "<span class='notice'>You are a <b>Corgi</b>! Woof!</span>")
|
||||
@@ -47,4 +47,4 @@
|
||||
R.ghost_inhabit(M)
|
||||
visible_message("<span class='warning'>The blade shines brightly for a brief moment as [usr] pulls it out of the stone!</span>")
|
||||
log_and_message_admins("successfully acquired a cursed sword.")
|
||||
..()
|
||||
..()
|
||||
|
||||
@@ -83,8 +83,8 @@
|
||||
health = (displaced_health - round(current_damage / 4))
|
||||
cover = 25
|
||||
|
||||
/obj/structure/girder/attack_generic(var/mob/user, var/damage, var/attack_message = "smashes apart", var/wallbreaker)
|
||||
if(!damage || !wallbreaker)
|
||||
/obj/structure/girder/attack_generic(var/mob/user, var/damage, var/attack_message = "smashes apart")
|
||||
if(damage < STRUCTURE_MIN_DAMAGE_THRESHOLD)
|
||||
return 0
|
||||
user.do_attack_animation(src)
|
||||
visible_message("<span class='danger'>[user] [attack_message] the [src]!</span>")
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
src.set_dir(turn(src.dir, 90))
|
||||
return
|
||||
else
|
||||
if(istype(usr,/mob/living/simple_animal/mouse))
|
||||
if(ismouse(usr))
|
||||
return
|
||||
if(!usr || !isturf(usr.loc))
|
||||
return
|
||||
|
||||
@@ -574,6 +574,7 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh
|
||||
icon = 'icons/mecha/mecha.dmi'
|
||||
icon_state = "engineering_pod-broken"
|
||||
density = TRUE
|
||||
anchored = FALSE // In case a dead mecha-mob dies in a bad spot.
|
||||
|
||||
chance_uncommon = 20
|
||||
chance_rare = 10
|
||||
@@ -615,7 +616,7 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh
|
||||
/obj/structure/loot_pile/mecha/ripley
|
||||
name = "ripley wreckage"
|
||||
desc = "The ruins of some unfortunate ripley. Perhaps something is salvageable."
|
||||
icon_states_to_use = list("ripley-broken", "firefighter-broken", "ripley-broken-old")
|
||||
icon_state = "ripley-broken"
|
||||
|
||||
common_loot = list(
|
||||
/obj/random/tool,
|
||||
@@ -649,6 +650,12 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/energy/flamer/rigged
|
||||
)
|
||||
|
||||
/obj/structure/loot_pile/mecha/ripley/firefighter
|
||||
icon_state = "firefighter-broken"
|
||||
|
||||
/obj/structure/loot_pile/mecha/ripley/random_sprite
|
||||
icon_states_to_use = list("ripley-broken", "firefighter-broken", "ripley-broken-old")
|
||||
|
||||
//Death-Ripley, same common, but more combat-exosuit-based
|
||||
/obj/structure/loot_pile/mecha/deathripley
|
||||
name = "strange ripley wreckage"
|
||||
@@ -719,6 +726,14 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh
|
||||
/obj/item/mecha_parts/mecha_equipment/shocker
|
||||
)
|
||||
|
||||
/obj/structure/loot_pile/mecha/odysseus/murdysseus
|
||||
icon_state = "murdysseus-broken"
|
||||
|
||||
/obj/structure/loot_pile/mecha/hoverpod
|
||||
name = "hoverpod wreckage"
|
||||
desc = "The ruins of some unfortunate hoverpod. Perhaps something is salvageable."
|
||||
icon_state = "engineering_pod"
|
||||
|
||||
/obj/structure/loot_pile/mecha/gygax
|
||||
name = "gygax wreckage"
|
||||
desc = "The ruins of some unfortunate gygax. Perhaps something is salvageable."
|
||||
@@ -759,6 +774,18 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy
|
||||
)
|
||||
|
||||
/obj/structure/loot_pile/mecha/gygax/dark
|
||||
icon_state = "darkgygax-broken"
|
||||
|
||||
// Todo: Better loot.
|
||||
/obj/structure/loot_pile/mecha/gygax/dark/adv
|
||||
icon_state = "darkgygax_adv-broken"
|
||||
icon_scale = 1.5
|
||||
pixel_y = 8
|
||||
|
||||
/obj/structure/loot_pile/mecha/gygax/medgax
|
||||
icon_state = "medgax-broken"
|
||||
|
||||
/obj/structure/loot_pile/mecha/durand
|
||||
name = "durand wreckage"
|
||||
desc = "The ruins of some unfortunate durand. Perhaps something is salvageable."
|
||||
@@ -799,6 +826,22 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy
|
||||
)
|
||||
|
||||
/obj/structure/loot_pile/mecha/marauder
|
||||
name = "marauder wreckage"
|
||||
desc = "The ruins of some unfortunate marauder. Perhaps something is salvagable."
|
||||
icon_state = "marauder-broken"
|
||||
// Todo: Better loot.
|
||||
|
||||
/obj/structure/loot_pile/mecha/marauder/seraph
|
||||
name = "seraph wreckage"
|
||||
desc = "The ruins of some unfortunate seraph. Perhaps something is salvagable."
|
||||
icon_state = "seraph-broken"
|
||||
|
||||
/obj/structure/loot_pile/mecha/marauder/mauler
|
||||
name = "mauler wreckage"
|
||||
desc = "The ruins of some unfortunate mauler. Perhaps something is salvagable."
|
||||
icon_state = "mauler-broken"
|
||||
|
||||
/obj/structure/loot_pile/mecha/phazon
|
||||
name = "phazon wreckage"
|
||||
desc = "The ruins of some unfortunate phazon. Perhaps something is salvageable."
|
||||
|
||||
@@ -321,7 +321,7 @@
|
||||
set category = "Object"
|
||||
set src in oview(1)
|
||||
|
||||
if(istype(usr,/mob/living/simple_animal/mouse))
|
||||
if(istype(usr,/mob/living/simple_mob/animal/passive/mouse))
|
||||
return
|
||||
else if(!usr || !isturf(usr.loc))
|
||||
return
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
explosion_resistance = 5
|
||||
var/list/mobs_can_pass = list(
|
||||
/mob/living/bot,
|
||||
/mob/living/simple_animal/slime,
|
||||
/mob/living/simple_animal/mouse,
|
||||
/mob/living/simple_mob/slime/xenobio,
|
||||
/mob/living/simple_mob/animal/passive/mouse,
|
||||
/mob/living/silicon/robot/drone
|
||||
)
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
var/last_spawn
|
||||
var/spawn_delay = 150
|
||||
var/randomize_spawning = FALSE
|
||||
var/creature_types = list(/mob/living/simple_animal/retaliate/diyaab)
|
||||
var/creature_types = list(/mob/living/simple_mob/animal/sif/diyaab)
|
||||
var/list/den_mobs
|
||||
var/den_faction //The faction of any spawned creatures.
|
||||
var/max_creatures = 3 //Maximum number of living creatures this nest can have at one time.
|
||||
|
||||
@@ -206,6 +206,6 @@
|
||||
/obj/structure/simple_door/cult/TryToSwitchState(atom/user)
|
||||
if(isliving(user))
|
||||
var/mob/living/L = user
|
||||
if(!iscultist(L) && !istype(L, /mob/living/simple_animal/construct))
|
||||
if(!iscultist(L) && !istype(L, /mob/living/simple_mob/construct))
|
||||
return
|
||||
..()
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
src.set_dir(turn(src.dir, 90))
|
||||
return
|
||||
else
|
||||
if(istype(usr,/mob/living/simple_animal/mouse))
|
||||
if(istype(usr,/mob/living/simple_mob/animal/passive/mouse))
|
||||
return
|
||||
if(!usr || !isturf(usr.loc))
|
||||
return
|
||||
|
||||
@@ -206,7 +206,7 @@
|
||||
user.setClickCooldown(user.get_attack_speed())
|
||||
if(!damage)
|
||||
return
|
||||
if(damage >= 10)
|
||||
if(damage >= STRUCTURE_MIN_DAMAGE_THRESHOLD)
|
||||
visible_message("<span class='danger'>[user] smashes into [src]!</span>")
|
||||
if(reinf)
|
||||
damage = damage / 2
|
||||
|
||||
Reference in New Issue
Block a user