mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-06-04 13:45:25 +01:00
78d620051e
About The Pull Request Lowers TC rewards for assassination objectives, steal and destroy item objectives. Makes it so that when you take the battlecruiser final objective, you become a battlecruiser ally and can assist with nuking the station. Moves the elite syndicate modsuit from the nukie uplink to the traitor uplink at a high cost and high progression cost. Adds new uplink items that cause station-wide blackout and telecommunication disruption temporarily. Why It's Good For The Game People can get an enormous amount of TC by completing these infinitely available objectives, and because of an oversight with the 'steal item' objective in regards to how much TC it rewards, they were worth a lot more TC than they should've been. The battlecruiser objective changes have been made so that the traitor feels more involved with the battlecruiser they've summoned and can assist them with the nuke. The new uplink items have been added so that there is more lategame gear that a traitor is able to purchase, as lategame traitor items are lacking right now. The elite syndicate modsuit gives traitors the opportunity to protect themselves during lategame engagements with security or other forces which could prove to be a threat when performing anything deeply antagonistic, like blowing up parts of the station in space. Changelog cl expansion: Final objective battlecruiser will now make you a battlecruiser ally, giving you the nuke codes and making it obvious to other battlecruiser members that you are one of them. expansion: Added telecom disruption and blackout purchases for traitors to purchase, and moved the elite syndicate hardsuit from the nukie uplink to the traitor uplink as a high progression cost item. balance: Rebalanced TC rewards from assassinations to be less, and lowered TC rewards for plentiful objectives. balance: Lowers the progression reward of assassination objectives. /cl
47 lines
2.0 KiB
Plaintext
47 lines
2.0 KiB
Plaintext
/**
|
|
* One proc for easy spawning of pods in the code to drop off items before whizzling (please don't proc call this in game, it will destroy you)
|
|
*
|
|
* Arguments:
|
|
* * specifications: special mods to the pod, see non var edit specifications for details on what you should fill this with
|
|
* Non var edit specifications:
|
|
* * target = where you want the pod to drop
|
|
* * path = a special specific pod path if you want, this can save you a lot of var edits
|
|
* * style = style of the pod, defaults to the normal pod
|
|
* * spawn = spawned path or a list of the paths spawned, what you're sending basically
|
|
* Returns the pod spawned, in case you want to spawn items yourself and modify them before putting them in.
|
|
*/
|
|
/proc/podspawn(specifications)
|
|
//get non var edit specifications
|
|
var/turf/landing_location = specifications["target"]
|
|
var/spawn_type = specifications["path"]
|
|
var/style = specifications["style"]
|
|
var/list/paths_to_spawn = specifications["spawn"]
|
|
|
|
//setup pod, add contents
|
|
if(!isturf(landing_location))
|
|
landing_location = get_turf(landing_location)
|
|
if(!spawn_type)
|
|
spawn_type = /obj/structure/closet/supplypod/podspawn
|
|
var/obj/structure/closet/supplypod/podspawn/pod = new spawn_type(null, style)
|
|
if(paths_to_spawn && !islist(paths_to_spawn))
|
|
paths_to_spawn = list(paths_to_spawn)
|
|
for(var/atom/movable/path as anything in paths_to_spawn)
|
|
if(!ispath(path))
|
|
path.forceMove(pod)
|
|
else
|
|
path = new path(pod)
|
|
|
|
//remove non var edits from specifications
|
|
specifications -= "target"
|
|
specifications -= "style"
|
|
specifications -= "path"
|
|
specifications -= "spawn" //list, we remove the key
|
|
|
|
//rest of specificiations are edits on the pod
|
|
for(var/variable_name in specifications)
|
|
var/variable_value = specifications[variable_name]
|
|
if(!pod.vv_edit_var(variable_name, variable_value))
|
|
stack_trace("WARNING! podspawn vareditting \"[variable_name]\" to \"[variable_value]\" was rejected by the pod!")
|
|
new /obj/effect/pod_landingzone(landing_location, pod)
|
|
return pod
|