- Fix for retaliating hostile mobs to not attack itself.
- Grammar fix for goats and cows.
- Fix for malfunction and continuous rounds; which doesn't stop the count down timer when the AI dies.
- Spiderlings won't grow inside vents and spiderlings are much easier to kill, can be shot with a projectile and display a message after dying.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5548 316c924e-a436-60f5-8080-3fe189b3f50e
Fixes Issue 1183
-Most game-specific messages now print to all non-new_player mobs instead of the world, round-end reports are unchanged but request consoles and other announcements will not be heard by people in the lobby any more
Fixes Issue 1158
-Tweaked the temperature resistance of mechs to be more inline with current fires. Most mechs protect almost as well as a full fire suit, and the firefighter mech is just over 2x more effective
Fixes Issue 1027
-False-walls can no longer be fixed when on top of a dense turfs
Fixes Issue 1196
-Tweaked how damage was read for CPR and self-examining so you can't perform CPR on yourself at 100 damage
Fixes Issue 1202
-Made stun-glove construction use the cable/Use() instead of just amount-2, so you can no longer get 0 amount coils
Fixes Issue 1206
-Glass reagent containers and droppers now log attacks like syringes do, with the list of reagents
Fixes Issue 1234
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5508 316c924e-a436-60f5-8080-3fe189b3f50e
The wizard round will carry on even if the wizard dies
The malf round will carry on even if the AI dies. When the AI dies the shuttle will become callable. If the AI takesover the station or causes the station to explode, the round will end like normal.
Rev will carry on playing even when all heads or all rev heads die. The shuttle will become callable when this is true.
-Properly fixed the PDA runtime without adding special snowflakes.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5489 316c924e-a436-60f5-8080-3fe189b3f50e
-Fixed an issue with the Upgrade Camera malf module.
-Fixed an issue with HTML codes in whisper.
-Ghost ears and eyes default to 0.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4700 316c924e-a436-60f5-8080-3fe189b3f50e
-Made the alarm delay a variable and I decreased it to 10 seconds. There's another 10 seconds in queueAlarm, so it's 20 seconds total before the motion alarm triggers.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4625 316c924e-a436-60f5-8080-3fe189b3f50e
All credits to the author for this handy little script.
I Committed the modified python script to tool directory. Although it needs to be in the root folder of your repo to work.
To notice the improved compile times, in dreammaker go to Build > Preferences > and untick "automatically set file_dir for subfolders"
If this commit inteferes with any large projects just revert it, do your thing, then rerun the script. Easy-peasy.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4488 316c924e-a436-60f5-8080-3fe189b3f50e
Removed mob/var/original_name. Totally replaced by datum/mind/var/name now.
Fixed round-end reports. They're now sort of follow the same format as each-other. Not sure how the ew format will work out on high-pop servers. if it's too spammy I'll tone it down a bit.
Fixed pais. Their life.dm got unticked. Resolves issue 759
Known issues:
Borgs keep their human objectives when borged. I'll try playing with the way minds work for silicon mobs whe the freeze is over.
No way to edit minds when they are not attached to a mob. Need some sort of debugging tool.
datum/mind/var/mob/living/original isn't realy used for much. I could probably replace it with something more useful.
Changeling stuff is messy. The changeling object should be referenced by the mind not the mob (or something)
Part 4 on hold will try to address some of these known issues. Taking a break from minds to fix some issues on the tracker now (like lighting)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4355 316c924e-a436-60f5-8080-3fe189b3f50e
-Almost every instance of 'for(mob in world)' has been killed. Because GODDAMN was it being run a bunch. Instead, a series of global lists have been made, and they are all handled auto-magically through New()'s, Del()'s, Login()'s, death()'s, etc...
Lists are as follows:
-mob_list : Contains all atom/mobs by ref
-player_list : Like mob_list, but only contains mobs with clients attached
-admin_list : Like player_list, but holds all mobs with clients attached and admin status
-living_mob_list : Contains all mobs that ARE alive, regardless of client status
-dead_mob_list : Contains all mobs that are dead, which comes down to corpses and ghosts
-cable_list : A list containing every obj/structure/cable in existence
Note: There is an object (/obj/item/debuglist) that you can use to check the contents of each of the lists except for cables (Since getting a message saying "a cable," x9001 isn't very helpful)
These lists have been tested as much as I could on my own, and have been mostly implemented. There are still places where they could be used, but for now it's important that the core is working. If this all checks out I would really like to implement it into the MC as well, simply so it doesn't check call Life() on every mob by checking for all the ones in world every damn tick.
Just testing locally I was able to notice improvements with certain aspects, like admin verbs being MUCH more responsive (They checked for every mob in the world every time they were clicked), many sources of needless lag were cut out (Like Adminwho and Who checking every single mob when clicked), and due to the cable_list powernet rebuilding is MUCH more efficient, because instead of checking for every cable in the world every time a powernet was broken (read: A cable was deleted), it runs though the pre-made list, and even with a singulo tearing all the way across the station, the powernet load was VERY small compared to pretty much everything else.
If you want to know how any of this works, check global_lists.dm, there I have it rigorously commented, and it should provide an understanding of what's going on.
Mob related in worlds before this commit: 1262
After: 4
I'm helping
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4179 316c924e-a436-60f5-8080-3fe189b3f50e
- Added a 'time between ticks' status display for admins as well as this being calculated.
- Made the malf countdown take this into account. Now if you hacked 3 APCs, which means you'd normally have your points reduced by 0.5 per tick, you get it reduced by 0.5 * last_tick_duration
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3807 316c924e-a436-60f5-8080-3fe189b3f50e
TODO: I was intending to use dust to kill players off on a nuclear-loss. However dust() is very very broken. So I've hardcoded everything to die until I can fix dust().
Added an adminverb for 'Game Master's. It was a debug verb so I could test cinematics but I've left it in as it might be handy for events, especially if we get more cinematics. To access it type "cinematic" in full into the input bar as a Game Master, then follow the prompts. At the moment, it only handles nuclear stuff (that's all there is anyway). You can choose where the nuke detonated 0= on station; 1= near station but in space; 2= off the z-level. You can also force a cinematic from another game-mode to play with the prompt after that one.
Note: All mobs are buckled to a bed located inside the gameticker (odd I know) whilst a cinematic is playing. The bed is deleted afterwards releasing all players. If off_station=0 then all mobs will be killed too. This is to stop people running around and doing stuff during the cinematic. I really didn't want to add more variables/checks to mobs.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3481 316c924e-a436-60f5-8080-3fe189b3f50e
Changes the way people are selected for rounds. In the case of a insufficient people for a round, all people with it set to 'yes' will be chosen before drafting others.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3218 316c924e-a436-60f5-8080-3fe189b3f50e
This means items now spawn in your hand if possible, items are sorted into categories, and only items you have enough telecrystals to purchase will be displayed. Also, the same basic code is now used for PDA, headset and nuke-round uplinks, and it should be easier to add new items.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3216 316c924e-a436-60f5-8080-3fe189b3f50e
- Glass airlocks now sound less like actual airlocks and more like doors, reducing station noise pollution by 39%.
- RUNTIME! SQUEEE
- Fixed toggle-ambiance hopefully for good this time.
- Reorganized the sound folders.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3182 316c924e-a436-60f5-8080-3fe189b3f50e
- Added feedback gathering for radio, rc and pda message use. (Only the number of messages sent is recorded)
- Generalized the 'round_end' time feedback logging into a proc that now also handles the radio/pda/rc processing at round end. ( blackbox.round_end_data_gathering(), where blackbox is the blackbox recorder object. )
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3111 316c924e-a436-60f5-8080-3fe189b3f50e
Malf overhaul, take two!
Waaaay back in the old days, I made it so malf AIs had to hack APCs to win, instead of just sit AFK for 45 minutes. Now I'm taking some more drastic action, to see what happens.
THE MALF AI NO LONGER SPAWNS ON THE AI SAT.
Instead of sitting in the AI sat hoping nobody notices your blatantly obvious hacking, at which point the 3 people lucky enough to have looted EVA get to have all the fun, you can now shunt your core processes into an APC you have hacked, and hacked APCs are only moderately obvious.
While shunted into an APC, the AI draws power from that APC instead of the one in their main core. If the APC loses power, the AI loses power as normal. If the APC they are in is damaged or destroyed, they are forced back into their main core. If the main core is inoperative at that time, they die. The AI is also capable of willingly going back to their main core. As long as the AI's main core is intact, the AI speaks out of its core, regardless of its current location.
I have tested as much of this as I could to make sure it is functional, but thanks to the game mode overhaul, I have been unable to run actual malf rounds on my test server, so I have had to cheat and set things to work in any mode for testing. As for actual round balance, there's no real way to predict how that shit'll change.
This is just the base overhaul, more changes will be forthcoming as malf rounds provide data on how the change performs.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2668 316c924e-a436-60f5-8080-3fe189b3f50e
- Rounds that end in invalid ways will now be logged,
- Round results are logged
- Rounds that don't end with a code-determined reboot will still not log at all (so rounds that end in a crash will not log at all - not even round start or mode.)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2457 316c924e-a436-60f5-8080-3fe189b3f50e
The rev icons bug might be fixed now.
Removed the old logged say file as it is no longer used and contained questionable material.
People should no longer spawn on the wizard station for a second at round start.
Removed the old intercept vars as they have not been used in a good while.
Blob is more or less back to its old state but still has the lava sprite, can we please get some new sprites for it.
Fixed the door on the prison station, it can now actually be used again.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2163 316c924e-a436-60f5-8080-3fe189b3f50e
Flashlights
Cigs/lighters
Solars
RCDs can no longer build airlocks on doors
Airlocks now smash glass that is under them when they close
AI sat firewall that is not really quite a firewall removed
The solars will no longer update if they lack a controler
Cut down on machines that don't actually do anything like fake sleepers and shuttle engines
There is still a few shuttle engines around and I have no idea where, my map was already corrupted once by this so I am just leaving the define in for now.
After a talk with some of the head coders
Cyborgs can no longer be traitors at round start
Some of the off Z1 areas cleaned up
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2028 316c924e-a436-60f5-8080-3fe189b3f50e
Station Roles are picked before Syndie Roles unless it is nuke or wizard
People should no longer spawn in space because they did not get a job.
Heads and such should no longer get a role they should not have.
Rounds now have a minimum number of players required for it to start up.
Also the atmos pipes should stop exploding all over the place.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1974 316c924e-a436-60f5-8080-3fe189b3f50e
I have done lots of work to make selecting players for special roles be fair.
- New options preferences: "be traitor", "be changeling" and so on for all special roles.
- Now you can have job of AI/cyborg in preferences and do not lower your chances to become wizard/changeling/etc. And vice-versa: you do not have to select AI in your preferences to have non zero chance to play malf.
- Jobban from syndicate bans player from any special role (including malf AI, cult, etc).
- Fixed bug with changeling round not ending sometimes.
- All special roles were tuned to work better as admin-driven event.
-- All adminmade special characters will be listed at the end of round of any type.
-- All adminmade special characters are fully functional with following exceptions:
--- The ending conditions are determined at round start, i.e. you cannot end revolution by killing wizards and malf AIs (however, with nuke you can end anything).
--- The cultists cannot get their special objectives.
--- The malf AI can hack the APCs but without any profit.
--- The syndicate operatives must obtain the nuke/working code from admins.
--- As before, nuclear explosion ends round. Even if nuke was used in wrong place.
- Fixed thingy like "Not enough players for revolution game mode. Restarting world in 5 seconds."
- Changeling wont get objective "absorb X genomes" when there are less that X players in game.
- proc/equip_if_possible now has return value, procs like equip_revolutionary (giving a flash) should be more reliable.
- There are no fake wizards anymore. The research staff have to kill ALL wizards on order to win, even adminspawned ones. ("give spell" verb works as before, not making a spellcaster to actually be wizard).
- The semi-new game mode: traitor+changeling. Just like regular traitor mode plus one changeling. Round ends when the shuttle reaches centcom. Option for config.txt: "PROBABILITY TRAITORCHAN".
- Successful malf AI now have 60 seconds to choose to explode the station or not (some players still have to rejoin game to have their new verbs shown in Malfunction tab).
- Monkeys mode fixed, monkeys wouldn't randomly cure anymore.
For admins:
- New powerful mind editor oriented to mixed rounds.
-- Setting someone as special character (like wizard) does not equip him/her automatically. You have to do it it next step. Note, that in case of wizards and nuke operatives their old dress will be deleted! If you do not want it you shall use "undress" link.
-- Only operatives, head revs and cultists have their objectives set immediately.
-- You can unemad borgs!
-- You cannot unemag borgs because calling mind editor for nonhumans is blocked atm.
-- many other useful features.
-- you can fix burned out flashes from mind editor.
-- first assign the new malf AI/wizard then demalf/dewizard old one or round will immediately end.
- if delete the nuke bomb during its downcounting round will stuck. Using "edit ticker variables" set ticker.mode.explosion_in_progress = 0.
For coders:
- /datum/game_mode/malfunction/AI_Module renamed to /datum/AI_Module. Reason: What. The. Fuck.
Unrelated fixes:
- Blueprints can create areas up to 300 tiles (was 100).
- Cyborgs wont leave backpacks at spawn point anymore.
- Fixed bug in preferences causing preferences files to be huge.
- Diseases can infect again.
- The option "SQL_ENABLED 0" now works in config.txt.
- fixed critical bug on assassinate objective.
Bugs:
- We have a bug with job distribution for people who haven't any available jobs in their preferences. Players tends to group by jobs.
- For example, if we have 3 players they with hight chances will got same jobs. And probability of having one engineer and one medic _exactly_ equals _zero_.
- I am not sure if my changes made that bug worse. Anyway I MUST do this commit. Bug will be fixed eventually. Maybe.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1703 316c924e-a436-60f5-8080-3fe189b3f50e
Fixed aliens :a talking while dead.
Disabled hand-tele on clown-planet z-level since people were still finding ways to abuse it.
PDA menu will close properly if detomatrix fails and explodes own PDA.
Late joiners are now added to minds. It's now possible to assassinate them, and so on, as an objective.
Added a few more objectives (capture, steal brain of, protect, and download research) and new possible items to steal (also fixed admin-added steal objectives). Mostly focused on ninjas but admins can give them to regular traitors. Only research downloading is outright impossible for regular traitors (they must wear a ninja suit).
Added a few revisions to mind/objective datums and a few other things. The game should now report any extra antagonists for most round types, excluding AI malfunction.
Added two new words to station_name.dm.
Other misc changes.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1698 316c924e-a436-60f5-8080-3fe189b3f50e
#Ninja suit now supports pAIs. Further functionality will probably come from their development.
#Ninja suit can now replenish chemicals from beakers. Simply use a beaker on the suit and it will do the rest, if the beaker contains the right combination of chemicals.
#Draining from a wire is now done through clicking instead of a verb. There is no more delay to it.
#Ninja stars cost a bit more energy than before.
#Ninja suit will start initializing automatically (and quickly) when ninja spawned.
#Minor sprite fix for female ninja suit.
#Note: AI-related verbs for the ninja suit will be bugged until BYOND 484 comes out. Not a huge deal but worth noting.
#The has_reagent() proc will now return the reagent being checked for, instead of 1. Will return 0 if reagent is not found (or the amount does not match). Removed a duplicate arithrazine entry.
#AIs should now properly camera_cancel() when carded/physically transfered.
#Fixed a small menu display bug for AI cards. AI cards should now properly auto close their window when appropriate.
#AI holograms should now project above everything.
#Mal AIs can now choose to display an alternative (and awesome) sprite.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1655 316c924e-a436-60f5-8080-3fe189b3f50e
#Added a locked list to datacore in order to track character spawn, particularly for respawn_character(). May be useful in the future.
#Added a proc to randomize appearance for any human mob, randomize_appearance_for(mob). It will not take into account gender as you will have to provide it. Names and so on are also randomized but that can be overwritten in the code following.
#Added AI holopads around the station. To use as the AI: click on the pad to center view on it. Click again to activate the hologram. Move it with the directional keys. You can still interact with objects normally. To remove it, either move it too far out or click the pad again. Use robot talk to directly speak through the holopad (and only the holopad, unlike regular robot speak). Could be added on to (like different images for different AIs) but it's basically finished.
#Fixed a bugged message on changeling transformation sting. It will no longer give away your identity.
#Made law datum a silicon define. var/datum/ai_laws/laws.
#A few more ninja adjustments. Added a new view mode for the ninja mask, allowing to see special roles and a few other things.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1608 316c924e-a436-60f5-8080-3fe189b3f50e
For an example, let's say the phrase is: culture, wine, admit. The response is: massive, tired, doctor's delight. A traitor may begin a conversation with something like: "A man of culture always drinks wine, I must admit. What do you think?" The response to that: "When I am massively tired, I drink doctor's delight. Otherwise, I abstain." The example is best referenced in the Bar, or any place where drinks are available. With enough creativity and linguistical acumen, it may be used elsewhere.
The point here is to make conversation seem as natural as possible while providing traitors a means to recognize each other. The words do no have to be exact, either. Quarter Master may be QM and the Captain may be Cap'n. Traitors should still recognize what is being communicated--or not.
#Deactivated AI cores are no longer mobs. This is mostly cosmetic. You cannot gib a deactivated AI since it will be an object, not a mob. It will also not announce arrivals since it's an object, not a mob (this is an improvement, in my opinion).
#Some code tweaks to AIs. They will now auto-start with a random name instead of their default-chosen name (which is still changeable).
#Intelicards should no longer constantly refresh the window when they are being wiped.
#Added new mech sprite.
#Resin walls should no longer delete the person inside when killed in certain ways. Hulks will easily break free from resin if placed inside.
#Ninjas can now download the AI onto spiderOS, provided Drain is on. SpiderOS works with AI cores, AI cards, and restoration terminals. Make sure Drain is on when you click on either the object (core/terminal) or the suit (aicard). AIs with law zero may get to have some fun, depending on circumstances.
#Toggle Drain renamed to Toggle Interaction. It now serves as general trigger for special ninja interactions.
#Added energy net power to ninjas. Prototype for HerpA and whatever he may want to do with it but it's pretty much finished. The energy net can be destroyed by the person trapped (or others) and will teleport them to the prison after 30 seconds.
#Ninjas can now slice cameras apart per request.
#Added a few more type checking procs (isliving, islarva, isobserver, ishivemainframe).
#Mobs that are anchored will no longer be able to move (AIs will still move as normal). You will also not be able to grab them.
#Incorporeal Move now works properly for regular mobs once more.
#Marauders from CentCom can now launch directly from their bay. Start the shuttle and wait on a mass driver. On that note, mechs can now go through portals and launch through mass drivers.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1558 316c924e-a436-60f5-8080-3fe189b3f50e
- Mechs equipment is customizable (you can add different equipment to mechs). Weapons go to combat mechs only, clown mech equipment - to HONK only. Clamp goes only to Ripley.
- Mech equipment can be built by mech fabricator.
- Added mecha RCD, mecha teleporter, mecha wormhole generator equipment.
- Equipment(if any left) can be pried from mecha wreckage with crowbar.
- Mech control console circuitboard added to circuit storage.
- Mechs can teleport from teleport hub.
- Fixed ripley cargo problems with moving objects(bots, carps, huggers etc). Loading hostile organisms may be harmful. Be vigilant.
- Fixed bug with many mobs climbing inside one mecha.
- Fixed mecha "unable-to-move" message spam.
Other things:
- Rooms in random asteroids for extended and sandbox (WIP)
- Misc.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1190 316c924e-a436-60f5-8080-3fe189b3f50e
Cyborgs got a makeover
Standard model now gets an energy sword when emagged
Engineering model
RCDs now run on cell charge for engyborgs
Emagged engyborgs get the functional equivalent of stungloves
Security model gets a laser when emagged
Janitor model
Spraybottle contents slowly refill at the cost of cell charge
Emagged janitors get a spraybottle full of space lube
Brobot
Bottle contents slowly refill at the cost of cell charge
Emagged brobots get a bottle of Mickey Finn's Special Brew
Traitor/malf AIs can 'emag' their borgs with the robotics terminal (subject to removal/conversion to malf module should it prove hilariously overpowered)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@634 316c924e-a436-60f5-8080-3fe189b3f50e
Machine Overload and Reactivate Camera now only work on the appropriate items. Making the verb only show up on the proper items is a far more intensive (if even possible) effort.
The Blackout module is now more likely to hit areas that previous attempts failed to overload. (30% chance first attempt, 60% chance second attempt, 90% chance third attempt, 120% chance forth attempt, etc)
Moved the module picker verb to the Malfunction tab.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@541 316c924e-a436-60f5-8080-3fe189b3f50e
RCD disabler, Machine Overload, Blackout, and ReCam modules now properly stack uses when purchased multiple times.
It is no longer possible to buy multiple uses of one-time modules like Fireproofing, Turret upgrade, and CentComm Report Hack.
Fixed an inaccuracy in the purchasing list (large modules were listed as needing 55 cycles, they only remove 50)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@536 316c924e-a436-60f5-8080-3fe189b3f50e
-Added an energy cutlass and made a pirate version of the space suit in preparation for a later nuke update.
-Changeling now ends 15 minutes after changeling death, unless he's ressurected.
-Further fixing of wizarditis teleporting into space.
-Fixed the wise beard sprite.
-Fixed missing sprite for monkeyburgers.
-Fixed Beepsky automatically adding 2 treason points to EVERYONE.
I believe that's everything.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@365 316c924e-a436-60f5-8080-3fe189b3f50e
The timer does not start until the AI starts it
Starting the timer causes a CentComm report
Humans can see the timer when it starts
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@232 316c924e-a436-60f5-8080-3fe189b3f50e