mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-12 19:22:56 +00:00
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:
@@ -12,22 +12,25 @@
|
|||||||
var/random_player = "The Captain"
|
var/random_player = "The Captain"
|
||||||
if(players.len)
|
if(players.len)
|
||||||
random_player = pick(players) //Random player's name, to be used in laws.
|
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" )
|
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( "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( "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( "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( "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" )
|
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( "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( "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( "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( "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( "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( "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( "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( "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( "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)
|
var/law = pick(laws)
|
||||||
|
|
||||||
for (var/mob/living/silicon/ai/target in world)
|
for (var/mob/living/silicon/ai/target in world)
|
||||||
|
|||||||
@@ -163,19 +163,19 @@ AI MODULES
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/******************** OneHuman ********************/
|
/******************** OneCrewmember ********************/
|
||||||
|
|
||||||
/obj/item/weapon/aiModule/oneHuman
|
/obj/item/weapon/aiModule/oneHuman
|
||||||
name = "'OneHuman' AI Module"
|
name = "'OneCrewmember' AI Module"
|
||||||
var/targetName = "name"
|
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!
|
origin_tech = "programming=3;materials=6" //made with diamonds!
|
||||||
|
|
||||||
/obj/item/weapon/aiModule/oneHuman/attack_hand(var/mob/user as mob)
|
/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)
|
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)
|
/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
|
/obj/item/weapon/aiModule/protectStation
|
||||||
name = "'ProtectStation' AI Module"
|
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
|
origin_tech = "programming=3;materials=4" //made of gold
|
||||||
|
|
||||||
/obj/item/weapon/aiModule/protectStation/attack_hand(var/mob/user as mob)
|
/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)
|
/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 << law
|
||||||
target.add_supplied_law(5, law)
|
target.add_supplied_law(5, law)
|
||||||
|
|
||||||
@@ -225,7 +225,7 @@ AI MODULES
|
|||||||
|
|
||||||
/obj/item/weapon/aiModule/teleporterOffline
|
/obj/item/weapon/aiModule/teleporterOffline
|
||||||
name = "'TeleporterOffline' AI Module"
|
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"
|
origin_tech = "programming=3;materials=4"
|
||||||
|
|
||||||
/obj/item/weapon/aiModule/teleporterOffline/attack_hand(var/mob/user as mob)
|
/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)
|
/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 << law
|
||||||
target.add_supplied_law(7, law)
|
target.add_supplied_law(7, law)
|
||||||
|
|
||||||
@@ -241,7 +241,7 @@ AI MODULES
|
|||||||
|
|
||||||
/obj/item/weapon/aiModule/quarantine
|
/obj/item/weapon/aiModule/quarantine
|
||||||
name = "'Quarantine' AI Module"
|
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"
|
origin_tech = "programming=3;biotech=2;materials=4"
|
||||||
|
|
||||||
/obj/item/weapon/aiModule/quarantine/attack_hand(var/mob/user as mob)
|
/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)
|
/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 << law
|
||||||
target.add_supplied_law(8, law)
|
target.add_supplied_law(8, law)
|
||||||
|
|
||||||
@@ -257,7 +257,7 @@ AI MODULES
|
|||||||
|
|
||||||
/obj/item/weapon/aiModule/oxygen
|
/obj/item/weapon/aiModule/oxygen
|
||||||
name = "'OxygenIsToxicToHumans' AI Module"
|
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"
|
origin_tech = "programming=3;biotech=2;materials=4"
|
||||||
|
|
||||||
/obj/item/weapon/aiModule/oxygen/attack_hand(var/mob/user as mob)
|
/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)
|
/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 << law
|
||||||
target.add_supplied_law(9, law)
|
target.add_supplied_law(9, law)
|
||||||
|
|
||||||
|
|||||||
@@ -408,8 +408,8 @@ datum
|
|||||||
build_path = "/obj/item/weapon/aiModule/safeguard"
|
build_path = "/obj/item/weapon/aiModule/safeguard"
|
||||||
|
|
||||||
onehuman_module
|
onehuman_module
|
||||||
name = "Module Design (OneHuman)"
|
name = "Module Design (OneCrewmember)"
|
||||||
desc = "Allows for the construction of a OneHuman AI Module."
|
desc = "Allows for the construction of a OneCrewmember AI Module."
|
||||||
id = "onehuman_module"
|
id = "onehuman_module"
|
||||||
req_tech = list("programming" = 4, "materials" = 6)
|
req_tech = list("programming" = 4, "materials" = 6)
|
||||||
build_type = IMPRINTER
|
build_type = IMPRINTER
|
||||||
@@ -444,8 +444,8 @@ datum
|
|||||||
build_path = "/obj/item/weapon/aiModule/quarantine"
|
build_path = "/obj/item/weapon/aiModule/quarantine"
|
||||||
|
|
||||||
oxygen_module
|
oxygen_module
|
||||||
name = "Module Design (OxygenIsToxicToHumans)"
|
name = "Module Design (OxygenIsToxicToCrew)"
|
||||||
desc = "Allows for the construction of a Safeguard AI Module."
|
desc = "Allows for the construction of a OxygenIsToxicToCrew AI Module."
|
||||||
id = "oxygen_module"
|
id = "oxygen_module"
|
||||||
req_tech = list("programming" = 3, "biotech" = 2, "materials" = 4)
|
req_tech = list("programming" = 3, "biotech" = 2, "materials" = 4)
|
||||||
build_type = IMPRINTER
|
build_type = IMPRINTER
|
||||||
|
|||||||
@@ -18,23 +18,23 @@
|
|||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align='center' width='650'><tr><td>
|
<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>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
|
|
||||||
<td valign='top'>
|
<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/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>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>Visit our IRC channel:</b></font> <font size='2'><br>#bs12 on sorcery.net</font><br>
|
<font size='3'><b>Visit our IRC channel:</b></font> <font size='2'><br>#bs12 on sorcery.net</font><br>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</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>
|
<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>
|
<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>
|
||||||
|
|||||||
Reference in New Issue
Block a user