Page 2 of 2
NikNakFlak V. An0n3 || Ninja Ruling/Not Objectives
Posted: Tue Feb 03, 2015 12:19 am
by NikNakFlak
Bottom post of the previous page:
This is half a complaint and half a policy thing I guess. The main point of this is not a complaint against conduct but a complaint against a ruling which stemmed from a ban which I believed to be invalid at the time it was made.
This mainly concerns a ban that I noticed in the ban database in which a player (coder in this case), was banned from syndicate antag positions for murderboning 21 people when he had the objective to save/protect lives or whatever. There are several ninja objectives that tell you to not kill people and I'm not sure which exact objective it was.
Here is the code.
Code: Select all
if(mission)
var/datum/objective/O = new /datum/objective(mission)
O.owner = Mind
Mind.objectives += O
else
if(helping_station) //DS are the highest priority (if we're a helpful ninja)
for(var/datum/mind/M in ticker.minds)
if(M.current && M.current.stat != DEAD)
if(M.special_role == "Death Commando")
var/datum/objective/assassinate/O = new /datum/objective/assassinate()
O.owner = Mind
O.target = M
O.explanation_text = "Slay \the [M.current.real_name], the Death Commando."
Mind.objectives += O
else //Xenos are the highest priority (if we're not so helpful) Although this makes zero sense at all...
for(var/mob/living/carbon/alien/humanoid/queen/Q in player_list)
if(Q.mind && Q.stat != DEAD)
var/datum/objective/assassinate/O = new /datum/objective/assassinate()
O.owner = Mind
O.target = Q.mind
O.explanation_text = "Slay \the [Q.real_name]."
Mind.objectives += O
if(Mind.objectives.len < 4) //not enough objectives still!
var/list/possible_targets = list()
for(var/datum/mind/M in ticker.minds)
if(M.current && M.current.stat != DEAD)
if(istype(M.current,/mob/living/carbon/human))
if(M.special_role)
possible_targets[M] = 0 //bad-guy
else if(M.assigned_role in command_positions)
possible_targets[M] = 1 //good-guy
var/list/objectives = list(1,2,3,4)
while(Mind.objectives.len < 4) //still not enough objectives!
switch(pick_n_take(objectives))
if(1) //research
var/datum/objective/download/O = new /datum/objective/download()
O.owner = Mind
O.gen_amount_goal()
Mind.objectives += O
if(2) //steal
var/datum/objective/steal/special/O = new /datum/objective/steal/special()
O.owner = Mind
Mind.objectives += O
if(3) //protect/kill
if(!possible_targets.len) continue
var/selected = rand(1,possible_targets.len)
var/datum/mind/M = possible_targets[selected]
var/is_bad_guy = possible_targets[M]
possible_targets.Cut(selected,selected+1)
if(is_bad_guy ^ helping_station) //kill (good-ninja + bad-guy or bad-ninja + good-guy)
var/datum/objective/assassinate/O = new /datum/objective/assassinate()
O.owner = Mind
O.target = M
O.explanation_text = "Slay \the [M.current.real_name], the [M.assigned_role]."
Mind.objectives += O
else //protect
var/datum/objective/protect/O = new /datum/objective/protect()
O.owner = Mind
O.target = M
O.explanation_text = "Protect \the [M.current.real_name], the [M.assigned_role], from harm."
Mind.objectives += O
if(4) //debrain/capture
if(!possible_targets.len) continue
var/selected = rand(1,possible_targets.len)
var/datum/mind/M = possible_targets[selected]
var/is_bad_guy = possible_targets[M]
possible_targets.Cut(selected,selected+1)
if(is_bad_guy ^ helping_station) //debrain (good-ninja + bad-guy or bad-ninja + good-guy)
var/datum/objective/debrain/O = new /datum/objective/debrain()
O.owner = Mind
O.target = M
O.explanation_text = "Steal the brain of [M.current.real_name]."
Mind.objectives += O
else //capture
var/datum/objective/capture/O = new /datum/objective/capture()
O.owner = Mind
O.gen_amount_goal()
Mind.objectives += O
else
break
//Add a survival objective since it's usually broad enough for any round type.
var/datum/objective/O = new /datum/objective/survive()
O.owner = Mind
Mind.objectives += O
//Finally, add their RP-directive
var/directive = generate_ninja_directive()
O = new /datum/objective(directive) //making it an objective so admins can reward the for completion
O.owner = Mind
Mind.objectives += O
//add some RP-fluff
Mind.store_memory("I am an elite mercenary assassin of the mighty Spider Clan. A <font color='red'><B>SPACE NINJA</B></font>!")
Mind.store_memory("Suprise is my weapon. Shadows are my armor. Without them, I am nothing. (//initialize your suit by right clicking on it, to use abilities like stealth)!")
Mind.store_memory("Officially, [helping_station?"Nanotrasen":"The Syndicate"] are my employer.")
//spawn the ninja and assign the candidate
Ninja = create_space_ninja(spawn_loc)
Mind.transfer_to(Ninja)
//initialise equipment
Ninja.wear_suit:randomize_param()
Ninja.internal = Ninja.s_store
if(Ninja.internals)
Ninja.internals.icon_state = "internal1"
if(Ninja.mind != Mind) //something has gone wrong!
ERROR("The ninja wasn't assigned the right mind. ;รง;")
Ninja << sound('sound/effects/ninja_greeting.ogg') //so ninja you probably wouldn't even know if you were made one
success_spawn = 1
/*
This proc will give the ninja a directive to follow. They are not obligated to do so but it's a fun roleplay reminder.
Making this random or semi-random will probably not work without it also being incredibly silly.
As such, it's hard-coded for now. No reason for it not to be, really.
*/
/datum/round_event/ninja/proc/generate_ninja_directive()
switch(rand(1,13))
if(1) return "The Spider Clan must not be linked to this operation. Remain as hidden and covert as possible."
if(2) return "[station_name] is financed by an enemy of the Spider Clan. Cause as much structural damage as possible."
if(3) return "A wealthy animal rights activist has made a request we cannot refuse. Prioritize saving animal lives whenever possible."
if(4) return "The Spider Clan absolutely cannot be linked to this operation. Eliminate all witnesses using most extreme prejudice."
if(5) return "We are currently negotiating with Nanotrasen command. Prioritize saving human lives over ending them."
if(6) return "We are engaged in a legal dispute over [station_name]. If a laywer is present on board, force their cooperation in the matter."
if(7) return "A financial backer has made an offer we cannot refuse. Implicate Syndicate involvement in the operation."
if(8) return "Let no one question the mercy of the Spider Clan. Ensure the safety of all non-essential personnel you encounter."
if(9) return "A free agent has proposed a lucrative business deal. Implicate Nanotrasen involvement in the operation."
if(10) return "Our reputation is on the line. Harm as few civilians or innocents as possible."
if(11) return "Our honor is on the line. Utilize only honorable tactics when dealing with opponents."
if(12) return "We are currently negotiating with a Syndicate leader. Disguise assassinations as suicide or another natural cause."
else return "There are no special supplemental instructions at this time."
Now in this, there are several things stating "Good guy or bad guy" or whatever based on what objectives you get. You can see them in the code comments where it states if your debraining a good guy or debraining a bad guy or whatever. At the bottom, there are the RP objectives which is where this ban and complaint comes from. As I said, Im not sure which objective the player got but I will list below the objectives that state "Do not kill" or whatever.
We are currently negotiating with Nanotrasen command. Prioritize saving human lives over ending them."
Let no one question the mercy of the Spider Clan. Ensure the safety of all non-essential personnel you encounter."
Our reputation is on the line. Harm as few civilians or innocents as possible."
All that aside, we have never enforced objectives for singular antags before ever as far as I am aware. Team antagonists are different as you work together as a team and while you may not want to do an objective in a team antag mode, you are required to. As a singular antag, as far as I was aware, you were free to do whatever you wanted. An0n3 and I argued many times about ERTs, ninjas as antags, the functions behind ninjas, and various other things which included forcing people to follow "Not" objectives or objectives that restrict behavior. We come into multiple conflicts about how he has always seen ninjas with that objective, and I have seen ninjas with any multiple amounts of objective, and ninjas even with that objective (to not kill anyone) and murderboned anyway.
While in the logs, HG points out Ninja should just be turned off permanently, this is still in debate, at least for me.
Edit: The ban was lifted but I guess my argument still stands at least in some cases. As I said, this is also half policy thing I guess.
Re: NikNakFlak V. An0n3 || Ninja Ruling/Not Objectives
Posted: Fri Feb 06, 2015 7:31 am
by oranges
mikecari wrote: Unfortunately murderboners like oranges
Epic, thanks man

Re: NikNakFlak V. An0n3 || Ninja Ruling/Not Objectives
Posted: Fri Feb 06, 2015 11:36 am
by lumipharon
So does no one else find this policy change actually very dumb?
Ninjas that murderbone and ignore their objectives are shitty as fuck and they should be told not to do this, true.
But this policy change is aimmed to be more general - with a huge exception, to murder objectives, and the clause about team antags.
So riddle me this, as a lone antag (or a team that agrees on something) what objective could you possible get, in any gamemode, where you could 'go against the objective', in a way that anyone would actually care/get banned for?
Traitors have
Murder: Part of this policy change explicitly exempts going against this objective.
Strand: Going out of your way to make sure someone safely gets off station... pretty sure this is part of the same exemption.
Steal: Going out of your way to... make sure something is not stolen.
Get documents: Going out of your way to not pick up a piece of paper.
Escape alive: Going out of your way to die/suicide.
Escape alone: Going out of your way to make sure other people safely escape.
I could list every possible objective but you can sort of see what I mean, right? No on is going to be upset that some has done one of these things, and if they're going out of their wway to do it, chances are it's RP related. The only thing I can really imagine, is where an ENTIRE cult decided to summon nar'sie instead of escaping with X cultists, which again,(unless EVERY cultist agrees) is fucking up as a team antag which is bannable anyway.
TL/DR: The policy change is basically pointless with how it's worded, it should just be 'don't murderbone as ninja' or 'you must try follow your objectives as ninja', since that what this is actually relevent to.
Re: NikNakFlak V. An0n3 || Ninja Ruling/Not Objectives
Posted: Fri Feb 06, 2015 11:40 am
by Malkevin
Cultists can't summon nar-nar when its not an objective anymore.
I changed it ages ago to set the nine on fire and send an admin message in case of shuttle grief.
Re: NikNakFlak V. An0n3 || Ninja Ruling/Not Objectives
Posted: Fri Feb 06, 2015 11:52 am
by Saegrimr
lumipharon wrote:TL/DR: The policy change is basically pointless with how it's worded, it should just be 'don't murderbone as ninja' or 'you must try follow your objectives as ninja', since that what this is actually relevent to.
Because in the future when something else gets added to replace/add on to ninja, or other new antag types, "b-but the rule only says NINJA"
Better to just cover all bases in the future now rather than have to go back and add on to the rules each new iteration of something.
Re: NikNakFlak V. An0n3 || Ninja Ruling/Not Objectives
Posted: Sat Feb 07, 2015 1:50 am
by Cipher3
This sort of seems like throwing the baby out with the bathwater. The idea is 'ninjas should stop murderboning' so the law is 'antagonists have less free will in general' when one could simply notify ninjas 'dun do it man'. You could argue that admins aren't going to enforce this except with ninjas, except giving someone the power to do something unwanted and then having them say they won't is sort of how tyrannies come about, mate. Humans abuse power, and the admin doing so would be following the rules - in fact, he might not even understand that that clause is designed for ninjas only.
Re: NikNakFlak V. An0n3 || Ninja Ruling/Not Objectives
Posted: Sat Feb 07, 2015 5:29 pm
by Saegrimr
Except most antags don't have objectives that specifically tell them to NOT do things.
If that changes somehow, then yes you would be right.
Re: NikNakFlak V. An0n3 || Ninja Ruling/Not Objectives
Posted: Sat Feb 07, 2015 10:36 pm
by lumipharon
That's exactly what I'm saying. The wording of this policy change can only be confusing. It was made SPECIFICALLY because of an issue with ninja's, and was worded in such a way that it in reality ONLY effects ninjas, but APPEARS to effect ALL antags.
This is the definition of overcomplication.
If you're worried about some future antag (when is the last time tg has had a new antag? Hand of god for NT never went live, and gangster, I don't even know what happened to it) with a similar sort of objective, then it's dead simple.
The polciy can go from "ninjas cannot go directly against their objectives" to "ninjas and gangsters/klingons/semon demons cannot go directly against their objectives".
This seems pretty simple, and doesn't make any confusion for literally every other antagonist.
Is it not the idea to make policy as simple as possible, to avoid endless policy discussion/ahelps/ban appeals?
Re: NikNakFlak V. An0n3 || Ninja Ruling/Not Objectives
Posted: Sat Feb 07, 2015 10:50 pm
by Saegrimr
Violaceus wrote:Space Ninjas are admin event only
Incorrect, the game spawns them randomly like any other station event.
Re: NikNakFlak V. An0n3 || Ninja Ruling/Not Objectives
Posted: Sun Feb 08, 2015 12:13 am
by Timbrewolf
This covers us also creating antagonists as part of events but being able to withhold certain behaviors from them. You might not think this has a lot of application based on the regularly spawned antags, since most of what is mentioned is exclusively ninja only, but for future antagonists and more creative objectives it gives us more flexibility to deploy new, creative stuff.
We could give someone an objective to kidnap someone and keep them alive somewhere, much more difficult than just killing someone, and give them better gear than the average traitor would have to go with it.
Without any expectation of them adhering to their objectives all we've created is a more powerful massacre engine. It's the same guy who is going to be rampaging around and killing everyone, only now he has even better stuff to do it with. Sure sounds fun for everyone else. By enforcing certain objectives on them we can tailor the gameplay and come up with more scenarios where breaking out and murdering everyone you see isn't an option at all. The increased difficulty merits the better gear, more TC's, whatever. If someone prays "MAKE ME A XENO WIZARD!" I can do that, but then give them objectives that are all nonviolent and effectively prohibit them from using their powers to just rampage around. We can give people toys without letting them obliterate everyone else.
Re: NikNakFlak V. An0n3 || Ninja Ruling/Not Objectives
Posted: Sun Feb 08, 2015 1:24 am
by lumipharon
I would have though that if you're admin creating custom antags with custom objectives, you would explicitly tell them to follow them, as opposed to 'feel free to ignore them', but fair enough, I just don't like seeing people endless arguing about policy that imo is pretty straight forward.
Re: NikNakFlak V. An0n3 || Ninja Ruling/Not Objectives
Posted: Sun Feb 08, 2015 1:29 am
by Timbrewolf
It's future proofing though. In the limited circumstances where the game is going to randomly issue you a DONT DO THIS objective, we want you to follow it the same as if you were given custom objectives by an admin.
Down the road if new antagonist roles get created or new random objectives they'll be able to function with the understanding that people aren't just going to ignore them and do whatever else instead. Up until now there hasn't been a lot of reason to create a "be so-and-so's bodyguard" objective outside of Ninja events because most people would probably just ignore it completely to get their valids on. Now something like that is more clearly defined and more viable.
Re: NikNakFlak V. An0n3 || Ninja Ruling/Not Objectives
Posted: Sun Feb 08, 2015 12:13 pm
by Malkevin
With this ruling does this mean we can see more space ninjas?
Because space ninjas are cool
Re: NikNakFlak V. An0n3 || Ninja Ruling/Not Objectives
Posted: Fri Apr 03, 2015 10:22 pm
by Malkevin
Bump.
Just had a thought, with this policy in place we could have traitor sec/captains again but restrictions against them just up and killing random people for the lolz, so we could have the funny gimmick captains again without the all access easy mode.
Would probably require some code though to add an additional objective that would state they're meant to act rogue not dicks.
Re: NikNakFlak V. An0n3 || Ninja Ruling/Not Objectives
Posted: Fri Apr 03, 2015 10:36 pm
by onleavedontatme
Malkevin wrote:Bump.
Just had a thought, with this policy in place we could have traitor sec/captains again but restrictions against them just up and killing random people for the lolz, so we could have the funny gimmick captains again without the all access easy mode.
Would probably require some code though to add an additional objective that would state they're meant to act rogue not dicks.
Just make the Captain not start with an uplink (due to the increased scrutiny/security of your position, we could not smuggle you an uplink) and for the AI upload to require dual ID swipes to open like red alert.
No easy mode one human that way.
Re: NikNakFlak V. An0n3 || Ninja Ruling/Not Objectives
Posted: Fri Apr 03, 2015 11:31 pm
by Incomptinence
Keep the ruling but take this crap out of ninja.
If the not objective ruling is mainly for event running the random ones in ninja are pretty pointless.