Commit Graph

23 Commits

Author SHA1 Message Date
Ephemeralis
0141f96a13 Refactor icemoon wolves into basic mobs and add taming + pack behavior (#79736)
## About The Pull Request

Ports icemoon wolves over to the basic mob framework with a bit of extra
stuff:

- Wolves call for help when attacked within a decently large radius.
Because you know, pack animals.
- Wolves can now be tamed with a slab of meat
- When tamed, wolves can be ridden like goliath mounts. Ride wolf, life
good. Pretend you're playing ARK and start shivering to death in thatch
huts for that High Roleplay experience.
- Tamed wolves have access to a bunch of pet commands (following, point
fetching, point attacking, play dead, etc) and will also defend their
owners vehemently if they're attacked.

You can probably tame multiple if you wanted to.

## Why It's Good For The Game

What part about riding wolves isn't entertaining? I don't really play
/tg/ that much so I can't argue too much about the balance implications
this might pose, but it's undoubtedly a stupid little gimmick and is
likely to be used by bored assistants and miners with too much time on
their hands.

Especially robust individuals will probably find a million things to do
with a basic mob capable of fetching, attacking on command and generally
being able to defend themselves decently well.

## Changelog

🆑 yooriss
refactor: Icemoon wolves now use the basic mob framework and should act
more intelligently, defending their pack.
add: Icemoon wolves can be tamed with slabs of meat and can be ridden as
mounts once friendly. Being rather large dogs, they also have access to
most of the pet commands you'd expect, such as fetching things, and
violently mauling people their owners point at.
/🆑

---------

Co-authored-by: san7890 <the@san7890.com>
2023-11-19 10:51:21 -08:00
Ben10Omintrix
032419f30f ice demon basic mobs (#78539)
## About The Pull Request
ice demons are now basic mobs. they still have their behavior where they
can teleport around the player, run away from him and shoot him. they
now also have a new ability they will only use when they are on their
last legs, they will spawn weak and slow afterimage clones of
theirselves to attack the player. damaging these clones will also damage
the original ice demons. ice demons can also now be very easily
countered as they are very afraid of fires. they will run away from you
if they see u holding a lit torch/flare/welding tool and while running
away they will freeze the floors around them to try to slip u to stop u
from chasing them. ice demons now also get a new unique trophy! this
trophy will summon 2 friendly spirits that will help you kill ur target,
but these spirits will dissappear after a very short while.


https://github.com/tgstation/tgstation/assets/138636438/6a48fb15-f447-441a-91c6-48ca120dc22c



## Why It's Good For The Game
## Changelog
🆑
refactor: ice demons have been refactored into basic mbos. please report
any bugs
add: ice demons now have a unique trophy
/🆑
2023-10-08 03:04:35 +01:00
Hatterhat
0ff97e28fe Tendril Tagging - scanning necropolis tendrils with a mining analyzer updates its GPS tag (#78738)
## About The Pull Request
Makes it so that if you wave a mining analyzer over a necropolis tendril
(kinda like a geyser), its GPS tag is updated with a code for what it
spawns and a numerical designation. Unlike geyser scanning, this awards
no points, and is solely for figuring out what tendril spawns what
fauna.
<details>
<summary>Screenshots in the dropdown:</summary>


![image](https://github.com/tgstation/tgstation/assets/31829017/888f19f9-2291-4349-995a-2821e99da375)

![image](https://github.com/tgstation/tgstation/assets/31829017/d847e88e-a8ae-4a18-ae57-aed248343457)

![image](https://github.com/tgstation/tgstation/assets/31829017/d9646dad-70b6-4e92-8b5d-ce5eed873869)

Updated: now on the `structure/spawner` level, allowing it to cover
icemoon spawners.

![image](https://github.com/tgstation/tgstation/assets/31829017/73cc2972-1c34-485d-8b70-a04f44a92bcd)

Updated again: now it has an associated examine thing.

![image](https://github.com/tgstation/tgstation/assets/31829017/44027082-3672-4033-b603-de1a0c3d2af2)
</details>

Also removes the redundant `gps` variable because it got
componentalized.
## Why It's Good For The Game

I think being able to know what one of fifteen eerie signals is spawning
without having to memorize which one is spawning which thing at what
coordinate, or just vaguely going "oh so that's where the legion tendril
was today".

## Changelog

🆑
qol: Miners can now tag monster spawners (necropolis tendrils, animal
dens, demonic portals, and netherworld links) by using their mining
scanner on it, which updates their GPS tag (and/or gives them one) to
give it a numerical designation and a short identifier for what it's
spawning.
/🆑

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2023-10-07 01:22:02 +00:00
Jacquerel
f861532d24 Basic Legion & Hivelord (#78624) 2023-09-27 18:41:07 -04:00
jimmyl
5db7992b09 basicmob clowns (#78448)
## About The Pull Request

this is a mostly 1 to 1 port of simpleanimal clowns to basicmob clowns
this means they have 1 more brain cell
and they waddle



https://github.com/tgstation/tgstation/assets/70376633/0c5f01c7-fea2-4d8c-9fc1-764c1557e1b8



## Why It's Good For The Game


![image](https://github.com/tgstation/tgstation/assets/70376633/f92c85ea-33f2-4cf3-858f-103c0958ff97)

## Changelog
🆑
refactor: clowns are basicmobs now
/🆑

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-09-23 14:46:11 +00:00
SMOSMOSMOSMOSMO
15c3cd2c97 basic ice whelps (#77493)
## About The Pull Request
i have refactored ice whelps into basic mobs. They are now the artistic
sort as theyll mark their territory by seeking out icy rocks and carve
out statues of theirselves using their claws to serve as a warning to
players/animals that this is dragon turf and theyll also go out of their
way to burn any trees in vicinity just for the hell of it. they are now
gruesome cannibals if they find a corpse of one of their kin near them
theyll go eat it for nurishment. AS for combat, they have a new ability
which allows them to release fire in all directions however theyll only
use this ability once their enraged meter is full. to make it fair ive
given them a new component which allows them to telegraph abilities and
only do them after a delay so players can react in time for it.

## Why It's Good For The Game
basic mob refactor

## Changelog
🆑
refactor: ice whelps have been refactored to basic mobs
add: ice whelps have a new dangerous ability which theyll use once their
enraged meter is full
/🆑
2023-08-14 12:39:30 -06:00
Hatterhat
e4ece2fbd6 makes snow legions from portals drop skeletons (like tendril legions) (#75707)
## About The Pull Request
Exactly what it says on the tin (snow legions only dropping ashen
skeletons, like tendril legions).

Also changes the name of the "fromtendril" variable to "from_spawner",
and comments it. Not sure if that warrants a changelong comment, but
I'll go ahead and assume no.

## Why It's Good For The Game
being able to farm snow legion portals for an endless tide of bodies
and/or equipment is a bit weird. also puts it a bit more in line with
the legions of Lavaland

## Changelog

🆑
balance: The source of the demonic portals that endlessly deposits snow
legions onto the Icemoon no longer preserves the bodies nor gear of the
damned (read: demon portal snow legions now only drop skeletons).
/🆑

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2023-06-01 20:02:31 -04:00
san7890
48183ec0ff Icemoon Hermit Ruin Active Turf Fix - For Real This Time (#74476)
In #74306, I _thought_ I knew what the cause was, and I both attempted a
potential fix _and_ made tracking it easier. The fruits of my labor paid
off, I know exactly what caused it now.

Basically, the demonic portal will scrape away all turfs in a 5-tile
radius on its `Initialize()`, and if a spawner spawned right next to the
hermit ruin... it would count it as a mineral turf and scrape it away as
well. That's so fucking silly. At least we know now.
## Why It's Good For The Game

The fix is to just make those tiles unscrapeable, which is accomplished
via another turf_flag and filtering those out in the `Initialize()` of
the demonic portals.

I also cleaned up the calls to scrapeaway being `null`, which is really
weird because it just defaulted to the normal proc behavior. Naming the
arguments instead does the same thing (I checked)
2023-04-04 16:41:32 -04:00
Profakos
50b37c8c7f Faction defines (#73681)
## About The Pull Request

Quite a lot of mobs had faction defines as a string, which always has a
chance for error. For example, the clown mob spawner had their faction
written as "clown", when the official faction name was "clowns", and a
define existed for it anyways! This PR moves every single string based
factions over here. No references or special role factions. Hopefully I
didn't miss anything.

I also moved a global define used for picking your uplink provider's
flavour to the only file that used it, datum_traitor.dm, and renamed
them a bit to avoid confusion.

I have also noticed that the mimic faction was assigned to the petrified
player with += instead of |=. |= would ensure no duplicate factions, so
I have changed it.

Future improvement:
I have noticed that there is a lot of bloat with factions that contain
only one or two entries (examples: gnomes, floating eyeballs, penguins,
the pet lizards), and some always appear in pairs (vines and plants, the
rare exceptions being killer tomatoes and strange reagent spawned pine
trees), but trimming consolidating them is a matter for a different
time.

## Why It's Good For The Game

Makes assigning factions a bit less error prone.

I can finally remove the ```/// Later all mob factions will be moved
here and their current factions replaced with faction defines.```
comment. Later is NOW.

## Changelog
Nothing player facing
2023-02-28 16:44:08 -07:00
carshalash
6dd4839ef3 Gatfruit will no longer drop from ice portals. (#72048)
## About The Pull Request

For some god-forsaken reason, somebody decided that ice portals should
be able to drop one of the most disruptive items in the game. This PR
amends this by removing it from the drop pool.

## Why It's Good For The Game

In 2013 gatfruit was introduced in the following PR #2000 . This was
almost a decade ago at this point, repeatedly through the PR the creator
states his belief that this item should only ever be obtainable through
admin intervention due to its ridiculous capabilities. At the time
everyone in the PR agreed it was a reasonable item to add **as it was
unobtainable without admin intervention**. Over the years, it has crept
its way to become more prevalent and openly obtainable, the most
offensive of these options is the ice moon portal. As is, there is a 1
in 28 chance of obtaining the seeds, this sounds pretty inoffensive
right? That's just 3.44% probability. Now, let us search the instances
of the portal that spawns this.


![image](https://user-images.githubusercontent.com/16896032/208220173-bbefe604-0885-44a5-9add-b5f0c62067cc.png)

That is a big number, a lot of chances to get that seed packet and other
gamer looters. Now, let's take a look at the probability of being able
to get these seeds, assuming you wipe out all of the portals.


![image](https://user-images.githubusercontent.com/16896032/208220460-3f59a2ac-d936-4f3a-aa14-9c637af6a9d7.png)

92.8% chance to be able to get these seeds each shift if you focus
entirely on gaming the portals. That's a pretty insane probability of
being able to obtain the gatfruit seeds.

While I dislike people who sprint to the seed vault, there is at least
the possibility of a pod person telling them to fuck off when they
demand their _free_ gamer seed. There is also the fact that the ruin
isn't a guaranteed spawn every shift.

## Changelog

🆑
balance: Gatfruit seeds will no longer drop from ice portals.
/🆑
2022-12-17 21:41:13 -08:00
AnturK
4d6a8bc537 515 Compatibility (#71161)
Makes the code compatible with 515.1594+

Few simple changes and one very painful one.
Let's start with the easy:
* puts call behind `LIBCALL` define, so call_ext is properly used in 515
* Adds `NAMEOF_STATIC(_,X)` macro for nameof in static definitions since
src is now invalid there.
* Fixes tgui and devserver. From 515 onward the tmp3333{procid} cache
directory is not appened to base path in browser controls so we don't
check for it in base js and put the dev server dummy window file in
actual directory not the byond root.
* Renames the few things that had /final/ in typepath to ultimate since
final is a new keyword

And the very painful change:
`.proc/whatever` format is no longer valid, so we're replacing it with
new nameof() function. All this wrapped in three new macros.
`PROC_REF(X)`,`TYPE_PROC_REF(TYPE,X)`,`GLOBAL_PROC_REF(X)`. Global is
not actually necessary but if we get nameof that does not allow globals
it would be nice validation.
This is pretty unwieldy but there's no real alternative.
If you notice anything weird in the commits let me know because majority
was done with regex replace.

@tgstation/commit-access Since the .proc/stuff is pretty big change.

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-11-15 03:50:11 +00:00
skylord-a52
be0e6efdf6 [IDB IGNORE] [MDB IGNORE] Makes the icons/mob folder sane (#69302)
About The Pull Request

Reorganizes the entire icons/mob folder.

Added the following new subfolders:

    nonhuman-player (this was initially just called "antag", but then I realized guardians aren't technically antags)
    simplemob
    silicon
    effects (for bloodstains, fire, etc)
    simplemob/held-pets (for exactly that -- I wasn't sure if this should go in inhands instead)
    species/monkey

Moves the following stuff:

    All human parts moved into species, with moth, lizard, monkey, etc parts moved to corresponding subfolders. Previously, there were some moth parts in mob/species/moth, and others just loose in mob. Other species were similar.
    icemoon, lavaland, and jungle folders made into subfolders of simplemob
    All AI and silicon stuff, as well as Beepsky et al. into the silicon folder, simplemobs into the simplemob folder, aliens into the nonhuman-player folder, etc.
    Split up animal_parts.dmi into two bodyparts.dmi which were put in their respective folders (species/alien and species/monkey)

Code changes:

    Filepath changes to account for all of this
    Adds a check when performing surgery on monkeys and xenos, because we can no longer assume their limbs are in the same file
    Turns some hardcoded statues and showcases that were built into maps into objects instead

Things I'd like to do in the future but cant be assed right now:

    Remove primarily-antag sprites from simplemob/mob.dmi (Revenant, Morph, etc.) and put them in the nonhuman-player folder
    Split up mutant_bodyparts.dmi into different files for Tizirans, Felinids, monkeys, etc and put them in their own folders. Those may have once been meant primarily for mutated humans but that's now how they're being used right now.
2022-09-03 11:52:54 -07:00
John Willard
4a274a6e4b [MDB IGNORE] Refactors drinks and fixes a lot of food problems (#69081)
* Makes condiments their own subtype, fixes geese, prepares for merging

* Fixes geese checking drink type instead of edible foodtype to eat gross food.
* Renames foodtype var on drinks to drink_types to prevent above from happening again because it KEEPS HAPPENING. DRINKS AREN'T FOOD!
* Makes Condiments their own subtype of reagent_containers because they don't make any use of being a subtype of food, at all.
* Starts moving things from food to /food/drink subtype in preparation for merging /food/drink with /drink

* fully removes Food subtype

* /reagent_containers/drinks are now /reagent_containers/cup - This is so it's no longer confused with eachother.
* /food/drinks is now /reagent_containers/cup/drinks, so we can keep their special abilities.
* Fixes a LOT of errors with food, which are STILL checking the reagent_containers, despite ACTUAL food being refactored away from it a long time ago.

This doesn't compile yet, but I do want to make sure my progress is well tracked.

* remove copypaste code, changes soda cans

* Removes most copy paste code between the two drinks, moving most stuff to parent whenever needed.
* Made soda cans their own subtype since they didn't share anything with glass bottles anyways.
* Fixes more problems with food/drinks, especially with geese. Geese really were just broken this whole time and no one said a word...
* Removes a snowflake signal, now that both drink types share a common one.
* Adds everything to the .dme

Currently my goal is to get this all compiling, then remove isGlass var by making glass be all glass ones only.

* Moves all icons into a single drinks dmi

I'm not that great at icon stuff, hopefully I didn't forget/break anything.

* Turns juices into their own subtype

This allows us to let them check for type in molotov, to both get rid of a use of isGlass, and so non-glass non-cartons don't show up as 'carton'.

* fixes compile issues, adds updatepaths

* a better updatepaths

* updates the damn maps now

* properly names the updatepath

* how did that get there

* i suck at handling merge conflicts

* how am i this bad

* code improvement and soda fix

* more fixes

* Don't be a timer

Ports from old food bottles to trans the reagents, rather than add a timer to.

* Merge conflicts and fixes bottle smashing

* Bottle smashing is now consistently functional regardless of how much liquid they have in them, when before it would spill first, then smash on the second hit.

* runs updatepaths again
2022-08-12 15:24:14 -04:00
MrMelbert
f8f3dbed98 Completely removes proc_holders from existence. Refactors all wizard, xeno, spider, and genetics powers to be actions. Also refactors and sorts ton of accompanying code. (#67083)
* destroy proc holder pt1
- change proc_holder/spell to action/cooldown/spell
- docs all the spell vars, renames some of them
- removes some useless vars
- start with pointed spells, as they're easy

* kill proc_holder pt2
- kill a buncha vars and replace it with flags
- convert a ton over
- general code improvements

* kill proc_holders pt3
- convert a good few more spells
- rename some signals
- handle statpanel
- better docs

* kiill proc_holder pt4:
- restructure the file system of action.dm, separating a good amount of item actions and miscellaneous garbage into files where they belong slightly better. Also splits off item actions, cooldown actions, innate actions, etc. into their own files, overlal making it much better to work with
- converts touch attacks to actions
- converts blood crawl, jaunt subtype

* kills proc_holder pt5
- clears up some icon issues so all the currently converted pages don't have errors
- shapeshift
- some more action cleanup

* kills proc_holder pt5.5:
- some documentation
- reworks feedback to prevent oversight with teleports and stuff

* kills proc_holder pt6:
- converted cult spells
- converted magic missile
- converted mime spells
- chipped away at the errors
- removed some vars which were too general, replaced them with more locally applicable vars. for example "range" which could mean "projectile range" or "aoe radius" or whatever - instead of having a broad net which everyone applies to in a confusing matter, instead lets each spell delegate on their own.
- merged magic/spell and magic/aoe, as the comment intended
- more unified behavior for spell levelling

* kill proc_holders pt 6.5:
- replacing a buncha old proc_holders that have been updated to reduce some errors. sub 900 baby

* kills proc_holder pt 6.75:
- minor fixes

* kills proc_holder pt7:
- cuts down on some errors
- refactors some wiz events

* kills proc_holder pt 7.5:
- malf ranged modules
- some minor errors

* kills proc_holder pt 7.75:
- mor eminor error handling, cleaning up changes

* kill proc_holder pt8:
- refactors spell book
- refactors spell implant
- some more minor error fixing

* kill proc_holder pt 8.5:
- scan ability

* Adds some robust documentation

* kill proc_holder pt9:
- converts some / most mutations over

* kill proc_holder pt10:
- sort out all the granters
- refactor them slightly
- fix some compile errors

* Some set-unset sanity - going to need to test removing Share()

* Removes transfer actions. It doesn't seem to do anything.
- Transfer_actions was called when current = new_character so locially speaking the early return in Grant() should cause it to NOOP. Test this in the future though

* Removes sharing from actions, docs actions better

* Some better documentation for spell and spell components

* Kills proc_holder pt11:
- Finally finishes ALL THE SPELLS IN THE SPELL FOLDER
- Fixes some more errors

* kills proc_holder pt11.5:
- minor error fixing and sanity

* Method of sharing actions. Can be improved  in the future, needs testing

* Implements a way to update the stat panel entry for a spell. Also gets rid of VV stuff, as you can update the bigflags directly in VV now.

* Curse of madness bug I put in.

* kills proc_holder pt12:
- sub 500 errors!
- converts cytology mobs
- converts and refactors spiders slightly
- some minor fixing around the place as usual

* kill proc_holder pt13
- Finishes heretic spells
- Sub 300 errors!
- some touch refactoring to account for mansus grasp

* kills proc_holder pt14:
- revenant
- minor bugfixing for heretic stuff

* kills proc_holder pt14.5:
- some missed stuff for revenant + heretic

* kills proc_holder pt15:
- alien abilities
- more minor fixing
- sub 100 errors. The end is nigh

* kill proc_holder pt16? 17:
- Finishes cult spells
- sub 50 errors!
- refactors the way charge works
- renames / moves some signals

* kills proc_holder pt final:
- sdql spells
- no more errors!

* Bugfixes round 1

* Various bugfixing
- documentation done
- give spell works
- can cast spell gives feedback conditionally
- is available takes into account casting ability

* Some accidental reversions + fixes

* Unit tests

* Completely refactors jaunting
- All bloodcrawling is now handled on the action itself instead of across various living procs
- slaughter demons have their own blood crawls
- jaunting dummies don't have side effects on destroy() anymore

* Wizard spell logging and even more refactoring
2022-07-01 02:01:02 -04:00
Kapu1178
6d470992cb This tail refactor turned into an organ refactor. Funny how that works. (#67017)
* Fuck you (refactors ur tails)

* Errors

* Wow. Pain.

* Fixes up probably everything

* finish up here

* Fixes hard del maybe

* original owner hard del

* garbage collection runtime

* suck my peen byond

* Mapped tails

* motherfucker.

* motherrfucker. again.

* Whooopppppsie

* yeah bad idea

* Turns out external organs literally just sat in nullspace forever if their parent was deleted, and didnt Remove() themselves, causing harddels.

* So anyways I repathed all organs

* Fixes

* really.

* unit test... test

* unit test-test but it passes linters this time because im a moh-ron

* I've lost track of what im doing at this point

* Hopefully fixes hard del?

* meh

* Update code/datums/dna.dm

* things n stuff

* repath from master pull
2022-05-30 21:18:34 -07:00
Fikou
7b38dd4ff7 MODsuits (#59109) 2021-12-24 12:00:24 -08:00
tralezab
6c01cc2c01 every case of initialize that should have mapload, does (#61623)
## About The Pull Request

stop forgetting to include mapload, if you don't include it then every single subtype past it by default doesn't include it

for example, `obj/item` didn't include mapload so every single item by default didn't fill in mapload

![](https://media.discordapp.net/attachments/823293417186000909/875122648605147146/image0.gif)

## Regex used:

procs without args, not even regex

`/Initialize()`

procs with args
`\/Initialize\((?!mapload)((.)*\w)?`

cleanup of things i didn't want to mapload:
`\/datum\/(.)*\/Initialize\(mapload`
2021-09-24 17:56:50 -04:00
Watermelon914
375a20e49b Refactors most spans into span procs (#59645)
Converts most spans into span procs. Mostly used regex for this and sorted out any compile time errors afterwards so there could be some bugs.
Was initially going to do defines, but ninja said to make it into a proc, and if there's any overhead, they can easily be changed to defines.

Makes it easier to control the formatting and prevents typos when creating spans as it'll runtime if you misspell instead of silently failing.
Reduces the code you need to write when writing spans, as you don't need to close the span as that's automatically handled by the proc.

(Note from Lemon: This should be converted to defines once we update the minimum version to 514. Didn't do it now because byond pain and such)
2021-06-14 13:03:53 -07:00
Whoneedspacee
9ee4703133 Icebox QoL minus features (#56472) 2021-02-17 03:17:41 -08:00
interestingusernam3
580542accc Prevents bypassing the bluespace anomaly core limit by destroying demon portals (#55456)
This replaces the bluespace anomaly core that can be dropped by demon portals with a 3.6% chance with a soul stone.
2020-12-12 19:30:11 +00:00
TiviPlus
0eaab0bc54 Grep for space indentation (#54850)
#54604 atomizing
Since a lot of the space indents are in lists ill atomize those later
2020-11-30 12:48:40 -05:00
Rohesie
6ff08e1c69 Color standardization, vars moved, and signals (#52574)
Defined all the existing light_color values.
    Moved their definitions to colors.dm
    Made white the default color. It was so already, but that was very obscured.
    Moved the atom light-related variables to the atom definition.
    Wrapped changes to variables such as light_color into procs that report the event through signals.
    Moved the light_on variable to the atom level, also adding a signal for its changing, to represent toggling lights.
    Cleaned up a little bit of code in where new variables were defined before redefinitions.

This is all atomization to reduce changes in #52413
None of this affect gameplay at all, it's all code cleaning and refactoring.

There's more colors to standardize, a search for color = will find lots of targets, and I see little need to have both the LIGHT_COLOR and COLOR patterns, but I don't want to make this PR bigger than it already is.
2020-08-04 13:59:48 +12:00
Whoneedspacee
8af93a638b Icebox Station (#51090)
* there was an attempt

* adds ice moon map

adds config options for choosing mining maps

areas now have options that affect random generation on them

weather now has an option to not target indoor areas

adds base for icemoon ruins

turns many 1's into booleans

adds ice chasms

adds ztraits for weather stuff

* fixes up ice ruins to be ice moon compatible

adds lower z level to the ice moon mine

ice chasms now have a smoothed icon

megafauna only spawn in the underground portion of ice moon now

* openspace fixes

* adds new areas and underground specific ruins

* Adds the abandoned village ruin for Ice Moon

* adds abandoned village ruin and fixes some area and tile stuff to work with ice moon

* random mining maps are no longer picked in the config

you can no longer change the mining map before setup is complete

* adds above and below ground ruin as a test

* adds debug functionality for ice moon ruins

fixes a bug where multiz was impossible unless there were shared areas because of whitelisted areas

adds multiple whitelist areas for ruin placement in a list

all underground areas are now outdoors

underground plasma lava rivers are now only spawned in unexplored areas so ruins don't get destroyed by them

* adds unique spawners to icemoon to replace tendrils

adds 2 new mobs to icemoon the polar bear and wolf

adds a clothing flag for shoes that dont slip on ice

modifies mining site to be ready except for the boss

adds the ability for tunnel width to be a specification, ice moon can have 1 tile wide tunnels and rarely 2 wide tunnels

adds a no caves mineral for ice moon ruins

* wolves no longer run into lava or chasms

bears now enrage sooner

bear spawners can now actually be created

adds base for ice moon atmospherics

adds base for a new boss and achievements / score

really bad coder icon for ice boots added

* ice moon now has it's own planetary atmos! (thank god)

* new frost miner stuff

megafauna recovery time can now be tailored to have different cooldowns to ranged or melee attacks
by default sets both of them, with two arguments the first is ranged cooldown and the second is melee cooldown

* converts a bunch of lavaland maps to be compatible with ice moon

adds tendrils from lavaland to the bottom of ice moon with the other megafauna

* updates mob drops for ice moon mobs

updates config entry default value for ice moon

updates ice moon map to have new gulag

* updates station parallax for icemoon

removes extra lavaland ported ruins

updates to demonic frost miner

adds ladder to icemoon map near station

* updates ice moon map to have the ladder inside the mining base

plant flora dont spawn on the lower z level of ice moon now

you get sand from mining rocks now

buncha demonic frost miner changes holy cow

* adds the buried library

* improves map, fixes comment

* make this crap work with the station cause i have to lol it is pretty cool though and now i understand the mapping crap better

* updates ice ruin blacklist

* ice moon stop being too cold thanks

icebox changes, now actually has its own z level that can spawn ruins and such instead of just being openspace

tunnel width is now not stupid

* fixes a demonic frost miner bug where orbs werent exploding after death

atmosphere temp is now correct

fixes library ruin for icemoon

polar bear range is now fixed, only aggros in a short range and follows further than 3 tiles

reverts necropolis chest change

* Adds a new ruin: bathouse, barebones edition

* adds many new ruins

fixes a bug with tunnel creation that caused it to enter no tunnel allowed areas

finishes the frost miner and adds loot to him

you can now force a wabbajack option

* main z level now always has gravity for ice box

* hopefully the hot springs arent the buggiest thing in the world anymore

protects areas near the station from having openspace

* icebox takes less players

fixes the ladder positioning on every icemoon map

* snowstorms now only occur on the station level

fixes some issues with the icebox z level having openspace over the lower level mining base

* Update code/datums/map_config.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/datums/ruins/lavaland.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/game/objects/structures/lavaland/necropolis_tendril.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/game/turfs/closed/minerals.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/game/turfs/open/chasm.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/game/turfs/open/floor/plating/asteroid.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/modules/mob/living/simple_animal/hostile/mining_mobs/polarbear.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/modules/mob/living/simple_animal/hostile/mining_mobs/wolf.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/modules/ruins/icemoonruin_code/hotsprings.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* fixes areas on the lust ruin

polar bears now drop a goliath plate equivalent

wolfs now drop a watcher sinew equivalent

adds snow legions

adds a crusher trophy for the demonic frost miner that prevents movement

fixes a bug with asteroid mobs where the aggro icon would never show

adds ice to the snow cave tunnel generation

* starts work on the wendigo megafauna

* replaces snowball machine gun with more miner useful content

adds gentle var for knockback to prevent stunning on hit

polar bears move slower now

new icon for phase 2 demonic miner now

* fixes lust ruin areas

fixes whitespace

fixes nesting issues

adds underground specific mobs

* name / location fixes

demonic frost miner doesnt stun on knockback now

ice demons move faster

* fixes icebox having the wrong baseturf

* adds achievement defines to the wendigo

snowstorm for the lower z level again

adds a new helper for ranged target turfs

theres now a specific subtype for rivers

fixes a bug where ice and spawners spawned with rocks and other flora on top of them

adds indestructible ice rock turf

fixes a bug with ice demons teleport distance being incorrect

adds the start of wendigos attacks

* Apply suggestions from code review

Co-Authored-By: Rohesie <rohesie@gmail.com>

* Update code/modules/mapping/ruins.dm

Co-Authored-By: Rohesie <rohesie@gmail.com>

* Fixes a dumb bug with ruins from a webedit review

The syndicate shuttle can now land on mineral turfs

* the final commit, all that im going to change after this is documentation for procs lol

makes both ice moon z levels below the station underground, and makes it so they generate rivers of their baseturf

* adds nice animation to wendigo scream

* small fixes

* finishes autodoccing everything i could find

* ok im done for real now

* adds anywhere ruins

does review stuff

* review stuff

* ok it removes the stuff now

* fix removal

* fixes from the git

* adds surroundings to the asteroid and lavaland sites

adds butchering gloves to wrath ruins

the lower icebox levels are no longer station levels

fixes capitals on blood drunk and frost miner boss medals

adds engineering outpost ruin by trollbreeder

adds boxstation job changes to icebox

polar bear transformation no longer has immunity to lavaland mobs

fixes ice whelp spelling mistake

* fixes engi outpost atmospherics

fixes missing plating on solar panels

changes slowdown for icemoon turfs

* fixes ruins areas so tunnels can spawn into some of them

adds lights to icebox below area

openspace turfs mine the thing below them now

* fixes wall boundings on asteroid and lavaland domes

* ur lame armhulen

* adds public mining area to icebox

adds computer vendors to icebox

* minor fixes

* fixes map type error

* removes slowdown entirely

increases ore chances

fixes openspace on main map

fixes a ton of active turfs at roundstart

modifies demonic frost miner loot to be cooler and more useful since the boss was hardly killed during tests

tunnels are wider underground now

openspace now deletes itself if it spawns above a ruin

* improve da ruins

* tries to fix multiple atmos issues with ruins

removes bz from the planetary atmos since it could cause unstoppable chain reactions which would cause massive lag

demonic frost miner drill now automatically scans everywhere around you

fixes tunnel generation issue

makes it so randomly generated turfs inherit their no_ruins flags

Co-authored-by: Jonathan Church <jchurch093@gmail.com>
Co-authored-by: s <wesoda24@gmail.com>
Co-authored-by: spookydonut <github@spooksoftware.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-05-22 02:17:15 -07:00