Commit Graph

63 Commits

Author SHA1 Message Date
Aranclanos
6177c28bbe Merge pull request #1687 from Giacom/alien_candidate
When the game tries to find players for roles it will now prioritize players who are the least afk
2013-11-09 10:18:44 -08:00
AlexanderUlanH
87b72833bd Added the labor shuttle 2013-11-02 15:16:39 -04:00
Giacomand
8557cb22df When the game tries to find players for roles it will now prioritize players who are the least afk.
For example, it will try to find players that are afk for 5 minutes or lower, if it fails it'll add a minute to the 5 minutes until it finds a candidate or until it reaches 10 minutes.

I changed the get_candidate for aliens so that their 5 minute bracket is instead 45 seconds. This is because a lot of the time larva need to be active ASAP to avoid danger (such as being spawned in dangerous areas) There was a cases of an AFK larva that was very easily killed of, making it fraustrating for the observers watching.
2013-11-01 18:29:49 +00:00
Giacomand
84248eb6ab Made containment fields shock you when you walk into them, not when you walk near them.
Field generators, that are active, will now shock you; they did before but it was because of the containment field near it.
Changed the type path of the field generator and containment field:

/obj/machinery/field_generator -> /obj/machinery/field/generator
/obj/machinery/containment_field -> /obj/machinery/field/containment

Changed the map to have the new type paths.
The containment field will now shock you when it is created.
The containment field layer is a little above objects, so objects going through are under the field icon.
Cleaned up a bit of the code.
2013-10-25 15:01:04 +01:00
Cheridan
a414a51847 Supresses adminlogging for brand intelligence explosions.
Carp Migration is now announced immediately, with the carp coming shortly afterwards.
2013-10-11 12:36:05 -05:00
Cheridan
fc82725d87 Merge pull request #1514 from Giacomand/rampant_tweak
Tweaked the brand intelligence event to use the mimic copy class.
2013-10-10 16:28:19 -07:00
Giacomand
aa54ceeb14 Merge pull request #1540 from Incoming5643/spooky
2SPOOKY
2013-10-10 14:13:44 -07:00
Aranclanos
ee35e83494 Small changes for cael's shuttle loan event 2013-10-09 16:44:52 -03:00
Aranclanos
b6e1fc6d95 Merge branch 'terbs_weekly_fun' of https://github.com/caelaislinn/-tg-station into terbs_weekly_fun
Conflicts:
	code/controllers/supply_shuttle.dm
2013-10-09 16:03:39 -03:00
Incoming
feedac9505 Add a special always run event for halloween where the entire crew bursts into skeletons after a short while.
This has no real effect on anything besides the fact that skeletons can use the rarely touched xylophone var.
Adds a pair of usr checks for corgis so events can place things on their head without incuring a runtime (the chrismas event also does this)
2013-10-08 22:38:03 -04:00
Giacomand
3a323c40b1 * Tweaked the brand intelligence event to use the mimic copy class.
* Mimic vending machines will now also talk.
 * Reduced the chance for a vending machine to explode, instead of becoming a mimic.
2013-10-06 17:14:20 +01:00
Aranclanos
c219c9e4ba Merge pull request #1405 from Incoming5643/toyAI
Adds a toy AI to the arcade machine prize list
2013-09-28 14:58:53 -07:00
Cael_Aislinn
d1332ec834 adds shuttle loan random event - centcomm asks to borrow the shuttle for 5 mins and it returns with a reward (and sometimes something bad)
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2013-09-24 17:14:06 +10:00
Cheridan
566e1cc166 Merge branch 'master' of https://github.com/tgstation/-tg-station into pr/1415
Conflicts:
	tgstation.dme
2013-09-23 11:04:33 -05:00
Pete Goodfellow
be1906cb42 Added more feedback to the radiation storm and rampant brand intelligence events. 2013-09-21 17:58:59 +01:00
Pete Goodfellow
ff283bbaf8 Changed the vent clog event to garbage collect its reagents instead of deleting them.
Ticked the vent clog and false alarm events into the dme.
2013-09-21 15:13:47 +01:00
Cheridan
49384f77d0 Final event code cleanup! 2013-09-20 00:28:19 -05:00
Cheridan
882b376eb2 Code Cleanup! Moves Area-finding into a helper, uses a parent anomaly-event datum to cut down on repeated code! 2013-09-19 23:39:32 -05:00
Cheridan
d19e7f6493 Converts bluespace events into the anomaly system. Adds some sprites and polishes up some effects
Next up: Moving all of the anomalies into an event subtype to cut down on copied code!
2013-09-19 22:08:04 -05:00
Cheridan
115faf4954 Anomaly Neutralization
Anomalies can now be scanned to determine their frequency, and neutralized by sending a signal on that frequency.
2013-09-19 03:20:44 -05:00
Incoming
a11b75f31e Procs out Ion law generation 2013-09-18 20:42:10 -04:00
Pete Goodfellow
d63dd8fb38 Ports the False Alarm event from Sayustation. 2013-09-18 16:50:19 +01:00
Pete Goodfellow
409e47ac05 Ported the Clogged Vents event from Sayustation.
Adds a silent parameter to /datum/effect/effect/system/chem_smoke_spread/set_up(), which disables admin notification.
2013-09-18 16:47:50 +01:00
Pete Goodfellow
33b124a044 Typo fix for a comment in event.dm. 2013-09-17 22:46:03 +01:00
Pete Goodfellow
0ece6e182f Changes the wormholes event to place all wormholes on the station, rather than across the entire z-level.
You can now click on a wormhole to jump through it (to aid people stuck in grilles with wormholes adjacent).
2013-09-17 22:45:49 +01:00
Pete Goodfellow
279bbbd545 Changes radiation storms to have a 10-20 tick delay, to give people time to shelter in maintenance, which now protects you from radiation! 2013-09-17 22:44:41 +01:00
Cheridan
2ee9e23ea9 Initial Event Rework
Adds anomalies, special effects which tie into the event system.

Ports bholes into an anomaly, cleans up their code.
Adds new gravitational anomalies. Imagine a trampoline.
Flux event is now an anomaly.
Adds a new pyro anomaly.
2013-09-17 15:46:00 -05:00
Pete Goodfellow
77860ef3cd Updated Rampant Brand Intelligence. The type of origin machine is now announced, and if every vending machine is infected before the origin is stopped, then all infected machines will either rise up, or blow up, with a 60% of the former. 2013-09-17 21:13:12 +01:00
Cheridan
4301afbc14 Merge pull request #1152 from Giacomand/removeprison
Removed unused prison shuttle code.
2013-08-14 22:08:48 -07:00
Giacomand
d669aca5b6 * Removed unused prison shuttle code.
* Fixed an implant/prison computer runtime. Fixes Issue #1150.
2013-08-12 13:23:26 +01:00
Giacomand
e1c90fe69a * Added a variable to ion storms which sets the chance of the event being announced.
* Forgot to mention that the last commit Fixes Issue #418
2013-08-09 01:50:06 +01:00
Giacomand
8d1e51dfda * Fixes the ion law verbs announcing twice or announcing when you didn't want it to.
* Cleaned up some code with it.
 * Small tweak to the job preference window size.
2013-08-09 01:45:14 +01:00
Aranclanos
ba0299a835 The steal objective from ninjas who are spawned by events will now have the var owner properly set, avoiding runtimes at roundend. 2013-07-26 14:06:02 -03:00
Giacomand
9caa5905fe * Made the mining shuttle one way during blob.
* Increased players per blob and decreased blob count to win.
 * Changed the health value of the blob spores.
 * Blob gamemode will give the blob core a resource rate of 2, random event blob cores will get 1.
 * Raised the amount of time that has to pass before the blob event occurs.
 * Increased the difficulty of expanding into space.
 * Added a player limit to the blob gamemode.
 * Removed density from shield and other variables which are set in the abstract blob.
 * Deleted spores after they die.
 * Reset the brute resistance.
 * Disabled random blobs in the blob gamemode.
 * Double'd the blob spore's health.
 * Blobs can expand into space again but it will be harder to do than on a space tile.
 * Dead robots will be gibbed in their blob_act() as their bodies will block the blob.
 * Reduced the damage the blob takes from explosions, and increased the brute resistance. Blobs main weakness is fire, not force.
2013-07-13 09:55:41 +01:00
AlexanderUlanH
2fcf26667c Overhauled Projectiles
Changed atom's bullet_act to call the projectile's on_hit, and changed
most bullet_acts to call on_hit as well.  Removed some now-unnecessary
snowflake code.

These changes will make projectiles which should effect non-mobs, such
as the gyrojet and the ion rifle, work properly.  Inanimate objects can
now be empulsed with the ion rifle, whose projectiles used to dissipate
on hitting anything but a mob.  Gyrojets now explode on most objects, as
opposed to just on walls and mobs, and the snowflake code that made them
work on walls is no longer necessary.  The code for pulse rifles'
breaking walls has been moved from a check in turf to a check in pulse
beams, and has been expanded to include structures, allowing them to
(slowly) break girders.  For coders, it means that on_hit is a reliable
proc for the effect of a bullet's hitting an object.
2013-06-19 23:24:00 -04:00
Ikarrus
1518d285e7 Standardized spelling of all instances of "Centcom"
Centcomm/CentComm -> Centcom
centcomm -> centcom
2013-06-17 20:49:01 -06:00
carnie
b84d12d949 *Small tidy-up of various helper procs*
-Turns out there was already a Gaussian PRNG proc already, used by mechs and turrets. I've replaced it with my one as mine has almost half the cost. (currently broken! still waiting for fixes to be pulled!)
-replaced between(min, val, max) with Clamp(val, min, max)
-get_turf(thing) now uses var/list/locs to locate its turf, rather than iterating up through loc of its loc of its loc...etc
-sign(num) moved to maths.dm
-InRange(val, min, max) replaced with IsInRange(val, min, max) (they were identical)
-Removed ismultitool() iswrench() iscoil() iswire() iswelder() iscrowbar() etc
-removed modulus(num) as abs() performs the same task! *roll-eyes*
-removed get_mob_with_client_list() as it is no longer needed (we have var/list/player_list now)
-removed get_turf_or_move() as it simply called get_turf
-removed get_turf_loc() as it was identical to get_turf()

*Additions:*
-The "Declare Ready" link in the lobby will automatically become "Join Game" if the round starts before you declare ready, so you don't have to click it twice
2013-05-27 12:21:43 +01:00
carnie
043028db83 Resolves #283
DNA modification uses normally distributed random numbers. Radiation strength dictates the standard deviation of the change in the hex character which is hit (higher output means greater chance for a large change) . Similarly, radiation duration dictates how likely we are to hit the hex-character we clicked on (longer duration means more likely to hit). Irradiation is strength*duration. All balancing is done via multiplier defines so you can rebalance it easily.

DNA blocks and structuring all use defines. Making modification/expansion easier. I'll likely expand this into a datum-based system to allow more interesting features, reduce code further and allow admins to interact with the way dna strings behave.

DNA strings can be spliced together using merge_text().
 e.g. string 1: "Hello World"
 string 2: "Seeya______"
 result: "Seeya World"
 This isn't used except for admin-spawnable SE injectors at the moment.

r_hair, g_hair, b_hair, r_facial, g_facial, b_facial, r_eyes, g_eyes, b_eyes were removed and made into 3 short hex-colors.

Skin tones now support colours other than shades of brown. I've had to restrict it heavily until other stuff is done. Skin tones include Albino Caucasian, Oriental, Mediterranean, etc.

Data disks and DNA injectors were reworked to use associative lists so transferring data is just a matter of doing list.Copy()

var/dna is now defined at /mob/living/carbon level. Only monkeys and humans may have dna currently. Support is there for all carbon-based lifeforms to have dna.

DNA modifier console has almost all controls on one screen.

UIs and UEs can be injected separately (appearance and name, respectively)

dna helper procs like ready_dna() and such were changed to make them more versatile. There is now a hardset_dna() proc as an alternative to ready_dna which can initialize dna with properties passed into it or update an existing dna string (useful for cloning and antag spawning)

Every block of SEs are in randomised positions.

Disabled automatic logging of world.log, as it produced undesirable behaviour.

Mr Muggles and God Emperor of Mankind disks removed.

Floor() removed. (it was completely uneccesary, that is what round() is).

Fixed spelling mistakes in modularchangling.dm (thanks tenebrosity)

Tanning removed from beaches (again)

Experimental: monkeys and humans do not have dna until first attempt to read dna (using check_dna_integrity(mob))
This is mainly due to the way everything is hardcoded into New().

Changelog.html updated
Signed-off-by: carnie <elly1989@rocketmail.com>
2013-04-24 09:37:30 +01:00
carnie
6a98fc89d0 >datum/event and datum/event_control were renamed to datum/round_event and datum/round_event_control. This is because datum/event was already used by a different/more-general event queue system (used primarily on mechas)
Removed overriding of event values via feeding in an associative list into datum/round_event/New(). Instead you can do basic initializations (i.e. feed it constants) by doing new /datum/round_event{variablename=5;}(). This method is handled well by the compiler (it's the same method the maps use), so it will detect unrecognized variablenames etc.
More complex initializations for post setup() stuff can be done by accessing variables directly Event.variablename = whatever;
round_events now have a processing variable, which effectively pauses them.
2013-04-08 07:42:46 +01:00
carnie
27bae76403 Accidentally remove a dna initialize call. 2013-03-28 11:21:14 +00:00
carnie
5ca166cae0 Refactored underwear to use datum/sprite_accessory/underwear similar to hair and facial_hair.
People may select any underwear (regardless of gender) at a dresser, but not in preferences.
random_underwear(gender) will return a random pair of underwear suitable for your gender.
Removed an unused variable in sprite_accessory

The new_player preferences screen now randomizes character slots for which there is no data (so no more bald, fat, white guys in diapers greeting new players)
datum/preferences character settings are randomised at New().
replaced /datum/preferences/proc/randomize_appearance_for(human/H) with /datum/preferences/proc/random_character(), it does the same stuff without the copying to a mob. Basically, now when you want to make a random character you just do var/datum/preferences/A = new(); A.copy_to(human_mob), randomisation of appearance and name will already be done. Easy.

Reworked the savefile updating/versioning code to make it easier to work with. I've used it to update underwear preferences to the new system as an example.

Signed-off-by: carnie <elly1989@rocketmail.com>
2013-03-28 11:11:40 +00:00
petethegoat@gmail.com
97e0f9b6f7 Smallified Centcomm and removed a large amount of the unused machines. This affects most stuff on z2.
Removed the administration shuttle and the stupid alien dinghy.
Removed the beach (hey, it's an away mission now).

Removed syndicate deathsquads on account of them being stupid and redundant.
Temporarily removed regular deathsquads- search for "DEATH SQUADS" to find the locations to uncomment. Additional code is in unused/specops.dm and unused/specops_shuttle.dm.

Added a single tile fake window for unsim windows.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5831 316c924e-a436-60f5-8080-3fe189b3f50e
2013-03-09 04:35:37 +00:00
elly1989@rocketmail.com
8849cd16d3 Replaced get_apprentice_candidates() with get_candidates(BE_WIZARD)
/proc/testing("message") will now only print message to world.log if #define TESTING is uncommented. This will allow coders to make in-depth debug messages for confusing bits of code. Said debug messages would not be visible on th elive server, but coders can enable them by compiling with #define TESTING uncommented. This should make debugging ikky horrible code easier (assuming people bother to use testing())

Temporarily removed the weightless (aka gravity failure) event, due to people hating it. ;(

Replaced references to KILL with PROCESS_KILL (I didn't realise I had already defined something like that). Setup.dm and global.dm are rather cluttered. I will be cleaning them up and will remove a few unused defines like #define KILL in my next commit.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5822 316c924e-a436-60f5-8080-3fe189b3f50e
2013-03-08 17:16:29 +00:00
giacomand@gmail.com
edbae4d9d5 - More runtime fixes.
- Committed carn's fix to events happening every 5 minutes, on the dot.
 - Changed some more turf which play sound so they do not play to everyone in the area.
 - Made the join screen a little bigger for the "view player polls" option.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5801 316c924e-a436-60f5-8080-3fe189b3f50e
2013-03-02 16:51:57 +00:00
d_h2005@yahoo.com
42f41da2b4 Committing patch for Carn.
Fixes issue 1334
Fixes issue 1327
Fixes issue 1335
Fixes issue 1329

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5781 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-25 18:35:09 +00:00
giacomand@gmail.com
4989c88a22 Committing carn's modifications to events and other things. Full details below.
http://forums.nanotrasen.com/viewtopic.php?f=16&t=12245#p189186

Ported all the random events to Pete/Gia's event system:
>Event system now supports weighting. default is 10. a weight of 5 is half as likely as default, 20 twice as likely....etc.
>Increased the frequency of events (dust happens over 60% of the time though)
>tidied up some ninja code: ninjas now get ~5 objectives. So they are hardmode.
>made the gravity toggle into a random event
>event system now supports round-start events
>event system now supports holiday events
>event system now supports events which can only happen after the round has lasted a certain number of ticks
>event system now supports max_occurrences for events. Setting any event's max_occurrences to 0 will stop it randomly occurring
>events now support being fed associative lists inside new(). This allows you to override their variables easily.
>wormhole events no longer cause loads of lag. They are extremely deadly. wormholes should be avoided

Other:
>replaced the procs for fetching candidates for ninjas and aliums with /proc/get_candidates(be_special_flag), it returns a list of active clients with that be_special preference enabled.
>minor fixes to minds
>your memories are displayed to you at Login()
>removed aliens_allowed
>removed ninjas_allowed
>pick_n_take() is now more efficient (uses Cut() rather than Remove()


Things I added:

 - Made the pandemic call ..() instead of doing the checks itself.
 - Made the staff of animation use more charge.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5720 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-17 11:44:37 +00:00
giacomand@gmail.com
b147181d1e - Committing azureangelic's addition to ion laws. I replaced a lot of the copy and pasted code.
- Committing SuperSayu's probable fix to access randomly being removed. I'll see if this fixes the bug over the next week before closing the issue.
 - Added ion storm to the event system.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5692 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-12 12:11:30 +00:00
Kortgstation@gmail.com
e9814c6f19 Added a new random event, bluespace anomaly, will which randomly teleport an area to a beacon (like the metroid teleport, but with a larger area of effect and ignoring anchored).
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5649 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-04 11:53:30 +00:00
petethegoat@gmail.com
15b88d2192 Fixes issue 1160. Pill names in the attack log are the same as the person who administers the pill
Fixes issue 1172. Janicarts disappear in foam
Foam is now TURF_LAYER + 0.1

Fixes issue 1248. Wirecuterrs disappearing (with gift wrap)
Gift wrap is now applied on top of an already wrapped package, to make it pretty.

Standardised sortingmachinery.dm.

Commented out some areas from the the_station_areas list which are no longer present on the station.

Added the energetic flux (revamped blackhole event) and mass hallucination event. Both are pretty mild.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5611 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-25 20:44:42 +00:00
petethegoat@gmail.com
caaa676f11 Committing a medibot fix for Giacom.
Cleaned up radiation_storm.dm a bit.
Standardised cargo crate names to lowercase.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5608 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-24 22:16:55 +00:00