mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-06 07:22:15 +00:00
More delay issues, magboots, knive-boot, marble and ccia (#1586)
- Fixes #1583 - Fixes #1031 -adds some checks for magboots -reduces the hardness of marble -finally adds a delay when attacking common mobs with weapons -finally adds a delay of cult mobs attacking things, like machines -fix the flash pistol having no flash rounds -fully remove custom items gloves from spawning from cargo -replace all the references of ahdomai and S'randarr with Adhomai and S'rendarr -import a bay fixe to hud runtimes -removes christmas pun pun -replace the old appearance that the ccia used with the newest and most robust one -do more changes on the ccia code at ccia request, also, removes all the red and blue shit from it
This commit is contained in:
@@ -671,7 +671,10 @@ var/list/global/random_stock_large = list(
|
||||
|
||||
var/list/exclusion = list(/obj/item/clothing/gloves,
|
||||
/obj/item/clothing/gloves/fluff,
|
||||
/obj/item/clothing/gloves/swat/bst)
|
||||
/obj/item/clothing/gloves/swat/bst,
|
||||
/obj/item/clothing/gloves/swat/fluff/hawk_gloves,
|
||||
/obj/item/clothing/gloves/fluff/stone_ring,
|
||||
/obj/item/clothing/gloves/black/fluff/kathleen_glove)
|
||||
exclusion += typesof(/obj/item/clothing/gloves/rig)
|
||||
exclusion += typesof(/obj/item/clothing/gloves/lightrig)
|
||||
allgloves -= exclusion
|
||||
|
||||
@@ -13,15 +13,15 @@
|
||||
return
|
||||
|
||||
if(ticker.current_state < GAME_STATE_PLAYING)
|
||||
src << "\red The game hasn't started yet!"
|
||||
src << "<span class='warning'>The game hasn't started yet!</span>"
|
||||
return
|
||||
|
||||
if(istype(mob, /mob/new_player))
|
||||
src << "\red You can't be in the lobby to join as a duty officer"
|
||||
src << "<span class='warning'>You can't be in the lobby to join as a duty officer.</span>"
|
||||
return
|
||||
|
||||
if(mob.mind && mob.mind.special_role == "CCIA Agent")
|
||||
src << "\red You are already a CCIA Agent"
|
||||
src << "<span class='warning'>You are already a CCIA Agent.</span>"
|
||||
verbs += /client/proc/returntobody
|
||||
return
|
||||
|
||||
@@ -35,59 +35,6 @@
|
||||
var/new_name = input(usr, "Pick a name","Name") as null|text
|
||||
var/mob/living/carbon/human/M = new(null)
|
||||
|
||||
var/new_facial = input("Please select facial hair color.", "Character Generation") as color
|
||||
if(new_facial)
|
||||
M.r_facial = hex2num(copytext(new_facial, 2, 4))
|
||||
M.g_facial = hex2num(copytext(new_facial, 4, 6))
|
||||
M.b_facial = hex2num(copytext(new_facial, 6, 8))
|
||||
|
||||
var/new_hair = input("Please select hair color.", "Character Generation") as color
|
||||
if(new_facial)
|
||||
M.r_hair = hex2num(copytext(new_hair, 2, 4))
|
||||
M.g_hair = hex2num(copytext(new_hair, 4, 6))
|
||||
M.b_hair = hex2num(copytext(new_hair, 6, 8))
|
||||
|
||||
var/new_eyes = input("Please select eye color.", "Character Generation") as color
|
||||
if(new_eyes)
|
||||
M.r_eyes = hex2num(copytext(new_eyes, 2, 4))
|
||||
M.g_eyes = hex2num(copytext(new_eyes, 4, 6))
|
||||
M.b_eyes = hex2num(copytext(new_eyes, 6, 8))
|
||||
|
||||
var/new_tone = input("Please select skin tone level: 1-220 (1=albino, 35=caucasian, 150=black, 220='very' black)", "Character Generation") as text
|
||||
|
||||
if (!new_tone)
|
||||
new_tone = 35
|
||||
M.s_tone = max(min(round(text2num(new_tone)), 220), 1)
|
||||
M.s_tone = -M.s_tone + 35
|
||||
|
||||
// hair
|
||||
var/list/all_hairs = typesof(/datum/sprite_accessory/hair) - /datum/sprite_accessory/hair
|
||||
var/list/hairs = list()
|
||||
|
||||
// loop through potential hairs
|
||||
for(var/x in all_hairs)
|
||||
var/datum/sprite_accessory/hair/H = new x
|
||||
hairs.Add(H.name)
|
||||
qdel(H)
|
||||
//hair
|
||||
var/new_hstyle = input(usr, "Select a hair style", "Grooming") as null|anything in hair_styles_list
|
||||
if(new_hstyle)
|
||||
M.h_style = new_hstyle
|
||||
|
||||
// facial hair
|
||||
var/new_fstyle = input(usr, "Select a facial hair style", "Grooming") as null|anything in facial_hair_styles_list
|
||||
if(new_fstyle)
|
||||
M.f_style = new_fstyle
|
||||
|
||||
var/new_gender = alert(usr, "Please select gender.", "Character Generation", "Male", "Female")
|
||||
if (new_gender)
|
||||
if(new_gender == "Male")
|
||||
M.gender = MALE
|
||||
else
|
||||
M.gender = FEMALE
|
||||
//M.rebuild_appearance()
|
||||
M.update_hair()
|
||||
M.update_body()
|
||||
M.check_dna(M)
|
||||
|
||||
M.real_name = new_name
|
||||
@@ -96,12 +43,12 @@
|
||||
if(!M.age)
|
||||
M.age = rand(35,50)
|
||||
if(M.age < 33 || M.age > 60)
|
||||
src << "\red The age you selected was not in a valid range for a Duty Officer"
|
||||
src << "<span class='warning'>The age you selected was not in a valid range for a Duty Officer.</span>"
|
||||
if(M.age < 33)
|
||||
M.age = 33
|
||||
else
|
||||
M.age = 60
|
||||
src << "\red Your age has been set to [M.age]"
|
||||
src << "<span class='warning'>Your age has been set to [M.age].</span>"
|
||||
|
||||
M.dna.ready_dna(M)
|
||||
|
||||
@@ -116,6 +63,8 @@
|
||||
M.loc = L.loc
|
||||
M.key = key
|
||||
|
||||
M.change_appearance(APPEARANCE_ALL, M.loc, check_species_whitelist = 1)
|
||||
|
||||
if(wasLiving)
|
||||
clear_cciaa_job(holder.original_mob)
|
||||
spawn(1)
|
||||
@@ -124,22 +73,26 @@
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(M), slot_shoes)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/white(M), slot_gloves)
|
||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset/ert(M), slot_l_ear)
|
||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset/ert/ccia(M), slot_l_ear)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(M), slot_glasses)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/beret/centcom/officer(M), slot_head)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/spray/pepper(M), slot_l_store)
|
||||
M.equip_to_slot_or_del(new /obj/item/device/taperecorder/cciaa(M), slot_r_store)
|
||||
|
||||
var/obj/item/clothing/suit/storage/toggle/internalaffairs/suit = new(M)
|
||||
suit.name = "central command internal affairs jacket"
|
||||
M.equip_to_slot_or_del(suit, slot_wear_suit)
|
||||
|
||||
var/obj/item/weapon/storage/backpack/satchel/bag = new(M)
|
||||
bag.name = "officer's leather satchel"
|
||||
bag.desc = "A well cared for leather satchel for Nanotrasen officers."
|
||||
M.equip_to_slot_or_del(bag, slot_back)
|
||||
if(M.backbag == 1)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/stamp/centcomm(M.back), slot_in_backpack)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/stamp/centcomm(M), slot_in_backpack)
|
||||
|
||||
var /obj/item/weapon/storage/lockbox/lockbox = new(M)
|
||||
lockbox.req_access = list(access_cent_captain)
|
||||
lockbox.name = "A CCIA Agent briefcase"
|
||||
lockbox.name = "CCIA agent briefcase"
|
||||
lockbox.desc = "A smart looking briefcase with a NT logo on the side"
|
||||
lockbox.storage_slots = 8
|
||||
lockbox.max_storage_space = 16
|
||||
@@ -198,7 +151,7 @@
|
||||
return
|
||||
|
||||
if(!is_type_in_list(A,centcom_areas))
|
||||
src << "\red You need to be back at central to do this"
|
||||
src << "<span class='warning'>You need to be back at central to do this.</span>"
|
||||
return
|
||||
|
||||
if(holder.original_mob)
|
||||
@@ -246,11 +199,11 @@
|
||||
set category = "Special Verbs"
|
||||
|
||||
if (!check_rights(R_ADMIN|R_CCIAA|R_FUN))
|
||||
usr << "\red You do not have enough powers to do this."
|
||||
usr << "<span class='warning'>You do not have enough powers to do this.</span>"
|
||||
return
|
||||
|
||||
if (!department)
|
||||
usr << "\red No target department specified!"
|
||||
usr << "<span class='warning'>No target department specified!</span>"
|
||||
return
|
||||
|
||||
var/obj/machinery/photocopier/faxmachine/fax = null
|
||||
@@ -261,18 +214,18 @@
|
||||
break
|
||||
|
||||
if (!fax)
|
||||
usr << "\red Couldn't find a fax machine to send this to!"
|
||||
usr << "<span class='warning'>Couldn't find a fax machine to send this to!</span>"
|
||||
return
|
||||
|
||||
//todo: sanitize
|
||||
var/input = input(usr, "Please enter a message to reply to via secure connection. NOTE: BBCode does not work, but HTML tags do! Use <br> for line breaks.", "Outgoing message from Centcomm", "") as message|null
|
||||
if (!input)
|
||||
usr << "\red Cancelled."
|
||||
usr << "<span class='warning'>Cancelled.</span>"
|
||||
return
|
||||
|
||||
var/customname = input(usr, "Pick a title for the report", "Title") as text|null
|
||||
if (!customname)
|
||||
usr << "\red Cancelled."
|
||||
usr << "<span class='warning'>Cancelled.</span>"
|
||||
return
|
||||
|
||||
// Create the reply message
|
||||
@@ -291,12 +244,12 @@
|
||||
P.stamps += "<HR><i>This paper has been stamped by the Central Command Quantum Relay.</i>"
|
||||
|
||||
if(fax.recievefax(P))
|
||||
usr << "\blue Message transmitted successfully."
|
||||
usr << "<span class='notice'>Message transmitted successfully.</span>"
|
||||
log_and_message_admins("sent a fax message to the [department] fax machine. (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[fax.x];Y=[fax.y];Z=[fax.z]'>JMP</a>)")
|
||||
|
||||
sent_faxes += P
|
||||
else
|
||||
usr << "\red Message reply failed."
|
||||
usr << "<span class='warning'>Message reply failed.</span>"
|
||||
qdel(P)
|
||||
return
|
||||
|
||||
@@ -306,7 +259,7 @@
|
||||
set category = "Special Verbs"
|
||||
|
||||
if (!check_rights(R_ADMIN|R_CCIAA|R_FUN))
|
||||
usr << "\red You do not have enough powers to do this."
|
||||
usr << "<span class='warning'>You do not have enough powers to do this.</span>"
|
||||
return
|
||||
|
||||
var/data = "<center><a href='?_src_=holder;CentcommFaxReply=1'>Send New Fax</a></center>"
|
||||
|
||||
@@ -251,3 +251,13 @@
|
||||
|
||||
/obj/item/device/taperecorder/cciaa/explode()
|
||||
return
|
||||
|
||||
//ccia headset, only command and ert channel are on by default
|
||||
|
||||
/obj/item/device/radio/headset/ert/ccia
|
||||
name = "central command internal affairs radio headset"
|
||||
ks2type = /obj/item/device/encryptionkey/ert
|
||||
|
||||
/obj/item/device/encryptionkey/ccia
|
||||
name = "\improper CCIA radio encryption key"
|
||||
channels = list("Response Team" = 1, "Science" = 0, "Command" = 1, "Medical" = 0, "Engineering" = 0, "Security" = 0, "Supply" = 0, "Service" = 0)
|
||||
|
||||
@@ -434,7 +434,7 @@ BLIND // can't see anything
|
||||
holding.forceMove(get_turf(usr))
|
||||
|
||||
if(usr.put_in_hands(holding))
|
||||
usr.visible_message("<span class='danger'>\The [usr] pulls a knife out of their boot!</span>")
|
||||
usr.visible_message("<span class='danger'>\The [usr] pulls \a [holding] out of their boot!</span>")
|
||||
holding = null
|
||||
else
|
||||
usr << "<span class='warning'>Your need an empty, unbroken hand to do that.</span>"
|
||||
|
||||
@@ -60,11 +60,15 @@
|
||||
|
||||
/obj/item/clothing/shoes/magboots/dropped()
|
||||
..()
|
||||
if(!wearer)
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/H = wearer
|
||||
if(shoes)
|
||||
if(shoes && istype(H))
|
||||
if(!H.equip_to_slot_if_possible(shoes, slot_shoes))
|
||||
shoes.forceMove(get_turf(src))
|
||||
src.shoes = null
|
||||
wearer.update_floating()
|
||||
wearer = null
|
||||
|
||||
/obj/item/clothing/shoes/magboots/examine(mob/user)
|
||||
@@ -72,4 +76,4 @@
|
||||
var/state = "disabled"
|
||||
if(item_flags & NOSLIP)
|
||||
state = "enabled"
|
||||
user << "Its mag-pulse traction system appears to be [state]."
|
||||
user << "Its mag-pulse traction system appears to be [state]."
|
||||
|
||||
@@ -82,9 +82,9 @@
|
||||
if(MOVIE_RELEASE)
|
||||
body += "From the [pick("desk","home town","homeworld","mind")] of [pick("acclaimed","award-winning","popular","stellar")] \
|
||||
[pick("playwright","author","director","actor","TV star")] [random_name(pick(MALE,FEMALE))] comes the latest sensation: '\
|
||||
[pick("Deadly","The last","Lost","Dead")] [pick("Starships","Warriors","outcasts","Tajarans","Unathi","Skrell")] \
|
||||
[pick("Deadly","The last","Lost","Dead")] [pick("Starships","Warriors","outcasts","Tajaran","Unathi","Skrell")] \
|
||||
[pick("of","from","raid","go hunting on","visit","ravage","pillage","destroy")] \
|
||||
[pick("Moghes","Earth","Biesel","Ahdomai","S'randarr","the Void","the Edge of Space")]'.\
|
||||
[pick("Moghes","Earth","Biesel","Adhomai","S'rendarr","the Void","the Edge of Space")]'.\
|
||||
. Own it on webcast today, or visit the galactic premier on [affected_dest.name]!"
|
||||
|
||||
if(BIG_GAME_HUNTERS)
|
||||
@@ -140,7 +140,7 @@
|
||||
"Pens proclaim pencils obsolete, 'lead is dead'.",\
|
||||
"Rock and paper sues scissors for discrimination.",\
|
||||
"Steak tell-all book reveals he never liked sitting by potato.",\
|
||||
"Woodchuck stops counting how many times he<EFBFBD>s chucked 'Never again'.",\
|
||||
"Woodchuck stops counting how many times hes chucked 'Never again'.",\
|
||||
"[affected_dest.name] clerk first person able to pronounce '@*$%!'.",\
|
||||
"[affected_dest.name] delis serving boiled paperback dictionaries, 'Adjectives chewy' customers declare.",\
|
||||
"[affected_dest.name] weather deemed 'boring'; meteors and rad storms to be imported.",\
|
||||
@@ -156,8 +156,8 @@
|
||||
"Skrell marries computer; wedding attended by 100 modems.",\
|
||||
"Chef reports successfully using harmonica as cheese grater.",\
|
||||
"[company_name] invents handkerchief that says 'Bless you' after sneeze.",\
|
||||
"Clone accused of posing for other clones<EFBFBD>s school photo.",\
|
||||
"Clone accused of stealing other clones<EFBFBD>s employee of the month award.",\
|
||||
"Clone accused of posing for other cloness school photo.",\
|
||||
"Clone accused of stealing other cloness employee of the month award.",\
|
||||
"Woman robs station with hair dryer; crewmen love new style.",\
|
||||
"This space for rent.",\
|
||||
"[affected_dest.name] Baker Wins Pickled Crumpet Toss Three Years Running",\
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
else
|
||||
var/language_type = pick(/datum/language/human,/datum/language/diona,/datum/language/tajaran,/datum/language/unathi)
|
||||
var/datum/language/L = new language_type()
|
||||
var/team = pick("Brickburn Galaxy Trekers","Mars Rovers", "Qerrbalak Saints", "Moghes Rockets", "Ahdomai Lightening")
|
||||
var/team = pick("Tau Ceti Galaxy Trekers","Martian Raiders", "Qerrbalak Saints", "Moghes Rockets", "Adhomai Lightening")
|
||||
P.name = "[L.get_random_name(pick(MALE,FEMALE))], [year - rand(0,50)] [team]"
|
||||
P.card_icon = "spaceball_standard"
|
||||
P.back_icon = "card_back_spaceball"
|
||||
|
||||
cards += P
|
||||
cards += P
|
||||
|
||||
@@ -312,7 +312,7 @@ var/list/name_to_material
|
||||
name = "marble"
|
||||
icon_colour = "#AAAAAA"
|
||||
weight = 26
|
||||
hardness = 100
|
||||
hardness = 70
|
||||
integrity = 201 //hack to stop kitchen benches being flippable, todo: refactor into weight system
|
||||
stack_type = /obj/item/stack/material/marble
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
/datum/language/tajaran
|
||||
name = LANGUAGE_SIIK_MAAS
|
||||
desc = "The traditionally employed tongue of Ahdomai, composed of expressive yowls and chirps. Native to the Tajaran."
|
||||
desc = "The traditionally employed tongue of Adhomai, composed of expressive yowls and chirps. Native to the Tajaran."
|
||||
speech_verb = "mrowls"
|
||||
ask_verb = "mrowls"
|
||||
exclaim_verb = "yowls"
|
||||
|
||||
@@ -1387,7 +1387,7 @@
|
||||
|
||||
|
||||
/mob/living/carbon/human/proc/handle_hud_list()
|
||||
if (BITTEST(hud_updateflag, HEALTH_HUD))
|
||||
if (BITTEST(hud_updateflag, HEALTH_HUD)&& hud_list[HEALTH_HUD])
|
||||
var/image/holder = hud_list[HEALTH_HUD]
|
||||
if(stat == DEAD)
|
||||
holder.icon_state = "hudhealth-100" // X_X
|
||||
@@ -1404,7 +1404,7 @@
|
||||
holder.icon_state = "hud[percentage_health]"
|
||||
hud_list[HEALTH_HUD] = holder
|
||||
|
||||
if (BITTEST(hud_updateflag, LIFE_HUD))
|
||||
if (BITTEST(hud_updateflag, LIFE_HUD)&& hud_list[LIFE_HUD])
|
||||
var/image/holder = hud_list[LIFE_HUD]
|
||||
if(stat == DEAD)
|
||||
holder.icon_state = "huddead"
|
||||
@@ -1412,7 +1412,7 @@
|
||||
holder.icon_state = "hudhealthy"
|
||||
hud_list[LIFE_HUD] = holder
|
||||
|
||||
if (BITTEST(hud_updateflag, STATUS_HUD))
|
||||
if (BITTEST(hud_updateflag, STATUS_HUD)&& hud_list[STATUS_HUD] && hud_list[STATUS_HUD_OOC])
|
||||
var/foundVirus = 0
|
||||
for(var/datum/disease/D in viruses)
|
||||
if(!D.hidden[SCANNER])
|
||||
@@ -1453,7 +1453,7 @@
|
||||
hud_list[STATUS_HUD] = holder
|
||||
hud_list[STATUS_HUD_OOC] = holder2
|
||||
|
||||
if (BITTEST(hud_updateflag, ID_HUD))
|
||||
if (BITTEST(hud_updateflag, ID_HUD) && hud_list[WANTED_HUD])
|
||||
var/image/holder = hud_list[ID_HUD]
|
||||
|
||||
//The following function is found in code/defines/procs/hud.dm
|
||||
|
||||
@@ -10,10 +10,7 @@
|
||||
spawn(1)
|
||||
name = "Pun Pun"
|
||||
real_name = name
|
||||
if(prob(10))
|
||||
w_uniform = new /obj/item/clothing/under/nupnup(src)
|
||||
else
|
||||
w_uniform = new /obj/item/clothing/under/punpun(src)
|
||||
w_uniform = new /obj/item/clothing/under/punpun(src)
|
||||
|
||||
/obj/item/clothing/under/nupnup
|
||||
name = "christmas uniform"
|
||||
@@ -27,4 +24,4 @@
|
||||
spawn(1)
|
||||
name = "Winston, the Christmas Monkey"
|
||||
real_name = name
|
||||
w_uniform = new /obj/item/clothing/under/nupnup(src)
|
||||
w_uniform = new /obj/item/clothing/under/nupnup(src)
|
||||
|
||||
@@ -124,7 +124,7 @@
|
||||
sprint_speed_factor = 0.65
|
||||
sprint_cost_factor = 0.75
|
||||
|
||||
blurb = "The Tajaran race is a species of feline-like bipeds hailing from the planet of Ahdomai in the S'randarr \
|
||||
blurb = "The Tajaran race is a species of feline-like bipeds hailing from the planet of Adhomai in the S'rendarr \
|
||||
system. They have been brought up into the space age by the Humans and Skrell, who alledgedly influenced their \
|
||||
eventual revolution that overthrew their ancient monarchies to become totalitarian - and NanoTrasen friendly - \
|
||||
republics. Adhomai is still enduring a global war in the aftermath of the new world order, and many Tajara are \
|
||||
|
||||
@@ -85,6 +85,7 @@
|
||||
user << msg
|
||||
|
||||
/mob/living/simple_animal/construct/UnarmedAttack(var/atom/A, var/proximity)
|
||||
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
|
||||
if(istype(A, /obj/effect/rune))
|
||||
var/obj/effect/rune/R = A
|
||||
do_attack_animation(R)
|
||||
|
||||
@@ -397,6 +397,7 @@ mob/living/simple_animal/bullet_act(var/obj/item/projectile/Proj)
|
||||
|
||||
//TODO: refactor mob attackby(), attacked_by(), and friends.
|
||||
/mob/living/simple_animal/proc/attacked_with_item(var/obj/item/O, var/mob/user)
|
||||
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
|
||||
if(!O.force)
|
||||
visible_message("<span class='notice'>[user] gently taps [src] with \the [O].</span>")
|
||||
return 0
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
load_method = MAGAZINE
|
||||
|
||||
/obj/item/weapon/gun/projectile/colt/detective
|
||||
magazine_type = /obj/item/ammo_magazine/c45m/flash
|
||||
magazine_type = /obj/item/ammo_magazine/c45m/rubber
|
||||
|
||||
/obj/item/weapon/gun/projectile/colt/detective/verb/rename_gun()
|
||||
set name = "Name Gun"
|
||||
@@ -46,6 +46,7 @@
|
||||
|
||||
/obj/item/weapon/gun/projectile/sec/flash
|
||||
name = ".45 signal pistol"
|
||||
magazine_type = /obj/item/ammo_magazine/c45m/flash
|
||||
|
||||
/obj/item/weapon/gun/projectile/sec/wood
|
||||
desc = "A Nanotrasen designed sidearm, this one has a sweet wooden grip. Uses .45 rounds."
|
||||
|
||||
Reference in New Issue
Block a user