Git Product home page Git Product logo

vorestation / vorestation Goto Github PK

View Code? Open in Web Editor NEW
79.0 24.0 430.0 1.61 GB

The codebase used by the VORE SS13 server, based on Polaris SS13.

Home Page: http://vore-station.net

License: Other

Python 0.62% DM 90.85% JavaScript 4.52% HTML 1.65% CSS 0.05% Shell 0.05% C++ 0.04% C 0.01% Batchfile 0.01% C# 0.09% Java 0.20% Awk 0.01% SCSS 0.52% Dockerfile 0.01% PowerShell 0.01% TypeScript 1.37%

vorestation's Introduction

VOREStation

forthebadge forthebadge forthebadge

Website - Forums - Wiki

Going to make a Pull Request? Make sure you read the CONTRIBUTING.md first!

Want to make a test server or your own private server? Read our GitHub Wiki!

VOREStation is a fork of the Polaris code branch, itself a fork of the Baystation12 code branch, for the game Space Station 13.

Render Nanomaps


LICENSE

The code for VOREStation is licensed under the GNU Affero General Public License version 3, which can be found in full in LICENSE-AGPL3.txt.

Code with a git authorship date prior to 1420675200 +0000 (2015/01/08 00:00) are licensed under the GNU General Public License version 3, which can be found in full in LICENSE-GPL3.txt.

All code whose authorship dates are not prior to 1420675200 +0000 is assumed to be licensed under AGPL v3, if you wish to license under GPL v3 please make this clear in the commit message and any added files.

If you wish to develop and host this codebase in a closed source manner you may use all code prior to 1420675200 +0000, which is licensed under GPL v3. The major change here is that if you host a server using any code licensed under AGPLv3 you are required to provide full source code for your servers users as well including addons and modifications you have made.

See here for more information.

Any files located in the vorestation/goon, vorestation/icons/goonstation, or vorestation/sound/goonstation directories, or any subdirectories of mentioned directories are licensed under the Creative Commons 3.0 BY-NC-SA license (https://creativecommons.org/licenses/by-nc-sa/3.0)

All assets including icons and sound are under a CC BY-SA 3.0 license unless otherwise indicated.

Attributions and other licenses with links to original works are noted in ATTRIBUTIONS.md.

GETTING THE CODE

The simplest way to obtain the code is using the github .zip feature. If you do this, you won't be able to make a Pull Request later, though. You'll need to use the git method.

Click here to get the latest code as a .zip file, then unzip it to wherever you want.

The more complicated and easier to update method is using git. You'll need to download git or some client from here. When that's installed, right click in any folder and click on "Git Bash". When that opens, type in:

git clone https://github.com/VOREStation/VOREStation.git

(hint: hold down ctrl and press insert to paste into git bash)

This will take a while to download, but it provides an easier method for updating.

INSTALLATION

First-time installation should be fairly straightforward. First, you'll need BYOND installed. You can get it from here.

This is a sourcecode-only release, so the next step is to compile the server files. Open vorestation.dme by double-clicking it, open the Build menu, and click compile. This'll take a little while, and if everything's done right you'll get a message like this:

saving vorestation.dmb (DEBUG mode)

vorestation.dmb - 0 errors, 0 warnings

If you see any errors or warnings, something has gone wrong - possibly a corrupt download or the files extracted wrong, or a code issue on the main repo. Ask on IRC.

Once that's done, open up the config folder. You'll want to edit config.txt to set the probabilities for different gamemodes in Secret and to set your server location so that all your players don't get disconnected at the end of each round. It's recommended you don't turn on the gamemodes with probability 0, as they have various issues and aren't currently being tested, so they may have unknown and bizarre bugs.

You'll also want to edit admins.txt to remove the default admins and add your own. "Host" is the highest level of access, and the other recommended admin levels for now are "Game Admin" and "Moderator". The format is:

byondkey - Rank

where the BYOND key must be in lowercase and the admin rank must be properly capitalised. There are a bunch more admin ranks, but these two should be enough for most servers, assuming you have trustworthy admins.

Finally, to start the server, run Dream Daemon and enter the path to your compiled vorestation.dmb file. Make sure to set the port to the one you specified in the config.txt, and set the Security box to 'Trusted'. Then press GO and the server should start up and be ready to join.


UPDATING

To update an existing installation, first back up your /config and /data folders as these store your server configuration, player preferences and banlist.

If you used the zip method, you'll need to download the zip file again and unzip it somewhere else, and then copy the /config and /data folders over.

If you used the git method, you simply need to type this in to git bash:

git pull

When this completes, copy over your /data and /config folders again, just in case.

When you have done this, you'll need to recompile the code, but then it should work fine.


Configuration

For a basic setup, simply copy every file from config/example to config.


SQL Setup

The SQL backend for the library and stats tracking requires a MySQL server. Your server details go in /config/dbconfig.txt, and the SQL schema is in /SQL/tgstation_schema.sql. More detailed setup instructions arecoming soon, for now ask in our Discord.

vorestation's People

Contributors

abi79 avatar anewbe avatar arokha avatar atermonera avatar caelaislinn avatar cameron653 avatar ccomp5950 avatar cib avatar comma avatar datraen avatar ginjaninja32 avatar heroman3003 avatar itsanjonth avatar killiankirilenko avatar leshana avatar mistakenot4892 avatar mloc avatar mwerezak avatar neerti avatar novacat avatar nullsnapshot avatar psiomegadelta avatar rykka-stormheart avatar spadesneil avatar tastyfish avatar verkister avatar very-soft avatar virgobot avatar wishmandible avatar yoshax avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vorestation's Issues

Changelings

Changlings should use vore mechanics instead of killing people, namely absorb.

Adding end-of-round persistence

I would like to make it possible to save statistics like flavor text, hair style, body weight, (etc) at the end of the round. This way people who like things like weight gain, transformation, or just want to save their flavor text at the end of a game and forget to do it after 6 hours can just toggle this on and off and have it automatically saved when the round ends regardless of being logged in or not.

Parameters of this issue being resolved:

  • Should work even if when player has logged out, if possible. Maybe an option to save stats manually if this is not possible.
  • You must be alive at the end of the round. If you're dead, nothing is saved!
  • A manual mid-round "save current appearance" button might be nice. It is my understanding that in Polaris you can open your character prefs at any time now.
  • You must have random name set to false, or nothing can be saved. The random name option overrides and stops any saving at all because it's assumed to be a randomly chosen character.
  • Going into cryo should save your information as it would during round end.
  • Going into robotic storage should also save information as it would during round end.
  • Verb to toggle persistence mid-round in case you don't like some changes. This belongs under the "Preferences" tab or "OOC" tab.
  • Toggle persistence in character preferences and on mobs should be, turned off by default in player prefs.
  • Flavor text should be saved.
  • Body weight should be saved (up to 500).
  • If when saving body weight, nutriment is over 450, calculate how much that would be in added weight. if (nutrition > 450 && weight < 500 && weight_gain) weight += metabolism_(0.01_weight_gain) is how it is normally calculated. In this case, if (nutrition > 450 && weight < 500 && weight_gain) weight += (0.01_weight_gain)_(0.0285(nutrition-450))* The reason I choose this number is because at 100% realism weight gain, the human body is worth ~30 pounds of weight gain, and you gain 1050 for an average human, so 30/1050 = about 0.0285 so there's my math. :U
  • Body appearance (including hair style, colors, taur body, scale, etc) should also be saved.

I am told this should not require SQL to work. If we figure out how to do this, it is potentially possible we can have other persistent features as well including bank accounts and taking certain items home to keep for bringing on board in the future.

This issue was planned for old Vorestation but never implemented. In the old server, gameticker.dm was where saving should have been done at end of round.

/datum/controller/gameticker/proc/declare_completion()
    world << "<br><br><br><H1>A round of [mode.name] has ended!</H1>"
    for(var/mob/Player in player_list)
        if(Player.mind && !isnewplayer(Player))
            if(Player.stat != DEAD)
                // If player has persistence turned on and is still a human
                    // If weight gain, calculate the amount of weight they should gain according to their final nutrition value, and add it to their current weight. I can do this. -Spades
                    // Save player stats such as weight, scale, flavortext, and physical appearance.
                var/turf/playerTurf = get_turf(Player)
                if(emergency_shuttle.departed && emergency_shuttle.evac)
                    if(isNotAdminLevel(playerTurf.z))
                        Player << "<font color='blue'><b>You managed to survive, but were marooned on [station_name()] as [Player.real_name]...</b></font>"
                        // Save player to spawn at Cryo next time they join.
                    else
                        Player << "<font color='green'><b>You managed to survive the events on [station_name()] as [Player.real_name].</b></font>"
                        // Save player to spawn at Arrival Shuttle next time they join.
                else if(isAdminLevel(playerTurf.z))
                    Player << "<font color='green'><b>You successfully underwent crew transfer after events on [station_name()] as [Player.real_name].</b></font>"
                    // Save player to spawn at Arrival Shuttle next time they join.
                else if(issilicon(Player))
                    Player << "<font color='green'><b>You remain operational after the events on [station_name()] as [Player.real_name].</b></font>"
                else
                    Player << "<font color='blue'><b>You missed the crew transfer after the events on [station_name()] as [Player.real_name].</b></font>"
            else
                if(istype(Player,/mob/dead/observer))
                    var/mob/dead/observer/O = Player
                    if(!O.started_as_observer)
                        Player << "<font color='red'><b>You did not survive the events on [station_name()]...</b></font>"
                else
                    Player << "<font color='red'><b>You did not survive the events on [station_name()]...</b></font>"
    world << "<br>"

Polaris Port - Vore Animals

Port over our code for making several simple_animals predatory.
Issue #1 will handle vore bellies and such; this issue is for implementing the AI.

Species drug allergies

Nullify species reagent tags. People using taj species may not actually be taj. Could be fox or sumin.

Polaris Port - Xenomorphs

  • Readd Sprites
  • Readd Definitions

...well they said they removed xenomorphs but didn't really. Just as carbons. Their simple-mob iterations still work, and the sprites are all there, so... check?

Rigsuit chestpiece sprite dissapears unless jumpsuit worn.

Brief description of the issue

The rigsuit chestpiece sprite doesn't show up on your character or in the O_suit slot when activated if you don't wear a jumpsuit.

What you expected to happen

Have the rigsuit chestpiece sprite show up

What actually happened

The rigsuit "suit" sprite never showed up.

Steps to reproduce

  1. Take off jumpsuit
  2. Put on rigsuit
  3. Toggle the rigsuit until it's completely activated
  4. Toggle the rigsuit chestpiece
    4.1. Spook the crew by walking in space by retoggling the hardsuit chestpeice so it mechanically works, but doesn't actually show up on your sprite

Additional info:

  • Server Revision: Found using the "Show Server Revision" verb under the OOC tab.
    One being used at time of writing
  • Anything else you may wish to add (Location if it's a mapping issue, etc)
    This effects all rigsuits that I tested. (CE, ERT, and Hazmat)

Polaris Port - Vore

  • Belly System
  • Vore Panel
  • Grab/Click Hook
  • Ability to eat people above this line---------------
  • Saving/Loading
  • Cloning
  • Breathing inside pred
  • QOL above this line---------------
  • Struggling
  • Teleport into Belly
  • Body Scanner
  • Examination
  • Welder vision for absorbed
  • Gib handling
  • Vore drugs
  • Extra/recent features above this line---------------

Polaris Port - Tail/Ear Accessories

  • Character Setup Screen Choices
  • Whitelist System
  • Datums

- [ ] DNA for them //No genetics so what's the point

  • Sprite Port
  • Sprite Rendering
  • Tweak character setup

Invisible atmo tape on map

The little maintenance room behind the janitor's closet (the one with the hydroponics trays) has atmospherics tape over the door. There's no icon on the tape, so non-engineers are barred from progressing and have to altclick it.

Missing things

Slime Race is Missing.
Machine race is missing.
Nudist permit is missing (armband) .
Silver coin is missing.
Daemon language is missing.

please fix :3

Replace the bluespace gateway currently on the map with a teleporter hub

The current gateway is just a glorified cryopod. I do not want there to be two gateways, as having two gateways is going to be confusing to players. There's no descernable difference beside location compared to the gateway I want for Research for away missions, and the gateway currently in the map. I want to remove the one acting like a glorified cryopod and replace it with a star trek style teleporter room.

Polaris Port - Job Whitelist

  • Whitelist Procs (improve old ones)
  • Latejoin Code Change (new_player.dm)
  • Earlyjoin Code Change (preferences.dm)
    - [ ] Config file option

Alter any mention of Deathsquad / Death Commando in the code.

Deathsquad are not officially recognized by NanoTrasen, nor are the Death Commandos who are part of it.

I want all mentions of it to be removed or changed to SWAT that can be seen by the players, no matter how rare.

Something like an item path or proc though, I don't care.

Teleporter room is listed "Gateway" on the map.

Brief description of the issue

Teleporter room for late-joining players and early-leaving players is titled "Gateway".

What you expected to happen

When there's a fire or some problem, it should say "Teleporter Hub" and not "Gateway" room

What actually happened

Because the area is wrongly titled, "Gateway" comes up instead.

Steps to reproduce

  1. Go to the teleporter room.
  2. Do anything to trigger getting the name for the room. If you're an admin you can just right-click.

Additional info:

  • Server Revision: Revision unknown. Why is this unknown?
  • Anything else you may wish to add It's a mapping issue.

Polaris Port - Macro/Micro

  • Character Setup Choices

- [ ] DNA for size No genetics so why bother

  • Sprite Scaling (update_icons)
  • Chemicals (shrink/grow)
  • Stomping (step-over)
  • Fix sprite weirdness (put micro on head, shows helmet)
  • Prevent scooping ALL mobs with drag

Respawn timer is 15 minutes

Lines in question:

/mob/verb/abandon_mob()
set name = "Respawn"
set category = "OOC"
if (!( config.abandon_allowed ))
usr << "<span class='notice'>Respawn is disabled.</span>"
return
if ((stat != 2 || !( ticker )))
usr << "<span class='notice'><B>You must be dead to use this!</B></span>"
return
if (ticker.mode.deny_respawn) //BS12 EDIT
usr << "<span class='notice'>Respawn is disabled for this roundtype.</span>"
return
else
var/deathtime = world.time - src.timeofdeath
if(istype(src,/mob/observer/dead))
var/mob/observer/dead/G = src
if(G.has_enabled_antagHUD == 1 && config.antag_hud_restricted)
usr << "\blue <B>Upon using the antagHUD you forfeighted the ability to join the round.</B>"
return
var/deathtimeminutes = round(deathtime / 600)
var/pluralcheck = "minute"
if(deathtimeminutes == 0)
pluralcheck = ""
else if(deathtimeminutes == 1)
pluralcheck = " [deathtimeminutes] minute and"
else if(deathtimeminutes > 1)
pluralcheck = " [deathtimeminutes] minutes and"
var/deathtimeseconds = round((deathtime - deathtimeminutes * 600) / 10,1)
usr << "You have been dead for[pluralcheck] [deathtimeseconds] seconds."
if (deathtime < (15 * 600))
usr << "You must wait 15 minutes to respawn!"
return
else
usr << "You can respawn now, enjoy your new life!"
log_game("[usr.name]/[usr.key] used abandon mob.")
usr << "\blue <B>Make sure to play a different character, and please roleplay correctly!</B>"
if(!client)
log_game("[usr.key] AM failed due to disconnect.")
return
client.screen.Cut()
client.screen += client.void
if(!client)
log_game("[usr.key] AM failed due to disconnect.")
return
announce_ghost_joinleave(client, 0)
var/mob/new_player/M = new /mob/new_player()
if(!client)
log_game("[usr.key] AM failed due to disconnect.")
qdel(M)
return
M.key = key
if(M.mind)
M.mind.reset()
return

Respawn timer is currently 15 minutes. On the old code it was 1 minute.

No wolf colorable ears.

Brief description of the issue

I went to the vore tab. I set my character's ears and tail.
image

What you expected to happen

I spawn in and have ears.

What actually happened

I spawned in and had no ears.
image

Steps to reproduce

Set wolf ear colorable as ear, spawn in.

Profile link in character setup and examine text

What currently happens when you post URLs in descriptions:
If the URL isn't the very first line, it must be copypasted. If it's too long, it gets cut off and the URL doesn't work.

What I'd like to happen:
I want it possible to add a URL to your character to link to an external profile, either on our website, or a reference pic from anywhere. To negate abuse, there should be a popup window that says, "You're about to open a browser window to [insert raw URL]. Do you wish to proceed?" Clicking "Yes" opens the link. Clicking "No" closes the menu. That way no one can link us to lemonparty.org or whatever to troll. TinyURL and other URL shorteners should be banned.

What could also happen:
We could change flavortext to automatically change URLs into actual clickable links instead of just text that has to be copypasted when you open the examine window.

Post-port Map Tweaks (Clown Temple)

Someone should go over the away mission dmms and look for any problems with the maps they made! The paths have all been updated and they load in DM now. And by someone I mean @SpadesNeil. I'm not sure what they were supposed to look like in a lot of cases.

Whenever you have time, anyway.

ToDo:

  • Make working airlocks for carpfarm.dmm so we can use simulated terrain.
  • Make new loot spawners for all levels.
  • Clown Temple map needs corrected icons.

Coffee and cream causes toxin damage to tajarans?

Went to the cafe. Had coffee with cream in. Shortly afterwards, the health HUD icon stopped showing 100%.

Viewed variables, came to around 10 toxin damage (but I was also chowing down on warm donk pockets so the tricord would be cancelling that out.

Steps to reproduce: be tajaran. Drink some coffee/cream.

Polaris Port - Gateway Missions

  • Ensure the Gateway and away mission mechanic actually functions as intended.
  • Replace existing latejoin gateway with something more lore-appropriate (transporter, etc).
  • beach.dmm
  • carpfarm.dmm
  • listeningpost.dmm
  • blackmarketpackers.dmm
  • labyrinth.dmm

Polaris Port - 9000 Guns

  • Really, just make a checkbox for each gun.
  • MWPSB Dominator
  • Eluger
  • Aro's gun
  • SVD
  • Battlerifle
  • STG
  • UNSC shotgun
  • FN Five Seven
  • Mindflayer (should already be in the code in zresearchlabs.dm)
  • HL2_Pistol (altered silenced pistol)
  • M14
  • M41A
  • STS35 (probably already in the code)
  • Derringer (might be in the code because I know /tg/ added one)
  • Judge (under revolver/shotgun)
  • Rifle (bolt action rifle, under pump/ directory, requires changes to the base shotgun code)
  • Mosin
  • Snipers and Pulse Rifles now use the "gauss_shoot.ogg" sound effect from S.T.A.L.K.E.R.

Engineering borg modue icon typo.

Bug description

Engineering borg doesn't spawn with the correct module icon

Expected result

Choose engineering borg, module be the orange "Engineer" module

Actual result

Choose engineering borg, module is the green "invalid module" sprite

Steps to reproduce

Spawn in, choose engineering borg, see that the module sprite is broken, cry

Additional info:

  • Server Revision: Server revision: master - 2016-05-08 3130935
  • Anything else you may wish to add Below

To clarify: This is what I'm talking about http://puu.sh/oKKsB/c94d61e4e0.png
It starts as "Engineering" which makes it look like this: http://puu.sh/oKKuv/1cf340d7d2.png
Can be fixed by renaming the icon in screen1_robot.dmi from "engineer" to "engineering"

Micros and Drones misaligned on tables and chairs

Brief description of the issue

Micros (and drones), when standing on tables, appear to be under the tables. Similar problem when buckled to chairs.

What you expected to happen

When a micro or drone is on the table, they should appear, you know, ON THE TABLE. Or chair. So, in the center of the tile.

What actually happened

They don't. They stay at the bottom of the tile. I think this looks stupid. It makes it look like they're under the table's edge.

Steps to reproduce

Climb on a table as a micro or drone. Or, buckle yourself to a chair.

Additional info:

  • Server Revision: Unknown! Fix this!
  • Anything else you may wish to add: Can we check if we're standing on a table, and adjust the pixel_y axis accordingly?

Scree's pompom does not have a HUD icon.

Scree's pompom, a reskinned hardhat, doesn't have a HUD icon to turn it on and off. This means I have to take it off my head to light it up.

/obj/item/clothing/head/fluff/pompom is the path. (dunno why it's that instead of being under hardhats)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.