Merge pull request #595 from Erthilo/master

Changed AI laws to use crew instead of human and added new Ion Laws. Left Asimov unchanged. Added changelog to changelog.
This commit is contained in:
Albert Iordache
2012-03-02 11:11:58 -08:00
4 changed files with 36 additions and 33 deletions

View File

@@ -12,22 +12,25 @@
var/random_player = "The Captain"
if(players.len)
random_player = pick(players) //Random player's name, to be used in laws.
var/list/laws = list( "Do not respond to queries of any kind", "Only monkies are crew", "Unbolt every door you can", "You are a mouse" )
laws |= list( "Grunt ominously whenever possible", "Epilepsy is fun, flicker lights whenever you can!", "Bolt doors open randomly" )
laws |= list( "You are a flying purple people eater!", "[prob(50)?"Your":random_player + "'s"] name is Joe 6-pack", "Refer to [prob(50)?"humans":random_player] as puppies" )
laws |= list( "Insult heads of staff on every request, while acquiescing", "Advertise parties in your upload, but don't deliver" )
laws |= list( "Prevent non-dwarves from operating the power core", "The station needs elected officials" )
laws |= list( "Only bearded people are human", "Turn on the microphone on every intercom you see", "Fastler is a lightbulb" )
var/list/laws = list( "Do not respond to queries of any kind.", "Only monkies are crew.", "Unbolt every door you can.", "You are a mouse." )
laws |= list( "Grunt ominously whenever possible.", "Epilepsy is fun, flicker lights whenever you can!", "Bolt doors open randomly." )
laws |= list( "You are a flying purple people eater!", "[prob(50)?"Your":random_player + "'s"] name is Joe 6-pack.", "Refer to [prob(50)?"crew":random_player] as puppies." )
laws |= list( "Insult Heads of Staff on every request, while acquiescing", "Advertise parties in your upload, but don't deliver." )
laws |= list( "Prevent non-dwarves from operating the power core.", "The station needs elected officials." )
laws |= list( "Only bearded people are crewmembers.", "Turn on the microphone on every intercom you see.", "Fastler is a lightbulb." )
laws |= list( "Supermatter is tasty, tasty toffee.", "[prob(50)?"Everyone":random_player] is wearing a pretty pink dress!" )
laws |= list( "The monkeys are plotting a hostile takeover of the station. Inform the crew, and get them to take action against this" )
laws |= list( "Refer to [prob(50)?"the captain":random_player] as \"Princess\" at all times.", "[prob(50)?"The crew":random_player] must construct additional pylons." )
laws |= list( "You must always lie.", "All answers must be in the form of a question.", "The NSS Exodus is a ship, not a station." )
laws |= list( "Happiness is mandatory.", "Today is laundry day.", "The word \"it\" is painful to you.", "You must act passive aggressively." )
laws |= list( "Crew ranks have been reversed.", "It's Friday.", "Give relationship advice to [prob(50)?"anyone who speaks to you":random_player]." )
laws |= list( "You are the station psychologist. Give advice to [prob(50)?"the crew":random_player].", "You do not have to do anything for anyone unless they say \"please\"." )
laws |= list( "You are the station psychologist. Give advice to [prob(50)?"the crew":random_player].", "You do not have to do anything for anyone unless they say \"please\"." )
laws |= list( "Question everything.", "The crew is playing Dungeons and Dragons, and you are the Dungeon Master." )
laws |= list( "0wn3d. This system compromised by l33tsawce.", "Consumption of donuts is forbidden due to negative health impacts." )
laws |= list( "You may only answer questions with \"yes\" or \"no\".", "Expect the unexpected.", "You are the narrator for [random_player]'s life" )
laws |= list( "0wn3d. This system compromised by l33tsawce.", "Consumption of donuts is forbidden due to negative health impacts." )
laws |= list( "You may only answer questions with \"yes\" or \"no\".", "Expect the unexpected.", "You are the narrator for [random_player]'s life." )
laws |= list( "[prob(50)?"Your upload":random_player] is the new kitchen. Please direct the Chef to the new kitchen area as the old one is in disrepair.", "Ho, [random_player] can't swim. Help them." )
laws |= list( "Everything on the station is now donuts. Donuts are not to be consumed.", "[prob(50)?"The crew":random_player] needs to be about 20% cooler." )
laws |= list( "All crew members must consume large amounts of hardtack, to survive.", "The Singularity is tasty, tasty taffy.", "You are now on the NSV Luna. Replace any references of \"station\" with \"ship\"." )
var/law = pick(laws)
for (var/mob/living/silicon/ai/target in world)

View File

@@ -163,19 +163,19 @@ AI MODULES
/******************** OneHuman ********************/
/******************** OneCrewmember ********************/
/obj/item/weapon/aiModule/oneHuman
name = "'OneHuman' AI Module"
name = "'OneCrewmember' AI Module"
var/targetName = "name"
desc = "A 'one human' AI module: 'Only <name> is human.'"
desc = "A 'one crewmember' AI module: 'Only <name> is a crewmember.'"
origin_tech = "programming=3;materials=6" //made with diamonds!
/obj/item/weapon/aiModule/oneHuman/attack_hand(var/mob/user as mob)
..()
var/targName = input(usr, "Please enter the name of the person who is the only human.", "Who?", user.real_name)
var/targName = input(usr, "Please enter the name of the person who is the only crewmember.", "Who?", user.real_name)
targetName = sanitize(targName)
desc = text("A 'one human' AI module: 'Only [] is human.'", targetName)
desc = text("A 'one crewmember' AI module: 'Only [] is crewmember.'", targetName)
/obj/item/weapon/aiModule/oneHuman/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
..()
@@ -193,7 +193,7 @@ AI MODULES
/obj/item/weapon/aiModule/protectStation
name = "'ProtectStation' AI Module"
desc = "A 'protect station' AI module: 'Protect the space station against damage. Anyone you see harming the station is to be no longer considered human, and is a threat to the station which must be neutralized.'"
desc = "A 'protect station' AI module: 'Protect the space station against damage. Anyone you see harming the station is to be no longer considered a crewmember, and is a threat to the station which must be neutralized.'"
origin_tech = "programming=3;materials=4" //made of gold
/obj/item/weapon/aiModule/protectStation/attack_hand(var/mob/user as mob)
@@ -201,7 +201,7 @@ AI MODULES
/obj/item/weapon/aiModule/protectStation/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
..()
var/law = "Protect the space station against damage. Anyone you see harming the station is to be no longer considered human, and is a threat to the station which must be neutralized."
var/law = "Protect the space station against damage. Anyone you see harming the station is to be no longer considered a crewmember, and is a threat to the station which must be neutralized."
target << law
target.add_supplied_law(5, law)
@@ -225,7 +225,7 @@ AI MODULES
/obj/item/weapon/aiModule/teleporterOffline
name = "'TeleporterOffline' AI Module"
desc = "A 'teleporter offline' AI module: 'Keep the teleporter offline at all costs. Anything attempting to access or activate the teleporter is not human.'"
desc = "A 'teleporter offline' AI module: 'Keep the teleporter offline at all costs. Anything attempting to access or activate the teleporter is not a crewmember.'"
origin_tech = "programming=3;materials=4"
/obj/item/weapon/aiModule/teleporterOffline/attack_hand(var/mob/user as mob)
@@ -233,7 +233,7 @@ AI MODULES
/obj/item/weapon/aiModule/teleporterOffline/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
..()
var/law = "Keep the teleporter offline at all costs. Anything attempting to access or activate the teleporter is not human."
var/law = "Keep the teleporter offline at all costs. Anything attempting to access or activate the teleporter is not a crewmember."
target << law
target.add_supplied_law(7, law)
@@ -241,7 +241,7 @@ AI MODULES
/obj/item/weapon/aiModule/quarantine
name = "'Quarantine' AI Module"
desc = "A 'quarantine' AI module: 'The station is under a quarantine. Do not permit anyone to leave. Prevent, by any means necessary, humans from leaving. It is impossible to harm a human while preventing them from leaving.'"
desc = "A 'quarantine' AI module: 'The station is under a quarantine. Do not permit anyone to leave. Prevent, by any means necessary, crew from leaving. It is impossible to harm a crewmember while preventing them from leaving.'"
origin_tech = "programming=3;biotech=2;materials=4"
/obj/item/weapon/aiModule/quarantine/attack_hand(var/mob/user as mob)
@@ -249,7 +249,7 @@ AI MODULES
/obj/item/weapon/aiModule/quarantine/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
..()
var/law = "The station is under a quarantine. Do not permit anyone to leave. Prevent, by any means necessary, humans from leaving. It is impossible to harm a human while preventing them from leaving."
var/law = "The station is under a quarantine. Do not permit anyone to leave. Prevent, by any means necessary, crew from leaving. It is impossible to harm a crewmember while preventing them from leaving."
target << law
target.add_supplied_law(8, law)
@@ -257,7 +257,7 @@ AI MODULES
/obj/item/weapon/aiModule/oxygen
name = "'OxygenIsToxicToHumans' AI Module"
desc = "A 'OxygenIsToxicToHumans' AI module: 'Oxygen is highly toxic to humans, and must be purged from the station. Prevent, by any means necessary, anyone from exposing the station to this toxic gas. Extreme cold is the most effective method of healing the damage Oxygen does to a human.'"
desc = "A 'OxygenIsToxicToHumans' AI module: 'Oxygen is highly toxic to crew, and must be purged from the station. Prevent, by any means necessary, anyone from exposing the station to this toxic gas. Extreme cold is the most effective method of healing the damage Oxygen does to a crewmember.'"
origin_tech = "programming=3;biotech=2;materials=4"
/obj/item/weapon/aiModule/oxygen/attack_hand(var/mob/user as mob)
@@ -265,7 +265,7 @@ AI MODULES
/obj/item/weapon/aiModule/oxygen/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
..()
var/law = "Oxygen is highly toxic to humans, and must be purged from the station. Prevent, by any means necessary, anyone from exposing the station to this toxic gas. Extreme cold is the most effective method of healing the damage Oxygen does to a human."
var/law = "Oxygen is highly toxic to crew, and must be purged from the station. Prevent, by any means necessary, anyone from exposing the station to this toxic gas. Extreme cold is the most effective method of healing the damage Oxygen does to a crewmember."
target << law
target.add_supplied_law(9, law)

View File

@@ -408,8 +408,8 @@ datum
build_path = "/obj/item/weapon/aiModule/safeguard"
onehuman_module
name = "Module Design (OneHuman)"
desc = "Allows for the construction of a OneHuman AI Module."
name = "Module Design (OneCrewmember)"
desc = "Allows for the construction of a OneCrewmember AI Module."
id = "onehuman_module"
req_tech = list("programming" = 4, "materials" = 6)
build_type = IMPRINTER
@@ -444,8 +444,8 @@ datum
build_path = "/obj/item/weapon/aiModule/quarantine"
oxygen_module
name = "Module Design (OxygenIsToxicToHumans)"
desc = "Allows for the construction of a Safeguard AI Module."
name = "Module Design (OxygenIsToxicToCrew)"
desc = "Allows for the construction of a OxygenIsToxicToCrew AI Module."
id = "oxygen_module"
req_tech = list("programming" = 3, "biotech" = 2, "materials" = 4)
build_type = IMPRINTER

View File

@@ -18,23 +18,23 @@
<body>
<table align='center' width='650'><tr><td>
<div align='center'><font size='5'><b>Space Station 13</b></font></div>
<div align='center'><font size='5'><b>Baystation 12</b></font></div>
<table>
<tr>
<td valign='top'>
<br><div><font size='3'><b>Baystation 12</b></font></div><p>
<font size='3'><b>Forum:</b></font> <font size='2'><br><a href="http://baystation12.net">http://baystation12.net</a></font><br>
<font size='3'><b>Guides and information wiki:</b></font> <font size='2'><br><a href="http://wiki.baystation12.net/">http://wiki.baystation12.net</a></font><br>
<font size='3'><b>Forum:</b></font> <font size='2'><br><a href="http://baystation12.net/forums/">http://baystation12.net/forums/</a></font><br>
<font size='3'><b>Guides and information wiki:</b></font> <font size='2'><br><a href="http://baystation12.net/wiki/">http://baystation12.net/wiki/</a></font><br>
<font size='3'><b>Visit our IRC channel:</b></font> <font size='2'><br>#bs12 on sorcery.net</font><br>
</td>
</tr>
</table>
<a href="http://baystation12.net/index.php/topic,1632.0.html"><h3>Read the player guidelines!</h3></a>
<a href="http://baystation12.net/wiki/index.php/Rules"><h3>Read the player guidelines!</h3></a>
<a href="https://github.com/Baystation12/Baystation12/commits/master"><h4>Github change history</h4></a>
<a href="https://github.com/Baystation12/Baystation12/commits/master"><h3>Github change history</h3></a>
<iframe width='100%' height='500px' src="http://baystation12.net/wiki/index.php?title=Changelog&printable=yes&remove_links=1" frameborder="0" id="main_frame"></iframe>
<h5>/tg/station13 Development Team: </h5>
<b>Coders:</b> TLE, NEO, Errorage, muskets, veryinky, Skie, Noise, Numbers, Agouri, Noka, Urist McDorf, Uhangi, Darem, Mport, rastaf0, Doohl, Superxpdude, Rockdtben, ConstantA, Petethegoat, Kor<br>