mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-17 10:03:50 +01:00
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise
Conflicts: maps/cyberiad.dmm
This commit is contained in:
@@ -80,6 +80,11 @@
|
||||
flags = FPRINT | TABLEPASS
|
||||
armor = list(melee = 80, bullet = 60, laser = 50, energy = 10, bomb = 25, bio = 10, rad = 0)
|
||||
|
||||
/obj/item/clothing/head/HoS/beret
|
||||
name = "head of security beret"
|
||||
desc = "A robust beret for the Head of Security, for looking stylish while not sacrificing protection."
|
||||
icon_state = "hosberetblack"
|
||||
|
||||
/obj/item/clothing/head/warden
|
||||
name = "warden's police hat"
|
||||
desc = "It's a special armored hat issued to the Warden of a security force. Protects the head from impacts."
|
||||
@@ -102,6 +107,12 @@
|
||||
armor = list(melee = 30, bullet = 25, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
flags = FPRINT | TABLEPASS
|
||||
|
||||
/obj/item/clothing/head/beret/sec/warden
|
||||
name = "warden's beret"
|
||||
desc = "A special beret with the Warden's insignia emblazoned on it. For wardens with class."
|
||||
icon_state = "wardenberet"
|
||||
armor = list(melee = 60, bullet = 5, laser = 25, energy = 10, bomb = 25, bio = 0, rad = 0)
|
||||
|
||||
/obj/item/clothing/head/beret/eng
|
||||
name = "engineering beret"
|
||||
desc = "A beret with the engineering insignia emblazoned on it. For engineers that are more inclined towards style than safety."
|
||||
|
||||
@@ -219,7 +219,7 @@
|
||||
set category = "Object"
|
||||
set desc = "Show that CIS SCUM who's boss."
|
||||
|
||||
usr << "You tip your fedora"
|
||||
usr.visible_message("[usr] tips their fedora.","You tip your fedora")
|
||||
|
||||
/obj/item/clothing/head/fez
|
||||
name = "\improper fez"
|
||||
|
||||
@@ -94,6 +94,12 @@
|
||||
siemens_coefficient = 0.7
|
||||
var/footstep=1
|
||||
|
||||
/obj/item/clothing/shoes/jackboots/jacksandals
|
||||
name = "jacksandals"
|
||||
desc = "Nanotrasen-issue Security combat sandals for combat scenarios. They're jacksandals, however that works."
|
||||
icon_state = "jacksandal"
|
||||
species_restricted = null
|
||||
|
||||
/obj/item/clothing/shoes/cult
|
||||
name = "boots"
|
||||
desc = "A pair of boots worn by the followers of Nar-Sie."
|
||||
|
||||
@@ -53,8 +53,8 @@
|
||||
if(!usr.canmove || usr.stat || usr.restrained())
|
||||
return 0
|
||||
if(icon_state == "hos")
|
||||
icon_state = "jensencoat"
|
||||
item_state = "jensencoat"
|
||||
icon_state = "hostrench"
|
||||
item_state = "hostrench"
|
||||
usr<< "You unbutton the [src]."
|
||||
else
|
||||
icon_state = "hos"
|
||||
@@ -72,7 +72,7 @@
|
||||
siemens_coefficient = 0.6
|
||||
|
||||
/obj/item/clothing/suit/armor/vest/warden
|
||||
name = "Warden's jacket"
|
||||
name = "Warden's armored jacket"
|
||||
desc = "An armoured jacket with silver rank pips and livery."
|
||||
icon_state = "warden_jacket"
|
||||
item_state = "armor"
|
||||
@@ -80,6 +80,11 @@
|
||||
cold_protection = UPPER_TORSO|LOWER_TORSO|HANDS
|
||||
heat_protection = UPPER_TORSO|LOWER_TORSO|HANDS
|
||||
|
||||
/obj/item/clothing/suit/armor/vest/warden/alt
|
||||
name = "warden's jacket"
|
||||
desc = "A navy-blue armored jacket with blue shoulder designations and '/Warden/' stitched into one of the chest pockets."
|
||||
icon_state = "warden_jacket_alt"
|
||||
|
||||
/obj/item/clothing/suit/armor/vest/capcarapace
|
||||
name = "captain's carapace"
|
||||
desc = "An armored vest reinforced with ceramic plates and pauldrons to provide additional protection whilst still offering maximum mobility and flexibility. Issued only to the station's finest, although it does chafe your nipples."
|
||||
|
||||
@@ -119,4 +119,27 @@
|
||||
/obj/item/clothing/suit/armor/hos/officerbluejacket
|
||||
name = "officer's blue jacket"
|
||||
icon_state = "officerbluejacket"
|
||||
item_state = "officerbluejacket"
|
||||
item_state = "officerbluejacket"
|
||||
|
||||
//TG Station
|
||||
|
||||
/obj/item/clothing/under/rank/security/formal
|
||||
name = "security suit"
|
||||
desc = "A formal security suit for officers complete with nanotrasen belt buckle."
|
||||
icon_state = "security_formal"
|
||||
item_state = "gy_suit"
|
||||
_color = "security_formal"
|
||||
|
||||
/obj/item/clothing/under/rank/warden/formal
|
||||
name = "warden's suit"
|
||||
desc = "A formal security suit for the warden with blue desginations and '/Warden/' stiched into the shoulders."
|
||||
icon_state = "warden_formal"
|
||||
item_state = "gy_suit"
|
||||
_color = "warden_formal"
|
||||
|
||||
/obj/item/clothing/under/rank/head_of_security/formal
|
||||
name = "head of security's suit"
|
||||
desc = "A security suit decorated for those few with the dedication to achieve the position of Head of Security."
|
||||
icon_state = "hos_formal"
|
||||
item_state = "gy_suit"
|
||||
_color = "hos_formal"
|
||||
@@ -53,13 +53,13 @@
|
||||
/mob/living/carbon/alien/humanoid/movement_delay()
|
||||
var/tally = 0
|
||||
if (istype(src, /mob/living/carbon/alien/humanoid/queen))
|
||||
tally += 4
|
||||
tally += 5
|
||||
if (istype(src, /mob/living/carbon/alien/humanoid/drone))
|
||||
tally += 0
|
||||
tally += 1
|
||||
if (istype(src, /mob/living/carbon/alien/humanoid/sentinel))
|
||||
tally += 0
|
||||
tally += 1
|
||||
if (istype(src, /mob/living/carbon/alien/humanoid/hunter))
|
||||
tally = -2 // hunters go supersuperfast
|
||||
tally = -1 // hunters go supersuperfast
|
||||
return (tally + move_delay_add + config.alien_delay)
|
||||
|
||||
/mob/living/carbon/alien/humanoid/Process_Spacemove(var/check_drift = 0)
|
||||
|
||||
@@ -14,13 +14,14 @@
|
||||
if((M_RUN in mutations)) return -1
|
||||
|
||||
var/health_deficiency = (100 - health + staminaloss)
|
||||
|
||||
if(health_deficiency >= 40) tally += (health_deficiency / 25)
|
||||
if(health_deficiency >= 40)
|
||||
tally += (health_deficiency / 25)
|
||||
|
||||
if(halloss >= 10) tally += (halloss / 10)
|
||||
|
||||
var/hungry = (500 - nutrition)/5 // So overeat would be 100 and default level would be 80
|
||||
if (hungry >= 70) tally += hungry/50
|
||||
if (hungry >= 70)
|
||||
tally += hungry/50
|
||||
|
||||
if(wear_suit)
|
||||
tally += wear_suit.slowdown
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
/mob/living/silicon/pai/death(gibbed)
|
||||
if(stat == DEAD) return
|
||||
var/turf/T = get_turf_or_move(loc)
|
||||
for (var/mob/M in viewers(T))
|
||||
M.show_message("\red A shower of sparks spray from [src]'s inner workings.", 3, "\red You hear and smell the ozone hiss of electrical sparks being expelled violently.", 2)
|
||||
var/obj/effect/decal/cleanable/deadpai = new /obj/effect/decal/cleanable/robot_debris(loc)
|
||||
if(canmove || resting)
|
||||
deadpai.icon = 'icons/mob/pai.dmi'
|
||||
deadpai.icon_state = "[chassis]_dead"
|
||||
del(src)
|
||||
var/turf/T = get_turf_or_move(loc)
|
||||
for (var/mob/M in viewers(T))
|
||||
M.show_message("\red [src] emits a dull beep before it loses power and collapses.", 3, "\red You hear a dull beep followed by the sound of glass crunching.", 2)
|
||||
name = "pAI debris"
|
||||
desc = "The unfortunate remains of some poor personal AI device."
|
||||
icon_state = "[chassis]_dead"
|
||||
else
|
||||
card.overlays.Cut()
|
||||
card.overlays += "pai-off"
|
||||
stat = DEAD
|
||||
canmove = 0
|
||||
if(blind) blind.layer = 0
|
||||
@@ -23,3 +25,5 @@
|
||||
if(mind) del(mind)
|
||||
living_mob_list -= src
|
||||
ghostize()
|
||||
if(icon_state != "[chassis]_dead")
|
||||
del(src)
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
"Cat" = "cat",
|
||||
"Mouse" = "mouse",
|
||||
"Monkey" = "monkey",
|
||||
"Corgi" = "corgi",
|
||||
"Fox" = "fox"
|
||||
)
|
||||
|
||||
@@ -80,7 +81,6 @@
|
||||
if(!card.radio)
|
||||
card.radio = new /obj/item/device/radio(src.card)
|
||||
radio = card.radio
|
||||
|
||||
//Verbs for pAI mobile form, chassis and Say flavor text
|
||||
verbs += /mob/living/silicon/pai/proc/choose_chassis
|
||||
verbs += /mob/living/silicon/pai/proc/choose_verbs
|
||||
@@ -174,16 +174,16 @@
|
||||
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
if (src.stat != 2)
|
||||
adjustBruteLoss(100)
|
||||
adjustFireLoss(100)
|
||||
if (src.stat != 2) //Let's not have two of these instantly kill you.
|
||||
adjustBruteLoss(45)
|
||||
adjustFireLoss(45)
|
||||
if(2.0)
|
||||
if (src.stat != 2)
|
||||
adjustBruteLoss(60)
|
||||
adjustFireLoss(60)
|
||||
adjustBruteLoss(30)
|
||||
adjustFireLoss(30)
|
||||
if(3.0)
|
||||
if (src.stat != 2)
|
||||
adjustBruteLoss(30)
|
||||
adjustBruteLoss(20)
|
||||
|
||||
src.updatehealth()
|
||||
|
||||
@@ -200,8 +200,6 @@
|
||||
src.updatehealth()
|
||||
return
|
||||
|
||||
//mob/living/silicon/pai/bullet_act(var/obj/item/projectile/Proj)
|
||||
|
||||
/mob/living/silicon/pai/attack_alien(mob/living/carbon/alien/humanoid/M as mob)
|
||||
if (!ticker)
|
||||
M << "You cannot attack people before the game has started."
|
||||
@@ -236,8 +234,6 @@
|
||||
O.show_message(text("\red <B>[] took a swipe at []!</B>", M, src), 1)
|
||||
return
|
||||
|
||||
///mob/living/silicon/pai/attack_hand(mob/living/carbon/M as mob)
|
||||
|
||||
/mob/living/silicon/pai/proc/switchCamera(var/obj/machinery/camera/C)
|
||||
usr:cameraFollow = null
|
||||
if (!C)
|
||||
@@ -412,19 +408,22 @@
|
||||
src.updatehealth()
|
||||
else
|
||||
visible_message("<span class='warning'>[user.name] bonks [src] harmlessly with [W].</span>")
|
||||
if(stat != 2) close_up()
|
||||
spawn(1)
|
||||
if(stat != 2)
|
||||
close_up()
|
||||
return
|
||||
|
||||
/mob/living/silicon/pai/attack_hand(mob/user as mob)
|
||||
if(stat == 2) return
|
||||
visible_message("<span class='danger'>[user.name] boops [src] on the head.</span>")
|
||||
close_up()
|
||||
spawn(1)
|
||||
close_up()
|
||||
|
||||
//I'm not sure how much of this is necessary, but I would rather avoid issues.
|
||||
/mob/living/silicon/pai/proc/close_up()
|
||||
|
||||
last_special = world.time + 200
|
||||
|
||||
resting = 0
|
||||
if(src.loc == card)
|
||||
return
|
||||
|
||||
@@ -443,10 +442,18 @@
|
||||
canmove = 0
|
||||
icon_state = "[chassis]"
|
||||
|
||||
/mob/living/silicon/pai/start_pulling(var/atom/movable/AM)
|
||||
/mob/living/silicon/pai/Bump(atom/movable/AM as mob|obj, yes)
|
||||
return
|
||||
|
||||
/mob/living/silicon/pai/Bumped(AM as mob|obj)
|
||||
return
|
||||
|
||||
/mob/living/silicon/pai/start_pulling(var/atom/movable/AM)
|
||||
if(stat || sleeping || paralysis || weakened)
|
||||
return
|
||||
if(istype(AM,/obj/item))
|
||||
src << "<span class='warning'>You are far too small to pull anything!</span>"
|
||||
return
|
||||
|
||||
/mob/living/silicon/pai/examine()
|
||||
|
||||
@@ -479,6 +486,7 @@
|
||||
..(Proj)
|
||||
updatehealth()
|
||||
if (stat != 2)
|
||||
close_up()
|
||||
spawn(1)
|
||||
close_up()
|
||||
return 2
|
||||
|
||||
|
||||
@@ -245,14 +245,14 @@
|
||||
if("run")
|
||||
if(mob.drowsyness > 0)
|
||||
move_delay += 6
|
||||
move_delay += 1+config.run_speed
|
||||
move_delay += config.run_speed
|
||||
if("walk")
|
||||
move_delay += 7+config.walk_speed
|
||||
move_delay += config.walk_speed
|
||||
move_delay += mob.movement_delay()
|
||||
|
||||
if(config.Tickcomp)
|
||||
move_delay -= 1.3
|
||||
var/tickcomp = ((1/(world.tick_lag))*1.3)
|
||||
var/tickcomp = (1 / (world.tick_lag)) * 1.3
|
||||
move_delay = move_delay + tickcomp
|
||||
|
||||
if(istype(mob.buckled, /obj/vehicle) || istype(mob.buckled, /obj/structure/stool/bed/chair/cart))
|
||||
|
||||
Reference in New Issue
Block a user