mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-28 15:47:15 +01:00
Resolved Conflicts:
code/modules/mob/living/carbon/carbon.dm
This commit is contained in:
@@ -798,6 +798,7 @@
|
||||
icon_state = "angel"
|
||||
dried_type = /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/angel
|
||||
New(var/loc, var/potency = 35)
|
||||
..()
|
||||
if(reagents)
|
||||
reagents.add_reagent("nutriment", 1+round((potency / 50), 1))
|
||||
reagents.add_reagent("amatoxin", 13+round(potency / 3, 1))
|
||||
|
||||
@@ -475,7 +475,7 @@
|
||||
|
||||
/obj/item/seeds/angelmycelium
|
||||
name = "pack of destroying angel mycelium"
|
||||
desc = "This mycelium grows into something devestating."
|
||||
desc = "This mycelium grows into something devastating."
|
||||
icon_state = "mycelium-angel"
|
||||
species = "angel"
|
||||
plantname = "Destroying Angels"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
if(findtext(act,"s",-1) && !findtext(act,"_",-2))//Removes ending s's unless they are prefixed with a '_'
|
||||
act = copytext(act,1,length(act))
|
||||
var/muzzled = istype(src.wear_mask, /obj/item/clothing/mask/muzzle)
|
||||
var/muzzled = is_muzzled()
|
||||
var/m_type = 1
|
||||
var/message
|
||||
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
if ("help")
|
||||
help_shake_act(M)
|
||||
else
|
||||
if (istype(wear_mask, /obj/item/clothing/mask/muzzle))
|
||||
if (is_muzzled())
|
||||
return
|
||||
if (health > 0)
|
||||
playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
if(findtext(act,"s",-1) && !findtext(act,"_",-2))//Removes ending s's unless they are prefixed with a '_'
|
||||
act = copytext(act,1,length(act))
|
||||
var/muzzled = istype(src.wear_mask, /obj/item/clothing/mask/muzzle)
|
||||
var/muzzled = is_muzzled()
|
||||
var/m_type = 1
|
||||
var/message
|
||||
|
||||
|
||||
@@ -142,7 +142,7 @@
|
||||
if ("help")
|
||||
help_shake_act(M)
|
||||
else
|
||||
if (istype(wear_mask, /obj/item/clothing/mask/muzzle))
|
||||
if (is_muzzled())
|
||||
return
|
||||
if (health > 0)
|
||||
playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1)
|
||||
|
||||
@@ -452,12 +452,6 @@
|
||||
..()
|
||||
|
||||
|
||||
/mob/living/carbon/say(var/message, var/bubble_type)
|
||||
if(istype(wear_mask, /obj/item/clothing/mask/muzzle))
|
||||
return
|
||||
|
||||
..(message, bubble_type)
|
||||
|
||||
/mob/living/carbon/getTrail()
|
||||
if(getBruteLoss() < 300)
|
||||
if(prob(50))
|
||||
@@ -475,4 +469,7 @@ var/const/GALOSHES_DONT_HELP = 8
|
||||
loc.handle_slip(src, s_amount, w_amount, O, lube)
|
||||
|
||||
/mob/living/carbon/fall(var/forced)
|
||||
loc.handle_fall(src, forced)//it's loc so it doesn't call the mob's handle_fall which does nothing
|
||||
loc.handle_fall(src, forced)//it's loc so it doesn't call the mob's handle_fall which does nothing
|
||||
|
||||
/mob/living/carbon/is_muzzled()
|
||||
return(istype(src.wear_mask, /obj/item/clothing/mask/muzzle))
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
if(findtext(act,"s",-1) && !findtext(act,"_",-2))//Removes ending s's unless they are prefixed with a '_'
|
||||
act = copytext(act,1,length(act))
|
||||
|
||||
var/muzzled = (src.wear_mask && istype(src.wear_mask, /obj/item/clothing/mask/muzzle))
|
||||
var/muzzled = is_muzzled()
|
||||
//var/m_type = 1
|
||||
|
||||
switch(act)//Even carbon organisms want it alphabetically ordered..
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
if(findtext(act,"s",-1) && !findtext(act,"_",-2))//Removes ending s's unless they are prefixed with a '_'
|
||||
act = copytext(act,1,length(act))
|
||||
|
||||
var/muzzled = istype(src.wear_mask, /obj/item/clothing/mask/muzzle)
|
||||
var/muzzled = is_muzzled()
|
||||
//var/m_type = 1
|
||||
|
||||
for (var/obj/item/weapon/implant/I in src)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
if (M.a_intent == "help")
|
||||
help_shake_act(M)
|
||||
else
|
||||
if (istype(wear_mask, /obj/item/clothing/mask/muzzle))
|
||||
if (is_muzzled())
|
||||
return
|
||||
|
||||
visible_message("<span class='danger'>[M.name] bites [src]!</span>", \
|
||||
@@ -15,9 +15,5 @@
|
||||
apply_damage(damage, BRUTE, affecting, run_armor_check(affecting, "melee"))
|
||||
|
||||
for(var/datum/disease/D in M.viruses)
|
||||
if(istype(D, /datum/disease/jungle_fever))
|
||||
var/mob/living/carbon/human/H = src
|
||||
if(src.stat != 2)
|
||||
H.monkeyize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPDAMAGE | TR_KEEPVIRUS | TR_KEEPSE)
|
||||
contract_disease(D,1,0)
|
||||
contract_disease(D,1,0)
|
||||
return
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
if (src.sdisabilities & MUTE)
|
||||
return
|
||||
|
||||
if (istype(src.wear_mask, /obj/item/clothing/mask/muzzle))
|
||||
if (is_muzzled())
|
||||
return
|
||||
|
||||
var/whispers = "whispers"
|
||||
|
||||
@@ -296,7 +296,7 @@
|
||||
if ("help")
|
||||
help_shake_act(M)
|
||||
else
|
||||
if (istype(wear_mask, /obj/item/clothing/mask/muzzle))
|
||||
if (is_muzzled())
|
||||
return
|
||||
if (health > 0)
|
||||
attacked += 10
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
if(findtext(act,"s",-1) && !findtext(act,"_",-2))//Removes ending s's unless they are prefixed with a '_'
|
||||
act = copytext(act,1,length(act))
|
||||
|
||||
var/muzzled = istype(src.wear_mask, /obj/item/clothing/mask/muzzle)
|
||||
var/muzzled = is_muzzled()
|
||||
var/m_type = 1
|
||||
var/message
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
if (M.a_intent == "help")
|
||||
help_shake_act(M)
|
||||
else
|
||||
if ((M.a_intent == "harm" && !( istype(wear_mask, /obj/item/clothing/mask/muzzle) )))
|
||||
if (M.a_intent == "harm" && !is_muzzled())
|
||||
if ((prob(75) && health > 0))
|
||||
playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1)
|
||||
visible_message("<span class='danger'>[M.name] bites [name]!</span>", \
|
||||
@@ -83,8 +83,7 @@
|
||||
adjustBruteLoss(damage)
|
||||
health = 100 - getOxyLoss() - getToxLoss() - getFireLoss() - getBruteLoss()
|
||||
for(var/datum/disease/D in M.viruses)
|
||||
if(istype(D, /datum/disease/jungle_fever))
|
||||
contract_disease(D,1,0)
|
||||
contract_disease(D,1,0)
|
||||
else
|
||||
visible_message("<span class='danger'>[M.name] has attempted to bite [name]!</span>", \
|
||||
"<span class='userdanger'>[M.name] has attempted to bite [name]!</span>")
|
||||
@@ -378,4 +377,4 @@
|
||||
if(isloyal(src))
|
||||
threatcount -= 1
|
||||
|
||||
return threatcount
|
||||
return threatcount
|
||||
|
||||
@@ -132,7 +132,7 @@ var/list/department_radio_keys = list(
|
||||
//world << "channel_prefix=[channel_prefix]; message_mode=[message_mode]"
|
||||
if (message_mode)
|
||||
message = trim(copytext(message, 3))
|
||||
if (!(ishuman(src) || istype(src, /mob/living/simple_animal/parrot) || isrobot(src) && (message_mode=="department" || (message_mode in radiochannels))))
|
||||
if (!(ishuman(src) || istype(src, /mob/living/simple_animal/parrot) || isrobot(src)) && (message_mode=="department" || (message_mode in radiochannels))) // If they're not a human, parrot, or robot, and they're trying to use a radio channel
|
||||
message_mode = null //only humans can use headsets
|
||||
// Check changed so that parrots can use headsets. Other simple animals do not have ears and will cause runtimes.
|
||||
// And borgs -Sieve
|
||||
@@ -156,6 +156,24 @@ var/list/department_radio_keys = list(
|
||||
for(var/i=0,i<bzz,i++)
|
||||
message += "Z"
|
||||
*/
|
||||
|
||||
if(message_mode == "changeling")
|
||||
if(mind && mind.changeling)
|
||||
log_say("[mind.changeling.changelingID]/[src.key] : [message]")
|
||||
for(var/mob/Changeling in mob_list)
|
||||
if((Changeling.mind && Changeling.mind.changeling) || istype(Changeling, /mob/dead/observer))
|
||||
Changeling << "<i><font color=#800080><b>[mind.changeling.changelingID]:</b> [message]</font></i>"
|
||||
return
|
||||
|
||||
if (message_mode == "alientalk")
|
||||
if(alien_talk_understand || hivecheck())
|
||||
//message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN)) //seems redundant
|
||||
alien_talk(message)
|
||||
return
|
||||
|
||||
if(is_muzzled()) // Intentionally after changeling hivemind check
|
||||
return
|
||||
|
||||
var/list/obj/item/used_radios = new
|
||||
|
||||
switch (message_mode)
|
||||
@@ -211,12 +229,6 @@ var/list/department_radio_keys = list(
|
||||
robot_talk(message)
|
||||
return
|
||||
|
||||
if ("alientalk")
|
||||
if(alien_talk_understand || hivecheck())
|
||||
//message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN)) //seems redundant
|
||||
alien_talk(message)
|
||||
return
|
||||
|
||||
if ("department")
|
||||
if (src:ears)
|
||||
src:ears.talk_into(src, message, message_mode)
|
||||
@@ -231,13 +243,6 @@ var/list/department_radio_keys = list(
|
||||
message_range = 1
|
||||
italics = 1
|
||||
|
||||
if("changeling")
|
||||
if(mind && mind.changeling)
|
||||
log_say("[mind.changeling.changelingID]/[src.key] : [message]")
|
||||
for(var/mob/Changeling in mob_list)
|
||||
if((Changeling.mind && Changeling.mind.changeling) || istype(Changeling, /mob/dead/observer))
|
||||
Changeling << "<i><font color=#800080><b>[mind.changeling.changelingID]:</b> [message]</font></i>"
|
||||
return
|
||||
////SPECIAL HEADSETS START
|
||||
else
|
||||
//world << "SPECIAL HEADSETS"
|
||||
|
||||
@@ -558,6 +558,9 @@ var/list/slot_equipment_priority = list( \
|
||||
/mob/proc/is_active()
|
||||
return (0 >= usr.stat)
|
||||
|
||||
/mob/proc/is_muzzled()
|
||||
return 0
|
||||
|
||||
/mob/proc/see(message)
|
||||
if(!is_active())
|
||||
return 0
|
||||
@@ -795,4 +798,4 @@ var/list/slot_equipment_priority = list( \
|
||||
return
|
||||
|
||||
/mob/proc/assess_threat() //For sec bot threat assessment
|
||||
return
|
||||
return
|
||||
|
||||
@@ -408,7 +408,7 @@ proc/is_special_character(mob/M) // returns 1 for special characters and 2 for h
|
||||
if(M.mind in ticker.mode.wizards)
|
||||
return 2
|
||||
if("monkey")
|
||||
if(M.viruses && (locate(/datum/disease/jungle_fever) in M.viruses))
|
||||
if(M.viruses && (locate(/datum/disease/transformation/jungle_fever) in M.viruses))
|
||||
return 2
|
||||
return 1
|
||||
return 0
|
||||
|
||||
@@ -72,6 +72,8 @@
|
||||
//transfer mind and delete old mob
|
||||
if(mind)
|
||||
mind.transfer_to(O)
|
||||
if(O.mind.changeling)
|
||||
O.mind.changeling.purchasedpowers += new /obj/effect/proc_holder/changeling/humanform(null)
|
||||
if (tr_flags & TR_DEFAULTMSG)
|
||||
O << "<B>You are now a monkey.</B>"
|
||||
updateappearance(O)
|
||||
|
||||
@@ -26,7 +26,6 @@
|
||||
var/target = null //its target. moves towards the target if it has one
|
||||
var/last_failed_movement = 0//Will not move in the same dir if it couldnt before, will help with the getting stuck on fields thing
|
||||
var/teleport_del = 0
|
||||
var/sizes_to_number = list("1" = 0, "3" = 1, "5" = 2, "7" = 3, "9" = 4) //so i dont have to mess around with weirdass formulas to get this done.
|
||||
var/last_warning
|
||||
var/list/uneatable = list(/turf/space, /obj/effect/overlay)
|
||||
|
||||
@@ -230,7 +229,7 @@
|
||||
if(current_size >= 5)
|
||||
var/list/handlist = list(H.l_hand, H.r_hand)
|
||||
for(var/obj/item/hand in handlist)
|
||||
if(prob(current_size * 5) && hand.w_class >= 5 - sizes_to_number["[current_size]"] && H.unEquip(hand))
|
||||
if(prob(current_size * 5) && hand.w_class >= ((11-current_size)/2) && H.unEquip(hand))
|
||||
step_towards(hand, src)
|
||||
H << "<span class='warning'>\The [src] pulls \the [hand] from your grip!</span>"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user