Skip to content

Commit

Permalink
Merge branch 'master' of github.com:civilCornball/misc-city-changes
Browse files Browse the repository at this point in the history
  • Loading branch information
civilCornball committed Dec 1, 2023
2 parents 4e70c07 + 131d537 commit 8876f14
Show file tree
Hide file tree
Showing 1,730 changed files with 350,240 additions and 40,293 deletions.
15 changes: 15 additions & 0 deletions .github/workflows/enforce-labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Enforce PR labels

on:
pull_request:
types: [labeled, unlabeled, opened, edited, synchronize]
jobs:
enforce-label:
runs-on: ubuntu-latest
steps:
- uses: yogevbd/[email protected]
with:
REQUIRED_LABELS_ANY: "Abnormality,Balance,Code improvement,dependencies,Expansion,Feature,Fix,Github,Mapping,Removal,Side content,Sprites,Tweak,Writing"
REQUIRED_LABELS_ANY_DESCRIPTION: "This PR cannot be merged while having no labels attached!"
BANNED_LABELS: "Do Not Merge,Test Merge Candidate"
BANNED_LABELS_DESCRIPTION: "This PR cannot be merged while 'Do Not Merge' or 'Test Merge Candidate' labels are intact."
Binary file modified ModularTegustation/Teguicons/128x128.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/32x32.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/32x48.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/32x64.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/48x48.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/48x64.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/48x96.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/64x64.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/64x96.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/96x48.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/96x64.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/96x96.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/head_item.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/lc13_left.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/lc13_right.dmi
Binary file not shown.
Binary file added ModularTegustation/Teguicons/lc13_structures.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/lc13_weapons.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/lc13icons.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/refiner.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/status_sprites.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/tegu_effects32x48.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/teguitems.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/tegumobs.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/toolabnormalities.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/workshop.dmi
Binary file not shown.
17 changes: 15 additions & 2 deletions ModularTegustation/fishing/code/_debug_spawners.dm
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,18 @@
for(var/items in subtypesof(/obj/item/fishing_component))
new items(src)

/**
* Gives all debug items
*/

/obj/item/storage/box/fish_debug_items
name = "box of debug items"

/obj/item/storage/box/fish_debug_items/PopulateContents()
new /obj/item/fishing_rod/debug(src)
new /obj/item/storage/bag/fish/debug(src)
new /obj/item/water_turf_spawner(src)

/**
* Gives everything
*/
Expand All @@ -35,8 +47,9 @@
name = "Debug fishing chest"

/obj/structure/closet/crate/debug_fishing/PopulateContents()
new /obj/item/fishing_rod(src)
new /obj/item/storage/box/fish_debug_items(src)
new /obj/item/storage/box/fish_debug(src)
new /obj/item/storage/box/fish_things_debug(src)
new /obj/item/storage/bag/fish(src)
new /obj/item/fishing_rod(src)
new /obj/item/fishing_net(src)
new /obj/item/storage/bag/fish(src)
2 changes: 0 additions & 2 deletions ModularTegustation/fishing/code/fish/freshwater_fish.dm
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@
name = "cory catfish"
desc = "A catfish has about 100,000 taste buds, and their bodies are covered with them to help detect chemicals present in the water and also to respond to touch."
icon_state = "catfish"
dedicated_in_aquarium_icon_state = "fish_greyscale"
aquarium_vc_color = "#907420"
average_size = 100
average_weight = 2000

Expand Down
3 changes: 0 additions & 3 deletions ModularTegustation/fishing/code/fish/saltwater_fish.dm
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
name = "cardinalfish"
desc = "Cardinalfish are often found near sea urchins, where the fish hide when threatened."
icon_state = "cardinalfish"
dedicated_in_aquarium_icon_state = "fish_greyscale"
average_size = 30
average_weight = 500
stable_population = 4
Expand All @@ -41,8 +40,6 @@
name = "green chromis"
desc = "The Chromis can vary in color from blue to green depending on the lighting and distance from the lights."
icon_state = "greenchromis"
dedicated_in_aquarium_icon_state = "fish_greyscale"
aquarium_vc_color = "#00ff00"
average_size = 30
average_weight = 500
stable_population = 5
Expand Down
14 changes: 8 additions & 6 deletions ModularTegustation/fishing/code/fish_market.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
icon = 'icons/obj/money_machine.dmi'
icon_state = "bogdanoff"
density = TRUE
resistance_flags = INDESTRUCTIBLE
var/fish_points = 0

var/list/order_list = list( //if you add something to this, please, for the love of god, sort it by price/type. use tabs and not spaces.
Expand All @@ -18,7 +19,7 @@
new /datum/data/extraction_cargo("Dock Worker Lantern ", /obj/item/flashlight/lantern, 400) = 1,
new /datum/data/extraction_cargo("Weighted Fishing Hook ", /obj/item/fishing_component/hook/weighted, 500) = 1,
new /datum/data/extraction_cargo("Reinforced Fishing Line ", /obj/item/fishing_component/line/reinforced, 500) = 1,
new /datum/data/extraction_cargo("Fishing Hat ", /obj/item/clothing/head/beret/tegu/fishing_hat, 500) = 1,
new /datum/data/extraction_cargo("Fishing Hat ", /obj/item/clothing/head/beret/fishing_hat, 500) = 1,
new /datum/data/extraction_cargo("Aquarium Branch Office ", /obj/item/aquarium_prop/lcorp, 500) = 1,
//Yes we are scamming you.
new /datum/data/extraction_cargo("Shiny Fishing Hook ", /obj/item/fishing_component/hook/shiny, 1000) = 1,
Expand Down Expand Up @@ -84,16 +85,17 @@
if(istype(I, /obj/item/storage/bag/fish))
var/obj/item/storage/bag/fish/bag = I
var/fish_value = 0
for(var/bag_fish in bag.contents)
if(istype(bag_fish, /obj/item/fishing_component/hook/bone))
for(var/item in bag.contents)
if(istype(item, /obj/item/fishing_component/hook/bone))
fish_value += 5
to_chat(user, "<span class='notice'>Thank you for notifying us of this object. 5 point reward.</span>")

if(istype(bag_fish, /obj/item/food/fish))
fish_value += ValueFish(bag_fish)
if(istype(item, /obj/item/food/fish))
fish_value += ValueFish(item)

else
continue
qdel(bag_fish)
qdel(item)

AdjustPoints(fish_value)
return ..()
Expand Down
57 changes: 57 additions & 0 deletions ModularTegustation/fishing/code/fishing_items/_debug_items.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
/* FISHING ROD */

/obj/item/fishing_rod/debug
name = "Debug fishing rod"
desc = "A tool used to dredge up aquatic entities. Though this pole seems incredibly strong... and is that a diesel engine on it?"
speed_override = 0.1 SECONDS
w_class = WEIGHT_CLASS_TINY

/obj/item/fishing_rod/debug/examine(mob/user)
. = ..()
. += "<span class='notice'>you can click on this rod to set how fast it fishes, right now its [speed_override * 0.1] seconds.</span>"

/obj/item/fishing_rod/debug/attack_self(mob/user, datum/source)
speed_override = input(user, "How fast do you wish to fish in seconds?", "debug fishing speed") as num|null
speed_override *= 10
return ..()

/* FISHING BAG */

/obj/item/storage/bag/fish/debug
name = "debug fish bag"
desc = "A weird plastic bag that holds a pocket dimension, capable of holding a lot of fish."
w_class = WEIGHT_CLASS_TINY

/obj/item/storage/bag/fish/debug/ComponentInitialize()
. = ..()
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
STR.max_combined_w_class = 1000000
STR.max_items = 1000000

/* FISHING WATER SPAWNER */

/obj/item/water_turf_spawner
name = "debug water turf spawner"
desc = "A device that is capable of spawning water anywhere, how convinient!"
icon = 'ModularTegustation/Teguicons/teguitems.dmi'
icon_state = "teleporter"
w_class = WEIGHT_CLASS_TINY
var/turf_type = /turf/open/water/deep/freshwater
var/transform_string = "fresh water"
var/reset_turf_type = /turf/open/floor/plating/asteroid/basalt
var/reset_string = "literal fucking rock"

/obj/item/water_turf_spawner/afterattack(atom/target, mob/user, click_parameters)
. = ..()
var/turf/T = get_turf(target)
if(!istype(T))
return
var/old_name = T.name
if(!istype(T, turf_type))
if(T.TerraformTurf(turf_type, flags = CHANGETURF_INHERIT_AIR))
user.visible_message("<span class='danger'>[user] turns \the [old_name] into [transform_string]!</span>")
playsound(T, 'sound/machines/terminal_processing.ogg', 20, TRUE)
else
if(T.TerraformTurf(reset_turf_type, flags = CHANGETURF_INHERIT_AIR))
user.visible_message("<span class='danger'>[user] turns \the [old_name] into [reset_string]!</span>")
playsound(T, 'sound/machines/terminal_processing.ogg', 20, TRUE)
10 changes: 10 additions & 0 deletions ModularTegustation/fishing/code/fishing_items/fishing_cloak.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/obj/item/clothing/neck/cloak/skill_reward/fishing
name = "legendary fisher cloak"
desc = "Worn by someone who has mastered the art of fishing and gained the attention of S corp."
icon = 'ModularTegustation/fishing/icons/clothes_items.dmi'
worn_icon = 'ModularTegustation/fishing/icons/clothes_worn.dmi'
icon_state = "fishing_cloak"
associated_skill_path = /datum/skill/fishing

/obj/item/clothing/neck/cloak/skill_reward/playing/check_wearable(mob/user)
return user.client?.get_exp_living(TRUE) >= PLAYTIME_VETERAN
45 changes: 45 additions & 0 deletions ModularTegustation/fishing/code/fishing_items/fishing_hat.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
/obj/item/clothing/head/beret/fishing_hat
name = "unhinged fishing hat"
desc = "On the white part of this hat is the words: <span class='boldwarning'>Women fear me, fish fear me, men turn their eyes away from me as i walk, no beast dare make a sound in my presence, i am alone on this barren earth...</span> at the end of this manifesto is the picture of a very silly salmon."
icon_state = "fishing_hat"
icon = 'ModularTegustation/fishing/icons/clothes_items.dmi'
worn_icon = 'ModularTegustation/fishing/icons/clothes_worn.dmi'
max_integrity = 1000000
// how many hats do we have in ourselfes?
var/amount = 1
// how much should we scale the hat?
var/scale_multiplier = 1.1
// should we scale it at all?
var/scaling = TRUE

/obj/item/clothing/head/beret/fishing_hat/examine(mob/user)
. = ..()
if(amount > 1)
. += "<span class='boldwarning'>My god... it seems someone has stacked together [amount] of these hats!</span>"
switch(amount)
if(3 to 9)
. += "<span class='warning'>You feel a strange aura coming from the hats...</span>"
if(10 to 15)
. += "<span class='warning'>As the hat stack grows taller, you feel dreadfull.</span>"
if(15 to 19)
. += "<span class='warning'>What is a wave without the ocean? a beginning without an end?</span>"
. += "<span class='notice'>You feel as if you are approaching the limit.</span>"
if(20)
. += "<span class='warning'>We are different... yet we go together.</span>"

/obj/item/clothing/head/beret/fishing_hat/attackby(obj/item/attacking_item, mob/living/user)
. = ..()
if(istype(attacking_item, /obj/item/clothing/head/beret/fishing_hat))
var/obj/item/clothing/head/beret/fishing_hat/attacking_hat = attacking_item
amount += attacking_hat.amount
if(amount > 20)
amount = 20
to_chat(user, "<span class='boldwarning'>The hat refuses to become any larger, yet accepts your offering anyway.</span>")
qdel(attacking_hat)
return
else
to_chat(user, "<span class='boldwarning'>You put the hat in your hand on the second hat, you feel their powers combining and forming something greater...</span>")
if(scaling)
scale_multiplier = (attacking_hat.scale_multiplier)
transform = transform.Scale(scale_multiplier, scale_multiplier)
qdel(attacking_hat)
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
desc = "A wall of twine and wires that traps fish. Alt click to harvest."
icon = 'ModularTegustation/fishing/icons/fishing.dmi'
icon_state = "trawling_net_empty"
anchored = TRUE
max_integrity = 5
break_message = "<span class='notice'>The net falls apart!</span>"
break_sound = 'sound/items/wirecutter.ogg'
Expand Down
13 changes: 10 additions & 3 deletions ModularTegustation/fishing/code/fishing_items/fishing_rod.dm
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@
//Fishing Visuals
var/list/current_fishing_visuals = list()

//do we override the default fishing speed? (should be used if you want to debug something or make a rod with unique speed)
var/speed_override = FALSE

/obj/item/fishing_rod/examine(mob/user)
. = ..()
. += "<span class='notice'>This rod has a effectiveness of [(FISH_RARITY_BASIC - FishCustomization(900))/10].</span>"
Expand All @@ -43,7 +46,7 @@
else if(SlotCheck(attacking_item,ROD_SLOT_HOOK))
UseSlot(ROD_SLOT_HOOK, user, attacking_item)
return TRUE
. = ..()
return ..()

/obj/item/fishing_rod/afterattack(atom/target, mob/user, proximity_flag)
if(istype(target, /turf/open/water/deep) && isliving(user) && !isfishing && user.z == target.z)
Expand All @@ -57,7 +60,7 @@
return
StartFishing(user, target) //Maybe we can make it call something else with this proc.
return
. = ..()
return ..()

/obj/item/fishing_rod/proc/StartFishing(mob/living/user, turf/open/water/deep/fishing_spot)
isfishing = TRUE
Expand Down Expand Up @@ -88,8 +91,12 @@

//~~~FISHING BEGINS~~~
for(var/i = 1 to 100)
var/fishing_time
//random extra time to the fishing for a unpredictable feel rather than making a chance to just not fish up anything.
var/fishing_time = ((10 SECONDS) * fishing_skill) + (rand(1,3) SECONDS)
if(!speed_override)
fishing_time = ((10 SECONDS) * fishing_skill) + (rand(1,3) SECONDS)
else
fishing_time = speed_override
if(!do_after(user, fishing_time, target = fishing_spot))
isfishing = FALSE
break
Expand Down
File renamed without changes.
16 changes: 14 additions & 2 deletions ModularTegustation/fishing/code/turfs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
This is a variable because some people may want water to work as
a portal to somewhere.*/
var/turf/target_turf
//If the turf is safe (wont make you sink when you enter it)
var/safe = FALSE
//If the target_turf is randomized.
var/static_target = FALSE
//Sound delay so we dont get splash spam.
Expand Down Expand Up @@ -61,6 +63,8 @@

/turf/open/water/deep/Entered(atom/movable/thing, atom/oldLoc) //Sinking Code
. = ..()
if(safe) // if this turf is in fact safe (currently only used for piscine mermaid)
return
if(!target_turf || is_type_in_typecache(thing, forbidden_types) || (thing.throwing && !istype(thing, /obj/item/food/fish || /obj/item/aquarium_prop )) || (thing.movement_type & (FLOATING|FLYING))) //replace this with a varient of chasm component sometime.
return
if(isliving(thing))
Expand Down Expand Up @@ -128,7 +132,7 @@
/obj/item/food/canned/peaches = 300,
/obj/item/food/breadslice/moldy = 300,
/obj/item/stack/sheet/sinew/wolf = 300,
/obj/item/clothing/head/beret/tegu/fishing_hat = 200,
/obj/item/clothing/head/beret/fishing_hat = 200,
/obj/item/food/grown/harebell = 200,
/obj/item/reagent_containers/food/drinks/bottle/wine/unlabeled = 200,
/obj/item/fishing_component/hook/bone = 100,
Expand All @@ -155,7 +159,7 @@
/obj/item/stack/fish_points = 600,
/obj/item/food/canned/beans = 600,
/obj/item/food/canned/peaches = 600,
/obj/item/clothing/head/beret/tegu/fishing_hat = 200,
/obj/item/clothing/head/beret/fishing_hat = 200,
/obj/item/reagent_containers/food/drinks/bottle/wine/unlabeled = 100,
/mob/living/simple_animal/crab = 50
)
Expand Down Expand Up @@ -190,3 +194,11 @@
/obj/item/ego_weapon/city/rats/brick = 100,
/mob/living/simple_animal/hostile/shrimp = 100
)

/**
* Safe turfs, they wont sink you when you enter them
*/

/turf/open/water/deep/saltwater/safe
safe = TRUE

Binary file added ModularTegustation/fishing/icons/clothes_items.dmi
Binary file not shown.
Binary file added ModularTegustation/fishing/icons/clothes_worn.dmi
Binary file not shown.
5 changes: 5 additions & 0 deletions ModularTegustation/lc13_effects.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
//Cosmetic Effects
/obj/effect/wall_vent
name = "wall vent"
icon = 'ModularTegustation/Teguicons/lc13_structures.dmi'
icon_state = "wall_vent"
56 changes: 0 additions & 56 deletions ModularTegustation/lc13_machinery.dm
Original file line number Diff line number Diff line change
Expand Up @@ -129,59 +129,3 @@
if(C.linked_console)
LAZYADD(abnormalities, "[C.AbnormalityInfo()]: [C.relative_location]")
sortList(abnormalities)

//Spreading Structures Code
//Stolen and edited from alien weed code. I wanted a spreading structure that doesnt have the atmospheric element attached to its root.
/obj/structure/spreading
name = "spreading structure"
desc = "This thing seems to spread when supplied with a outside signal."
max_integrity = 15
anchored = TRUE
density = FALSE
layer = TURF_LAYER
plane = FLOOR_PLANE
var/conflict_damage = 10
var/last_expand = 0 //last world.time this weed expanded
var/expand_cooldown = 1.5 SECONDS
var/can_expand = TRUE
var/static/list/blacklisted_turfs

/obj/structure/spreading/Initialize()
. = ..()

if(!blacklisted_turfs)
blacklisted_turfs = typecacheof(list(
/turf/open/space,
/turf/open/chasm,
/turf/open/lava,
/turf/open/openspace))

/obj/structure/spreading/proc/expand(bypasscooldown = FALSE)
if(!can_expand)
return

if(!bypasscooldown)
last_expand = world.time + expand_cooldown

var/turf/U = get_turf(src)
if(is_type_in_typecache(U, blacklisted_turfs))
qdel(src)
return FALSE

var/list/spread_turfs = U.GetAtmosAdjacentTurfs()
shuffle_inplace(spread_turfs)
for(var/turf/T in spread_turfs)
if(locate(/obj/structure/spreading) in T)
var/obj/structure/spreading/S = locate(/obj/structure/spreading) in T
if(S.type != type) //if it is not another of the same spreading structure.
S.take_damage(conflict_damage, BRUTE, "melee", 1)
break
last_expand += (0.6 SECONDS) //if you encounter another of the same then the delay increases
continue

if(is_type_in_typecache(T, blacklisted_turfs))
continue

new type(T)
break
return TRUE
Loading

0 comments on commit 8876f14

Please sign in to comment.