Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ANIMAL FARM 2 #16273

Closed
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
9 changes: 9 additions & 0 deletions code/__HELPERS/icons.dm
Expand Up @@ -956,3 +956,12 @@ var/global/list/humanoid_icon_cache = list()
else
return humanoid_icon_cache[icon_id]

//What the mob looks like during a DISCO INFERNO
/proc/getOnFireIcon(icon/A, safety=1)
var/icon/flat_icon = safety ? A : new(A)
flat_icon.Blend(rgb(255,255,255))
flat_icon.BecomeAlphaMask()
var/icon/static_icon = new/icon('icons/effects/effects.dmi', "on_fire_overlay")
static_icon.AddAlphaMask(flat_icon)
return static_icon

26 changes: 25 additions & 1 deletion code/__PATH_COMPATIBILITY/path_compatibility.dm
Expand Up @@ -18,4 +18,28 @@
/obj/structure/bed/chair/janicart/secway
parent_type = /obj/vehicle/secway

*/
parent_type = /obj/vehicle/atv*///Animal Farm Botany Expansion - 2016
/mob/living/simple_animal/chick
parent_type = /mob/living/simple_animal/farm/chick
/mob/living/simple_animal/chicken
parent_type = /mob/living/simple_animal/farm/chicken
/mob/living/simple_animal/hostile/retaliate/goat
parent_type = /mob/living/simple_animal/farm/goat
/mob/living/simple_animal/chicken/rabbit
parent_type = /mob/living/simple_animal/farm/rabbit
/mob/living/simple_animal/chicken/rabbit/space
parent_type = /mob/living/simple_animal/farm/rabbit/space
/mob/living/simple_animal/hostile/carp
parent_type = /mob/living/simple_animal/farm/carp
/mob/living/simple_animal/hostile/carp/megacarp
parent_type = /mob/living/simple_animal/farm/carp/megacarp
/mob/living/simple_animal/hostile/carp/holocarp
parent_type = /mob/living/simple_animal/farm/carp/holocarp
/mob/living/simple_animal/hostile/carp/ranged
parent_type = /mob/living/simple_animal/hostile/carp_ranged
/mob/living/simple_animal/hostile/carp/ranged/chaos
parent_type = /mob/living/simple_animal/hostile/carp_ranged/chaos
/mob/living/simple_animal/cow
parent_type = /mob/living/simple_animal/farm/cow
/mob/living/simple_animal/hostile/carp/cayenne
parent_type = /mob/living/simple_animal/farm/carp/cayenne
34 changes: 33 additions & 1 deletion code/game/machinery/constructable_frame.dm
Expand Up @@ -801,4 +801,36 @@ obj/item/weapon/circuitboard/rdserver
/obj/item/weapon/stock_parts/manipulator = 1,
/obj/item/weapon/stock_parts/micro_laser = 2,
/obj/item/weapon/stock_parts/console_screen = 1,
/obj/item/weapon/stock_parts/scanning_module = 1,)
/obj/item/weapon/stock_parts/scanning_module = 1,)
/obj/item/weapon/circuitboard/plantgenes
name = "circuit board (Plant DNA Manipulator)"
build_path = /obj/machinery/plantgenes
board_type = "machine"
origin_tech = "programming=2;biotech=3"
req_components = list(
/obj/item/weapon/stock_parts/manipulator = 1,
/obj/item/weapon/stock_parts/micro_laser = 2,
/obj/item/weapon/stock_parts/console_screen = 1,
/obj/item/weapon/stock_parts/scanning_module = 1,)/obj/item/weapon/circuitboard/incubator
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice fuck up

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes

name = "circuit board (Incubator)"
build_path = /obj/machinery/incubator
board_type = "machine"
origin_tech = "programming=1"
req_components = list(
/obj/item/weapon/stock_parts/manipulator = 1)

/obj/item/weapon/circuitboard/nest
name = "circuit board (Nest)"
build_path = /obj/machinery/nest
board_type = "machine"
origin_tech = "programming=1"
req_components = list(
/obj/item/weapon/stock_parts/manipulator = 1)

/obj/item/weapon/circuitboard/trough
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mecha trough?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes

name = "circuit board (Trough)"
build_path = /obj/machinery/trough
board_type = "machine"
origin_tech = "programming=1"
req_components = list(
/obj/item/weapon/stock_parts/matter_bin = 1)
24 changes: 23 additions & 1 deletion code/modules/cargo/packs.dm
Expand Up @@ -912,8 +912,30 @@
/obj/item/seeds/potato,
/obj/item/seeds/sugarcane)
crate_name = "seeds crate"
/datum/supply_packs/organic/hydroponics/rancher
name = "Raptor Rancher Crate"
contains = list(/obj/item/weapon/reagent_containers/food/snacks/egg/raptor/yellow,
/obj/item/weapon/reagent_containers/food/snacks/egg/raptor/yellow,
/obj/item/weapon/reagent_containers/food/snacks/egg/raptor/yellow,
/obj/item/weapon/reagent_containers/food/snacks/egg/raptor/green,
/obj/item/weapon/reagent_containers/food/snacks/egg/raptor/green,
/obj/item/weapon/reagent_containers/food/snacks/egg/raptor/green,
/obj/item/weapon/reagent_containers/food/snacks/egg/raptor/red,
/obj/item/weapon/reagent_containers/food/snacks/egg/raptor/red,
/obj/item/weapon/reagent_containers/food/snacks/egg/raptor/red,
/obj/machinery/incubator,
/obj/machinery/incubator,
/obj/machinery/incubator,
/obj/machinery/nest,
/obj/machinery/nest,
/obj/machinery/nest,
/obj/machinery/trough,
/obj/machinery/trough,
/obj/machinery/trough)
cost = 30
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

your own changes mean this number needs a few more 0s

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ur not the boss of me

crate_name = "rancher crate"

/datum/supply_pack/organic/hydroponics/exoticseeds
/datum/supply_packs/organic/hydroponics/exoticseeds
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is the difference?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

whoops

name = "Exotic Seeds Crate"
cost = 15
contains = list(/obj/item/seeds/nettle,
Expand Down
2 changes: 1 addition & 1 deletion code/modules/crafting/recipes.dm
Expand Up @@ -237,7 +237,7 @@
name = "Overload Improvised Shell"
result = /obj/item/ammo_casing/shotgun/improvised/overload
reqs = list(/obj/item/ammo_casing/shotgun/improvised = 1,
/datum/reagent/blackpowder = 10,
/datum/reagent/pyro/blackpowder = 10,
/datum/reagent/toxin/plasma = 20)
tools = list(/obj/item/weapon/screwdriver)
time = 5
Expand Down
34 changes: 30 additions & 4 deletions code/modules/events/wizard/magicarp.dm
Expand Up @@ -23,7 +23,7 @@
else
new /mob/living/simple_animal/hostile/carp/ranged(C.loc)

/mob/living/simple_animal/hostile/carp/ranged
/mob/living/simple_animal/hostile/carp_ranged
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why.
wtf why.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Uhhhhh

name = "magicarp"
desc = "50% magic, 50% carp, 100% horrible."
icon_state = "magicarp"
Expand All @@ -35,20 +35,46 @@
minimum_distance = 0 //Between shots they can and will close in to nash
projectiletype = /obj/item/projectile/magic
projectilesound = 'sound/weapons/emitter.ogg'
speak_chance = 0
turns_per_move = 5
butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/carpmeat = 2)
response_help = "pets"
response_disarm = "gently pushes aside"
response_harm = "hits"
emote_taunt = list("gnashes")
taunt_chance = 30
speed = 0

harm_intent_damage = 8
melee_damage_lower = 15
melee_damage_upper = 15
attacktext = "bites"
attack_sound = 'sound/weapons/bite.ogg'
speak_emote = list("gnashes")

//Space carp aren't affected by cold.
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 = 0
maxbodytemp = 1500

faction = list("carp")
flying = 1
pressure_resistance = 200
gold_core_spawnable = 1
maxHealth = 50
health = 50

/mob/living/simple_animal/hostile/carp/ranged/New()
/mob/living/simple_animal/hostile/carp_ranged/New()
projectiletype = pick(typesof(initial(projectiletype)))
..()

/mob/living/simple_animal/hostile/carp/ranged/chaos
/mob/living/simple_animal/hostile/carp_ranged/chaos
name = "chaos magicarp"
desc = "50% carp, 100% magic, 150% horrible."
color = "#00FFFF"
maxHealth = 75
health = 75

/mob/living/simple_animal/hostile/carp/ranged/chaos/Shoot()
/mob/living/simple_animal/hostile/carp_ranged/chaos/Shoot()
projectiletype = pick(typesof(initial(projectiletype)))
..()
4 changes: 2 additions & 2 deletions code/modules/food&drinks/drinks/drinks/bottle.dm
Expand Up @@ -276,8 +276,8 @@
desc = "A throwing weapon used to ignite things, typically filled with an accelerant. Recommended highly by rioters and revolutionaries. Light and toss."
icon_state = "vodkabottle"
list_reagents = list()
var/list/accelerants = list( /datum/reagent/consumable/ethanol,/datum/reagent/fuel,/datum/reagent/clf3,/datum/reagent/phlogiston,
/datum/reagent/napalm,/datum/reagent/hellwater,/datum/reagent/toxin/plasma,/datum/reagent/toxin/spore_burning)
var/list/accelerants = list( /datum/reagent/consumable/ethanol,/datum/reagent/fuel,/datum/reagent/pyro/clf3,/datum/reagent/pyro/phlogiston,
/datum/reagent/pyro/napalm,/datum/reagent/hellwater,/datum/reagent/toxin/plasma,/datum/reagent/toxin/spore_burning)
var/active = 0

/obj/item/weapon/reagent_containers/food/drinks/bottle/molotov/CheckParts()
Expand Down
57 changes: 57 additions & 0 deletions code/modules/food&drinks/food/snacks_egg.dm
Expand Up @@ -16,6 +16,63 @@
list_reagents = list("nutriment" = 1)
cooked_type = /obj/item/weapon/reagent_containers/food/snacks/boiledegg
filling_color = "#F0E68C"
var/incubation_tick = 0
var/incubation_threshold = 100
var/mob/living/simple_animal/farm/contained_mob = /mob/living/simple_animal/farm/chick
var/mob/living/simple_animal/farm/mother
var/mob/living/simple_animal/farm/father

/obj/item/weapon/reagent_containers/food/snacks/egg/process()
incubation_tick++
if(incubation_tick >= incubation_threshold)
var/turf/T = get_turf(loc)
T.visible_message("[src] hatches!")
var/mob/living/simple_animal/farm/F = new contained_mob(T)
if(mother && father)
F.dna = create_child_from_dna(mother, father, F)
else
F.dna = create_child_from_scratch(F)
SSobj.processing.Remove(src)
qdel(src)
..()

/obj/item/weapon/reagent_containers/food/snacks/egg/goat
name = "goat egg"
contained_mob = /mob/living/simple_animal/farm/goat

/obj/item/weapon/reagent_containers/food/snacks/egg/carp
name = "space carp egg"
contained_mob = /mob/living/simple_animal/farm/carp

/obj/item/weapon/reagent_containers/food/snacks/egg/cow
name = "space carp egg"
contained_mob = /mob/living/simple_animal/farm/cow

/obj/item/weapon/reagent_containers/food/snacks/egg/raptor
name = "raptor egg"
desc = "A raptor egg!"
icon = 'icons/mob/farm/raptor.dmi'
icon_state = "raptoregg"
list_reagents = list("nutriment" = 1)
cooked_type = /obj/item/weapon/reagent_containers/food/snacks/boiledegg
filling_color = "#F0E68C"
contained_mob = /mob/living/simple_animal/farm/raptor_chick/yellow

/obj/item/weapon/reagent_containers/food/snacks/egg/raptor/random/New()
..()
contained_mob = pick(/mob/living/simple_animal/farm/raptor_chick/yellow, /mob/living/simple_animal/farm/raptor_chick/red, /mob/living/simple_animal/farm/raptor_chick/green)

/obj/item/weapon/reagent_containers/food/snacks/egg/raptor/yellow
name = "yellow raptor egg"
contained_mob = /mob/living/simple_animal/farm/raptor_chick/yellow

/obj/item/weapon/reagent_containers/food/snacks/egg/raptor/red
name = "red raptor egg"
contained_mob = /mob/living/simple_animal/farm/raptor_chick/red

/obj/item/weapon/reagent_containers/food/snacks/egg/raptor/green
name = "green raptor egg"
contained_mob = /mob/living/simple_animal/farm/raptor_chick/green

/obj/item/weapon/reagent_containers/food/snacks/egg/throw_impact(atom/hit_atom)
if(!..()) //was it caught by a mob?
Expand Down
34 changes: 33 additions & 1 deletion code/modules/food&drinks/food/snacks_meat.dm
@@ -1,5 +1,37 @@
//Not only meat, actually, but also snacks that are almost meat, such as fish meat or tofu

var/list/types_of_meat = list(/obj/item/weapon/reagent_containers/food/snacks/cubancarp,
/obj/item/weapon/reagent_containers/food/snacks/carpmeat,
/obj/item/weapon/reagent_containers/food/snacks/carpmeat/imitation,
/obj/item/weapon/reagent_containers/food/snacks/fishfingers,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should use spaces when indenting for alignment.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

USING SPACES EVER

/obj/item/weapon/reagent_containers/food/snacks/fishandchips,
/obj/item/weapon/reagent_containers/food/snacks/spiderleg,
/obj/item/weapon/reagent_containers/food/snacks/cornedbeef,
/obj/item/weapon/reagent_containers/food/snacks/bearsteak,
/obj/item/weapon/reagent_containers/food/snacks/faggot,
/obj/item/weapon/reagent_containers/food/snacks/kebab,
/obj/item/weapon/reagent_containers/food/snacks/kebab/human,
/obj/item/weapon/reagent_containers/food/snacks/kebab/tail,
/obj/item/weapon/reagent_containers/food/snacks/monkeycube,
/obj/item/weapon/reagent_containers/food/snacks/enchiladas,
/obj/item/weapon/reagent_containers/food/snacks/boiledspiderleg,
/obj/item/weapon/reagent_containers/food/snacks/spidereggsham,
/obj/item/weapon/reagent_containers/food/snacks/sashimi,
/obj/item/weapon/reagent_containers/food/snacks/meat/slab,
/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human,
/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/zombie,
/obj/item/weapon/reagent_containers/food/snacks/meat/slab/synthmeat,
/obj/item/weapon/reagent_containers/food/snacks/meat/slab/meatproduct,
/obj/item/weapon/reagent_containers/food/snacks/meat/slab/monkey,
/obj/item/weapon/reagent_containers/food/snacks/meat/slab/corgi,
/obj/item/weapon/reagent_containers/food/snacks/meat/slab/pug,
/obj/item/weapon/reagent_containers/food/snacks/meat/slab/bear,
/obj/item/weapon/reagent_containers/food/snacks/meat/slab/xeno,
/obj/item/weapon/reagent_containers/food/snacks/meat/slab/spider,
/obj/item/weapon/reagent_containers/food/snacks/meat/steak,
/obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet,
/obj/item/weapon/reagent_containers/food/snacks/meat/cutlet)


////////////////////////////////////////////FISH////////////////////////////////////////////

Expand Down Expand Up @@ -241,4 +273,4 @@
#undef LUMP
#undef STAR
#undef LIZARD
#undef CORGI
#undef CORGI
30 changes: 0 additions & 30 deletions code/modules/holiday/easter.dm
Expand Up @@ -34,36 +34,6 @@
else
new /mob/living/simple_animal/chicken/rabbit(R.loc)

/mob/living/simple_animal/chicken/rabbit
name = "\improper rabbit"
desc = "The hippiest hop around."
icon = 'icons/mob/Easter.dmi'
icon_state = "rabbit"
icon_living = "rabbit"
icon_dead = "rabbit_dead"
speak = list("Hop into Easter!","Come get your eggs!","Prizes for everyone!")
speak_emote = list("sniffles","twitches")
emote_hear = list("hops.")
emote_see = list("hops around","bounces up and down")
butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/meat/slab = 1)
egg_type = /obj/item/weapon/reagent_containers/food/snacks/egg/loaded
food_type = /obj/item/weapon/reagent_containers/food/snacks/grown/carrot
eggsleft = 10
eggsFertile = FALSE
icon_prefix = "rabbit"
feedMessages = list("It nibbles happily.","It noms happily.")
layMessage = list("hides an egg.","scampers around suspiciously.","begins making a huge racket.","begins shuffling.")

/mob/living/simple_animal/chicken/rabbit/space
icon_prefix = "s_rabbit"
icon_state = "s_rabbit"
icon_living = "s_rabbit"
icon_dead = "s_rabbit_dead"
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 = 0
maxbodytemp = 1500
unsuitable_atmos_damage = 0 //This damage is taken when atmos doesn't fit all the requirements above

//Easter Baskets
/obj/item/weapon/storage/bag/easterbasket
name = "Easter Basket"
Expand Down
2 changes: 1 addition & 1 deletion code/modules/holodeck/holo_effect.dm
Expand Up @@ -87,7 +87,7 @@

/obj/effect/holodeck_effect/mobspawner/pet
mobtype = list(
/mob/living/simple_animal/butterfly, /mob/living/simple_animal/chick/holo,
/mob/living/simple_animal/butterfly,
/mob/living/simple_animal/pet/cat, /mob/living/simple_animal/pet/cat/kitten,
/mob/living/simple_animal/pet/dog/corgi, /mob/living/simple_animal/pet/dog/corgi/puppy,
/mob/living/simple_animal/pet/dog/pug, /mob/living/simple_animal/pet/fox)
46 changes: 46 additions & 0 deletions code/modules/hydroponics/rancher/incubator.dm
@@ -0,0 +1,46 @@
/obj/machinery/incubator
name = "egg incubator"
icon = 'icons/obj/hydroponics/equipment.dmi'
icon_state = "incubator"
density = 1
anchored = 0
var/obj/item/weapon/reagent_containers/food/snacks/egg/incubated = null

/obj/machinery/incubator/New()
..()
component_parts = list()
component_parts += new /obj/item/weapon/circuitboard/incubator(null)
component_parts += new /obj/item/weapon/stock_parts/manipulator(null)
RefreshParts()

/obj/machinery/incubator/attackby(obj/item/O, mob/user, params)
if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/egg))
user.drop_item(O)
O.loc = src
user << "You add [O] to [src]."
icon_state = "incubator_e"
incubated = O
SSobj.processing |= incubated
return
if(default_deconstruction_screwdriver(user, "incubator", "incubator", O))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a fucking grey square indicating the open hatch goddam is it really hard to do?

return

if(exchange_parts(user, O))
return

if(default_pry_open(O))
return

if(default_unfasten_wrench(user, O))
return

default_deconstruction_crowbar(O)
return
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

trailing return, remove

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a


/obj/machinery/incubator/attack_hand(mob/user)
if(incubated)
incubated.loc = get_turf(src)
user << "You pull [incubated] out of [src]."
SSobj.processing.Remove(incubated)
incubated = null
icon_state = "incubator"